Jump to content

Anomen's Cause serious wounds


Recommended Posts

Do you mean Cause Serious Wounds? Because the IWD divine spell component of IWDification/SCS creates a new version of Cause Serious Wounds, rather than overwriting the old one. Then it hides the old one, adding it to hidespl.2da and flagging it unusable by both druids and clerics.

But all versions of Anomen start with the 4th level cleric spells already in their spellbook. This includes (BG2) Cause Serious Wounds, because he's neutral. And just adding a spell to hidespl.2da and flagging it unusable doesn't remove it from spellbooks that already have it.

So then, after installing the IWD spells, Anomen and BG2 Viconia will have both versions of Cause Serious Wounds. Higher level versions of those characters like the ones that join in ToB will also have both versions of Cause Critical Wounds (which has the same thing going on). Similarly for druids; Cernd will always have both versions of both Cause Wounds spells, and higher-level versions of Jaheira such as her ToB instance will as well.

Now, that same file (iwd_divine_spells_postproduction) that hides the old Cause Wounds spells also runs a function "cre_set_joinable_priest_spells" that updates spellbooks for joinable NPCs with divine spellcasting. But it runs this function before it hides the old Cause Wounds spells, so it doesn't remove those spells from any spellbooks. Any joinable level 7+ non-good priests will have both versions of Cause Serious Wounds and any joinable level 9+ non-good priests will have both versions of Cause Critical Wounds.

Relevant code:

Spoiler
DEFINE_ACTION_FUNCTION iwd_divine_spells_postproduction BEGIN

  LAF array_read STR_VAR file=iwd_spells_installed.txt path="%data_loc%" RET_ARRAY IWD_spell_installed=array END
  LAM data_spells_by_level // needed for scroll
  LAF make_physical_mirror_level_5 END
  LAM data_spell_resrefs // load in new physical mirror as well as new IWD spells

  ACTION_IF VARIABLE_IS_SET $IWD_spell_installed("CLERIC_ENTROPY_SHIELD") BEGIN
    LAF entropy_shield_flame_strike END
  END  
  
  LAF monster_summoning_divine_cosmetic END
  LAF no_chant_spell_failure END
  LAF patch_cures_into_stores END
  LAF cre_set_joinable_priest_spells END
  LAF clearair_divine END
  LAF surplus_cleric_protections END
  LAF run STR_VAR file=summoned_monsters_divine location=lib END
  LAF run STR_VAR file=dealign_cleric_spells version=1 location=lib END
  ACTION_IF !MOD_IS_INSTALLED "spell_rev/setup-spell_rev.tp2" 0 BEGIN
    LAF bg2ify_cure_moderate_wounds END
    LAF hide_old_cause_wounds END
  END
  INCLUDE "%MOD_FOLDER%/%component_loc%/lib/cd_divine_post.tpa" // just in case Cam's code isn't SFO-sugar-compliant
  LAF cd_divine_post END
  ACTION_IF !enhanced_edition BEGIN
    OUTER_SPRINT obg2_res_path "%MOD_FOLDER%/%component_loc%/obg2_res"
    INCLUDE "%MOD_FOLDER%/%component_loc%/lib/obg2_divine.tpa"
    LAF obg2_divine END
  END
  ACTION_IF MOD_IS_INSTALLED "spell_rev/setup-spell_rev.tp2" 55 BEGIN
    LAF run STR_VAR file=sr_nwn_spelldeflection location=lib version=sr_nwn_arcane END
  END
  

END

The "LAF cre_set_joinable_priest_spells" line should be moved to after the IF block including "LAF hide_old_cause_wounds END"

This issue applies equally to IWDification, which has exactly the same code here.

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...