Jump to content

Wand of Spellstriking Pierce Magic Blocked by S.I. Abjuration. (v35.15)


Recommended Posts

Sorry if this was fixed already (or if this is intentional?), but I wasn't going to reinstall in mid playthrough. I thought I would make a note of this because it seems odd, and I'm not sure if anyone was aware of this or has had this problem. I don't have any other mods like spell revisions that should affect the way spells and effects behave.

Link to comment

So, there's a discussion from a few months ago which I'm pretty sure led to the most recent intentional change in this cluster of stuff: https://www.gibberlings3.net/forums/topic/37853-impervious-sanctity-of-mind-vs-wand-of-spell-striking/

- Basically, the SCS component on that wand converts its effect into a level 0 carrier ability that casts a fixed-level clone of Pierce Magic. The vanilla version of that wand ability is level 6 with ABJURER and MAGICATTACK types just like actual Spell Shield, and those types won't change without conscious effort.

- At the beginning of v35, that change left the ABJURER and MAGICATTACK types on the carrier ability. This allowed Spell Shield to block it without being consumed. Oops.

- The change I recommended removes both of those types from the carrier ability. This would allow it to pass through any standard spell defense; the PM spell then interacts normally with spell defenses.

- What you're seeing looks like the carrier ability now has the ABJURER type but not MAGICATTACK. That would allow SI:Abjuration to block it, but not other spell defenses.

And looking at the code (spell/modify_breach.tpa)...

	itm.edit[wand18|allow_missing:i=1]
	[
		m.ab.alter{s_projectile=0 s_secondary_type=0}
		m.ab_fx.delete{"~%p_icon%~ STR_EQ spwi513b OR ~%p_icon%~ STR_EQ spwi608b"}
		m.ab_fx.add{s_opcode=146 s_parameter2=1 s_resource:=%WIZARD_BREACH% s_target=2 s_timing=1|match_parent="~%p_icon%~ STR_EQ spwi513b"}
		m.ab_fx.add{s_opcode=146 s_parameter2=1 s_resource:=dw#wndss s_target=2 s_timing=1|match_parent="~%p_icon%~ STR_EQ spwi608b"}
	]

The relevant line is the first one working on the ability. Which removes the secondary type (MAGICATTACK) but not the primary type (ABJURER). Entirely consistent with what you're seeing. Looks like my suggestion was only half-implemented.

Link to comment
Posted (edited)

Hello and thanks for the response.

I have to be honest with you in that I don't fully understand the way everything works on a technical level. I generally know the way spells interact from just playing the game a lot and testing stuff. From what I've observed this seems like a bug or inconsistency in the "rules" that have been established. When I initially observed this, I thought that S.I. Abj. was not meant to be dispelled because Pierce Magic is an Abjuration spell. Later I talked to some other people and went back and tested it again to find out that the spell version of Pierce Magic and other Abjuration spells that normally remove Spell Immunity worked just fine against S.I. Abj. So anyway, that's what I've seen and why I think this is a problem.

Edited by JDSilvergun
Link to comment

Well, here's the "too complicated, didn't read" version of what I said: it is an error, and the fix is simple. SI: Abjuration should not block the wand version of Pierce Magic. This error would have been a low-key game-breaker for my "no arcane/divine spellcasting" run; it doesn't affect many fights, but sometimes I truly needed to tear down an SI:Abj so that Keldorn could dispel the defenses I actually cared about, and the wand (with two wielders) was my only option for breaking spell defenses.

The interaction of all the various spell attacks and defenses is complicated, but one of the key pieces is that spell attacks ignore almost all defenses. Only blanket immunity to all spells of that level (which might not be the same as the level you memorized the spell at) or the Spell Shield effect can block a standard magic attack. Including, in the base game, Breach. Under the vanilla spell system, dispel effects are about the only hostile abjurations that SI:Abjuration actually protects against. Then SCS revises this by making it easier to block Breach, while leaving other spell attacks' defense-penetration ability intact. But on the flip side, it revises lich/rakshasa immunities so that Breach can work against them if you clear out enough of the other spell defenses first.

Link to comment
Posted (edited)

I did read what you said. I was not trying to appear illiterate. I was just explaining my thoughts more in depth. Perhaps it was unnecessary. I do appreciate you talking the time to respond, and I understand that you are confirming on a mechanical level the root of the issue. You are saying this was brought up before in regards to Spell Shield and that your suggestion would have also fixed this issue that I am reporting (had it been fully implemented). I understand the concept of level zero effects. I was not aware some of the effects are implemented with carriers that then cast copies, or clones of spells, as you put it. EDIT: Okay I think I finally got it. You're saying the carrier was being blocked so the Pierce Magic was not actually being cast.

I'm not doing a restriction on abilities type of playthrough. Even with arcane casters in the party, these wands seem like a great way to simplify spell picks/memorization. Especially since wands have no real cast time and can't be interrupted. Of course it isn't necessary, but it's a nice luxury. I just wanted to make people aware of this, so that hopefully it will be fixed, and frankly with the way mages are in SCS, I'm surprised it hasn't come up sooner. The way you have been talking makes it seem that I am indeed the first person to bring this up.

Thanks again for looking at the code and for your responses. Maybe I'll actually get Near Infinity and look into fixing this myself if no one presents a solution. Other than that, hopefully the creator will look at this before the next update.

Edited by JDSilvergun
Link to comment

If I had to guess I'd say adding "s_primary_type=0" to that first line would fix it, but I actually have no idea. If someone wouldn't mind helping me with this, I'd appreciate it. I'm not expecting a new SCS version any time soon.

Link to comment

Maybe that, maybe a different way of saying the same thing. It all depends on what that field is called in the SFO formalism, which I don't know off the top of my head.

The Near Infinity version of the fix ... you go to the wand, open up the abilities, and choose "NONE - 0" in the dropdown for the "Primary type (school)" field.

I didn't expect you'd be running a variant run; I was just commenting on a run I completed in the past. With SCS v33, which was current at the time.

Link to comment

Yes. ITM resources are not stored in saves. All that's in the saves are markers for "there's one of this item here, and it has this many charges" with flags for stuff like whether it's identified or whether you shoplifted it.

The game engine reads those ITM resources anew every time you open up the game and references them when needed.

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...