[(BG2, BGEE) Bug] Spell casting speed
Various spells have casting speeds different than the speed listed in their descriptions. To fix them:
// casting speed fixes
COPY_EXISTING ~sppr310.spl~ ~override~ // miscast magic
~sppr311.spl~ ~override~ // rigid thinking
~sppr403.spl~ ~override~ // free action
~sppr717.spl~ ~override~ // creeping doom
~spwi504.spl~ ~override~ // mon summoning iii
~spwi522.spl~ ~override~ // minor spell turning
READ_LONG 0x64 "abil_off"
READ_SHORT 0x68 "abil_num"
FOR (index = 0 ; index < abil_num ; index = index + 1) BEGIN
WRITE_SHORT ("%abil_off%" + 0x12 + (0x28 * "%index%")) 5
END
BUT_ONLY_IF_IT_CHANGES
// casting speed fixes
COPY_EXISTING ~sppr104.spl~ ~override~ // detect evil
~sppr214.spl~ ~override~ // duhm divine
~spwi211.spl~ ~override~ // melf's acid arrow
~spwi505.spl~ ~override~ // shadow door
~spwi511.spl~ ~override~ // protection from normal weapons
READ_LONG 0x64 "abil_off"
READ_SHORT 0x68 "abil_num"
FOR (index = 0 ; index < abil_num ; index = index + 1) BEGIN
WRITE_SHORT ("%abil_off%" + 0x12 + (0x28 * "%index%")) 2
END
BUT_ONLY_IF_IT_CHANGES
// casting speed fixes
COPY_EXISTING ~spin104.spl~ ~override~ // innate lmd
~spwi402.spl~ ~override~ // dimension door
~spwi408.spl~ ~override~ // stoneskin
READ_LONG 0x64 "abil_off"
READ_SHORT 0x68 "abil_num"
FOR (index = 0 ; index < abil_num ; index = index + 1) BEGIN
WRITE_SHORT ("%abil_off%" + 0x12 + (0x28 * "%index%")) 1
END
BUT_ONLY_IF_IT_CHANGES
// casting speed fixes
COPY_EXISTING ~spwi214.spl~ ~override~ // strength
READ_LONG 0x64 "abil_off"
READ_SHORT 0x68 "abil_num"
FOR (index = 0 ; index < abil_num ; index = index + 1) BEGIN
WRITE_SHORT ("%abil_off%" + 0x12 + (0x28 * "%index%")) 9
END
BUT_ONLY_IF_IT_CHANGES
Post edited by Bhryaen on
2
Comments
Casting times checked in editor - 1 round for casting time is weird, though
Confirmed from desc & set to spell casting speed 5:
SPPR311
SPPR403 (set for all Spell Abilities)
SPPR717
SPWI504 (set for all Spell abilities)
SPWI522 (set for all Spell abilities)
Confirmed from desc & set to spell casting speed 2:
SPPR214 (set for all Spell abilities)
SPWI211 (set for all Spell abilities)
SPWI505 (set for all Spell abilities)
SPWI511 (set for all Spell abilities)
Confirmed from desc & set to spell casting speed 1:
SPIN104
SPWI402
SPWI408 (set for all Spell abilities)
Confirmed from desc & set to spell casting speed 9:*
SPWI214 (set for all Spell abilities)
* (Desc states "Casting Time: 1 round." 1 round = Casting Time 9?)
On the other hand, in HoW/iwd2, (bull's) strength casting time: 10 (that is 1 round)
and cat's grace: 2.