Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Axis & Allies 1942 Online is now available in Early Access! Buy it on Steam. The FAQ is available.
New Premium Module: Tyrants of the Moonsea! Read More
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

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

CamDawgCamDawg Member, Developer Posts: 3,394
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
AndreaColomboBhryaen

Comments

Sign In or Register to comment.