Skip to content

TazokSays blocks in AR2400.BCS and AR2900.BCS prevent further script blocks from firing

AstroBryGuyAstroBryGuy Member Posts: 3,437
edited January 2015 in BG:EE Bugs (v1.3)
First, I know that this issue only affects modded games, but it is an error in the vanilla area scripts.


1. Add the following block to the end of AR2900.BCS via NearInfinity or DLTCEP.
IF
True()
THEN
RESPONSE #100
DisplayStringHead(Player1,2106)
END
2. Start a new game with Abdel Adrian.
3. Go to AR2900. See the words "Hello There" above his head.
4. Go to AR1900. Watch Bandit Camp movie.
5. Go back to AR2900. No more "Hello There" words above Abdel's head.

Observed
Script blocks added to the ends of AR2400.BCS or AR2900.BCS will not execute once AR1900 has been entered.

Expected
Script blocks added to the ends of AR2400.BCS or AR2900.BCS execute even if AR1900 has been entered.

Notes
The area scripts for AR2400 and AR2900 contain the following blocks:

AR2400.BCS:
IF
Global("TazokSays","GLOBAL",1)
THEN
RESPONSE #100
ActionOverride("Raiken",DestroySelf())
END
AR2900.BCS:
IF
Global("TazokSays","GLOBAL",1)
THEN
RESPONSE #100
ActionOverride("Teven",DestroySelf())
END
Since both blocks only depend on the variable TazokSays, and neither changes the variable, they both will continuously fire if TazokSays = 1. This has the effect of preventing any blocks appended to the ends of these BCS files from executing after the party has entered AR1900 (which sets TazokSays = 1)

I'd suggest also using the TevenSpawn and RaikenSpawn variables to control the above blocks.

AR2400.BCS:
IF
Global("TazokSays","GLOBAL",1)
Global("RaikenSpawn","GLOBAL",1)
THEN
RESPONSE #100
ActionOverride("Raiken",DestroySelf())
SetGlobal("RaikenSpawn","GLOBAL",2)
END
AR2900.BCS:
IF
Global("TazokSays","GLOBAL",1)
Global("TevenSpawn","GLOBAL",1)
THEN
RESPONSE #100
ActionOverride("Teven",DestroySelf())
SetGlobal("TevenSpawn","GLOBAL",2)
END
Post edited by AstroBryGuy on
Sign In or Register to comment.