devSin Posted May 10, 2005 Share Posted May 10, 2005 COPY_EXISTING ~BHAAL4B.SPL~ ~OVERRIDE~ ~SPCL213.SPL~ ~OVERRIDE~ ~SPIN550.SPL~ ~OVERRIDE~ ~SPIN553.SPL~ ~OVERRIDE~ ~SPIN558.SPL~ ~OVERRIDE~ ~SPIN674.SPL~ ~OVERRIDE~ ~SPIN675.SPL~ ~OVERRIDE~ ~SPIN696.SPL~ ~OVERRIDE~ ~SPIN826.SPL~ ~OVERRIDE~ ~SPIN891.SPL~ ~OVERRIDE~ ~SPPR107.SPL~ ~OVERRIDE~ ~SPPR408.SPL~ ~OVERRIDE~ ~SPWI113.SPL~ ~OVERRIDE~ ~SPWI214.SPL~ ~OVERRIDE~ ~SPWI702.SPL~ ~OVERRIDE~  FOR (READ_LONG 0x6a effectsOffset ELSE 0x72; effectsOffset < SOURCE_SIZE; effectsOffset = effectsOffset + 0x30) BEGIN   READ_SHORT ~%effectsOffset%~ ~effectType~ ELSE 0x00   PATCH_IF (~%effectType%~ = 0xd7) BEGIN    READ_ASCII ~%effectsOffset%~ + 0x14 ~animation~ ELSE ~~    PATCH_IF NOT (~%animation%~ STRING_COMPARE_CASE ~ICRMPARI~) OR NOT (~%animation%~ STRING_COMPARE_CASE ~ICSTRENI~) OR NOT (~%animation%~ STRING_COMPARE_CASE ~SPPOWWRD~) OR NOT (~%animation%~ STRING_COMPARE_CASE ~SPROTECT~) BEGIN     READ_BYTE ~%effectsOffset%~ + 0x0c ~effectDuration~ ELSE 0x01     READ_LONG ~%effectsOffset%~ + 0x0e ~effectLength~ ELSE 0x02     WRITE_LONG ~%effectsOffset%~ + 0x0e ((~%effectDuration%~ = 0x00) AND (~%effectLength%~ > 0x02)) ? 0x02 : ~%effectLength%~    END ELSE PATCH_IF NOT (~%animation%~ STRING_COMPARE_CASE ~SPDISPMA~) OR NOT (~%animation%~ STRING_COMPARE_CASE ~SPTRUSEE~) BEGIN     READ_BYTE ~%effectsOffset%~ + 0x0c ~effectDuration~ ELSE 0x01     READ_LONG ~%effectsOffset%~ + 0x0e ~effectLength~ ELSE 0x03     WRITE_LONG ~%effectsOffset%~ + 0x0e ((~%effectDuration%~ = 0x00) AND (~%effectLength%~ > 0x03)) ? 0x03 : ~%effectLength%~    END ELSE PATCH_IF NOT (~%animation%~ STRING_COMPARE_CASE ~ICWRATI~) OR NOT (~%animation%~ STRING_COMPARE_CASE ~SPNWCHRM~) BEGIN     READ_BYTE ~%effectsOffset%~ + 0x0c ~effectDuration~ ELSE 0x01     READ_LONG ~%effectsOffset%~ + 0x0e ~effectLength~ ELSE 0x04     WRITE_LONG ~%effectsOffset%~ + 0x0e ((~%effectDuration%~ = 0x00) AND (~%effectLength%~ > 0x04)) ? 0x04 : ~%effectLength%~    END   END  END BUT_ONLY_IF_IT_CHANGES This optional (but cool) update tightens up some of the durations for spell animations. Everybody knows that if the duration for a non-permanent single-shot animation is too long, any action (that causes effects to be re-applied) within the specified duration after the animation plays once causes the animation to play again. So we set it to the minimum duration possible (frames divided by 15, rounding up), but only where the duration is greater than the minimum possible. This was reduced substantially from an earlier incarnation (although technically more accurate, it caused more problems than it solved). SPWISH* spells were intentionally removed for their absolute worthlessness. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.