Skip to content

[NPC MOD] Ishlilka the Wizard Slayer for BG1 + SOD [FULL VERSION 1.4]

123578

Comments

  • BrokenkatanaBrokenkatana Member Posts: 47
    Does anyone know if removing her from the party temporarily ends the romance?
  • WarChiefZekeWarChiefZeke Member Posts: 2,651
    You can remove her from the party and it shouldn't affect the romance. Unlike *some* Bioware NPC's, Ishlilka isn't so overbearing she can't handle being left behind for a bit ;)
  • BrokenkatanaBrokenkatana Member Posts: 47
    Thank you and by the way, this is one of the best developed mod characters I've played. Congrats.
  • QuesterQuester Member Posts: 23
    Is this compatible with EET?
  • mikbilekmikbilek Member Posts: 8
    Can't wait for the continuation of her story in BG2/BG2TOB...
  • WarChiefZekeWarChiefZeke Member Posts: 2,651
    Already in development! Still no clear deadline though. Ishlilka's BG1/SOD portion took about 6 months to make, but I was learning everything from scratch at the time. Now that I have the basics more or less down it will be a smoother process.

    Don't think so @Quester, but it's big on my to-do list. I think i'm only a few changes away from EET compatibility as is.
  • HemricHemric Member Posts: 7
    @WarChiefZeke First, thank you for you excellent mod, just completed BG1 with Ishlika (v1.3) in party without issues. Then went directly to SoD campaign, but unfortunately hit a blocker where Ishilka's quest dialog keeps repeating indefinitely. Out of curiosity I looked into code, so I have some findings attached.

    DISCLAIMER: I am no modder, just an ex-programmer who still cannot resist looking into code :)
    Hope these findings are of some use to sorting this out.

    I am pretty sure about the culprit though since commenting out the latter block in spoiler breaks the endless loop and things seem to work until I hit another looping dialog. But since that might be my "correction's" doing :), I will not regard that as a defect yet. I will post details if that problem persists after "official" correction.

    //// This triggers Ishilika's SoD guest and sets IshyTalk=7, IshyQuest=7.
    // From Dialogues/bdishy.d
    095 IF ~Global("IshyTalk","GLOBAL",6)~ sodishquest
    096 SAY ~, while we are heading North, we need to search for another rogue mage who has evaded capture by the Spears.~
    097 ++ ~You said that this person was working for the Crusade, right? We are bound to get close to them regardless.~ DO ~IncrementGlobal("IshyTalk","GLOBAL",1) SetGlobal("IshyQuest","GLOBAL",7) RealSetGlobalTimer("IshyTimer","GLOBAL",5600)~ + sodishquest1
    098 ++ ~Ah, yes. Who are we to slaughter next? I hope this one is more powerful.~ DO ~IncrementGlobal("IshyTalk","GLOBAL",1) SetGlobal("IshyQuest","GLOBAL",7) RealSetGlobalTimer("IshyTimer","GLOBAL",5600)~ + sodishquest2
    099 ++ ~I don't recall promising aid in this matter.~ DO ~IncrementGlobal("IshyTalk","GLOBAL",1) SetGlobal("IshyQuest","GLOBAL",7) RealSetGlobalTimer("IshyTimer","GLOBAL",5600)~ + sodishquest3
    100 IF ~~ THEN EXIT
    101 END

    //// Setting IshyTalk=7 above triggers this block resulting endless looping of IshyTalk 6.
    //// Since Falterion is not yet dead it just keeps hammering between IshyTalk 6 and 7.
    // From Scripts/ishyscrp.baf
    270 IF
    271 Global("endofbg1","GLOBAL",1)
    272 Global("IshyTalk","GLOBAL",7)
    273 !Dead("Falteri")
    274 THEN RESPONSE #100
    275 SetGlobal("IshyTalk","GLOBAL",6)
    276 END
  • WarChiefZekeWarChiefZeke Member Posts: 2,651
    Sounds like a bona fide bug. Life has been keeping me busy lately but i'll look into it and hopefully squash it within the next few days. Thanks for highlighting the problem area since that saves me lots of time.
  • WarChiefZekeWarChiefZeke Member Posts: 2,651
    I believe I solved the issue. Try this out and let me know how that goes, @Hemric.
  • HemricHemric Member Posts: 7
    @WarChiefZeke: Thank you for speedy fix. I tested it and now quest dialogue does not loop anymore, also variables seem to be right (at least to my understanding). But unfortunately I have now hit another infinite dialogue.

    As previously, I have attached some observations here.

    Scripts/ishyscrp.baf: lines 193-211
    //// Everything is fine while IshyTalk=7, but as soon as timer expires and increments IshyTalk to 8, I have another looping dialogue. IF InParty(Myself) RealGlobalTimerExpired("IshyTimer","GLOBAL") See(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) // CamDawg's condition, means that everyone can talk and is not charmed, confused, silenced and so on !StateCheck(Myself,CD_STATE_NOTVALID) CombatCounter(0) // These two lines mean "no battle" !See([ENEMY]) !AreaType(DUNGEON) // No talks in dungeons, right? OR(5) // Be careful here: 15 must mean EXACTLY 15 lines included in the condition. The 16th line will not be included! Global("IshyTalk","GLOBAL",1) Global("IshyTalk","GLOBAL",3) Global("IshyTalk","GLOBAL",5) Global("IshyTalk","GLOBAL",7) Global("IshyTalk","GLOBAL",9) THEN RESPONSE #100 IncrementGlobal("IshyTalk","GLOBAL",1) END

    Dialogues/bdishy.d: lines 157-163
    //// This is IshyTalk 8, but it is not executed because I have not yet killed Falterion. IF ~Global("IshyTalk","GLOBAL",8) Dead("Falteri")~ THEN BEGIN sodthesixthishytalk SAY ~Did I ever get a chance to thank you for your help back there? That mage was powerful. Even with a squad of Fists I doubt I could have taken him.~ ++ ~He said something of "destroying his comrades"? Who was he referring to?~ DO ~IncrementGlobal("IshyTalk","GLOBAL",3) RealSetGlobalTimer("IshyTimer","GLOBAL",5600)~ + sodthesixthishytalk1 ++ ~I barely broke a sweat against such a pitiful caster.~ DO ~IncrementGlobal("IshyTalk","GLOBAL",3) RealSetGlobalTimer("IshyTimer","GLOBAL",5600)~ + sodthesixthishytalk2 ++ ~Bother me no further, i've enemies to crush.~ DO ~IncrementGlobal("IshyTalk","GLOBAL",3) RealSetGlobalTimer("IshyTimer","GLOBAL",5600)~ + sodthesixthishytalk3 END

    Dialogues/bdishy.d: lines 374-398
    //// Instead of IshyTalk 8, PID now appears and keeps repeating endlessly. IF ~True()~ THEN BEGIN TalonDialogue SAY ~Hm? ...Oh, it's you.~ [I!oh] IF ~Global("IshyQuest","GLOBAL",7)~ THEN REPLY ~Can you tell me anything else about Falterion?~ + IshJpid IF ~OR(2) Global("Chapter","GLOBAL",8) Global("Chapter","GLOBAL",9)~ THEN REPLY ~What do you think about Caelar Argent?~ + IshCpid IF ~OR(2) Global("Chapter","GLOBAL",10) Global("Chapter","GLOBAL",11)~ THEN REPLY ~What do you think about Caelar Argent?~ + IshCpid2 IF ~Dead("Falteri") Global("IshyRomanceActive","GLOBAL",2)~ THEN REPLY ~What will you do now?~ + IshJpid2 IF ~Dead("Falteri") !Global("IshyRomanceActive","GLOBAL",2)~ THEN REPLY ~What will you do now?~ + IshJpid3 IF ~Global("Chapter","GLOBAL",7)~ THEN REPLY ~Any thoughts on our current situation?~ + ishchp7pid IF ~RandomNum(5,1)~ THEN REPLY ~Anything on your mind?~ + ishrand1 IF ~RandomNum(5,2) !Global("Chapter","GLOBAL",7)~ THEN REPLY ~Anything on your mind?~ + ishrand2 IF ~RandomNum(5,3)~ THEN REPLY ~Anything on your mind?~ + ishrand3 IF ~RandomNum(5,4)~ THEN REPLY ~Anything on your mind?~ + ishrand4 IF ~RandomNum(5,5)~ THEN REPLY ~Anything on your mind?~ + ishrand5 IF ~RandomNum(4,1) Global("IshyRomanceActive","GLOBAL",2)~ THEN REPLY ~Anything on your mind, my dear?~ + ishrpid1 IF ~RandomNum(4,2) Global("IshyRomanceActive","GLOBAL",2) AreaType(DUNGEON)~ THEN REPLY ~Anything on your mind, my dear?~ + ishrpid2 IF ~RandomNum(4,3) Global("IshyRomanceActive","GLOBAL",2)~ THEN REPLY ~Anything on your mind, my dear?~ + ishrpid3 IF ~RandomNum(4,4) Global("IshyRomanceActive","GLOBAL",2)~ THEN REPLY ~Anything on your mind, my dear?~ + ishrpid4 IF ~!Global("Chapter","GLOBAL",7)~ THEN REPLY ~How do you feel about our allies?~ + ishpapid IF ~Global("Chapter","GLOBAL",8)~ THEN REPLY ~Any thoughts on our current situation?~ + ishchp8pid IF ~Global("Chapter","GLOBAL",9)~ THEN REPLY ~Any thoughts on our current situation?~ + ishchp9pid IF ~Global("Chapter","GLOBAL",10)~ THEN REPLY ~Any thoughts on our current situation?~ + ishchp10pid IF ~Global("Chapter","GLOBAL",11)~ THEN REPLY ~Any thoughts on our current situation?~ + ishchp11pid IF ~Global("Chapter","GLOBAL",12) !Global("IshyRomanceActive","GLOBAL",2)~ THEN REPLY ~Any thoughts on our current situation?~ + ishchp12pid IF ~Global("Chapter","GLOBAL",12) Global("IshyRomanceActive","GLOBAL",2)~ THEN REPLY ~Any thoughts on our current situation?~ + ishchp13pid END

    Scripts/ishyscrp.baf: lines 280-286
    //// IshyTalk is also set to 8 here. Is there a possibility that this would conflict with the previous timer triggered transition? IF Dead("Falteri") THEN RESPONSE #100 SetGlobal("IshyTalk","GLOBAL",8) StartDialogueNoSet(Player1) SetGlobal("IshyQuest","GLOBAL",9) END

    This is (probably) an unrelated error in code. I found it accidentally while browsing the code.
    Scripts/ishyscrp.baf: lines 234-253
    //// There is OR(5) used below, but there are only four conditions to check. //// I fixed this myself, but it did not fix endless looping. I do not know what kind of problems (if any) this causes. //////////////////////////////// /////////bgEE timer //////////// ////////////////////////////////// IF InParty(Myself) See(Player1) !StateCheck(Player1,CD_STATE_NOTVALID) !StateCheck(Myself,CD_STATE_NOTVALID) !AreaType(DUNGEON) CombatCounter(0) !See([ENEMY]) OR(5) // Again, OR(5) means that fifteen lines below are a part of OR() command Global("IshyTalk","GLOBAL",2) Global("IshyTalk","GLOBAL",4) Global("IshyTalk","GLOBAL",6) Global("IshyTalk","GLOBAL",8) THEN RESPONSE #100 StartDialogueNoSet(Player1) END
  • WarChiefZekeWarChiefZeke Member Posts: 2,651
    I haven't gotten many SOD bug reports. It must not be played as much as BG1, which is how I do it as well.

    Thanks again, and ill give this new issue a good fix ASAP.
  • WarChiefZekeWarChiefZeke Member Posts: 2,651
    edited November 2017
    Inexecusably late on this, but all bugs brought to my attention have been fixed. We'll call this 1.4.


    I also feel I should mention the BG2 portion of Ishlilka is pretty far into development at this point. Still hung up on a decision or two, still things to code, still refuse to make a deadline. But progress is being made.

    Edit: Put the download on the front page, where it should be, also gave the code one more look and scrapped one more thing.

    Double Edit: I also released the BG EE only version.
    Post edited by WarChiefZeke on
  • saber0saber0 Member Posts: 84
    ERROR: Failure("resource [BDRASAAB.DLG] not found for 'CHAIN3'")

    where can i find/fix this?
  • WarChiefZekeWarChiefZeke Member Posts: 2,651
    Sounds just like another technical issue someone else had, ill pm you.
  • ThacoBellThacoBell Member Posts: 12,235
    Had an interesting bug on my current playthrough. Accepted Ishlika into my party, but for some reason her starting spear and javelin weren't counted by the game as weapons. THey couldn't be equipped into any slot. Will post WeiDu log.
  • WarChiefZekeWarChiefZeke Member Posts: 2,651
    Odd since nothing at all has been changed there so im expecting some sort of conflict but can't say more atm until im home and can give it a good look.
  • ThacoBellThacoBell Member Posts: 12,235
    Yeah, I've used Ishlika before and never had an issue. It would make the most sense for there to be a conflict.
  • ThacoBellThacoBell Member Posts: 12,235
    @WarChiefZeke Update: It seems to have affected ALL SPEARS, and not just Ishlika's. So the problem probably isn't your mod.
  • ThacoBellThacoBell Member Posts: 12,235
    Found a small bug. During one of Ishlika's early talks where she asks you about Gorion, one of your possible replys is (paraphrased) Gorion was a great sage I wouldn't be the man I am today without him. Even when playing as a female charname you still refer to yourself as "The man I am today".
  • rkocourrkocour Member Posts: 34
    Any idea why the mod was removed?
  • megamike15megamike15 Member Posts: 2,666
    i'm curious as well. it happened out of nowhere
  • ZaghoulZaghoul Member, Moderator Posts: 3,938
    Not exactly nowhere. Luck to ya WarChief, thanks :) Great character Ish is.
  • ThacoBellThacoBell Member Posts: 12,235
    Wait, why was the mod removed?
  • ZaghoulZaghoul Member, Moderator Posts: 3,938
    Looking at the comments history, the replies to said comments, a particular thread, and the removal timeline gives a good indication. Ish is still out there , just not here.
  • megamike15megamike15 Member Posts: 2,666
    thats vague. i hope the mod just got moved to another site and has not just been scrapped due to disagreements in a forum thread.
  • BlackWolfBlackWolf Member Posts: 13
    I'm wondering when bg2 version of ishlika will be realised.
  • RaduzielRaduziel Member Posts: 4,714
    I made a mod that relieves some of the restrictions of the Wizard Slayer. I think that anyone playing with Ishlika might like it.
  • megamike15megamike15 Member Posts: 2,666
    it's nice to hear it was only removed because you are reworking on it not because you were mad at the community and scraped the project. whitch is what i assumed happened.
Sign In or Register to comment.