Jump to content

Photo

Fixpack makes Moon Dog Sight affect the party


No replies to this topic

#1 aVENGER_(RR)

aVENGER_(RR)
  • Modders
  • 1008 posts
  • Gender:Not Telling

Posted 27 March 2010 - 03:37 AM

At the moment, the Improved Spell Animations component of the fixpack makes Moon Dog Sight (SPIN696.SPL) into an area effect spell by making it use CDDETEVL.PRO instead of BIGNAREA.PRO which it had in the unmodded game. In effect, this makes the party susceptible to the illusion removal effect of this ability which should not be the case. Commenting this spell out of the relevant batch seams like the most reasonable solution:

COPY_EXISTING ~spcl212.spl~ ~override~ // detect evil (paladin innate)
			  ~spin120.spl~ ~override~ // detect evil (bhaalspawn innate)
//			~spin696.spl~ ~override~ // moon dog sight
			  ~sppr104.spl~ ~override~ // detect evil (cleric spell)
			  ~spwi202.spl~ ~override~ // detect evil (mage spell)
  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 // loop through abilities
	WRITE_BYTE  ("%abil_off%" + 0x0e + ("%index%" * 0x28)) 5			// target: caster
	WRITE_SHORT ("%abil_off%" + 0x26 + ("%index%" * 0x28)) "%CDDETEVL%" // custom projectile
	READ_SHORT  ("%abil_off%" + 0x1e + ("%index%" * 0x28)) "abil_fx_num"
	READ_SHORT  ("%abil_off%" + 0x20 + ("%index%" * 0x28)) "abil_fx_idx"
	FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN // looks for effects for abilities
	  READ_SHORT  ("%fx_off%" +		(("%abil_fx_idx%" + "%index2%") * 0x30)) "opcode"
	  PATCH_IF ("%opcode%" = 115) BEGIN // detect alignment
		WRITE_SHORT ("%fx_off%" +		(("%abil_fx_idx%" + "%index2%") * 0x30)) 146		// opcode: cast spell
		WRITE_BYTE  ("%fx_off%" + 0x02 + (("%abil_fx_idx%" + "%index2%") * 0x30)) 2		  // target: preset target
		WRITE_BYTE  ("%fx_off%" + 0x03 + (("%abil_fx_idx%" + "%index2%") * 0x30)) 0		  // power
		WRITE_LONG  ("%fx_off%" + 0x04 + (("%abil_fx_idx%" + "%index2%") * 0x30)) 1		  // cast at level
		WRITE_LONG  ("%fx_off%" + 0x08 + (("%abil_fx_idx%" + "%index2%") * 0x30)) 1		  // cast instantly: yes
		WRITE_ASCII ("%fx_off%" + 0x14 + (("%abil_fx_idx%" + "%index2%") * 0x30)) ~cddetevl~ // spell to cast
	  END
	END
  END
  BUT_ONLY_IF_IT_CHANGES




Reply to this topic



  


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users