Jump to content

Recommended Posts

AreaCheck resources, formatted and commented:

/* SoA Area Checks */

AreaCheck("AR0011") // Candlekeep Dream 1 (Do you remember Candlekeep?)
AreaCheck("AR0012") // Candlekeep Library (Main Door Trigger)
AreaCheck("AR0013") // Candlekeep Library (Stairway Triggers Up and Down)
AreaCheck("AR0014") // Candlekeep Library (Stairway Trigger Down)
AreaCheck("AR0015") // Baldur's Gate Estate (Tutorial starts here)
AreaCheck("AR0016") // Baldur's Gate Estate (Tutorial area)
AreaCheck("AR0017") // Baldur's Gate Estate (Tutorial area)
AreaCheck("AR0018") // Baldur's Gate Estate Cellar (Tutorial area)
AreaCheck("AR0020") // City Gates
AreaCheck("AR0021") // Crooked Crane 1st Floor
AreaCheck("AR0022") // Crooked Crane 2nd Floor
AreaCheck("AR0028") // Candlekeep Dream (After PC Soultheft)
AreaCheck("AR0041") // Random Encounter City
AreaCheck("AR0042") // Random Encounter Outdoor
AreaCheck("AR0043") // Random Encounter Outdoor (With rocks)
AreaCheck("AR0044") // Random Encounter Outdoor (sand)
AreaCheck("AR0045") // Random Encounter City
AreaCheck("AR0046") // Random Encounter City (bridge)
AreaCheck("AR0069") // Government Building (Cowled Cutscene -- "Why is this man not gagged?")
AreaCheck("AR0070") // Spellhold (Irenicus Cutscene -- "I cannot be caged...")
AreaCheck("AR0071") // Spellhold (Imoen Soultheft Cutscene -- "Silence do, you have no purpose...")
AreaCheck("AR0072") // Ust Natha Temple (Irenicus/Bodhi, Ardula/Phaere Cutscene)
AreaCheck("AR0082") // Lich Grave in Bridge District Inn
AreaCheck("AR0083") // Candlekeep Library (Dream: PC learns to control the Slayer)
AreaCheck("AR0084") // Candlekeep Library (Stairway trigger down)
AreaCheck("AR0085") // Tree of Life
AreaCheck("AR0086") // Wooded Area
AreaCheck("AR0087") // Elven Dining Room
AreaCheck("AR0201") // Ghouls village under Temple District
AreaCheck("AR0202") // The Unseeing Eye Cult Hideout
AreaCheck("AR0203") // Temple of the Forgotten God -- Amaunator (Unseeing Eye Plot)
AreaCheck("AR0204") // The Forgotten Believers -- Temple City (Unseeing Eye Plot)
AreaCheck("AR0205") // The Beholder Hideout (Unseeing Eye Plot)
AreaCheck("AR0206") // The Halfling Village in the Sphere
AreaCheck("AR0300") // The Docks
AreaCheck("AR0301") // Mae'Var's Hide Out
AreaCheck("AR0302") // Mae'Var's Inn 1st Floor -- Entrance
AreaCheck("AR0303") // Mae'Var's Inn 2nd Floor -- Training Area
AreaCheck("AR0304") // Mae'Var's Inn 3rd Floor -- Edwin
AreaCheck("AR0305") // Shadow Thieves Guild Entrance
AreaCheck("AR0306") // Renal Bloodscalp's Hideout
AreaCheck("AR0307") // Aran Linvail's Hideout
AreaCheck("AR0308") // Harper's 1st Floor
AreaCheck("AR0309") // Harper's 2nd Floor
AreaCheck("AR0310") // Pirates' Hideout in Sea Bouny Tavern
AreaCheck("AR0311") // Living Room (Entry points outside and up) -- Gaelan?
AreaCheck("AR0312") // Sleeping Room (Entry poin down) -- Arledrian
AreaCheck("AR0313") // Sea Bounty Tavern 1st Floor
AreaCheck("AR0314") // Sea Bounty Tavern 2nd Floor
AreaCheck("AR0315") // Living Room (Favour for Edwin -- Mae'Var Plot)
AreaCheck("AR0316") // Sleeping Room (Favour for Edwin -- Mae'Var Plot)
AreaCheck("AR0317") // Sleeping Room (Favour for Edwin -- Mae'Var Plot)
AreaCheck("AR0318") // Storage Room
AreaCheck("AR0319") // Temple of Oghma
AreaCheck("AR0321") // Thief Stronghold (Hideout)
AreaCheck("AR0322") // Thief Stronghold (1st Floor)
AreaCheck("AR0323") // Thief Stronghold (2nd Floor)
AreaCheck("AR0324") // Thief Stronghold (3rd Floor)
AreaCheck("AR0325") // Corthala House 1st Floor
AreaCheck("AR0326") // Corthala House 2nd Floor
AreaCheck("AR0327") // Shadow Thief Entrance (sided with Bodhi)
AreaCheck("AR0328") // Shadow Thief 1st Floor (sided with Bodhi)
AreaCheck("AR0329") // Aran's Hideout (sided with Bodhi)
AreaCheck("AR0330") // House 1st Floor (Kangaxx)
AreaCheck("AR0331") // House Cellar (Kangaxx)
AreaCheck("AR0332") // Barracks in the Docks
AreaCheck("AR0333") // Barracks in the Docks
AreaCheck("AR0334") // Cromwell's Shop
AreaCheck("AR0335") // Sleeping Room
AreaCheck("AR0400") // Slums
AreaCheck("AR0401") // Jansen Cellar
AreaCheck("AR0402") // Jansen 1st Floor
AreaCheck("AR0403") // Jansen 2nd Floor
AreaCheck("AR0404") // Sewers beneath Coronet -- Lilarcor
AreaCheck("AR0405") // Slaver's Ship Building
AreaCheck("AR0406") // Copper Coronet
AreaCheck("AR0407") // Prebek's House
AreaCheck("AR0408") // Temple of Ilmater
AreaCheck("AR0409") // Living Room (Ployer's home)
AreaCheck("AR0410") // Sphere: Navigator's room -- Lavok's Hideout
AreaCheck("AR0411") // Sphere: Entrance floor
AreaCheck("AR0412") // Sphere: Ice and Fire Room
AreaCheck("AR0413") // Sphere: Enginge Room
AreaCheck("AR0414") // Sphere: Demon Plane
AreaCheck("AR0415") // Living Room 1st Floor
AreaCheck("AR0416") // Living Room 2nd Floor
AreaCheck("AR0417") // Living Room
AreaCheck("AR0418") // Myconids
AreaCheck("AR0419") // Myconid
AreaCheck("AR0420") // Sphere: Lizardmen Hideout
AreaCheck("AR0500") // Bridge District
AreaCheck("AR0501") // Tanner's Hideout 1st Floor
AreaCheck("AR0502") // Tanner's Hideout Cellar
AreaCheck("AR0503") // Tanner's Hideout Dock
AreaCheck("AR0504") // Saerk's House 1st Floor
AreaCheck("AR0505") // Saerk's House 2nd Floor
AreaCheck("AR0506") // Noble House 1st Floor
AreaCheck("AR0507") // Kidnappers' Hideout 1st Floor
AreaCheck("AR0508") // Kidnappers' Hideout 2nd Floor
AreaCheck("AR0509") // Five Flagons Inn 1st Floor
AreaCheck("AR0510") // Five Flagons Inn Theater
AreaCheck("AR0511") // Five Flagons Inn 2nd Floor
AreaCheck("AR0512") // Temple of Helm
AreaCheck("AR0513") // Calbor's Inn at Bridge District 1st Floor
AreaCheck("AR0514") // Inn at Bridge District 2nd Floor
AreaCheck("AR0515") // Inn at Bridge District 3rd Floor
AreaCheck("AR0516") // Planar Prison
AreaCheck("AR0517") // Planar Prison Cell
AreaCheck("AR0518") // Planar Prison Cell
AreaCheck("AR0519") // Planar Prison Cell
AreaCheck("AR0520") // Planar Prison Cell
AreaCheck("AR0521") // Planar Prison Cell
AreaCheck("AR0522") // Five Flagons Inn (Stronghold)
AreaCheck("AR0523") // Five Flagons Theater (Stronghold)
AreaCheck("AR0525") // House 1st Floor
AreaCheck("AR0526") // Sarcophagus Cellar
AreaCheck("AR0527") // House 1st Floor
AreaCheck("AR0528") // House 2nd Floor
AreaCheck("AR0529") // Neb's Hideout
AreaCheck("AR0530") // Storehouse
AreaCheck("AR0531") // Commoner House
AreaCheck("AR0600") // Circus Tent (phased)
AreaCheck("AR0601") // Air Plane in Irenicus's Dungeon
AreaCheck("AR0602") // Irenicus's Dungeon 1st Floor
AreaCheck("AR0603") // Irenicus's Dungeon 2nd Floor
AreaCheck("AR0604") // Circus Tent 1st Floor
AreaCheck("AR0605") // Circus Tent 2nd Floor
AreaCheck("AR0606") // Circus Tent 3rd Floor
AreaCheck("AR0607") // Circus Tent restored
AreaCheck("AR0700") // Waukeen's Promenade
AreaCheck("AR0701") // The Sewers
AreaCheck("AR0702") // Adventurer's Mart
AreaCheck("AR0703") // Temple of Ilmater
AreaCheck("AR0704") // Mithrest Inn
AreaCheck("AR0705") // Mekrath's Hideout in the Sewers (Haer'Dalis Plot)
AreaCheck("AR0706") // Armourer/Fletcher
AreaCheck("AR0707") // Enge's Shop
AreaCheck("AR0708") // Cernd's former home
AreaCheck("AR0709") // Den of the Seven Vales 1st Floor
AreaCheck("AR0710") // Fennecia's Home
AreaCheck("AR0711") // Illithid Hideout in the Sewers (The Hidden Plot)
AreaCheck("AR0712") // Den of the Seven Vales 2nd Floor
AreaCheck("AR0713") // Store or Inn at Promenade
AreaCheck("AR0714") // Debris at Waukeen's Promenade (Irenicus Cutscene in the beginning)
AreaCheck("AR0800") // Graveyard
AreaCheck("AR0801") // Bodhi's Hideout (sided with Aran)
AreaCheck("AR0802") // Netherscroll, Korgan's Book, Edwin
AreaCheck("AR0803") // Bodhi's Lair (sided with Aran)
AreaCheck("AR0804") // Pai'Na's Hideout
AreaCheck("AR0805") // Crypt
AreaCheck("AR0806") // Crypt
AreaCheck("AR0807") // Crypt
AreaCheck("AR0808") // Bodhi's Hideout (Abduction Plot, getting Imoen's soul)
AreaCheck("AR0809") // Bodhi's Lair (Abduction Plot, getting Imoen's soul)
AreaCheck("AR0810") // Crypt
AreaCheck("AR0811") // Crypt
AreaCheck("AR0812") // Crypt
AreaCheck("AR0813") // Crypt
AreaCheck("AR0900") // Temple District
AreaCheck("AR0901") // Temple of Helm
AreaCheck("AR0902") // Temple of Lathander
AreaCheck("AR0903") // Order of the Radiant Heart
AreaCheck("AR0904") // Temple of Talos
AreaCheck("AR0905") // Pimlico's Estate
AreaCheck("AR0906") // Guarded Compound 1st Floor
AreaCheck("AR0907") // Guarded Compound 2nd Floor
AreaCheck("AR1000") // Government District
AreaCheck("AR1001") // Delryn's Estate
AreaCheck("AR1002") // Councel Building
AreaCheck("AR1003") // Firecam's Estate
AreaCheck("AR1004") // Deril's Estate (Cernd Plot)
AreaCheck("AR1005") // Prison
AreaCheck("AR1006") // Jysstev's Estate (Oisig Plot)
AreaCheck("AR1007") // Noble House
AreaCheck("AR1008") // Twisted Rune
AreaCheck("AR1009") // Noble House (Isaea Roenall's)
AreaCheck("AR1010") // Temple of Waukeen
AreaCheck("AR1100") // Umar Hills
AreaCheck("AR1101") // Valygar's Cabin
AreaCheck("AR1102") // Merella's Cabin
AreaCheck("AR1103") // Jermien's Cabin
AreaCheck("AR1104") // Mayor Lloyd's Cabin
AreaCheck("AR1105") // Imnesvale Inn
AreaCheck("AR1106") // Umar's Cave
AreaCheck("AR1107") // Ranger-Protector's Cabin (Stronghold)
AreaCheck("AR1200") // Windspear Hills
AreaCheck("AR1201") // Firkraarg's Entrance
AreaCheck("AR1202") // Firkaarg's Maze
AreaCheck("AR1203") // Firkraag's Hideout
AreaCheck("AR1204") // Garren Windspear's Cabin
AreaCheck("AR1300") // De'Arnise Keep Destroyed
AreaCheck("AR1301") // De'Arnise Cellar
AreaCheck("AR1302") // De'Arnise Keep 1st Floor
AreaCheck("AR1303") // De'Arnise Keep 2nd Floor (Destroyed)
AreaCheck("AR1304") // De'Arnise Keep (Restored, Stronghold)
AreaCheck("AR1305") // De'Arnise Keep (Stronghold)
AreaCheck("AR1306") // De'Arnise Keep (Stronghold)
AreaCheck("AR1307") // De'Arnise Keep (Stronghold)
AreaCheck("AR1400") // Shadow Temple Land (restored, Ranger)
AreaCheck("AR1401") // Shadow Temple
AreaCheck("AR1402") // Shadow Dragon Hideout
AreaCheck("AR1403") // Wolfwere Hideout
AreaCheck("AR1404") // Shadow Temple Land shadowed
AreaCheck("AR1500") // Spellhold
AreaCheck("AR1501") // Cave (Spellhold Test)
AreaCheck("AR1502") // Fire Room (Spellhold Test)
AreaCheck("AR1503") // Spore Room (Spellhold Test)
AreaCheck("AR1504") // Crushing Trap Room (Spellhold Test)
AreaCheck("AR1505") // Lever Room (Spellhold Test)
AreaCheck("AR1506") // Troll Cave (Spellhold Test)
AreaCheck("AR1507") // Kobold Room (Spellhold Test)
AreaCheck("AR1508") // Final Judgement Spellhold Test
AreaCheck("AR1509") // Myconid Room (Spellhold Test)
AreaCheck("AR1510") // Sahuagin Room (Spellhold Test)
AreaCheck("AR1511") // Elven Table while Spellhold Test
AreaCheck("AR1512") // Bodhi's Hunt Level 1
AreaCheck("AR1513") // Bodhi's Hunt Level 2
AreaCheck("AR1514") // Bodhi's Hunt Level 3 (1st Slayer Change Happens here)
AreaCheck("AR1515") // Spellhold (Irenicus' Living Room)
AreaCheck("AR1516") // Spellhold (Soultheft Level)
AreaCheck("AR1600") // Brynnlaw
AreaCheck("AR1601") // Desharik's Estate
AreaCheck("AR1602") // Brynnlaw's Inn
AreaCheck("AR1603") // Brynnlaw's Shop
AreaCheck("AR1604") // Temple of Umberlee
AreaCheck("AR1605") // CW's House
AreaCheck("AR1606") // House of Desharik's Lover
AreaCheck("AR1607") // Githyanki Assault
AreaCheck("AR1608") // Cellar of Brothel
AreaCheck("AR1609") // Courtesan Room
AreaCheck("AR1610") // Brothel Prison
AreaCheck("AR1611") // Brothel
AreaCheck("AR1612") // Brothel Kitchen
AreaCheck("AR1613") // Brothel HQ
AreaCheck("AR1700") // Small Teeth Pass
AreaCheck("AR1800") // North Forest
AreaCheck("AR1900") // Druid Grove Area
AreaCheck("AR1901") // Druid Grove
AreaCheck("AR1902") // Storehouse (Ihtafeer's Storehouse)
AreaCheck("AR1904") // Troll Hill
AreaCheck("AR1905") // Store Tower
AreaCheck("AR2000") // Trademeet
AreaCheck("AR2001") // The Smithy
AreaCheck("AR2002") // Fentan's House
AreaCheck("AR2006") // Tiri's Home
AreaCheck("AR2007") // High Merchant's Estate
AreaCheck("AR2008") // Temple of Waukeen
AreaCheck("AR2009") // High Merchant Prison
AreaCheck("AR2010") // Trademeet's Inn
AreaCheck("AR2011") // Alibakkar's Estate
AreaCheck("AR2012") // Lurraxol's Estate
AreaCheck("AR2013") // Trademeet Crypt
AreaCheck("AR2014") // Djinni's Tent
AreaCheck("AR2015") // Merchant Tent
AreaCheck("AR2016") // Raffee's Tent
AreaCheck("AR2017") // Courtesan Tent
AreaCheck("AR2018") // Tent (no exit)
AreaCheck("AR2100") // Underdark
AreaCheck("AR2101") // Beholder Cave in Underdark
AreaCheck("AR2102") // Adalon's Cave
AreaCheck("AR2200") // Ust Natha
AreaCheck("AR2201") // Temple in Ust Natha
AreaCheck("AR2202") // Inn in Ust Natha 1st Floor
AreaCheck("AR2203") // Inn in Ust Natha; 2nd Floor
AreaCheck("AR2204") // House in Ust Natha
AreaCheck("AR2205") // House in Ust Natha
AreaCheck("AR2206") // Qilue's House in Ust Natha
AreaCheck("AR2207") // Deirex's Tower in Ust Natha
AreaCheck("AR2208") // Jarlaxle's House wherever
AreaCheck("AR2209") // Jae'llat's House
AreaCheck("AR2210") // Deirex's Cave
AreaCheck("AR2300") // Sahuagin City
AreaCheck("AR2400") // Mind Flayers in Underdark
AreaCheck("AR2401") // Cave Between Underdark and Exit from Underdark
AreaCheck("AR2402") // Kuo Toa in Underdark
AreaCheck("AR2500") // Elven Temple at Underdark Exit
AreaCheck("AR2600") // Thetyr Wood
AreaCheck("AR2601") // Meet Drizzt Do'Urden
AreaCheck("AR2602") // Cave in Woods to Suldanesselar
AreaCheck("AR2603") // Coran's Cabin
AreaCheck("AR2700") // Ancient Spirits?
AreaCheck("AR2800") // Suldanesselar
AreaCheck("AR2801") // House of High Priestess of Suldanesselar
AreaCheck("AR2802") // House in Suldanesselar
AreaCheck("AR2803") // Rillifane Temple
AreaCheck("AR2804") // To the Tree of Life (Entrance Hidden)
AreaCheck("AR2805") // To the Tree of Life (Entrance Revealed)
AreaCheck("AR2806") // Tree of Life
AreaCheck("AR2807") // Black Dragon's Hideout
AreaCheck("AR2808") // House in Suldanesselar
AreaCheck("AR2810") // House in Suldanesselar
AreaCheck("AR2811") // House in Suldanesselar
AreaCheck("AR2812") // Temple of Rillifane after the Battle
AreaCheck("AR2900") // The Abyss
AreaCheck("AR2901") // Fear (Abyss)
AreaCheck("AR2902") // Pride (Abyss)
AreaCheck("AR2903") // Greed (Abyss)
AreaCheck("AR2904") // Selfish (Abyss)
AreaCheck("AR2905") // Sarevok (Abyss)
AreaCheck("AR2906") // Jon Battle ?


