CamDawg Posted March 25, 2005 Share Posted March 25, 2005 Many of the spells used to grant bonuses in the hell trials had an alignment change effect along with mis-timing on many of the bonuses. This is what cause any evil creature to become NE if they behaved evilly in the trials; BD's solution was to remove the effect from the spells themselves and use the area script to handle the alignment change. // hell spell fixes; many had spurious change alignment effects and wrong timing on bonuses COPY_EXISTING ~spin747.spl~ ~override~ // selfish, evil ~spin749.spl~ ~override~ // wrath, evil ~spin750.spl~ ~override~ // wrath, good ~spin751.spl~ ~override~ // pride, evil ~spin753.spl~ ~override~ // fear, evil ~spin755.spl~ ~override~ // greed, evil READ_LONG 0x64 "abil_off" READ_SHORT 0x68 "abil_num" READ_LONG 0x6a "fx_off" WHILE ("%abil_num%" > 0) BEGIN SET "abil_num" = ("%abil_num%" - 1) READ_SHORT ("%abil_off%" + (0x28 * "%abil_num%")) "type" PATCH_IF ("%type%" = 1) BEGIN // if melee READ_SHORT ("%abil_off%" + 0x1e + (0x28 * "%abil_num%")) "fx_num" READ_SHORT ("%abil_off%" + 0x20 + (0x28 * "%abil_num%")) "fx_idx" WHILE ("%fx_num%" > 0) BEGIN SET "fx_num" = ("%fx_num%" - 1) READ_SHORT ("%fx_off%" + (0x30 * ("%fx_idx%" + "%fx_num%"))) "opcode" PATCH_IF ("%opcode%" = 57) BEGIN // change alignment WRITE_LONG ("%fx_off%" + 0x12 + (0x30 * ("%fx_idx%" + "%fx_num%"))) 0 // probability: zero END PATCH_IF (("%opcode%" = 6) OR ("%opcode%" = 10) OR ("%opcode%" = 44) // CHR/CON/STR bonus OR ("%opcode%" = 49) OR ("%opcode%" = 104) OR ("%opcode%" = 108)) BEGIN // WIS/XP bonus, rep change WRITE_BYTE ("%fx_off%" + 0x0c + (0x30 * ("%fx_idx%" + "%fx_num%"))) 1 // timing: inst/perm END END 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. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.