jastey Posted March 26, 2018 Posted March 26, 2018 For some rare instances, the chapter remains at 19 at the neginning of ToB instead of being incremented to 20. This happened for a continuous game from SoA to ToB with Imoen giving part of her soul. It was noticed because if this happens, mod NPCs trying to initiate a dialogue about ToB happenings trigger their SoA PID instead, leading to a stutter (it was Ajantis BGII in this case). I have a safe which confirms the chapter is at 19, although reproducing it is difficult and I did not succeed in doing so. The stutter did not occur (and hence, I assume the chapter numbering was alright) in case that Sarevok was told to wait and was given a piece of soul later, and/or if the game was saved in ToB and loaded again. I didn't succeed in seeing how the chapter is set to 20 at the beginning of ToB, does anyone know how it is done? Quote
Roxanne Posted March 26, 2018 Posted March 26, 2018 (edited) The chapter is set in EET when you enter Ar4000 (the Ancient Grove) with the stone heads. It is in the area script in a code block that has OnCreation(). IF OnCreation() Global("TurnDay","AR4000",0) blabla SetGlobal("Chapter","GLOBAL",20) This is probably something that might break if some mod adds code on TOP of ar4000.bcs and blocks it. OnCreation() never was a good trigger and in EET it is even worse. The best way (and without losing anything, I think) would be to simply remove IF OnCreation() Global("TurnDay","AR4000",0) THEN all the blabla SetGlobal("TurnDay","AR4000",1) SetGlobal("Chapter","GLOBAL",20) further blabla END The question is, how do we do that without k4thos? We can have a simple EXTEND_BOTTOM ar4000.bcs with IF Global("TurnDay","AR4000",0) GlobalLT("Chapter","GLOBAL",20) Global("MoveChapter","ar4000",0) THEN RESPONSE #100 SetGlobal("MoveChapter","ar4000",1) SetGlobal("Chapter","GLOBAL",20) END Question - where to put the fix? PS - If you have a save of the problem, could you just add the above code to the bottom of ar4000.bcs and jump to the area to verify that it indeed fixes the issue? Edited March 26, 2018 by Roxanne Quote
Roxanne Posted March 26, 2018 Posted March 26, 2018 (edited) I currently opened an issue in the EET github repository. Let us see what happens. Longer term, I am considering to turn the BlackPitFix I already contributed to EET into an EET_Fixpack where we could solve things as interim until they are included into EET. Personally I hate this idea after the extremely bad experience made with BWFixpack. But on the other hand, this one would target just one mod and all the entries in the fix can be accompanied by a respective entry in the EET repository. Edited March 26, 2018 by Roxanne Quote
Roxanne Posted March 26, 2018 Posted March 26, 2018 (edited) Just as a side note The chapter change performed in this way is inherited from the base game. EET only applies its own numbering scheme to the chapters. Missing the chapter increment can therefore happen in non-EET as well. Just the consequences may be less visible. SetGlobal("Chapter","GLOBAL",8) in non-EET. The special case in EET is the handling of PIDs, everything lower than chapter 20 is taking the SoA PIDs, thereafter the ToA PIDs since EET uses a single J-dialogue file for NPCs. Edited March 26, 2018 by Roxanne Quote
jastey Posted March 26, 2018 Author Posted March 26, 2018 Very good find find, thank you. I'm not sure where I looked in my search to have overlooked this. My save is in AR4500.are, already. Iit seems I am guilty of blocking the chapter transition with Breagar... will update the mod, soon. This also explains why I couldn't reproduce it, as I tested with Ajantis installed, only. I think an EETFixpack would be appreciated. I am sure k4thos will integrate it as soon as he's back. I'm not playing enough EET myself yet to be in desperate need of one, though - so for me personally waiting longer for k4thos' return is currently an option, too. Quote
Roxanne Posted March 26, 2018 Posted March 26, 2018 Very good find find, thank you. I'm not sure where I looked in my search to have overlooked this. My save is in AR4500.are, already. Iit seems I am guilty of blocking the chapter transition with Breagar... will update the mod, soon. This also explains why I couldn't reproduce it, as I tested with Ajantis installed, only. I think an EETFixpack would be appreciated. I am sure k4thos will integrate it as soon as he's back. I'm not playing enough EET myself yet to be in desperate need of one, though - so for me personally waiting longer for k4thos' return is currently an option, too. Do not blame yourself - and even if you correct it in your mod, the next one may block it again. It is that stupid use of OnCreation() by bean dog that is still in many places. It serves absolutely no purpose since there is a second global in the block that is checked as well. The only thing it does is that it prevents things from happening if there is a previous event triggering. Since mods were added, the use of that trigger should be been forbidden... Quote
jastey Posted March 26, 2018 Author Posted March 26, 2018 I am in desperate need of the correct chapter number for Solaufein, as well, as all his banters distinguish whether they are called in SoA or ToB... I am thinking about adding a chapter check and SetGlobal("chapter","GLOBAL",%bg2_chapter_8%) into my mod(s) in AR4500.bcs... Quote
Roxanne Posted March 26, 2018 Posted March 26, 2018 I am in desperate need of the correct chapter number for Solaufein, as well, as all his banters distinguish whether they are called in SoA or ToB... I am thinking about adding a chapter check and SetGlobal("chapter","GLOBAL",%bg2_chapter_8%) into my mod(s) in AR4500.bcs... Be careful - ToB has 3 chapters Chapter 20 Begin of ToB ------> Reaching Amkethran Chapter 21 Reaching Amkethran ------> Entering ToB Final Chapter 22 Final Fight at Throne of Bhaal You visit ar4500 in chapters 20 and 21. Quote
Angel Posted July 7, 2018 Posted July 7, 2018 (edited) Another culprit mod might be Almateria's Restorations. It does an EXTEND_TOP on ar4000.bcs with a block that looks like this: IF OnCreation()THEN RESPONSE #100 SetGlobal("MasteredTheSlayer","GLOBAL",1)END Note the lack of a Continue(). I've had similar problems with wrong ToB chapter numbers in my recent non-EET BG2EE game, and in several BGT games in the past. Edited July 10, 2018 by Angel Quote
jastey Posted July 8, 2018 Author Posted July 8, 2018 Good find! I reported it: http://www.shsforums.net/topic/56026-almaterias-restoration-project/?p=603181 Quote
Jarno Mikkola Posted July 8, 2018 Posted July 8, 2018 IF OnCreation() THEN ... Note the lack of a Continue(). The note is defeated by the OnCreation() ... rather, just the fact that the global is set/changed is the cause, than lack of Continue(). ... As you would newer want to Continue() with setting a global ... but that's a coding thing. Quote
Angel Posted July 10, 2018 Posted July 10, 2018 IF OnCreation() THEN ... Note the lack of a Continue(). The note is defeated by the OnCreation() ... rather, just the fact that the global is set/changed is the cause, than lack of Continue(). ... As you would newer want to Continue() with setting a global ... but that's a coding thing. Yeah, would probably be better to make it EXTEND_BOTTOM and not use the OnCreation() trigger. Quote
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.