Skip to content

[Windows] Opcode 232 - Special Field has overlapping functionality

kjeronkjeron Member Posts: 2,367
[Windows][Beamdog Store][IWDEEv1.4.0][BG2EEv1.3.2064][BG1EEv1.3.2053]

The 'Special' field for this opcode has two potentially conflicting uses:
From @CamDawg 's G3 post:
IWDEE: Expanded opcodes:
Contingency Instance [232]: New param2 options since BGEE
*13 - TimeOfDay
*14 - Range(m_special)
*15 - StateCheck(m_special)
*19 - HP < special
*20 - HPPercent < special
While these work just fine, the first 'bit' of the 'Special' field also has another function:
If it is set, the String Reference # 36936 will be displayed whenever the condition is met.
So if you are checking for an odd-numbered 'Range', 'HP', or 'HP%', or for 'State:Sleeping' or 'Dusk', it is impossible to suppress the string display.

In BG2EE, the String is "A contingency spell has been triggered."
in IWDEE, the String is "It is done."
In BGEE, my dialog.tlk doesn't go nearly that high, so I don't know what the behavior is.

Maybe related info, from IESDP:
Parameter 3 (EFF) activates the portrait icon and immediately triggers the HitBy() trigger
This field also causes String Reference # 36936 to be displayed, and is the field that Opcode 234: Create Contingency sets.
Sign In or Register to comment.