Skip to content

[(BG1, BG2) BUG] Wand of the heavens

CamDawgCamDawg Member, Developer Posts: 3,438
edited August 2012 in Fixed
The description of the wand of the heavens claims it causes 8d6 damage (save for half) as the spell flamestrike. The wand actually causes 12d4 damage (save for half) and uses visual effects different than the priest spell.
// Wand of heavens claims 8d6 damage; actually does 12d4; fix flame strike animation while we're here
COPY_EXISTING ~wand11.itm~ ~override~
LAUNCH_PATCH_FUNCTION ~ADD_ITEM_EFFECT~ INT_VAR
opcode = "215" // display portrait icon
target = "2" // target preset target
timing = "1" // istant/perm
duration = "100" // duration
type = "3"
STR_VAR resource = spflast2
END
LAUNCH_PATCH_FUNCTION ~ADD_ITEM_EFFECT~ INT_VAR
opcode = "215" // display portrait icon
target = "2" // target preset target
timing = "1" // istant/perm
duration = "100" // duration
type = "3"
STR_VAR resource = spflsrin
END
READ_LONG 0x64 "abil_off"
READ_SHORT 0x68 "abil_num"
READ_LONG 0x6a "fx_off"
FOR (index = 0 ; index < abil_num ; index = index + 1) BEGIN
READ_BYTE ("%abil_off%" + (0x38 * "%index%")) "type"
PATCH_IF ("%type%" = 3) BEGIN // magical
READ_SHORT ("%abil_off%" + 0x1e + (0x38 * "%index%")) "abil_fx_num"
READ_SHORT ("%abil_off%" + 0x20 + (0x38 * "%index%")) "abil_fx_idx"
WRITE_SHORT ("%abil_off%" + 0x20 + (0x38 * "%index%")) ("%abil_fx_idx%")
WRITE_SHORT ("%abil_off%" + 0x2a + (0x38 * "%index%")) 1 // remove old flame strike projectile while we're here
FOR (index2 = 0 ; index2 < abil_fx_num ; index2 = index2 + 1) BEGIN
READ_SHORT ("%fx_off%" + (0x30 * ("%abil_fx_idx%" + "%index2%"))) "opcode"
PATCH_IF ("%opcode%" = 12) BEGIN // damage
WRITE_LONG ("%fx_off%" + 0x1c + (0x30 * ("%abil_fx_idx%" + "%index2%"))) 4 // number of dice; only half since damage is split for save
WRITE_LONG ("%fx_off%" + 0x20 + (0x30 * ("%abil_fx_idx%" + "%index2%"))) 6 // dice size
END
PATCH_IF ("%opcode%" = 215) BEGIN // visuals should always play
WRITE_BYTE ("%fx_off%" + 0x03 + (("%abil_fx_idx%" + "%index2%") * 0x30)) 0 // power
END ELSE BEGIN
WRITE_BYTE ("%fx_off%" + 0x03 + (("%abil_fx_idx%" + "%index2%") * 0x30)) 5 // power (damage)
END
END
END
END
BUT_ONLY_IF_IT_CHANGES
edit: visuals weren't actually being fixed. They are now.
Post edited by Bhryaen on

Comments

  • CorianderCoriander Member Posts: 1,667
    I'll drop it in.
  • NathanNathan Member Posts: 1,007
    Verified this change has been integrated internally, this should be present in the next build.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    Confirmed fixed. - damage = 4d6 + 4d6 (saved)
    note: DLTCEP doesn't like the permanent effects (2 animation effects) with duration.
  • CamDawgCamDawg Member, Developer Posts: 3,438
    Whoops, those durations shouldn't be there. It'll still work, but yeah.
  • WispWisp Member Posts: 1,102


    note: DLTCEP doesn't like the permanent effects (2 animation effects) with duration.

    Respectfully, but isn't that whining for the sake of it? Is there ever a situation where non-zero durations with a permanent timing is a problem?
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    Wisp said:


    note: DLTCEP doesn't like the permanent effects (2 animation effects) with duration.

    Respectfully, but isn't that whining for the sake of it? Is there ever a situation where non-zero durations with a permanent timing is a problem?
    There is only one case, when you didn't want it to be permanent :)
    Why would one want to fix it?
    To lessen the noise in which you have to find the one or two cases where it is really a problem.
  • BhryaenBhryaen Member Posts: 2,874
    Confirmed fixed-
    WAND11 now has 4d6(no save)/ 4d6(save v rods, etc).

    Also confirmed what @Avenger_teambg noticed, but I assume from the OP that @CamDawg is on that one...
Sign In or Register to comment.