Jump to content

Spook


Caedwyr

Recommended Posts

These are the effects on spwi125 in my game (with only the Fixpack installed):

 

1. Graphics: Lighting Effect 141 (17 magenta shearth), Pre-Target, Permanent, Power 1, Save: Spells, Resist: Dispel/Not Bypass

2. State: Horror, Pre-Target, Duration 18, Power 1, Save: Spells, Resist: Dispel/Not Bypass

3. Text: Display String 139 (14007), Pre-Target, Permanent, Power 1, Save: Spells, Resist: Not Dispel/Not Bypass

4. Sound Effect 174 (EFF_M79), Pre-Target, Permanent, Power 1, Save: None, Resist: Dispel/Not Bypass

5. Graphics: Display Icon 142 (36 Panic), Pre-Target, Duration 18, Power 1, Save: Spells, Resist: Dispel/Not Bypass

6. Sound Effect 174 (EFF_E06), Pre-Target, Delayed 18, Power 1, Save: Spells, Resist: Dispel/Not Bypass

 

Would changing the resistance to "Dispel/Not Bypass" on #3 like all the other effects have any, er, effect?

 

What about the save on sound effect #4 - shouldn't that be consistent with the others?

Link to comment
Would changing the resistance to "Dispel/Not Bypass" on #3 like all the other effects have any, er, effect?
Yes, it would fix this. The rules for the values here aren't absolutely defined, but 2 is pretty good at cutting through resistances (indeed, I prefer it over 0 for stuff-that-should-always-happen).

 

What about the save on sound effect #4 - shouldn't that be consistent with the others?
Depends. BioWare sometimes coded lighting effects and sounds and other fluff to always run. Personally, I think they should all match (you shouldn't get a sound or other crap if the spell failed).
Link to comment

Confirmed and fixed. The Display String effect was using no dispel/bypass MR; should be no dispel/no bypass MR (not that dispel matters for a display string opcode):

 

// spook's 'panic' string not properly quashed by MR
COPY_EXISTING ~spwi125.spl~ ~override~
 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
READ_SHORT  ("%abil_off%" + 0x1e + (0x28 * "%index%")) "abil_fx_num"
READ_SHORT  ("%abil_off%" + 0x20 + (0x28 * "%index%")) "abil_fx_idx"
FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN
  READ_BYTE ("%fx_off%" + 0x0d + (0x30 * ("%index2%" + "%abil_fx_idx%"))) "dispel"
  PATCH_IF ("%dispel%" = 3) BEGIN // if dispel, bypass MR...
	WRITE_BYTE ("%fx_off%" + 0x0d + (0x30 * ("%index2%" + "%abil_fx_idx%"))) 1 // change to dispel, no bypass MR
  END ELSE
  PATCH_IF ("%dispel%" = 0) BEGIN // if no dispel, bypass MR...
	WRITE_BYTE ("%fx_off%" + 0x0d + (0x30 * ("%index2%" + "%abil_fx_idx%"))) 2 // change to no dispel, no bypass MR
  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...