Jump to content

Otiluke's Resilient Sphere


Recommended Posts

Otiluke's is missing a few items. Normal fire (Sunfire), cold (Slayer paws), and poison are able to get through. In addition to electricity, generic magic damage, and acid are also not covered. Fixed as follows:

 

// otiluke's not protecting against regular fire, cold, electricity, acid, poison, or magic damage
COPY_EXISTING ~spwi413.spl~ ~override~
 READ_LONG  0x64 "abil_off"
 READ_SHORT 0x68 "abil_num"
 READ_LONG  0x6a "fx_off"
 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"
     PATCH_IF ("%opcode%" = 85) BEGIN // magic cold
       READ_ASCII ("%fx_off%" +        (("%abil_fx_idx%" + "%index2%") * 0x30)) "clone_fx" (0x30)
       SET "index2"= "%abil_fx_num%"
     END
   END
   FOR (index3 = 0; index3 < 6; index3 = index3 + 1) BEGIN
     INSERT_BYTES            ("%fx_off%" +        ("%abil_fx_idx%" * 0x30)) 0x30             // new effect
       WRITE_EVALUATED_ASCII ("%fx_off%" +        ("%abil_fx_idx%" * 0x30)) "%clone_fx%"     // cloned effect
       WRITE_SHORT           ("%fx_off%" +        ("%abil_fx_idx%" * 0x30)) (27 + "%index3%") // opcode
   END
   WRITE_SHORT ("%fx_off%" +        ("%abil_fx_idx%" * 0x30)) 173 // replaces last opcode in new effect loop to 173 (poison)
   SET "delta" = ("%delta%" + 6)
   WRITE_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) ("%abil_fx_num%" + 6)
 END
 BUT_ONLY_IF_IT_CHANGES

 

How come nothing actually does magic fire damage?

Link to comment
How come nothing actually does magic fire damage?

 

I believe that if the killing blow is done by magic fire/magic cold damage, the game crashes.

Sweet.

 

Confirmed. I wonder if this is because it's supposed to have it's own little post-damage animation which is lacking? (Like char and flames for regular fire damage, electrical arcs for electricity, etc...) I further wonder if this can be "fixed".

Link to comment

About Otilukes Resiliant Sphere:

 

Several of the effects have delay/duration of 42.

Several of the effects have delay/duration of 60.

 

The description states the spell last for 1 turn.

I suspect, in this case, 60 is the answer to everything, not 42.

Link to comment

NOT GOOD ENOUGH.

 

Turns out, the spell is horribly broken. It sets 100% magic resistance early on, which causes every subsequent effect to fail the MR check. Then, it grants immunity to spell level 4, which blocks every subsequent effect. BioWare was aware of this as far as spells went, as they changed alteration/transmutation to abjuration, left out disabling, and left out level 3 (except the spell is level 4; typical).

 

Locally, I now change the magic resistance set to Disable visual effect, change immunity to spell level 4 to level 3, change the duplicate abjuration to Generalist (9), add all the other crap, and add magic resistance as the last effect. I leave in the immunity to spell level 0, but I'm sure this will fuck class abilities (like, don't level up when the sphere is on). I don't add any protection from specific spell for level 4 spells. I don't care.

 

For Yoshimo's trap, it's pretty much the same, except I leave in the level 4 immunity and change the level 0 immunity to level 3 (the trap spell is level 0), and also set the wizard type and secondary type to 0 (WRITE_LONG 0x25 0x0, although I think 0x25 is already 0; this is what it should have been anyway). I also make sure the Set map note effect comes first so it doesn't get blocked by the dumb sphere.

 

At least now, when nobody ever uses the spell, they'll be neglecting a spell that can actually be used...

Link to comment

So, uh... still a pending fix from over a year ago? Is there a problem with the fix?

 

I'm reviving this not because I actually use this spell, but I stumbled across this:

For a good thief, pick up shar-teel. Go to Durlag's tower, cast Outilikes on the demonknight, pound him with fists, kill him, take the helm of opposite alignment and give it to shar-teel. I have an XP cap remover. Once you get Shar teel to level up enough for you, dual her to a thief. Shar-teel will become Lawful Good with the helm, have amazing strength, and be a better thief than imoen in my opinion. On backstabs with a potion of hill giant strength (19). Shar-teel was getting 82 with a +3 scim on non critical hits.
Otiluke's Resilient Sphere being susceptible to unarmed (plain old fist) attacks: does this happen in BG2? It certainly sounds like a bug in BG1 anyway.

 

[And as for Shar-Teel with the helm of opposite alignment, dualed to a lawful good thief, backstabbing with Drizzt's scimitars... eh, nevermind :(.]

Link to comment

Fists are still stunning damage in BG2, it's not resistable directly (and resistance to damage type doesn't stop the Ravager from decaptitating you, and the sphere blocks its own effects by primary and secondary type also...).

 

I just overwrote this one; it's the most poorly implemented spell in the whole game.

Link to comment
I just overwrote this one; it's the most poorly implemented spell in the whole game.
So how did you block fist damage, or did you? Can you upload your version somewhere? Assuming it's too hard to do patching code (I dunno why) or post the details at least.
Link to comment
Fists are still stunning damage in BG2, it's not resistable directly

 

I don't know whether this is directly relevant to the resilient sphere fix, but the Protection from Normal Weapons spell (SPWI511.SPL) prevents regular fists from striking the caster as well (the weapon ineffective sound is played). Thus, adding a few variations of effect #120 would make the character inside the sphere invulnerable to any weapon. :(

 

In Rogue Rebalancing, I do this with a few invisible cutscene/script triggering creatures and I also give them a flat-out immunity to spell levels 1-9. For the exact details, see my custom invulnerability ring (RR#INV.ITM).

Link to comment

Same thing I did :( Stunning resistance just isn't available in the same way crushing resistance is (and 100% damage resistance is precisely the wrong way to implement it anyway).

 

DELETE_BYTES 0x72 (SOURCE_SIZE - 0x72)... is only a patch in the most disingenuous sense of the word.

Link to comment
Same thing I did :(
The Protection from Weapons bit or the "invisible cutscene/script triggering creatures" bit? I have to wonder why the latter would be necessary.
DELETE_BYTES 0x72 (SOURCE_SIZE - 0x72)... is only a patch in the most disingenuous sense of the word.
But why not strip out the effects you don't want and patch in others? Given it's a fixpack and usually installed first, overwriting is ok I guess. The main benefit of patching here is you can read what you're changing in the tp2 rather than .spl files.

 

Anyway, if someone can't upload a version of the spell or post some code, can we at least agree on the statistics this spell should have so we can have some consistency between the BG1 and BG2 Fixpacks? It sounds like you already have a working version, so no sense in trying to reinvent the wheel. Cheers.

Link to comment

Archived

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

×
×
  • Create New...