1. SPS Accounts:
    Do you find yourself coming back time after time? Do you appreciate the ongoing hard work to keep this community focused and successful in its mission? Please consider supporting us by upgrading to an SPS Account. Besides the warm and fuzzy feeling that comes from supporting a good cause, you'll also get a significant number of ever-expanding perks and benefits on the site and the forums. Click here to find out more.
    Dismiss Notice
Dismiss Notice
You are currently viewing Boards o' Magick as a guest, but you can register an account here. Registration is fast, easy and free. Once registered you will have access to search the forums, create and respond to threads, PM other members, upload screenshots and access many other features unavailable to guests.

BoM cultivates a friendly and welcoming atmosphere. We have been aiming for quality over quantity with our forums from their inception, and believe that this distinction is truly tangible and valued by our members. We'd love to have you join us today!

(If you have any problems with the registration process or your account login, please contact us. If you've forgotten your username or password, click here.)

"Bane Is Pleased": Script bug solved

Discussion in 'Icewind Dale 2' started by spmdw45, Jan 2, 2010.

  1. spmdw45 Gems: 8/31
    Latest gem: Skydrop


    Joined:
    Sep 26, 2009
    Messages:
    293
    Likes Received:
    8
    I killed Hierephus twenty or thirty times last night, trying to get the quest bonus to kick in. About 20% of the time I got the bonus for at least one of my two Dreadmasters, and I tried everything I could think of to prevent the bug from kicking in: don't cast disabling spells, turn off autopause, kill him in different places around the room, etc. Eventually I noticed that the more I zeroed in on Hieraphus for testing efficiency sake, the less successful I was at getting the quest bonus: by disabling all the other Neo-Orogs with Greater Command and focusing everything on killing Hieraphus in a matter of seconds, I was getting these really terrible success percentages and NEVER managed to get the bonus for both my Dreadmasters at once.

    So I tried again, and killed everybody else first. When Hieraphus died, I got the "you have killed all the monsters" message and right behind it, "Bane is pleased..." and lo and behold, both my Dreadmasters got the quest reward. I did this twice in a row and it worked both times. I think it's safe to say that whatever causes the script bug is linked to having too many monsters still alive when Hieraphus dies, whereas killing him last will let the script work properly.

    Hope that's useful to someone.

    -Max
     
  2. Sir Rechet

    Sir Rechet I speak maths and logic, not stupid Veteran

    Joined:
    Nov 9, 2003
    Messages:
    1,357
    Likes Received:
    69
    That would actually explain why I don't usually have problems with this bug.

    This fight has somehow become the ultimate act of spite (RP moments for a powergamer? BLASPHEMY!! :evil:) and thus I usually go out of my way to ensure that Mr. H is the last one to go down. It also comes naturally as I interrupt his spells periodically so he just stands in the back looking stupid.
     
  3. spmdw45 Gems: 8/31
    Latest gem: Skydrop


    Joined:
    Sep 26, 2009
    Messages:
    293
    Likes Received:
    8
    RP moments are fine even for powergamers. Powergaming is all about quantitative analysis so that you don't make the game harder on yourself *accidentally*, but there's plenty of room for whimsy (and spite).

    -Max
     
  4. crucis

    crucis Fighting the undead in Selune's name Veteran

    Joined:
    Jan 2, 2006
    Messages:
    977
    Likes Received:
    29
    Hmmm... Interesting. I'm not really fluent enough in the BCS scripting language to see why this bug might be caused, though I can generally read it and understand what each step is doing.

    Max, in the battles when only one of multiple Dreadmasters was getting the WIS bonus, what it the DM that was the lowest in your party roster? (I.e. the "leader" being character#1 and the "highest" in the party roster, and the character closer to the bottom of the screen being "character#6" and the "lowest" in the party roster) What I'm thinking is this...

    It may be possible that what is happening is that you are killing Mr. H while the game just happens to be in the middle of processing one of the PC's lower in your party roster... then it hits the IF/THEN block where is checks to see if ANY members of your party got the reward, at which point it displays the "bane is pleased" message, and sets a certain flag that then prevents ANY member of the party from getting the reward.

    However, my reading of this is contingent on how the "continue" statement in BCS code functions. If the "continue" statement causes the script to jump back to the top, then I don't see how the bug you describe can occur (at least not yet). OTOH, if it simply allows the script to continue flowing downward, then I can easily see how the bug can occur.

    The block where the "Bane is pleased" statement is displayed really NEEDS to not be processed until all 6 (or less in smaller parties, of course) PC's have been checked for the Bane WIS reward.
     
  5. spmdw45 Gems: 8/31
    Latest gem: Skydrop


    Joined:
    Sep 26, 2009
    Messages:
    293
    Likes Received:
    8
    No. Sometimes it was the guy in the #1 slot, sometimes the guy in the #3 slot, although the guy in the #3 slot got it more frequently.

    -Max
     
  6. crucis

    crucis Fighting the undead in Selune's name Veteran

    Joined:
    Jan 2, 2006
    Messages:
    977
    Likes Received:
    29
    Hmmmm.... strange. I don't know what may be causing this bug, Max.
     
  7. coineineagh

    coineineagh I wish for a horde to overrun my enemies Resourceful Adored Veteran

    Joined:
    Jun 6, 2008
    Messages:
    1,637
    Media:
    13
    Likes Received:
    134
    Gender:
    Male
    [​IMG] I always kill Hiephierus last, and my success percentage was 50%. Not great if you have 4 Dreadmaster (mix-ins) to give the bonus to.
     
  8. crucis

    crucis Fighting the undead in Selune's name Veteran

    Joined:
    Jan 2, 2006
    Messages:
    977
    Likes Received:
    29
    I was just reading thru this particular script as well as the one that gives pallies their little stat bonus after the Lost Followers battle, and I noticed a slight difference in how each script applies its stat bumps.


    The Hiepherus area script applies the bonus with the following code block. (This is only for player one. The other 5 player blocks are exact copies, just with player 2,3,4,5, or 6.)

    Code:
    IF
    	Global("Kuldahar_HiepherusKilled","MYAREA",1)
    	Global("Kuldahar_HiepherusPlayer1","MYAREA",0)
    	Kit(Player1,CLERIC_BANE)
    THEN
    	RESPONSE #100
    		SetGlobal("Kuldahar_HiepherusPlayer1","MYAREA",1)
    		ActionOverride(Player1,ChangeStat(Player1,MAXHITPOINTS,5,ADD))
    		[B]ActionOverride(Player1,ChangeStat(Player1,WIS,2,ADD))[/B]
    		Continue()
    END
    Now, here's the similar block for the Lost Followers battle:

    Code:
    IF
    	Global("All_Dead","MYAREA",1)
    	Global("Reward1","MYAREA",0)
    	Class(Player1,PALADIN)
    THEN
    	RESPONSE #100
    		SetGlobal("Reward1","MYAREA",1)
    		ChangeStat(Player1,MAXHITPOINTS,5,ADD)
    		ChangeStat(Player1,STR,1,ADD)
    		[B]ChangeStat(Player1,WIS,1,ADD)[/B]
    END

    The difference that I see is that in the Hieph battle that stat bump is applied with an "ActionOverride" command wrapped around the "ChangeStat" command, whereas in the Lost Follower script, the stat bump just calls the "ChangeStat" command without using the "ActionOverride" command.

    Another interesting difference I see is that the Hieph code block uses a Continue statement, but the LF code block doesn't.

    This seems to be one of those times when it'd be nice to have a reference document for the scripting language that is used here... ;) I mean, it's not exactly clear what the purpose of the Continue command is. I am inferring that it is sort of a "go to" the top of the script and "continue". Otherwise, it seems rather pointless to have a command to just continue processing downward thru the script, particularly when there are other scripts with IF blocks that don't include CONTINUE commands.



    Also, given the initial premise of this thread, it sort of begs the question, at least to me, of whether or not people have seen a similar "bad" behavior when applying the stat bumps after the Lost Followers battle.
     
Sorcerer's Place is a project run entirely by fans and for fans. Maintaining Sorcerer's Place and a stable environment for all our hosted sites requires a substantial amount of our time and funds on a regular basis, so please consider supporting us to keep the site up & running smoothly. Thank you!

Sorcerers.net is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to products on amazon.com, amazon.ca and amazon.co.uk. Amazon and the Amazon logo are trademarks of Amazon.com, Inc. or its affiliates.