/* ToB Area List */

AreaCheck("AR3000") // Watcher's Keep
AreaCheck("AR3001") // Watcher's Keep -- Altar level
AreaCheck("AR3003") // Watcher's Keep -- Compass level
AreaCheck("AR3004") // Watcher's Keep
AreaCheck("AR3005") // Watcher's Keep -- tieflings
AreaCheck("AR3006") // Watcher's Keep -- Succubus
AreaCheck("AR3007") // Watcher's Keep --Cambion
AreaCheck("AR3008") // Watcher's Keep -- Baalor (Paladin Sword)
AreaCheck("AR3009") // Watcher's Keep -- Wild Magic ?
AreaCheck("AR3010") // Watcher's Keep -- Tanar'ri -- Obelisk
AreaCheck("AR3011") // Watcher's Keep -- Bard's Gloves, Manman's Journal
AreaCheck("AR3012") // Watcher's Keep -- Tahazzar
AreaCheck("AR3013") // Watcher's Keep -- Ka'rashur
AreaCheck("AR3014") // Watcher's Keep -- White Dragon Scales
AreaCheck("AR3015") // Watcher's Keep -- Aesgareth
AreaCheck("AR3016") // Watcher's Keep -- Chromatic Demon; Elementalist Level
AreaCheck("AR3017") // Watcher's Keep -- Carston and the machine
AreaCheck("AR3018") // Watcher's Keep -- Saladrex (Dragon)
AreaCheck("AR3019") // Watcher's Keep -- Helmite Level -- Last Seals
AreaCheck("AR3020") // Watcher's Keep -- Imprisoned One
AreaCheck("AR3021") // Watcher's Keep -- Ilithids
AreaCheck("AR3022") // Watcher's Keep -- Anti-Paladins
AreaCheck("AR3023") // Watcher's Keep -- "Adventure Level" (Mini Map!!!)
AreaCheck("AR3024") // Watcher's Keep -- Dragon -- Fear Challenge
AreaCheck("AR3025") // Watcher's Keep -- Orcs -- Ixil's Nail
AreaCheck("AR3026") // Watcher's Keep -- Imp -- Game
AreaCheck("AR3027") // Watcher's Keep -- Crypt -- Demi-Lich
AreaCheck("AR4000") // Spirit Heads
AreaCheck("AR4500") // Pocket Plane
AreaCheck("AR5000") // Saradush
AreaCheck("AR5001") // Gromnir 1st Level
AreaCheck("AR5002") // Gromnir's Hideout
AreaCheck("AR5003") // Saradush Tavern (Tankard Tree)
AreaCheck("AR5004") // Temple of Waukeen
AreaCheck("AR5005") // Gromnir's Barracks
AreaCheck("AR5006") // Saradush Prison
AreaCheck("AR5007") // Basement Entrance to Gromnir's Hideout
AreaCheck("AR5008") // Kiser's Home
AreaCheck("AR5009") // House (no exit?)
AreaCheck("AR5010") // Countess Santele's Home
AreaCheck("AR5011") // Arcana Archives
AreaCheck("AR5012") // House
AreaCheck("AR5013") // Sewers beneath Saradush
AreaCheck("AR5014") // Kiser's Home -- Cellar
AreaCheck("AR5015") // Saradush Militia Entrance
AreaCheck("AR5016") // Saradush Castle Jail (Kiser Plot)
AreaCheck("AR5200") // Fire Giant Entrance Area
AreaCheck("AR5201") // Fire Giant Keep
AreaCheck("AR5202") // Nyalee's Hideout; Gorion Wraith
AreaCheck("AR5203") // Yaga-Shura's Camp
AreaCheck("AR5204") // Yaga-Shura's Keep
AreaCheck("AR5500") // Amkethran
AreaCheck("AR5501") // Amkethran Inn
AreaCheck("AR5502") // Kerrick the Smith's House
AreaCheck("AR5503") // Chyil's House
AreaCheck("AR5504") // Smuggler Cave
AreaCheck("AR5505") // Balthazar's Home
AreaCheck("AR5506") // Commoner's Home
AreaCheck("AR5507") // Empty Home
AreaCheck("AR5508") // Faheed's Home
AreaCheck("AR5509") // Amkethran Crypt
AreaCheck("AR6000") // Abazigal's Entrance
AreaCheck("AR6001") // Abazigal's Lair Entrance Hall
AreaCheck("AR6002") // Abazigal's Lair -- Cells
AreaCheck("AR6003") // Abazigal's Lair -- Iycanth the Mad, Bondari
AreaCheck("AR6004") // Abazigal's Lair -- Fll'Yissetat
AreaCheck("AR6005") // Abazigal's Hideout
AreaCheck("AR6008") // Frost Salamander Cave
AreaCheck("AR6011") // Orbs and Gauth
AreaCheck("AR6012") // Pool Home -- breath under water
AreaCheck("AR6100") // Area outside Sendai's Hideout
AreaCheck("AR6101") // Main Entrance Sendai's Lair
AreaCheck("AR6102") // Sendai's Lair -- Slavemaster
AreaCheck("AR6103") // Sendai's Lair -- Spiders
AreaCheck("AR6104") // Sendai's Lair -- Crossway
AreaCheck("AR6105") // Sendai's Lair -- Diaytha, Abishai
AreaCheck("AR6106") // Sendai's Lair -- Captain Egeissag
AreaCheck("AR6107") // Sendai's Lair -- Mithykyl
AreaCheck("AR6108") // Sendai's Lair -- Sendai
AreaCheck("AR6109") // Sendai's Lair -- Drow
AreaCheck("AR6110") // Sendai's Lair -- Odamaron
AreaCheck("AR6111") // Woodcutter's House -- Sendai's Area
AreaCheck("AR6200") // The Throne of Bhaal
AreaCheck("AR6300") // Oasis in Tethyr
AreaCheck("AR6400") // River Area

