aVENGER_(RR) Posted January 30, 2010 Share Posted January 30, 2010 Both versions of Runehammer allow a save vs. death for the undead slaying effect in the item's extended header even though the save is already contained in the corresponding EFF file. This effectivelly grants undead creatures two separate saving throws against this effect which likely wasn't intended. Also, the "Undead Destroyed" message string (MESDIE.EFF) needs to be placed in front of the slaying effect (DIE.EFF) in order to display properly. Here's the fix: ACTION_FOR_EACH ~file~ IN // for each of the following files ~HAMM10~ // Runehammer +4 ~HAMM11~ // Runehammer +5 BEGIN // execute the following ACTION_IF FILE_EXISTS_IN_GAME ~%file%.itm~ BEGIN // if the referenced file with an ITM extension exists COPY_EXISTING ~%file%.itm~ ~override~ PATCH_IF (%SOURCE_SIZE% > 0x71) THEN BEGIN // file size check 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 // cycles through headers READ_BYTE ("%abil_off%" + ("%index%" * 0x38)) "type" // header type PATCH_IF ("%type%" = 1) BEGIN // if melee header READ_SHORT ("%abil_off%" + 0x1e + ("%index%" * 0x38)) "abil_fx_num" READ_SHORT ("%abil_off%" + 0x20 + ("%index%" * 0x38)) "abil_fx_idx" FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN READ_SHORT ("%fx_off%" + (0x30 * ("%abil_fx_idx%" + "%index2%"))) "opcode" READ_ASCII ("%fx_off%" + 0x14 + (0x30 * ("%abil_fx_idx%" + "%index2%"))) "resref" PATCH_IF (("%opcode%" = "177") AND ("%resref%" STRING_EQUAL_CASE ~DIE~)) BEGIN // effect #177 - use EFF file and resref DIE WRITE_ASCII ("%fx_off%" + 0x14 + (("%abil_fx_idx%" + "%index2%") * 0x30)) "MESDIE" #8 // resref: MESDIE (needs to go first) WRITE_LONG ("%fx_off%" + 0x24 + (("%abil_fx_idx%" + "%index2%") * 0x30)) "0" // saving throw type: 0 (none) WRITE_LONG ("%fx_off%" + 0x28 + (("%abil_fx_idx%" + "%index2%") * 0x30)) "0" // saving throw bonus: 0 END PATCH_IF (("%opcode%" = "177") AND ("%resref%" STRING_EQUAL_CASE ~MESDIE~)) BEGIN // effect #177 - use EFF file and resref MESDIE WRITE_ASCII ("%fx_off%" + 0x14 + (("%abil_fx_idx%" + "%index2%") * 0x30)) "DIE" #8 // resref: DIE (needs to go last) END END END END END // ends file size check BUT_ONLY_IF_IT_CHANGES END // ends ACTION_IF FILE_EXISTS_IN_GAME block END // ends ACTION_FOR_EACH block Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.