Jump to content

boof

Members
  • Posts

    99
  • Joined

  • Last visited

Posts posted by boof

  1. 16 minutes ago, jmerry said:

    Sounds like a Polymorph Other effect, only without the actual shift into a squirrel.

    I might be mistaken, but I think it's because Adalon's drow illusion overrides all other changes in appearance. I remember being confused trying to shapeshift Cernd and he always stayed in drow form visually. So it probably was a polymorph.

  2. This is still a problem.

    I did Sendai, then Balthazar, then Abazigal and now have the exact same issue as OP.

    These are my mods https://pastebin.com/bTA3rZ9Z

    Edit:

    C:CreateCreature("PPGuy01")

    Then clicking on the pocket plane portal worked to get into the grove. Then couldn't access the last fight same as OP.

    C:SetGlobal("DMWWGrove","GLOBAL",2)

    C:SetGlobal("fin_balth_checkpoint_passed","GLOBAL",1)

    Then clicking on the pocket plane portal worked to fix that.

    Still think I'll be removing this mod in the future.

  3. 57 minutes ago, Gordian said:

    According to the wiki Firkraag (at least) has this already, that's why I didn't bother proposing. If that's not true for all dragons, then that might be a good addition. You could also make it set the resistance to a certain amount or maybe there's some middle ground between cumulative and set.

    Now that you mention it I sort of vaguely remember something like that coming up in a combat log, but Firkraag is definitely the only one I've seen it on.

    If such an effect could be built into the breath attack itself, like cumulative -30 resistance with something like a 5-10 round duration, it would actually make the increased breath frequency on the scs difficulty slider a buff it was supposed to be, instead of a nerf (as everyone relevant to the dragon fight is going to be immune to the breath, the dragon taking time to do the breath and doing no damage is time he could've spent swinging at fools and doing damage).

    I know in Yaga-Shura's fortress there's something that cumulatively debuffs your fire resistance, but I never bothered to figure out what it was. I just remember seeing my fire resistance going all over the place from 100+ to as low as -100. So the "tech" is there.

  4. I think giving them an extra action per round of some sort like Kangaxx's trap the soul might spice them up. Maybe something that lowers resistance to their element, as right now it's just a matter of throwing up one spell to be immune to the dragon's strongest weapon. Maybe something with a massive penalty but short duration (like -100 resistance, 2-3 rounds duration) or something small, but aoe and cumulative. 

    Now that I think about it, I'm rarely getting wing buffeted, and that was what tended to make dragon fights chaotic in the past.

    I just did the 4 dragon fight in Abazigal's lair, and that was pretty cool, but I think one person got wing buffeted once during the whole thing, and I can't even remember the last time before that that someone got buffeted. Looking into it, apparently spell shield, amulet of power and abjuration immunity blocks wing buffet, and I have three people running impervious sanctity of mind which is essentially a spell shield, a fourth with the amulet and a fifth often has abjuration immunity. Wing buffet really needs to be ignoring all of these. Would make Anadramatis's amulet that grants wing buffet immunity more meaningful.

  5. Too bad, a decent tactic to eat up at least one round of their casting turns into a cheesy exploit :(

     

    Just did the fight with Anadramatis, and he doesn't cast his wish spell. Not sure if an intended nerf, as from everything I've seen and read spanning years, he's always led with a wish. Really underwhelming fight in general, he barely did anything other than auto attack and breath (kind of my general experience with dragons). After the initial remove magic on him, the fighters could almost afk default attack him to death without any haste, maybe an occasional heal potion used (maxed settings for scs).

    Very weak encounter considering the lizardman insanity of a fight that happens right before it. I understand the concept of pacing for good gameplay, but weird to make a bunch of what's essentially fodder enemies the peak combat encounter, and Draconis and Anadramatis the more laid back, easy fights.

  6. 11 hours ago, Dan_P said:

     

    I don't know what the exact issue is, but I'll just note that the spell state and visuals have nothing to do with the Maze duration. Visual is just visual. The spell state is a scripting thing. Editing just those 2 should have no effect on the Maze itself.

     

    Turns out I made a mistake in editing the one effect that mattered. I had put all three effects at instant/limited and duration 5, but the last one needed to be delay/permanent with duration 4.

    Luckily had a save right next to a bunch of githyanki and tested it out (assuming they use the same skill as the mind flayers, as the combat log also calls it psionic maze). Got mazed, got out, checked character effects in eekeeper and it didn't leave anything permanent. 

    Thanks for the help.

  7. On 1/13/2022 at 7:35 PM, boof said:

    Thanks for the links.

    I changed three of spin774's effects to mirror the regular maze spell's values, though it had five effects compared to regular maze's three, all with this permanent duration. You think I should change all five?

    So it's been a few days since I got mazed by a mind flayer after making these changes but it's just happened.

    The result is... a permanent maze...

    Time to change it back and just manually edit the save file every time I get mazed.

  8. 3 hours ago, jmerry said:

    As for Secret Word working, that hits as a level 5 spell

    Hm ok, that's news to me. Didn't see that documented anywhere.

     

    3 hours ago, TotoR said:

    Some time ago I was looking for the same thing and I found that the trap soul ability is includ in the dw#lich.ssl file that is installed once you choose component 6030 (smarter mages):

    \stratagems\mage\ssl\combatblocks\dw#lich.ssl:
     

      Reveal hidden contents

    //////////////////////////////////////////////////////////////////////////////////////
    ///    demilich soul trap
    ///////////////////////////////////////////////////////////////////////////////////

    INCLUDE FILE(%MOD_FOLDER%/mage/ssl/combatblocks/trap_the_soul.ssl)

    however this file (trap_the_soul.ssl) is empty... so the trap soul ability is not created as it should.

    In v33.7 the file (trap_the_soul.ssl) was:

      Reveal hidden contents

    //////////////////////////////////////////////////////////////////////////
    ////  Trap the Soul
    /////////////////////////////////////////////////////////////////////////

    IF TRIGGER
        IgnoreBlock(SafeImprisonment)
             !GlobalTimerNotExpired("trapsoul","LOCALS")
        TargetBlock(PCsInOrder)
        TargetBlock(Celestials)
        !GlobalTimerNotExpired("DMWWTimestopRunning","GLOBAL")
        !GlobalTimerNotExpired("timestop","LOCALS")
        TriggerBlock(SpellTurn|Enemy|Helpless)
        OR(2)
            GlobalTimerNotExpired("seeabjuration","LOCALS")
            !CheckStat(scstarget,1,WIZARD_SPELL_IMMUNITY)
        OR(2)
            GlobalTimerNotExpired("seeabjuration","LOCALS")
            CheckStatGT(scstarget,0,SAVEVSDEATH)
        OR(2)
            !InPartySlot(scstarget,0) // isn't Player 1
            Global("DMWWImprisonPlayer","GLOBAL",1)
    THEN DO
        Combine()
        SetGlobalTimer("trapsoul","LOCALS",6)
        Action(ReallyForceSpell,DEMILICH_TRAP_SOUL)
    END

    IF TRIGGER
        IgnoreBlock(SafeImprisonment)
             !GlobalTimerNotExpired("trapsoul","LOCALS")
        TargetBlock(PCsInOrder)
        TargetBlock(Celestials)
        !GlobalTimerNotExpired("DMWWTimestopRunning","GLOBAL")
        !GlobalTimerNotExpired("timestop","LOCALS")
        TriggerBlock(SpellTurn|Enemy|Helpless)
        OR(2)
            GlobalTimerNotExpired("seeabjuration","LOCALS")
            !CheckStat(scstarget,1,WIZARD_SPELL_IMMUNITY)
        OR(2)
            !InPartySlot(scstarget,0) // isn't Player 1
            Global("DMWWImprisonPlayer","GLOBAL",1)
    THEN DO
        Combine()
        SetGlobalTimer("trapsoul","LOCALS",6)
        Action(ReallyForceSpell,DEMILICH_TRAP_SOUL)
    END

    IF TRIGGER
        RequireBlock(SafeImprisonment)
             !GlobalTimerNotExpired("trapsoul","LOCALS")
        TargetBlock(PCsInOrder)
        TargetBlock(Celestials)
        !GlobalTimerNotExpired("DMWWTimestopRunning","GLOBAL")
        !GlobalTimerNotExpired("timestop","LOCALS")
        TriggerBlock(SpellTurn|Enemy|Helpless)
        OR(2)
            GlobalTimerNotExpired("seeabjuration","LOCALS")
            !CheckStat(scstarget,1,WIZARD_SPELL_IMMUNITY)
        OR(2)
            GlobalTimerNotExpired("seeabjuration","LOCALS")
            CheckStatGT(scstarget,0,SAVEVSDEATH)
    THEN DO
        Combine()
        SetGlobalTimer("trapsoul","LOCALS",6)
        Action(ReallyForceSpell,DEMILICH_TRAP_SOUL)
    END

    IF TRIGGER
        RequireBlock(SafeImprisonment)
             !GlobalTimerNotExpired("trapsoul","LOCALS")
        TargetBlock(PCsInOrder)
        TargetBlock(Celestials)
        !GlobalTimerNotExpired("DMWWTimestopRunning","GLOBAL")
        !GlobalTimerNotExpired("timestop","LOCALS")
        TriggerBlock(SpellTurn|Enemy|Helpless)
        OR(2)
            GlobalTimerNotExpired("seeabjuration","LOCALS")
            !CheckStat(scstarget,1,WIZARD_SPELL_IMMUNITY)
    THEN DO
        Combine()
        SetGlobalTimer("trapsoul","LOCALS",6)
        Action(ReallyForceSpell,DEMILICH_TRAP_SOUL)
    END

    I thinks it is an overview, so if you choose to reinstall Stratagems you should use the above file "trap_the_soul.ssl" (copy/past).

    As I am at it, There are two other empty file : fleecloud_fm.ssl (marter mage) and gohostile.ssl (smarter priest).

    For fleecloud_fm.ssl it should be  :

      Reveal hidden contents

    DEFAULT TRIGGER( OR(2) ActionListEmpty() !GlobalTimerExpired("castspell","LOCALS"))
    BEGIN LOOP(scscloudmelee|| )
    BEGIN LOOP(scscloudresponse|| RunAwayFrom(LastHeardBy(Myself),30))
    INCLUDE FILE(%MOD_FOLDER%/genai/ssl/fleecloud.ssl)
    END LOOP
    END LOOP

    DEFAULT TRIGGER( OR(2) ActionListEmpty() !GlobalTimerExpired("castspell","LOCALS"))
    BEGIN LOOP(scscloudmelee||See([PC]) )
    BEGIN LOOP(scscloudresponse|| MoveToObject([PC]))
    INCLUDE FILE(%MOD_FOLDER%/genai/ssl/fleecloud.ssl)
    END LOOP
    END LOOP
    DEFAULT TRIGGER()

    For gohostile.ssl it should be:

      Reveal hidden contents

    /// strictly the "go hostile" block, but here we incorporate various
    /// other combat-related things to be done before sighting the foe

    //////////////////////////////////////////////////////////////////
    ///////   Top of chase block
    //////////////////////////////////////////////////////////////////

    INCLUDE FILE(%MOD_FOLDER%/genai/ssl/chase_top.ssl)

    //////////////////////////////////////////////////////////////////
    ///////    Record created-in-sight status
    //////////////////////////////////////////////////////////////////

    IF TRIGGER
        Global("created_out_of_sight","LOCALS",0)
        OR(2)
            !Allegiance(Myself,ENEMY)
            !See(NearestEnemyOf(Myself))
    THEN DO
          Action(Literal)
          SetGlobal("created_out_of_sight","LOCALS",1)
          Continue()
    END

    //////////////////////////////////////////////////////////////////
    ///////    Go hostile
    //////////////////////////////////////////////////////////////////

    IF TRIGGER
        !Allegiance(Myself,ENEMY)
        TriggerBlock(AttackedByPlayer)
        IgnoreBlock(NeverGoHostile)
    THEN DO
          Action(Literal)
          Enemy()
          Continue()
    END

    ///////////////////////////////////////////////////
    ////    If attacked by an unseen foe, mill around
    ////    in confusion. You never know, you might
    ////    bump into them!
    //////////////////////////////////////////////////

    IF TRIGGER
          Allegiance(Myself,ENEMY)
          RequireBlock(EasyPlus)
        OR(12)
          AttackedBy([GOODCUTOFF.0.0.0.0.SUMMONED],DEFAULT)
          AttackedBy([PC],DEFAULT)
          AttackedBy([FAMILIAR],DEFAULT)
          AttackedBy([ALLY],DEFAULT)
          AttackedBy([CONTROLLED],DEFAULT)
          AttackedBy([CHARMED],DEFAULT)
          SpellCastOnMe([GOODCUTOFF.0.0.0.0.SUMMONED],0)
          SpellCastOnMe([PC],0)
          SpellCastOnMe([FAMILIAR],0)
          SpellCastOnMe([ALLY],0)
          SpellCastOnMe([CONTROLLED],0)
          SpellCastOnMe([CHARMED],0)
    !GlobalTimerNotExpired("whatthe","LOCALS")
      !See(NearestEnemyOf(Myself))
    THEN DO
        Action(Literal)
        SetGlobalTimer("whatthe","LOCALS",12)
        SetGlobal("inafight","LOCALS",1)
        Continue()
    END

    IF TRIGGER
      RequireBlock(EasyPlus)
      !See(NearestEnemyOf(Myself))
      !Heard([ANYONE],404)
      GlobalTimerNotExpired("whatthe","LOCALS")
    THEN DO
        Action(Literal)
        RandomWalkContinuous()
    END

    /////////////////////////////////////////////////////////////////
    ///    Handle Cloud Kill spells
    /////////////////////////////////////////////////////////////////

    IF
        Heard([ANYONE],404)
        !General(Myself,UNDEAD)
        !Race(Myself,RAKSHASA)
        !Race(Myself,DEMONIC)
        !See([PC])
        Range(LastHeardBy(Myself),20)
    THEN
        RESPONSE #100
            SetInterrupt(FALSE)
            RunAwayFrom(LastHeardBy(Myself),45)
            SetInterrupt(TRUE)
    END

    /////////////////////////////////////////////////////////////////
    ///    Block to prevent neutrals prebuffing
    /////////////////////////////////////////////////////////////////

    IF    
        !Allegiance(Myself,ENEMY)
        !HasItem("dw#mally",Myself)
        !Global("DMWWNeutralPrebuff","GLOBAL",1)
    THEN
        RESPONSE #100
            NoAction()
    END

     

    Interesting, thanks for that.

    So I'd have to reinstall for this to work? Can't just copy paste into the empty files now?

  9. So just had my first run-in with Kangaxx.

    Readme states he's supposed to be level 35 in demilich form, but he's 30, same as in his regular lich form. On top of that, he never once used trap the soul. Literally sat the whole party around him with no protections console healing them until he ran out of spells, and he didn't use it once. Oh yeah, and low level anti magic spells like secret word work on him even in demilich form.

    Latest bg2ee and scs versions.

    On a related note, can anyone recommend a game and scs version combo that is really solid? Because honestly, I'm finding problems with this one daily and it's starting to drain me.

  10. 16 hours ago, Dan_P said:

    You can use Near Infinity to edit spell effects. Just search the spell file and edit the fields for the effects you want. Even with no knowledge, NI's pretty easy to learn for just editing basic things like items or spells. You can check the IESDP opcodes page if you're confused about any effects.

    I'm not sure it's the visual effect that's causing the issue though. Someone smarter than me would know better. I did take a look at the spell file, spin774.spl, with SCS installed. It's setting the spell state DO_NOT_TARGET_SPELLS as permanent (until death). The script, BEHOLD01.BCS (for beholders obviously), then has lines like this:

    !CheckSpellState(NearestEnemyOf(Myself),DO_NOT_TARGET_SPELLS)

    So spells won't be cast at targets with the spell state DO_NOT_TARGET_SPELLS. Again, I haven't done any testing on this, but maybe try setting the spell state effect to a duration as well.

    Thanks for the links.

    I changed three of spin774's effects to mirror the regular maze spell's values, though it had five effects compared to regular maze's three, all with this permanent duration. You think I should change all five?

  11. 1 hour ago, Dan_P said:

    That's the Maze animation that plays when the character's getting mazed. It's in the unmodded spell, spin774, as well, also as a permanent effect. I haven't looked at it, but something's obviously up with the ai scripts.

     

    EDIT: I should add that I'm looking at the spell in BG2EE v2.6.6. I don't have v2.5 installed anymore so I don't know if the effect was changed from it. I do know that in classic BG2 (with fixpack), the visual effect on this spell has a duration of 5 seconds. If the AI messing up is somehow related to this effect, changing the timing of the effect on the spell to a duration might fix it.

    How would one go about changing this?

  12. I've seen a guy on youtube play with an older version of bg2 and scs where spell shield would block one anti-magic ray, and then be dispelled. Seems like that's how it should work.

    As it is right now, it absorbs infinite amounts of anti-magic rays. You can cast immunities to all that the beholders can do, abjuration immunity and spell shield and there's nothing they can do, other than chomp.

  13. I noticed certain characters were not being targeted by beholders and spellcasters properly.

    I checked them out in eekeeper, and they both had a common effect.

    mcMwzpR.jpg

     

    I've known about Cernd's (though I couldn't remember when exactly he picked it up) for a while and have been playing along seeing how it affects the game. After Jaheira got mazed by a mind flayer, I immediately checked eekeeper (after the battle was done and she was back), and there it was.

    I don't know if this is an SCS issue, but SCS is the only mod I have that changes anything relating to mind flayers, as far as I know anyway.

    Here's my weidu log in any case.

    WeiDU.log

    Here's how it looks in game with the effect active:

    https://streamable.com/ak8b3v

    And here it is with it removed:

    https://streamable.com/85p1wb

     

    So it seems mind flayers (maybe all maze spells?) are leaving some sort of permanent maze flag on characters, that really mess with spellcaster ai.

    ANyone know how/why/how to fix? Other than manually checking eekeeper every time I get mazed.

  14. Entropy Shield states that it should protect against remove magic, but it does not.

    It seems to protect against it in the sense that the enemy will not cast remove magic if you have it on, but if an unprotected party member is around and gets it casted on them, the remove magic will work to remove entropy shield and all other buffs.

    Example:

    https://streamable.com/ese8vp

  15. Not sure if this is a display bug, but with the rebalanced troll regeneration trolls are taking extra damage from more sources than the readme states they would.

    The readme mentions that for technical reasons they would take an extra point of acid and fire damage, but according to the combat log they're taking extra cold and even physical damage. They don't seem to take extra electrical however.

    Only started noticing this upon completing the flail of the ages and every attack started taking up the entire combat window.

    Short demo:

    https://streamable.com/2hyeql

  16. On 12/29/2021 at 5:34 AM, polytope said:

     

    I notice that only single target spells actually cast at a creature are caught in this bug, i.e. in your vid the lich did use Malavon's Rage when a party member was close enough and also triggered a Chain Contingency with Incendiary Cloud at one of them whom he didn't deliberately attack with spells.

    Considering that I'm guessing that the culprit is Stat 500: DO_NOT_TARGET_SPELLS

    Here's the general type of targeting block in question, in stratagems/lib/ssl

    ////////////////////////////////////////////////////////////////////
    ///   Single-target spells
    ////////////////////////////////////////////////////////////////////
    
    BEGIN_ACTION_DEFINITION
    	Name(Spell)
    	TRIGGER
    		!GlobalTimerNotExpired("castspell","LOCALS")
                    HaveSpell(scsargument1)
    		!StateCheck(scstarget,STATE_NOT_TARGETABLE)
    		!CheckStatGT(scstarget,0,SANCTUARY)
    		CheckStatLT(Myself,60,SPELLFAILUREMAGE)
    		!CheckSpellState(scstarget,DO_NOT_TARGET_SPELLS)
    	ACTION
    		RESPONSE #scsprob1
    		SetGlobalTimer("castspell","LOCALS",6)
    		Spell(scstarget,scsargument1)
    END

    That stat seems to be set temporarily by the scroll of Protection from Magic, but perhaps permanently on some of your characters. What other mods do you have installed?

    I put my weidu log in the initial post. It's changed at this point though, as I've scrapped the save game, reinstalled from scratch and started over, taking a few minor mods out, and flipping the install order of tweaks anthology and scs, for whatever that's worth.

    I'm almost at about the same point in the game I was before, and things seem to be working so far. If it breaks again, I don't even know what I would do with the information you've provided as the extent of my knowledge is reading the newbie modding installation guide.

  17. It would seem that mages in my game do not target 4 out 6 of my party members with spells, unless I am in melee range.

    They will trigger their prebuffs, pop their initial triggers or contingencies, and will cast defensive and untargeted spells. Example: One of these "bugged" party members confronts a lich, lich casts timestop, maybe improved alacrity, then proceeds to stare at said party member, doing nothing or doing non-spell attacks with energy blades. I do the same with a non-bugged member, and they get barraged with spells, as they should. I've provided video of this:

    Anomen and Jaheira are 2 of the 4 that are bugged.

    Jan and Cernd are the only 2 that aren't.

    https://streamable.com/8ri2l8

     

    I first noticed this when fighting beholders, and thought the problem was with the beholder component, which I then uninstalled, and it seemed to fix the issue; the beholders once again started using their ranged attacks on everyone instead of never using them vs the bugged party members.

    It seems the problem is with casters in general. I would assume this issue has been present since beginning bg2 as I'm only ~10 hours in, and I just hadn't noticed (played through bg1 first with scs without encountering this issue, or at least not noticing it).

     

    I tried loading the save on an unmodded install, and the lich from the video behaves normally, throwing spells all over the place at everyone.

    Can anyone explain why this could be happening, or if they've encountered something similar in their games? It's the latest 2.6.6.0 version of bg2ee, and latest scs.

    I've attached the weidu log, though there's nothing in there that should be messing with mage AI other than scs.

    Any help would be greatly appreciated, as this issue has taken a pretty steamy dump on my playthrough.

    Log: https://pastebin.com/epbMaSzb

    WeiDU.log

     

     

    Edit: While I'm here I may as well report that the spell "Smashing Wave" is bugged, and 9 out of 10 times doesn't do anything, and when it does it's still not working as it should, and the spell "Thorn Spray" is listed in game as having no saving throw, and on the icewind dale wiki as saving throw halves, but in game a successful saving throw negates all damage.

×
×
  • Create New...