Link to comment

Notes to self:

  • As the bigg mentioned in ToBEX thread at SHS: "Cleric/Rangers aren't detected by CLERIC_ALL (fixable by manually checking for C/R when checking for C_A, but error prone)." I am definitely an inattentive modder - need to recheck places where I have slapped C_A, F_A, etc. to look for loopholes. May need to revise those sections to specifically look fro individual classes.
  • Wildmages and barbarians I remembered had problems, but with ToBEX, they now can be detected - before now, their class detection stuff simply did not work.
  • Recheck the order of transition code - EscapeArea() block further commands in the sequence,; from BG1NPC research, it is possible that RealSetGlobalTimer() does in some circumstances as well. Test anything that uses these carefully...
  • May need to recheck USING and see if it is indeed possible to construct a mod that has only one big .tra file for .bcs as well as .d compilation using USING and COMPILE EVALUATE_BUFFER for evaluation of variables within compiled files.

Link to comment
[*]Wildmages and barbarians I remembered had problems, but with ToBEX, they now can be detected - before now, their class detection stuff simply did not work.

Checking for their special abilities via HaveSpell might work, no? (for non-ToBEX users, I mean)

Link to comment

(Side notes from researching this - http://forums.gibberlings3.net/index.php?s...ost&p=20916 - may want to use Smoketest's

 

TimeGT(5) // at least dawn

TimeLT(12) // not yet noon

 

instead of timeoDay or TimeofDay...

 

in general, when devSin, CamDawg, or Smoketest are in the same thread, it is a good idea to take serious note.

 

0x401E Time(I:Time*Time)

Returns true only if the period of day matches the period in the 2nd parameter (taken from Time.ids). Hours are offset by 30 minutes, e.g. Time(1) is true between 00:30 and 01:29.

 

Correlates a general time of day, to a specific hour. Used by the Time(I:Time*Time) trigger. As can be seen from the file, midnight is defined as 0, and time builds from there, wrapping from 23 back to 0.

The file is extensible, and new entries can be added for example, adding 4 MYTIME will allow MYTIME to be used in scripts, giving the time 3am.

 

15

0 MIDNIGHT

12 NOON

6 DAWN_START

7 DAWN_END

21 DUSK_START

22 DUSK_END

 

So a check for NIGHT using TIME() is a little more complicated but doable, if we get persnickety, using 'hunt and pack" methods. Need to recheck the incidence of failure that prompted this, rather than trusting TimeoDay/TimeOfDay.ids files.

 

 

22

23

0

1

2

3

4

5

6

Link to comment

.. and an old but good idea i had forgotten to steal for my outdoor/area things that might have weather dependencies, so that I don't have that swordfight happening while it is raining... )and NO I AM NOT REWRITING A WEATHER DEPENDENT ONE. NO. Stp. Step away from the keyboard... must actually finish mod.... must actually finish mod...

 

adapted from Cam & Jastey...

IF
(conditions for dialogue)
Global("BanterVar","GLOBAL",0)
TimeOfDay(Day)
!AreaType(DUNGEON)
!AreaType(EXTENDEDNIGHT)
OR(3)
AreaType(OUTDOOR)
AreaType(CITY)
AreaType(FOREST)
THEN
RESPONSE #100
  SetGlobal("BanterVar","GLOBAL",1)
  Weather(NOWEATHER)
  SetGlobalTimer("WeatherChange","GLOBAL",10)
END

IF
(conditions for dialogue)
Global("BanterVar","GLOBAL",1)
TimeOfDay(Day)
!AreaType(DUNGEON)
!AreaType(EXTENDEDNIGHT)
OR(3)
AreaType(OUTDOOR)
AreaType(CITY)
AreaType(FOREST)
GlobalTimerExpired("WeatherChange","GLOBAL")
THEN
RESPONSE #100
  SetGlobal("BanterVar","GLOBAL",2)
  StartDialogueNoSet(PLAYER1)
END

Link to comment
so that I don't have that swordfight happening while it is raining... )and NO I AM NOT REWRITING A WEATHER DEPENDENT ONE. NO. Stp. Step away from the keyboard... must actually finish mod.... must actually finish mod...
???

 

Why not have a swordfight where they fight only with weapons in their off-hands, and then have a showdown where they reveal that they are not actually left-handed, then swap the weapons to their other hands (um no... don't actually do that...).

Link to comment

LOCALS, GLOBAL, AREA... recheck reminders - it looks like if i want to, i might be able to unload a few variables onto an AREA based on older research - but I will need to recheck.

 

Basics, from both moketest and devSin:

 

Area and info point objects cannot set or get LOCALS variables. Using LOCALS outside an actor script (or SetGlobal() outside ActionOverride() on a valid actor) does nothing (this should be true for any other AI object I forgot).

 

my summary / recheck -

/* In a mythical AR0100.BAF, set up to EXTEND_BOTTOM ~AR0100.are~ */

IF
 InParty("imoen") // should work
 Global("Garbage1","AR0100",1) // should work
 Global("Garbage2","MYAREA",1) // should work
 Global("Garbage3","LOCALS",1) // can't work as it is not being run on a specific object
 Global("Garbage4","GLOBAL",1) // works everywhere
THEN RESPONSE #100
 SetGlobal("Garbage1","AR0100",2)//works
 SetGlobal("Garbage1","AR0200",1)// we don't think works
 SetGlobal("Garbage2","MYAREA",2) // will work
 SetGlobal("Garbage3","LOCALS",1) // can't work as it is not run on specific object
 ActionOverride("imoen",SetGlobal("Garbage3","LOCALS",1)) // should work fine to set a LOCALS value on imoen
 SetGlobal("Garbage4","GLOBAL",1) // works everywhere
 Continue() //keep on going; use with caution via EXTEND_TOP
END

 

The question that i tam not sure if it was resolved or not - in that thread was conflicting data on the use of another area's script to store variables.

 

SmokeTest:

I know. That's because setting a LOCALS creates an EFF attached to the creature running the script, and such a mechanism doesn't work on areas.

 

 

cmorgan,

 

The area referenced in a variable must match an actual area resource name, though MYAREA will work in any given area since it's a context mask. That is, if MYAREA is set/modified in AR0300 the game will attach the variable to AR0300.ARE; if set/modified in AR0400 it will be attached to AR0400.ARE, and so on. Thus you could use MYAREA in all your area scripts if you wanted, but only in scripts working on variables in the area they are attached to. If you need to reference another area's variable you need to use that area's resource name.

 

devSin:

Do you know the exact limitations of referencing external (currently unloaded resource) variables? E.g., I don't think the game successfully checks if Global("MyVar","AR0204",1) when you're in AR1000?

 

Smoketest

I can't vouch for area scripts because I haven't tested them, but I know the global script, BALDUR.BCS, can do it. It sets variables in at least one area. Sub-areas might be able to read/modify variables in their master area, but again, I haven't tested it yet. Or if I did, it was months/years ago and I've forgotten.

 

so, I need to recheck IESDP and see if there is new info on this, or test. Only because I keep seeing folks use BWP stuff with thousands of variables, all added as .eff, and i just know someday someone's install is going to create a virtual black hole in their VM, thus causing the end of the universe as we know it.

 

Side note - why I completely avoid using OnCreation() even though it has some uses:

 

Smoketest,

Nah, just avoid using non-instant actions in your OnCreation() block and you'll be fine. Bioware does it all the time in their area scripts, and so do I. There is often a variable set to prevent the block from executing again, but this variable isn't typically used in the rest of the script so if a Continue() is used there's no problem. (The variable is usually named EnteredARxxxx or similar.)

 

OnCreation() is handy for doing things like Explore() and DisplayStringHead() and anything else you want done at the moment of area entry, and that might look odd if it took place several seconds later. If you use multiple OnCreation() blocks in an area script, it's good to chain them together with Continue() or they might not execute properly.

 

Edit: OnCreation() is an instance trigger, like Die(). If it doesn't get a chance to execute in a timely fashion, it won't execute at all. This is why Bioware universally places it at the top of their scripts. If you're going to EXTEND_BOTTOM, you probably shouldn't use OnCreation().

Link to comment
so that I don't have that swordfight happening while it is raining... )and NO I AM NOT REWRITING A WEATHER DEPENDENT ONE. NO. Stp. Step away from the keyboard... must actually finish mod.... must actually finish mod...
???

 

Why not have a swordfight where they fight only with weapons in their off-hands, and then have a showdown where they reveal that they are not actually left-handed, then swap the weapons to their other hands (um no... don't actually do that...).

 

 

Only if I get to plagarize/paraphrase the whole thing, including

 

"'Allo. My name be Aran Whitehand. You blighted well drank my Gogondy. Prepare to have th' collups kicked out o' you."

Link to comment

See, this is why there's a STATE_REALLY_DEAD. To make sure you don't catch creatures that are only mostly dead.

 

LOCALS, GLOBAL, AREA... recheck reminders - it looks like if i want to, i might be able to unload a few variables onto an AREA based on older research - but I will need to recheck.

Long story short, only use area variable if all the action is going to be in that area. Checking an area var from a different area will get a return as if the var doesn't exist, and a SetGlobal will simply fail. I think you can check and set variables in a master area if you're in a sub-area, but I wouldn't count on it.

 

LOCALS are only available to the creature running them. As I recall even an ActionOverride("bob",SetGlobal("BobVar","LOCALS",1)) fails, but it's been a while.

 

Avoid triggers like OnCreation() and Die(). It's too easy for them to fail, and I can't think of any situation where they can't be done just as timely with a different trigger.

 

Personally, if you've already got something working I wouldn't bother to recode it as you're likely to introduce new bugs for a very limited return.

Link to comment

@Camdawg - Cool, thanks! The fuzziness was on using AREA scope to handle more of the load, and that turns out to be kaput. (I'll have fun storming the castle!)

 

The "check against LOCALS Lovetalks" stuff is a good reminder on this sort of thing, too - to actually get a script or dialog to fire based on another NPC's LOCALS scope; c.f any mod that tries to detect and work off of Solaufein's materials.

 

 

Personally, if you've already got something working I wouldn't bother to recode it as you're likely to introduce new bugs for a very limited return.

Very true indeed. This is the "pre-flight checklist" stuff I want to doublecheck before in-game test. Mostly, rechecks on logic or research.

 

 

From GeN1e, on getting a "muttering to self" start to dialog...

With ActionOverride(PlayerX,StartDialog("xxxx",Myself)), do you get a speaker id?

You mean, that it is Haerdalis talking to Haerdalis (with his portrait and name displayed)? Yes. In fact, soon after I compiled that, I've discovered the very same line in ar1514.bcs - when PC talks to self after scaring Bodhi away.

At first I intended to use another creature with preset dialog (as appending dlg for each and every joinable NPC would hardly be passable), but then recalled, with some help from your side, that StartDialog allows for temporary substitution.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...