Jump to content

Unholy Word is not displaying the Deafness icon


Recommended Posts

As the title says, the Unholy Word priest spell (SPPR710.SPL) is not displaying the Deafness icon when used against high level good-aligned creatures. This can be somewhat problematic if, for example, a hostile evil cleric (let's call him Kerith the Bleak :) ) casts Unholy Word against a good-aligned party making its spellcasters suffer a 50% chance of spell failure without any indication of the cause. The short red glow on the characters is certainly a clue but it's clearly not enough. A proper Deafness icon would be a most welcome addition.

Link to comment

Holy Word is missing it as well. Fixed for v4:

 

// (un)holy word not displaying deaf portrait icon for deafened characters
COPY_EXISTING ~sppr710.spl~ ~override~
		  ~sppr715.spl~ ~override~
 READ_LONG  0x64 "abil_off" ELSE 0
 READ_SHORT 0x68 "abil_num" ELSE 0
 READ_LONG  0x6a "fx_off"   ELSE 0
 SET "delta" = 0
 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"
SET "abil_fx_idx" = ("%abil_fx_idx%" + "%delta%")
WRITE_SHORT ("%abil_off%" + 0x20 + (0x28 * "%index%")) "%abil_fx_idx%"
FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN
  READ_SHORT ("%fx_off%" +		(("%abil_fx_idx%" + "%index2%") * 0x30)) "opcode"
  READ_ASCII ("%fx_off%" + 0x14 + (("%abil_fx_idx%" + "%index2%") * 0x30)) "eff_file"
  PATCH_IF (("%opcode%" = 177) AND ("%eff_file%" STRING_COMPARE_CASE "deafness" = 0)) BEGIN // deaf eff file
	READ_ASCII	 ("%fx_off%" +		((("%abil_fx_idx%" + "%index2%"	) * 0x30))) "clone_fx" (48)
	INSERT_BYTES   ("%fx_off%" +		((("%abil_fx_idx%" + "%index2%" + 1) * 0x30))) 0x30			 // new effect
	  WRITE_ASCIIE ("%fx_off%" +		((("%abil_fx_idx%" + "%index2%" + 1) * 0x30))) "%clone_fx%"	 // cloned effect
	  WRITE_ASCII  ("%fx_off%" + 0x14 + ((("%abil_fx_idx%" + "%index2%" + 1) * 0x30))) "icondeaf"	   // new eff reference
	SET "delta" = "%delta%" + 1
	SET "abil_fx_num" = "%abil_fx_num%" + 1
	SET "index2" = "%index2%" + 1
  END
END
WRITE_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) "%abil_fx_num%"
 END
 BUT_ONLY_IF_IT_CHANGES

// new eff for (un)holy word to display deaf icon
COPY_EXISTING ~iconslow.eff~ ~override/icondeaf.eff~
 WRITE_LONG 0x20 112 // deafened

Link to comment

Archived

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

×
×
  • Create New...