Skip to content

The BG NPC project

1131416181936

Comments

  • ShinShin Member Posts: 2,345
    @cmorgan Yeah, Dorn's other banters work well so far. The culprit dialogue in these files start in SHARTJ.d with:

    IF WEIGHT #14 /* Triggers after states #: 12 17 28 41 53 61 67 68 69 70 71 73 even though they appear after this state */ ~ Global("DORN_SHARTEEL_FIGHT","GLOBAL",1) InParty("DORN") ~ THEN BEGIN 4 // from: SAY #28345 /* ~You! Tall, dark, and moronic! Face me in battle! I've had enough of you!~ */ IF ~~ THEN EXTERN ~DORNJ~ 74 END IF ~~ THEN BEGIN 5 // from: SAY #28346 /* ~A coward AND a man? Come, draw your blade!~ */ IF ~~ THEN EXIT END

    But as stated nothing (no battle, no further conversation) comes of it other than the whole thing repeating when you initiate conversation with Shar-Teel.
  • WabashWabash Member Posts: 21
    Got exactly the same problems with Shar-Teel and Dorn.

    I meet the Lake Poets Society but doesn't get the harp. Dont't know if it's a bug or if you need a bard.

    String for items in french seem to be a random phrase from a dialog
  • WabashWabash Member Posts: 21
    Ok, now i have the Shar-Tell/Dorn problem with Tiax. Each time i speak to Tiax i got his banter with Dorn when he try to stole Dorn's powers. It seems related with new NPC banters and PID.
  • IsayaIsaya Member, Translator (NDA) Posts: 752
    Shin said:

    - Shar-Teel's player-initiated talk only works up to a certain point. She has a banter with Dorn where she challenges him to a duel, but nothing comes of it. From there, whenever you initiate a talk with her she will repeat the banter with Dorn.

    I'm quite sure this is a game bug, not one caused by BG1 NPC.
    DORN.BCS checks for DORN_SHARTEEL_FIGHT being set to 2 to actually make them fight. Unfortunately, this variable is not set to 2 in SHARTJ.DLG after she agrees to the fight (state 5, "draw your blade").
    This part of the file is not changed by BG1 NPC.

    Tentative fix : edit SHARTJ.DLG with Near Infinity and add this in the Action part of state 6 (WeiDU starts couting at 0 while Near Infinity starts at 1)
    SetGlobal("DORN_SHARTEEL_FIGHT","GLOBAL",2)
    Trigger this banter again by force talking to her, as you found out. I thinkthe fight should follow and you shall be able to proceed with other talks with Shar-Teel afterwards.
    Xavioria
  • ShinShin Member Posts: 2,345
    Had my first crash related to letters with diacritics (and my install that removed the component that converted them); Edwin mentions déjà vu in a conversation with Minsc (the tale of Fyrra Vsevolod and his retainers). Of course, easily fixed by changing it to 'deja' instead.
  • ShinShin Member Posts: 2,345
    @Isaya Tested it now, it appears to work on the NPC Project end - it makes Shar-Teel and Dorn fight, and after that it indeed enables the normal NPC project player-initiated conversation with her.

    However, the conclusion of that conversation seems controlled by this passage in DORN.BCS:

    IF Dead("DORN") Global("DORN_SHARTEEL_FIGHT","GLOBAL",2) THEN RESPONSE #100 ApplySpell("DORN",CLERIC_RESURRECTION) SetGlobal("DORN_SHARTEEL_FIGHT","GLOBAL",3) ActionOverride("DORN",ClearActions("DORN")) ActionOverride("SHARTEEL",ClearActions("SHARTEEL")) Wait(1) ActionOverride("SHARTEEL",StartDialogueNoSet(Player1)) END IF Dead("SHARTEEL") Global("DORN_SHARTEEL_FIGHT","GLOBAL",2) THEN RESPONSE #100 ApplySpell("SHARTEEL",CLERIC_RESURRECTION) SetGlobal("DORN_SHARTEEL_FIGHT","GLOBAL",4) ActionOverride("DORN",ClearActions("DORN")) ActionOverride("SHARTEEL",ClearActions("SHARTEEL")) Wait(1) StartDialogueNoSet(Player1) END IF !UnselectableVariable(0) Global("DORN_SHARTEEL_FIGHT","GLOBAL",-1) THEN RESPONSE #100 MakeUnselectable(0) END

    This should supposedly set the global to 3 or 4 depending on who wins and then trigger Shar-Teel's state 6 or Dorn's state 75, but instead whoever wins ends up unselectable, so something isn't working the way it's supposed to. But yeah, this seems to be an EE issue - maybe the setglobal 2 was left out because there wasn't time to get this working well.
  • IsayaIsaya Member, Translator (NDA) Posts: 752
    @Shin There is a similar part just below where you found this that could interrupt the fight when either is below 50% of HP.
    The problem could be because of the way the fight is started (after all the other test involving the variable at 2, so that it doesn't interfere)
    IF Global("DORN_SHARTEEL_FIGHT","GLOBAL",2) THEN RESPONSE #100 ActionOverride("DORN",AttackReevaluate("SHARTEEL",30)) ActionOverride("SHARTEEL",AttackReevaluate("DORN",30)) ActionOverride("DORN",MakeUnselectable(1000)) ActionOverride("SHARTEEL",MakeUnselectable(1000)) END
    According to IESDP, at least in older games, MakeUnselectable() has the following effect: "Creatures made unselectable stop processing scripts".
    Since the "I:Time" parameter to MakeUnselectable() is described inother action as "The time parameter is measured in AI updates, which default to 15 updates per second", that means the characters will not run script for more than a minute in real time. Did you try to wait a bit longer to see if the character finally reacts.
    There may be another problem as the code above could trigger again in the middle of the fight since the variable is changed.

    I agree with you there may be a reason why the developpers left this unfinished.

    To avoid this whole mess, I suggest to set the variable through the console directly to 3 (Shar-Teel wins) or 4 (Dorn wins) as if one of the two had won the fight.
    SetGlobal("DORN_SHARTEEL_FIGHT","GLOBAL",3)

    @Wabash It seems the problem with Tiax is similar and a variable not updated after the banter renders it impossible to have another talk. To move forward type, use the console to change the variable:
    SetGlobal("DORN_TIAX","GLOBAL",3)
  • onanonan Member Posts: 223
    Heh heh. I don't understand a word of this discussion but it sure is beautiful.
    StoneSwordsCrevsDaakbooinyoureyes
  • EudaemoniumEudaemonium Member Posts: 3,199
    I never realised Dorn and Shar were actually meant to fight. I thought it was just a dead-end banter.
    XavioriaVargnattCrevsDaak
  • XavioriaXavioria Member Posts: 874
    @Eudaemonium I did as well, but moreover this isn't part of NPC project, but just a banter from the unmodded EE. Also, The same issue occurs in unmodded EE, so NPC project isn't actually affecting that particular dialogue portion. Granted, if you want to make it work, by all means, but I'm sure that at some point it'll be addressed by beamdog and if mess with any of that portion, couldn't it end in conflict with the change that beamdog initiates?
  • WabashWabash Member Posts: 21
    It worked for Tiax not for Shar-Teel. i got another looping dialog
  • IsayaIsaya Member, Translator (NDA) Posts: 752
    @Wabash Set the variable DORN_SHARTEEL_FIGHT to 5 as the dialog doesn't change the value of the variable so the "I won" talk will come up every time. I didn't pay attention to that but it will indeed prevent access to other talks.

    As only Dorn's script is handling the fight, there might be a huge problem is Shar-Teel wins. I don't see how the scene could complete properly and raise Dorn in that case.
  • WabashWabash Member Posts: 21
    Set the variable to 5 is ok
  • DireSoulDireSoul Member Posts: 1
    Was in the process of installing using the modified t2p by Shin and was stopped with errors once I got to the actual banters part. Was so excited and then dreams dashed, despair and failure. boo hoo. Anyway, I'll put my waiting cap back on and wait to hear news, I know enough about this programming stuff to know that I know nothing about this programming stuff. Keep up the good work guys!!!
  • MorvianMorvian Member Posts: 24
    @DireSoul - If you go up a bit then you'll see that cmorgan is currently making changes in the github and said the mod will not install currently.
  • KrannskiKrannski Member Posts: 2
    You actually can force the version that is currently on Github to install. The problem the installer has is that there are two files missing -- one of them, from what I saw, necessary for a Tutu installation (methinks, at least), and the other one containing a part of the scripts. The first one should be useless, and while I can't tell what the other file contained, judging from the commentary surrounding it, there wasn't anything that was intergral to the banters and interjections themselves. Of course, I could be wrong, as I'm more of a clever ape than an actual coder, and even if I am not, the fact that those files are missing could still cause a Flagrant System Error for you.

    So what I did was simply remove from the .tp2 the lines that referenced those files. After removing the code that Shin suggested, of course. Then it installed flawlessly. I've played the beginning of the game about 10 days in, and from what I have seen no errors have occured. Both the interjections and banters work.

    If you want to do what I did, you need to remove the lines that Shin pointed out earlier, and then remove the lines that come up in the installer. Sorry, but I forgot the file names and I can't find them now in the original :P Instead, have my tp2. It should work for you.

    However, be advised that this is a liberally hacked down version of a beta (hacked down by an ape, no less), so if you want to use it cause you don't feel like waiting, be aware that it is not entirely unlikely to blow up your house. And corrupt your save. Those are scripts you have to remove, and I've come to learn that scripts are pesky little buggers that will ruin your day if you give them half a chance. So I take no responsibility for injuries sustained. I'm only adding it because it seemed to be stable for the few hours that I played, and I know that some people will be anxious to try it regardless of crash probability. Like yours truly.

    Here's the file you need, already with Shin's code trimming applied. You only need to copy the files from github into your game folder, replace the tp2 with mine and run the WeiDU installer. Basically, follow the other steps from the thread, but use the tp2 attached here, since it already has all the operations performed upon it. To reiterate, I don't guarantee that you'll be able to do a full playthrough, in fact I'm half expecting it to break at some point. But that shouldn't stop you from trying. Or maybe it should. You decide.

    Now bear with me, since as I said I'm only an ape, but if the missing scripts cause a crash, then I think you will be able to play until you reach that point, and if you have saves from before reaching the point of crash (or other anomaly), you should be able to later 'upgrade' your mod by installing the missing scripts once they are released. Then it should work fine, because the missing scripts were never encountered so far as the game engine is concerned. At least I think so. If it doesn't crash the game, however, who knows, you might even be able to finish it :p At the very best, it will stop some content from activating, and otherwise leave you in peace.

    Anyways, use at your own risk.
  • IsayaIsaya Member, Translator (NDA) Posts: 752
    @Krannski I would suggest to wait until @cmorgan gives a green light to proceed. If you intend to help debugging the mod, please wait for an "official" approval from cmorgan. Otherwise bug reports will be impossible to figure out if everyone is doing its own changes, sometimes in a bad way, and triggers new bugs not present with the official version. There are enough real issues to identify and fix, I suppose.

    Besides, the changes suggested by @Shin are going to give you crashes at some points. Read Shin's report about how there was a crash because of "déjà vu" text. There will be other cases as well.
    For your information, the changes to the tp2 mentioned by Shin are not required anymore as the current version already includes the proper fix that will avoid crashes because of texts with special characters such as "déjà vu".
    CrevsDaak
  • ShinShin Member Posts: 2,345
    Removing the lines I suggested will indeed cause crashes when the game attempts to display letters with diacritical marks such as à. This is easily remedied by editing dialog.tlk, but I wouldn't recommend it unless you know what you're doing.

    Still, if you're the kind of player who feels you can't really enjoy BG1 (or EE) anymore without the NPC Project, the "beta" is a good chance to get to start your playthrough this side of christmas at your own risk, as long as you don't mind doing some tweaking while you're at it.

    Other findings:

    - Dynaheir's romance starts properly and Minsc's and Imoen's banters related to it also work.

    - Kivan's banters realted to other NPCs and events seem to work properly. His quest-related encounter with Jozzi Seasnake starts properly and mostly works, though the dialogue between Keth'sim Dwin'anea and the sahuagin is slightly bugged - the names of X#SAHA01.CRE and X#SAHA02.CRE are switched out for other dialogue entries ("Knowing that gives me hope that after the recent darkness we have faced, we will soon bask in full moonlight... together." and "It can't be as bad as everyone says. Thanks for the chat, but I'll have to check it out myself.", respectively), so due to name length their dialogue doesn't display properly - still, the dialogue proceeds unhindered.

    Also, I have yet to see Kivan's main talks regarding his Tazok-centered quest start up, will see what happens.

  • CrevsDaakCrevsDaak Member Posts: 7,155
    @Isaya @Shin maybe other type of things like this
    For an "í"

    Vinimos aquí para deciros que
    those are for é, á, ú, ó and í, since I am an spanish speaker I know about that, the line was taken from the dialog.tlk in spanish, it it one of the lines you can reply to Scar at chapter 5.
    For and "ó"

    Maldición
    For an "á"

    ya no deseamos trabajar m√°s para vos.
    For an "é"

    no sé si os puedo volver a cambiar!
    And after ages of searching for it in the dial.tlk, since ú isn't used too much, for "ú"

    muchas cosas √∫ltimamente.
    What means

    á = √°
    é = √©
    í = √≠
    ó = √≥
    ú = √∫
    Sorry but my knowledge if far from "à" and by far this is as much as I can help.
  • IsayaIsaya Member, Translator (NDA) Posts: 752
    @CrevsDaak Contrary to older game BGEE uses UTF8 encoding for characters. For special characters like those you mentioned, UTF8 uses two bytes to encode them. If you look a the dialog.tlk with a text editor, you will notice that special characters are actually taking two characters, one to tell that there is an extra byte (the "square root") and another one.
    However there is no need to bother with how to encode a character in UTF8. Either you set up your editor (for instance notepad++) to use a specific encoding or you use a converter tool to change encoding from the original encoding required for older games. The second solution is currently used in the BG1 NPC github version, provided the tp2 is up to date (it is now). Some other mods include two sets of files to handle the different encodings depending on the game.

    As for BG1 NPC, just ensure that tp2 includes the block given in this message. The file in github already includes this.
    Note: conversion is now also performed for english, so that "déjà vu", "crème" and similar stuff don't crash the game.

    In any case, regarding other stuff that cmorgan is currently updating in the mod, I would suggest to wait until he says it's done. It will avoid some bugs in your game. Maybe it just takes a bit longer than expected. We waited 8 months for a patch, remember. ;-)
    CrevsDaak
  • KrannskiKrannski Member Posts: 2
    I'm fully aware I'm not really fixing anything here, of course. I mostly did it to sate my own curiosity a couple days past, and decided to share it, because I figured someone is going to want to try.

    The reason was that the fix already included on github did not work, for me at least. That's why I started digging. I figured other people were having issues similar to mine, which is why I decided to share this 'workaround' in the first place.

    For reference, using the tp2 from github, the installer says that there is a parsing error of the code, and immediately shuts down. That's why I used the first suggestion in the thread, since that worked for me. However, I just tried the loose tp2 posted by Shin earlier that contained the same code, and it worked. Initially I thought they were the same, so I didn't try it. There appears to be an unterminated comment somewhere in the github one.

    It still has the issue with the missing files, obviously, but that's an aside.
    Shin said:

    Still, if you're the kind of player who feels you can't really enjoy BG1 (or EE) anymore without the NPC Project, the "beta" is a good chance to get to start your playthrough this side of christmas at your own risk, as long as you don't mind doing some tweaking while you're at it.

    This is exactly what I had in mind. I merely shared my way of making it happen.

    In any case, thank you for warning me of the crashes. I used the better code and worked my heathenry on it. Here is the result for anyone interested:
  • CrevsDaakCrevsDaak Member Posts: 7,155
    @Isaya I didn't knew that they've changed it to UTF8, I thought it had the same dialog encoding that BG2, another improvement to add to my favorites list, that's why when I name my character Dárauin the game lets me do so and not like in BG2 where it do not let me do so as naming a PC like that.
    I really have no trouble waiting, and about the patch, I don't regret having the 1.0.2012 in my iPad, it has some bugs I can still exploiting them and that power-gamerish stuff, plus, I have modded it so much that I won't update it.
    Now, the thing is that I don't get what was the trouble.
  • AstroBryGuyAstroBryGuy Member Posts: 3,437
    edited December 2013
    cmorgan said:

    2. we have not been able to set up a good cross-comparison of the old INTERJECT_COPY_TRANSITIVE materials on EasyTutu versus on BG:EE so we are still not sure every I_C_T, I_C_T2, or I_C_T3 is interjecting into the same correct state (it should be, as BG:EE didn't move things around that much, but it isn't tested and frankly we don't want a forum flooded with bug reports that Minsc is saying something odd diring Edwin' joining stuff)

    @cmorgan - I thought if I tracked down the offending dialog files and states, it would be okay to post a bug report. If not, apologies... ;-)

    The dialog FIREBE.d (the book quest) is one file that defintely changed in BGEE. Imoen's interjection (from x#imint.d) fires on FIREBE.d state 1, but that's now state 3 in BGEE. Also, the Viconia/Jaheira/Garrick interjections from x#ict3.d fire on state 2, but that's now state 1 in BGEE.

    This makes Imoen's interjection occur when you give Firebead the book and bugs the quest reward (Imoen takes the Fateful Coin book and Firebead is given the Dead Three book and the scroll case). I couldn't get the V/J/G interjections to even fire.

    I did a basic workaround by detecting bgee. Perhaps there's a more elegant solution that more experienced hands would know.

    [spoiler]
    x#imint.d (start line 59)
    ACTION_IF (GAME_IS ~bgee~) THEN BEGIN I_C_T ~%tutu_var%FIREBE~ 3 X#FirebeardImoen1 == ~%IMOEN_JOINED%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @20 == ~%tutu_var%FIREBE~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @21 == ~%IMOEN_JOINED%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @22 = @23 = @24 END ELSE BEGIN I_C_T ~%tutu_var%FIREBE~ 1 X#FirebeardImoen1 == ~%IMOEN_JOINED%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @20 == ~%tutu_var%FIREBE~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @21 == ~%IMOEN_JOINED%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @22 = @23 = @24 END

    x#ict3.d (start line 1362)
    ACTION_IF (GAME_IS ~bgee~) THEN BEGIN I_C_T3 ~%tutu_var%FIREBE~ 1 X#FIREBE2 == ~%GARRICK_JOINED%~ IF ~InParty("garrick") InMyArea("garrick") !StateCheck("garrick",CD_STATE_NOTVALID)~ THEN @476 == ~%tutu_var%FIREBE~ IF ~InParty("garrick") InMyArea("garrick") !StateCheck("garrick",CD_STATE_NOTVALID)~ THEN @479 == ~%JAHEIRA_JOINED%~ IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID)~ THEN @477 == ~%tutu_var%FIREBE~ IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID)~ THEN @945 == ~%VICONIA_JOINED%~ IF ~InParty("viconia") InMyArea("viconia") !StateCheck("viconia",CD_STATE_NOTVALID)~ THEN @478 == ~%tutu_var%FIREBE~ IF ~InParty("viconia") InMyArea("viconia") !StateCheck("viconia",CD_STATE_NOTVALID)~ THEN @941 END ELSE BEGIN I_C_T3 ~%tutu_var%FIREBE~ 2 X#FIREBE2 == ~%GARRICK_JOINED%~ IF ~InParty("garrick") InMyArea("garrick") !StateCheck("garrick",CD_STATE_NOTVALID)~ THEN @476 == ~%tutu_var%FIREBE~ IF ~InParty("garrick") InMyArea("garrick") !StateCheck("garrick",CD_STATE_NOTVALID)~ THEN @479 == ~%JAHEIRA_JOINED%~ IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID)~ THEN @477 == ~%tutu_var%FIREBE~ IF ~InParty("jaheira") InMyArea("jaheira") !StateCheck("jaheira",CD_STATE_NOTVALID)~ THEN @945 == ~%VICONIA_JOINED%~ IF ~InParty("viconia") InMyArea("viconia") !StateCheck("viconia",CD_STATE_NOTVALID)~ THEN @478 == ~%tutu_var%FIREBE~ IF ~InParty("viconia") InMyArea("viconia") !StateCheck("viconia",CD_STATE_NOTVALID)~ THEN @941 END
    [/spoiler]

  • ShinShin Member Posts: 2,345
    Krannski said:

    Shin said:

    Still, if you're the kind of player who feels you can't really enjoy BG1 (or EE) anymore without the NPC Project, the "beta" is a good chance to get to start your playthrough this side of christmas at your own risk, as long as you don't mind doing some tweaking while you're at it.

    This is exactly what I had in mind. I merely shared my way of making it happen.
    Aye, I'm all for it. When you're waiting for a particular mod that holds your entire playthrough at bay, getting the chance to take a swing at it and make it work is pretty much always better than just sitting around waiting.

    StoneSwords
  • ShinShin Member Posts: 2,345
    Wabash said:

    I meet the Lake Poets Society but doesn't get the harp. Dont't know if it's a bug or if you need a bard.

    Same issue here. The action that is supposed to give you the harp is in X#LAKEP3.DLG and reads as GiveItemCreate("MISC3O",Player1,1,0,0) - but the MISC3O.ITM file doesn't exist.

  • AstroBryGuyAstroBryGuy Member Posts: 3,437
    edited December 2013
    @Shin, @Wabash - MISC3O is a BG2 item. A Tutu or BGT installation would have it already, of course. So, BG1NPC wouldn't have needed to add it.
    Shin
  • ShinShin Member Posts: 2,345
    edited December 2013
    Ran into another issue: the old bug with Tazok being unkillable when you face him at the bandit camp. The way I understand it there are several outcomes of the encounter depending on what you say to him and whether or not you have Kivan in your party.

    One outcome is to fight Tazok to 50% health whereupon he exits combat and decides you're good enough to join. He has, supposedly to avoid him dying accidentally, a minhp1 ring equipped.
    Another outcome is Kivan revealing himself upon selecting the most diplomatic responses, and in this scenario Tazok will fight to the death - iirc he's meant to be scripted to destroy his minhp1 ring when this happens, but does not and ends up conventionally unkillable. Ended up removing the ring altogether.

    Edit: Ah, it would seem the problem is the script reads:
    IF InParty("kivan") Global("X#CanKillTazok","GLOBAL",0) HasItem("minhp1","tazok") // No such index THEN RESPONSE #100 SetGlobal("X#CanKillTazok","GLOBAL",1) ActionOverride("tazok",DestroyItem("minhp1")) // No such index END

    whereas the item is now named MIHP1.ITM and won't be affected.. the n must have been lost in translation.
  • IsayaIsaya Member, Translator (NDA) Posts: 752
    CrevsDaak said:

    Now, the thing is that I don't get what was the trouble.

    BG1 NPC was written for BG II engine and uses CP1252 encoding. This is typically a Windows only thing. BGEE uses UTF8 from day one, probably to obtain compatibility with many platforms. Until patch V1.2, BGEE wouldn't display properly characters with CP1252 encoding and would typically end any text at the first such character. Starting from BGEE V1.2, the game crashed when such a character is found in a text. That's why the BG2EE mod list topic says it's not possible to install mods in any other language that English, considering English usually doesn't use such special characters while other languages do. That's not true with BG1 NPC since there are occasional words from foreign origin such as "déjà vu".


    MINHP1 is a code from BG II. I don't know if Tutu or EasyTutu use it to protect Tazok but I would think so since BG1 NPC was primarily written for Tutu.
    BGT uses TAZOKHP1 for that purpose.
    BGEE uses MIHP1 for Tazok. The effect is similar to TAZOKHP1.
    MINHP1 also exists in BGEE and looks identical to BG II. This item brings far more than the others in terms of immunity.
    It looks like making the mod compatible with the three games is fun. Some people called porting from Tutu to BGT or vice versa crossing the great divide. It looks like supporting BGEE will need another such crossing.


    @Krannski I understand your point. What I mean is that for people who are not knowledgeable enough to fix bugs by themselves, I think it's not a good idea to let people think all you need to install and play the mod is to download a temporary fix that is already known to trigger an issue farther along and might bring incompatibility when the github repository is updated.
    The fix for the tp2 issue reported by @Shin that I posted in this thread was uploaded to github about two days after. Still people reading this thread might think applying the workaround provided by Shin, which will bring problems later in the game, is the way to go.

    After I posted about the Dorn/Shar-Teel problem, I got a request "please give detailed instructions how to edit the file with Near Infinity". I'm certainly not going to do that, it would take far more time that I can spare and that would be better spent trying to help testing the mod, for instance, for everyone's benefit, instead of a single person's.
    I believe people who want to play the mod in the current alpha state have to understand this won't be a walk in the park, even if the problems won't always be as difficult as the impossible Tazok fight.
    CrevsDaak
  • ShinShin Member Posts: 2,345
    Isaya said:



    MINHP1 is a code from BG II. I don't know if Tutu or EasyTutu use it to protect Tazok but I would think so since BG1 NPC was primarily written for Tutu.
    BGT uses TAZOKHP1 for that purpose.
    BGEE uses MIHP1 for Tazok. The effect is similar to TAZOKHP1.
    MINHP1 also exists in BGEE and looks identical to BG II. This item brings far more than the others in terms of immunity.

    Yeah, I noticed when I started looking through the items. MINHP1 seems to make someone completely unkillable and immune to almost everything - would be unrealistic overkill for Tazok, but perhaps suitable for Arkanis Gath in BG2. MIHP1 is good, just takes adjusting Tazok's script.

    Kivan reacts properly to Tazok's death anyway, and some of his talks with charname about Shilmista and his history with Tazok have started to fire. The Dynaheir romance is progressing without complications so far, and her journal quest with Drizzt and the friendly gnolls works fine.
  • cmorgancmorgan Member Posts: 707
    edited December 2013
    Sounds like we have some more OUTER_SPRINT work to do...

    %tazokminhp% MINHP1 | TAZOKHP1 | MIHP1

    And extraction of MISC3O.itm to install if platform is BG:EE

    And @AstroBryGuy - good code, but you could make it one step easier by turning the problem state into a variable if you want to (it is how we handle BGT, which stacks the BG dialog on top of the BG2 dialog)

    I_C_T ~%tutu_var%FIREBE~ %firebeardstate1% X#FirebeardImoen1 == ~%IMOEN_JOINED%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @20 == ~%tutu_var%FIREBE~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @21 == ~%IMOEN_JOINED%~ IF ~InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_NOTVALID)~ THEN @22 = @23 = @24

    and in K'aeloree's library of BGEE conversion variables, add OUTER_SET firebeardstate1 = 3
    and in the G3_cmp_vars libraries for both Tutu and BGT add OUTER_SET firebeardstate1 = 1

    I will try for some time this next week to identify some more of these by getting a comparison together, but any you run into like that I can get fixed and up on GitHub pretty quickly. I'm very happy for any and all help you folks can give (RL is a litlle busy right now) - multiple eyes on things = better work for the project!
    ShinStoneSwordsEudaemoniumAstroBryGuy
This discussion has been closed.