Jump to content

Monster Summoning I and II


Recommended Posts

Fixed:

 

// duration for monster summoning i, ii incorrect when cast at many levels
COPY_EXISTING ~spwi309.spl~ ~override~
		  ~spwi407.spl~ ~override~
 READ_LONG  0x64 "abil_off" ELSE 0
 READ_SHORT 0x68 "abil_num" ELSE 0
 READ_LONG  0x6a "fx_off"   ELSE 0
 PATCH_IF ("%SOURCE_RES%" STRING_COMPARE_CASE "spwi309" = 0) THEN BEGIN
SET "base_dur" = 12
SET "open_lvl" = 5
 END ELSE BEGIN
SET "base_dur" = 18
SET "open_lvl" = 7
 END
 FOR (index = 0; index < abil_num; index = index + 1) BEGIN
READ_SHORT ("%abil_off%" + 0x10 + (0x28 * "%index%")) "min_lev"
READ_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) "abil_fx_num"
READ_SHORT ("%abil_off%" + 0x20 + (0x28 * "%index%")) "abil_fx_idx"
PATCH_IF ("%min_lev%" = 1) THEN BEGIN
  SET "min_lev" = "%open_lvl%"
END
FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN
  READ_LONG ("%fx_off%" + 0x0e + (0x30 * ("%abil_fx_idx%" + "%index2%"))) "duration"
  PATCH_IF ("%duration%" > 5) BEGIN // filter out brief and/or instant effects like playing sounds and animations
	WRITE_LONG ("%fx_off%" + 0x0e + (0x30 * ("%abil_fx_idx%" + "%index2%"))) ("%base_dur%" + ("%min_lev%" * 6))
  END
END
 END
 BUT_ONLY_IF_IT_CHANGES

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...