CamDawg Posted March 6, 2005 Share Posted March 6, 2005 The last of the creatre fixes from Baldurdash. This grants Viconia's missing proficiencies at levels 8+. I've kept BD's choice of S&S at level 8-11 and S&S and flail for level 12+. // Viconia proficiency fix COPY_EXISTING ~viconi8.cre~ ~override~ ~viconi9.cre~ ~override~ ~viconi11.cre~ ~override~ ~viconi13.cre~ ~override~ ~viconi16.cre~ ~override~ PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files READ_BYTE 0x234 "level" READ_LONG 0x2a0 "kspl_off" READ_LONG 0x2a8 "minfo_off" READ_LONG 0x2b0 "mspl_off" READ_LONG 0x2b8 "itmslot_off" READ_LONG 0x2bc "itm_off" READ_LONG 0x2c4 "fx_off" READ_LONG 0x2c8 "fx_num" SET "delta" = 1 INSERT_BYTES "%fx_off%" 0x108 // inserting new prof effect WRITE_LONG ("%fx_off%" + 0x08) 233 // opcode WRITE_LONG ("%fx_off%" + 0x14) 1 // stars WRITE_LONG ("%fx_off%" + 0x18) 112 // prof - sword & shield WRITE_LONG ("%fx_off%" + 0x1c) 9 // timing WRITE_SHORT ("%fx_off%" + 0x24) 100 // prob WRITE_ASCII ("%fx_off%" + 0x68) ~None~ // vvc PATCH_IF ("%level%" > 12) BEGIN SET "delta" = 2 INSERT_BYTES "%fx_off%" 0x108 // inserting new prof effect WRITE_LONG ("%fx_off%" + 0x08) 233 // opcode WRITE_LONG ("%fx_off%" + 0x14) 1 // stars WRITE_LONG ("%fx_off%" + 0x18) 100 // prof - flail WRITE_SHORT ("%fx_off%" + 0x24) 100 // prob WRITE_ASCII ("%fx_off%" + 0x68) ~None~ // vvc END WRITE_LONG 0x2c8 ("%fx_num%" + "%delta%") SET "offset" = ("%delta%" * 0x108) PATCH_IF NOT ("%fx_off%" > "%kspl_off%") BEGIN WRITE_LONG 0x2a0 ("%kspl_off%" + "%offset%") END PATCH_IF NOT ("%fx_off%" > "%minfo_off%") BEGIN WRITE_LONG 0x2a8 ("%minfo_off%" + "%offset%") END PATCH_IF NOT ("%fx_off%" > "%mspl_off%") BEGIN WRITE_LONG 0x2b0 ("%mspl_off%" + "%offset%") END PATCH_IF NOT ("%fx_off%" > "%itmslot_off%") BEGIN WRITE_LONG 0x2b8 ("%itmslot_off%" + "%offset%") END PATCH_IF NOT ("%fx_off%" > "%itm_off%") BEGIN WRITE_LONG 0x2bc ("%itm_off%" + "%offset%") END END BUT_ONLY_IF_IT_CHANGES Link to comment
CamDawg Posted March 28, 2005 Author Share Posted March 28, 2005 Included in alpha 3. Had a code correction: // Viconia proficiency fix COPY_EXISTING ~viconi8.cre~ ~override~ ~viconi9.cre~ ~override~ ~viconi11.cre~ ~override~ ~viconi13.cre~ ~override~ ~viconi16.cre~ ~override~ PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files READ_BYTE 0x234 "level" READ_LONG 0x2a0 "kspl_off" READ_LONG 0x2a8 "minfo_off" READ_LONG 0x2b0 "mspl_off" READ_LONG 0x2b8 "itmslot_off" READ_LONG 0x2bc "itm_off" READ_LONG 0x2c4 "fx_off" READ_LONG 0x2c8 "fx_num" SET "delta" = 1 INSERT_BYTES "%fx_off%" 0x108 // inserting new prof effect WRITE_LONG ("%fx_off%" + 0x08) 233 // opcode WRITE_LONG ("%fx_off%" + 0x14) 1 // stars WRITE_LONG ("%fx_off%" + 0x18) 112 // prof - sword & shield WRITE_LONG ("%fx_off%" + 0x1c) 9 // timing WRITE_SHORT ("%fx_off%" + 0x24) 100 // prob WRITE_ASCII ("%fx_off%" + 0x68) ~None~ // vvc PATCH_IF ("%level%" > 12) BEGIN SET "delta" = 2 INSERT_BYTES "%fx_off%" 0x108 // inserting new prof effect WRITE_LONG ("%fx_off%" + 0x08) 233 // opcode WRITE_LONG ("%fx_off%" + 0x14) 1 // stars WRITE_LONG ("%fx_off%" + 0x18) 100 // prof - flail WRITE_LONG ("%fx_off%" + 0x1c) 9 // timing WRITE_SHORT ("%fx_off%" + 0x24) 100 // prob WRITE_ASCII ("%fx_off%" + 0x68) ~None~ // vvc END WRITE_LONG 0x2c8 ("%fx_num%" + "%delta%") SET "offset" = ("%delta%" * 0x108) PATCH_IF NOT ("%fx_off%" > "%kspl_off%") BEGIN WRITE_LONG 0x2a0 ("%kspl_off%" + "%offset%") END PATCH_IF NOT ("%fx_off%" > "%minfo_off%") BEGIN WRITE_LONG 0x2a8 ("%minfo_off%" + "%offset%") END PATCH_IF NOT ("%fx_off%" > "%mspl_off%") BEGIN WRITE_LONG 0x2b0 ("%mspl_off%" + "%offset%") END PATCH_IF NOT ("%fx_off%" > "%itmslot_off%") BEGIN WRITE_LONG 0x2b8 ("%itmslot_off%" + "%offset%") END PATCH_IF NOT ("%fx_off%" > "%itm_off%") BEGIN WRITE_LONG 0x2bc ("%itm_off%" + "%offset%") END END BUT_ONLY_IF_IT_CHANGES Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.