Jump to content

EET v13.4 released


Recommended Posts

I don't think this issue should be solved by core EET. As already mentioned, there may be mods that require these items to be found within the game. It's true that you'll have two different stacks of identical ammo or potions, but at that point you should be able to acquire gem bags, potion cases or ammo belts to save inventory space.

 

I'd suggest to add such a component to the EET Tweaks instead. Since it's installed very late in the installation chain it can fix even mod-introduced dependencies to the items in question.

Link to comment

Well there's EET_end that goes at the end of the mod order if that's an issue.

But that should be about the NPC scripts/dialog/variables annDDD noting else.

This is clearly a tweak, not a fix or a core component... so the EET Tweaks would be the obvious place to put it.

Link to comment

I have now finished my RC4 EET run, it's been largely bug free and most of the big bugs were fixed in RC5, here are some more minor "bugs" or inconsistencies.

 

I'm not always sure which ones are Beamdog added for 2.0, mod added or EET added though, sorry.

 

They aren't sorted chronogically either.

 

My weidu.log for this run : https://www.dropbox.com/s/nws1avh3o2yx2wd/weidulogs.7z?dl=0

I did most of the content though not all, I did not go through with Fishing For Trouble's quest but it didn't integrate well with the rest of the content. I did not have any mage so none of the mage related stuff got tested.

  • You can use "pocket plane" while in the pocket plane and it makes you unable to use the "put me where I previously was" option to get out of the pocket plane.

https://www.dropbox.com/s/amctnlcvr9ox0h9/000000112-trials%20tob.7z?dl=0

 

1.Get out of the plane by using the normal exit (return me from blabla)

2.load and use pocket plane then try step 1

 

Might be an original bug, still good for a fixpack.

  • The positions on the map do not make sense with the time taken to travel.

https://i.imgur.com/jerVbxw.jpg

https://i.imgur.com/hHHcIXA.jpg

https://i.imgur.com/SusUtse.jpg

Could be more adapted for a tweaks component.

  • Some of Ust Natha transitions do not make sense.

https://i.imgur.com/MP1w2DW.jpg

This is in the base game so it could be fixpack I guess.

  • The chapter number stops appearing in the loading screen after chapter 13.

https://i.imgur.com/byDku2x.jpg

Pretty sure this is base EET bug.

  • I went to finish the Durlag quest during BG2 and there were 2 aec letec at the same time in the fight.

https://www.dropbox.com/s/lo30sz4h4t7izbe/000000093-wtf%202%20aec%27letec.7z?dl=0

I could be wrong, but I remember it being 1 aec letec and an immobile npc changes into a new one whenever Aec'letec dies.

  • There's a missing dialog in Dorn's ToB quest, this doesn't happen on unmodded BG2, it does on unmodded EET.

https://www.dropbox.com/s/4wq16gu1hjfznvd/000000105-dorn%20quest%20bug.7z?dl=0

 

To check the dialogs, load the save, go west through the stairs, a planetar will say something, dorn will answer on EET, he won't on BG2.

Keep going west, another conversation will be started, select the first option. In EET, dorn will ask for a word in private and if you select "sure" the conversation will bug. In BG2 it won't ask for a word in private.

 

I think this is all I have noted though I surely forgot some things,

 

By the way, the stronghold quests are currently stopped by starting ToB, it doesn't make sense to me when you can go back to the stronghold.

Interestingly enough, when I loaded the dorn quest save on unmodded BG2, I had 3 npcs that spawned to ask me to go to their stronghold so I guess it's possible to make them spawn.

 

I'll try to make another EET run with new mods in a short while so if you want some mods tested in EET or some base class/alignement/kit/whatever, feel free to tell me now and i'll try it out later.

EET is awesome though and once again, it was free of any game breaking bugs.

Edited by GrimLefourbe
Link to comment
  • You can use "pocket plane" while in the pocket plane and it makes you unable to use the "put me where I previously was" option to get out of the pocket plane.

https://www.dropbox....als tob.7z?dl=0

 

1.Get out of the plane by using the normal exit (return me from blabla)

2.load and use pocket plane then try step 1

 

Might be an original bug, still good for a fixpack.

 

Seems to be hardcoded stuff that no longer works after cleaning SPIN649 from EXE file (which was needed so that the spell is not automatically removed by engine). Fixed by applying 'Protection from Spell' effect when party is inside AR4500.

 

  • There's a missing dialog in Dorn's ToB quest, this doesn't happen on unmodded BG2, it does on unmodded EET.

https://www.dropbox....est bug.7z?dl=0

 

To check the dialogs, load the save, go west through the stairs, a planetar will say something, dorn will answer on EET, he won't on BG2.

Keep going west, another conversation will be started, select the first option. In EET, dorn will ask for a word in private and if you select "sure" the conversation will bug. In BG2 it won't ask for a word in private.

 

 

It's vanilla BG2:EE bug: http://redmine.beamdog.com/issues/24428

The reason why you didn't get it by loading EET save in vanilla game is due to missing "TOBTEMP.bmp" file, so the vanilla engine thought you were in base game and BALDUR.BCS was in use instead of BALDUR25.BCS as it should in ToB

 

  • I went to finish the Durlag quest during BG2 and there were 2 aec letec at the same time in the fight.

https://www.dropbox....c'letec.7z?dl=0

I could be wrong, but I remember it being 1 aec letec and an immobile npc changes into a new one whenever Aec'letec dies.

 

 

One of priests turned into Aec'letec at the beginning of the battle because you have already killed a creature with "TANAR" DV somewhere down the line (all Tanar'ri seems to have this exact same DV in BG2). Will be fixed in next version by using

SetGlobal("SPRITE_IS_DEADTANAR","GLOBAL",0)

in the code that spawns Aec'letec, so it won't matter if you killed more creatures of his type before. Alternatively I could change his DV but than we would risk compatibility issues with mods like SCS so I think it's not worth it. Anyway hilarious bug: 1 is not really a problem but 2 of them managed to annihilate your whole bg2 party when I was testing it :p

 

  • The chapter number stops appearing in the loading screen after chapter 13.

https://i.imgur.com/byDku2x.jpg

Pretty sure this is base EET bug.

 

 

I will take a look. Hopefully it's not hardcoded.

 

  • Some of Ust Natha transitions do not make sense.

https://i.imgur.com/MP1w2DW.jpg

This is in the base game so it could be fixpack I guess.

 

hmm, not even BG2 Fixpack fixed those polygons in all these years. Nah, better just report it on Redmine and hope for the best :phttp://redmine.beamdog.com/projects/bgii-ee-bugs/issues?set_filter=1&tracker_id=11

 

By the way, the stronghold quests are currently stopped by starting ToB, it doesn't make sense to me when you can go back to the stronghold.

 

the change to make them still active after going to ToB is ready for next release.

 

----

 

Thanks for all new report, GrimLefourbe. I will add you to credit section of the readme file as beta tester.

Edited by K4thos
Link to comment
Patching EET/temp/array/BGEE.lua: BLACKPIT => BLACKPI_ - mve
Copying and patching 1 file ...
Copying and patching 1 file ...
Creating 1 directory
Problem Unix.Unix_error(1, "mkdir", "D:") on D:: util.ml
Problem Unix.Unix_error(12, "mkdir", "D:/Dokumenty/\"Baldur's Gate - Enhanced Edition Trilogy\"") on D:/Dokumenty/"Baldur's Gate - Enhanced Edition Trilogy": util.ml
Problem Unix.Unix_error(12, "mkdir", "D:/Dokumenty/\"Baldur's Gate - Enhanced Edition Trilogy\"/save") on D:/Dokumenty/"Baldur's Gate - Enhanced Edition Trilogy"/save: util.ml
Copying and patching 1 file ...
ERROR: COPY ~.../Baldur.lua~ ~D:\Dokumenty\"Baldur's Gate - Enhanced Edition Trilogy"/Baldur.lua~ FAILED: cannot open target
Stopping installation because of error.
Stopping installation because of error.

ERROR Installing [Initialise EET (first mod in install order)], rolling back to previous state
Will uninstall 2741 files for [EET/EET.TP2] component 0.
Uninstalled    2741 files for [EET/EET.TP2] component 0.
ERROR: Sys_error("D:\\Dokumenty\\\"Baldur's Gate - Enhanced Edition Trilogy\"/Baldur.lua: Invalid argument")
PLEASE email the file SETUP-EET.DEBUG to K4thos (swit)
Automatically Skipping [Initialise EET (first mod in install order)] because of error.
Using Language [English]
[.\lang\en_us\dialog.tlk] created, 105613 string entries

NOT INSTALLED DUE TO ERRORS Initialise EET (first mod in install order)
The system cannot find the file specified.

it's because this bug: http://forums.pocketplane.net/index.php/topic,29567.msg338013.html#msg338013

 

 

Regarding engine.lua, USER_DIRECTORY doesn't appear to remove the quotes from the extracted path name. Output on my system is:

C:\Users\argent77\Documents\"Baldur's Gate - Enhanced Edition"
How about quick workaround?
Edited by ALIENQuake
Link to comment
How about quick workaround?

 

 

In EET.tp2 change this code:

OUTER_PATCH_SAVE USER_DIRECTORY_EET ~%USER_DIRECTORY%~ BEGIN
    REPLACE_TEXTUALLY ~Baldur's Gate II - Enhanced Edition~ ~Baldur's Gate - Enhanced Edition Trilogy~
END

to this:

OUTER_PATCH_SAVE USER_DIRECTORY_EET ~%USER_DIRECTORY%~ BEGIN
    REPLACE_TEXTUALLY ~"?Baldur's Gate II - Enhanced Edition"?~ ~Baldur's Gate - Enhanced Edition Trilogy~ //for both weidu 239.01 and 239.02
    REPLACE_TEXTUALLY ~"?Baldur's Gate - Enhanced Edition Trilogy"?~ ~Baldur's Gate - Enhanced Edition Trilogy~ //in case you reinstall the mod on 239.02
END

latest weidu beta indeed doesn't work with EET due to this bug although this workaround can be added in next release if weidu won't be fixed until than.

 

--------

 

edit: also in EET/lib/EET_end.tph:

    OUTER_PATCH_SAVE USER_DIRECTORY ~%USER_DIRECTORY%~ BEGIN
        REPLACE_TEXTUALLY ~Baldur's Gate II - Enhanced Edition~ ~Baldur's Gate - Enhanced Edition Trilogy~
    END

to:

    OUTER_PATCH_SAVE USER_DIRECTORY ~%USER_DIRECTORY%~ BEGIN
        REPLACE_TEXTUALLY ~"?Baldur's Gate II - Enhanced Edition"?~ ~Baldur's Gate - Enhanced Edition Trilogy~
        REPLACE_TEXTUALLY ~"?Baldur's Gate - Enhanced Edition Trilogy"?~ ~Baldur's Gate - Enhanced Edition Trilogy~
    END
Edited by K4thos
Link to comment
By the way, the stronghold quests are currently stopped by starting ToB, it doesn't make sense to me when you can go back to the stronghold.

 

the change to make them still active after going to ToB is ready for next release.

 

on the other hand I may need help with this task. Some BALDUR.BCS code has to be appended also to BALDUR25.BCS in order to make some old quests active after starting ToB. While I know which part of code is responsible for Stronghold stuff there are more side quest related junk in global scripts. Does any of these blacks can be safely removed? (which means block already triggered no matter what like Ust Natha code). Also some advices regarding additional triggers if they're needed would be useful (in which areas/chapters we should disable messengers spawning etc.):

 

 

 

IF
  InPartyAllowDead("Nalia")
  Dead("Nalia")
  Dead("Torgal")
  Global("NaliaTorgalDies","GLOBAL",0)
  Global("NaliaKeepPlot","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("NaliaTorgalDies","GLOBAL",1)
END

IF
  InPartyAllowDead("Nalia")
  Dead("Nalia")
  AreaCheck("AR1300")
  Global("EnteredAR1300","GLOBAL",0)
  Global("NaliaKeepPlot","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("EnteredAR1300","GLOBAL",1)
    SetGlobalTimer("ArrivedNaliaKeep","GLOBAL",ONE_DAY)
END

IF
  InPartyAllowDead("Nalia")
  Dead("Nalia")
  Global("DelciaLeave","GLOBAL",1)
  Global("NaliaKeepPlot","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("DelciaLeave","GLOBAL",2)
END

IF
  InPartyAllowDead("Nalia")
  Dead("Nalia")
  AreaCheck("AR1302")
  CombatCounter(0)
  Global("NaliaInAR1302","AR1302",0)
THEN
  RESPONSE #100
    SetGlobal("NaliaInAR1302","AR1302",1)
END

IF
  InPartyAllowDead("Nalia")
  Dead("Nalia")
  AreaCheck("AR1303")
  Global("NaliaInAR1303","AR1303",0)
THEN
  RESPONSE #100
    SetGlobal("NaliaInAR1303","AR1303",1)
END

IF
  Delay(10)
  Global("FoundMontaronBody","GLOBAL",0)
  PartyHasItem("MISC5U") // Montaron's Body
THEN
  RESPONSE #100
    SetGlobal("FoundMontaronBody","GLOBAL",1)
    AddexperienceParty(20000)
END

IF
  Delay(10)
  Global("HabibAppearance","GLOBAL",0)
  PartyHasItem("SW1H56") // Scimitar
THEN
  RESPONSE #100
    ActionOverride(Player1,DropItem("SW1H56",[-1.-1])) // Scimitar
    ActionOverride(Player2,DropItem("SW1H56",[-1.-1])) // Scimitar
    ActionOverride(Player3,DropItem("SW1H56",[-1.-1])) // Scimitar
    ActionOverride(Player4,DropItem("SW1H56",[-1.-1])) // Scimitar
    ActionOverride(Player5,DropItem("SW1H56",[-1.-1])) // Scimitar
    ActionOverride(Player6,DropItem("SW1H56",[-1.-1])) // Scimitar
    SetGlobal("HabibAppearance","GLOBAL",1)
END

IF
  Delay(10)
  Global("HabibAppearance","GLOBAL",1)
  AreaCheck("AR0408")
  PartyHasItem("MISC07") // Gold
THEN
  RESPONSE #100
    ActionOverride(Player1,DropItem("MISC07",[-1.-1])) // Gold
    ActionOverride(Player2,DropItem("MISC07",[-1.-1])) // Gold
    ActionOverride(Player3,DropItem("MISC07",[-1.-1])) // Gold
    ActionOverride(Player4,DropItem("MISC07",[-1.-1])) // Gold
    ActionOverride(Player5,DropItem("MISC07",[-1.-1])) // Gold
    ActionOverride(Player6,DropItem("MISC07",[-1.-1])) // Gold
    SetGlobal("HabibAppearance","GLOBAL",2)
END

IF
  OR(2)
    Global("PCSphere","GLOBAL",2)
    ReputationLT(Player1,4)
  GlobalLT("BribedCowled","GLOBAL",2)
THEN
  RESPONSE #100
    SetGlobal("BribedCowled","GLOBAL",2)
END

IF
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  AreaType(OUTDOOR)
  !AreaCheck("AR2500")
  !AreaCheck("AR1901")
  Dead("cefald01")
  Class(Player1,DRUID_ALL)
  !Class(Player1,SHAMAN)
  LevelGT(Player1,13)
  Global("DruidADSpawn","GLOBAL",0)
  Global("GreatDruid","GLOBAL",0)
THEN
  RESPONSE #100
    Wait(2)
    SetGlobal("DruidADSpawn","GLOBAL",1)
    CreateCreatureObjectOffScreen("DRUIDAD",Player1,0,0,0) // Druid
END

IF
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  AreaType(OUTDOOR)
  !AreaCheck("AR2500")
  !AreaCheck("AR1901")
  Class(Player1,DRUID_ALL)
  !Class(Player1,SHAMAN)
  LevelGT(Player1,13)
  Global("DruidADSpawn","GLOBAL",1)
  Global("GreatDruid","GLOBAL",0)
  GlobalTimerExpired("DruidADReturn","GLOBAL")
THEN
  RESPONSE #100
    SetGlobal("DruidADSpawn","GLOBAL",2)
    CreateCreatureObjectOffScreen("DRUIDAD",Player1,0,0,0) // Druid
END

IF
  Global("drowTalk","GLOBAL",0)
  Global("slayer1","GLOBAL",0)
  PartyRested()
  GlobalGT("AsylumPlot","GLOBAL",43)
THEN
  RESPONSE #100
    SetGlobal("drowTalk","GLOBAL",2)
    SetGlobal("slayer1","GLOBAL",1)
    SetGlobalTimer("SlayerTimer2","GLOBAL",FIVE_MINUTES)
    ActionOverride(Player1,StartDialog("player1",Player1))
END

IF
  GlobalTimerExpired("SlayerTimer2","GLOBAL")
  Global("goodagain","GLOBAL",0)
THEN
  RESPONSE #100
    ActionOverride(Player1,ReallyForceSpellRES("spin718a",Myself)) // End Slayer Change
    SetGlobal("goodagain","GLOBAL",1)
    SetGlobal("DrowTalk","GLOBAL",4)
    ActionOverride(Player1,StartDialog("player1",Player1))
END

IF
  Global("Slayer10","GLOBAL",1)
THEN
  RESPONSE #100
    ActionOverride(Player1,StartDialog("player1",Player1))
END

IF
  PartyGoldGT(14999)
  Global("BodiAppear","GLOBAL",0)
  GlobalGT("ShadowWork","GLOBAL",0)
  Global("WorkingForAran","GLOBAL",0)
  GlobalTimerExpired("ValenAppearTimer","GLOBAL")
  AreaType(OUTDOOR)
  OR(6)
    AreaCheck("AR0300")
    AreaCheck("AR0400")
    AreaCheck("AR0500")
    AreaCheck("AR0700")
    AreaCheck("AR0900")
    AreaCheck("AR1000")
  CombatCounter(0)
THEN
  RESPONSE #100
    ClearAllActions()
    SetGlobal("BodiAppear","GLOBAL",1)
    SetGlobalTimer("MakeBrusWait","GLOBAL",ONE_MINUTE)
    CreateCreatureObject("ANAST",Player1,0,0,0) // Valen
    ActionOverride("ANAST",StartDialogueNoSet(Player1))
END

IF
  !Exists("BRUS")
  !Exists("BRUS3")
  Global("SpawnBrus","GLOBAL",1)
  Global("CHAPTER","GLOBAL",14)
  !AreaCheck("AR0800")
  !AreaCheck("AR2000")
  CombatCounter(0)
  GlobalTimerExpired("MakeBrusWait","GLOBAL")
  Global("ImTooSexyForThisBrus","GLOBAL",0)
  AreaType(OUTDOOR)
  Global("WorkingForAran","GLOBAL",0)
  Global("WorkingForBodhi","GLOBAL",0)
THEN
  RESPONSE #100
    ClearAllActions()
    CreateCreatureObjectOffScreen("BRUS3",Player1,0,0,0) // Brus
    SetGlobal("SPAWNBRUS","GLOBAL",2)
    ActionOverride("brus3",StartDialogueNoSet(Player1))
END

IF
  GlobalTimerExpired("PGThievesReturn","GLOBAL")
  Global("NotifyThiefHead","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("NotifyThiefHead","GLOBAL",1)
    DisplayStringHead(Player1,62083) // Your thieves have returned from their missions.
END

IF
  GlobalTimerExpired("JosterReturn","GLOBAL")
  Global("JosterLeave","GLOBAL",1)
  !AreaType(BG1AREA)
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
THEN
  RESPONSE #100
    SetGlobal("JosterLeave","GLOBAL",2)
    SetGlobalTimer("JosterReturn","GLOBAL",SIX_DAYS)
    SetGlobalTimer("JosterPaid","GLOBAL",FIVE_DAYS)
    DisplayStringHead(Player1,62081) // The quartermaster awaits you in the guild for Renal's due.
END

IF
  GlobalTimerExpired("JosterPaid","GLOBAL")
  !Global("JosterLeave","GLOBAL",1)
  Global("PGFailed","GLOBAL",0)
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
THEN
  RESPONSE #100
    SetGlobal("PGFailed","GLOBAL",1)
    DisplayStringHead(Player1,62082) // Renal will no longer wait for his due... You have lost your guild.
END

IF
  Global("MinscByeBye","GLOBAL",1)
THEN
  RESPONSE #100
    ActionOverride("Minsc",EscapeArea())
END

IF
  Global("MinscByeBye","GLOBAL",2)
THEN
  RESPONSE #100
    MoveGlobal("AR0400","Minsc",[519.529])
END

IF
  Global("SpawnTanadv","GLOBAL",0)
  Global("TurnCragmoon","GLOBAL",1)
  GlobalTimerExpired("CragmoonAttack","GLOBAL")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  AreaType(CITY)
  !AreaCheck("AR2500")
  !AreaCheck("AR1000")
  !AreaCheck("AR0700")
  !AreaCheck("AR0900")
  AreaType(OUTDOOR)
THEN
  RESPONSE #100
    SetGlobal("SpawnTanadv","GLOBAL",1)
    CreateCreatureObjectOffScreen("TANADV01",Player1,0,0,0) // Strachan Fireblade
    CreateCreatureObjectOffScreen("TANADV02",Player1,0,0,0) // Adventurer
    CreateCreatureObjectOffScreen("TANADV03",Player1,0,0,0) // Adventurer
    CreateCreatureObjectOffScreen("TANADV04",Player1,0,0,0) // Adventurer
    CreateCreatureObjectOffScreen("TANADV05",Player1,0,0,0) // Adventurer
    CreateCreatureObjectOffScreen("TANADV06",Player1,0,0,0) // Dunbar the Fifth
END

IF
  Dead("Jaheira")
  GlobalGT("JaheiraCursed","GLOBAL",0)
  GlobalLT("JaheiraCursed","GLOBAL",8)
  Global("JaheiraCursedDead","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("JaheiraCursedDead","GLOBAL",1)
END

IF
  GlobalGT("JaheiraCursed","GLOBAL",6)
  Global("JaheiraCursedDead","GLOBAL",1)
THEN
  RESPONSE #100
    SetGlobal("JaheiraCursedDead","GLOBAL",0)
    Continue()
END

IF
  GlobalGT("JaheiraCursed","GLOBAL",0)
  GlobalLT("JaheiraCursed","GLOBAL",8)
  Global("JaheiraCursedDead","GLOBAL",1)
  !Dead("Jaheira")
THEN
  RESPONSE #100
    ActionOverride("Jaheira",StartDialogueNoSet([PC]))
END

IF
  GlobalTimerExpired("OgronAssault","GLOBAL")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  AreaType(OUTDOOR)
  Global("DelonSpawn","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("DelonSpawn","GLOBAL",1)
    SetGlobal("OgronAttack","GLOBAL",1)
    CreateCreatureObjectOffScreen("DELON",Player1,0,0,0) // Delon
    ActionOverride("delon",StartDialogueNoSet(Player1))
END

IF
  GlobalTimerExpired("UmarAssault","GLOBAL")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  AreaType(OUTDOOR)
  Global("DelonSpawn","GLOBAL",1)
THEN
  RESPONSE #100
    SetGlobal("DelonSpawn","GLOBAL",2)
    SetGlobal("UmarPlot","GLOBAL",1)
    CreateCreatureObjectOffScreen("DELON",Player1,0,0,0) // Delon
    ActionOverride("delon",StartDialogueNoSet(Player1))
END

IF
  GlobalTimerExpired("MeetHiggin","GLOBAL")
  Global("MeckComesFirst","GLOBAL",0)
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  !AreaCheck("AR2000")
  Global("BardPlot1","GLOBAL",0)
  AreaType(CITY)
  OR(3)
    AreaType(OUTDOOR)
    AreaCheck("AR0522")
    AreaCheck("AR0511")
THEN
  RESPONSE #100
    SetGlobal("MeckComesFirst","GLOBAL",1)
    CreateCreatureObjectOffScreen("bdgoph01",Player1,0,0,0) // Meck
END

IF
  GlobalTimerExpired("MeetHiggin","GLOBAL")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  AreaType(CITY)
  !AreaCheck("AR2000")
  Global("BardPlot1","GLOBAL",3)
  OR(3)
    AreaType(OUTDOOR)
    AreaCheck("AR0522")
    AreaCheck("AR0511")
THEN
  RESPONSE #100
    SetGlobal("BardPlot1","GLOBAL",4)
    SetGlobal("BardPlotOn","GLOBAL",1)
    CreateCreatureObjectOffScreen("bdgoph01",Player1,0,0,0) // Meck
END

IF
  GlobalTimerExpired("MeetHiggin2","GLOBAL")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  AreaType(CITY)
  !AreaCheck("AR2000")
  Global("BardPlot1","GLOBAL",6)
  OR(3)
    AreaType(OUTDOOR)
    AreaCheck("AR0522")
    AreaCheck("AR0511")
THEN
  RESPONSE #100
    SetGlobal("BardPlot1","GLOBAL",7)
    SetGlobal("BardPlotOn","GLOBAL",1)
    CreateCreatureObjectOffScreen("bdgoph01",Player1,0,0,0) // Meck
END

IF
  GlobalTimerExpired("MeetHiggin3","GLOBAL")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  AreaType(CITY)
  !AreaCheck("AR2000")
  Global("BardPlot1","GLOBAL",9)
  OR(3)
    AreaType(OUTDOOR)
    AreaCheck("AR0522")
    AreaCheck("AR0511")
THEN
  RESPONSE #100
    SetGlobal("BardPlot1","GLOBAL",10)
    SetGlobal("BardPlotOn","GLOBAL",1)
    CreateCreatureObjectOffScreen("bdgoph01",Player1,0,0,0) // Meck
END

IF
  GlobalTimerExpired("MeetHiggin4","GLOBAL")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  AreaType(CITY)
  !AreaCheck("AR2000")
  Global("BardPlot1","GLOBAL",12)
  OR(3)
    AreaType(OUTDOOR)
    AreaCheck("AR0522")
    AreaCheck("AR0511")
THEN
  RESPONSE #100
    SetGlobal("BardPlot1","GLOBAL",13)
    SetGlobal("BardPlotOn","GLOBAL",1)
    CreateCreatureObjectOffScreen("bdgoph01",Player1,0,0,0) // Meck
END

IF
  GlobalTimerExpired("MeetHiggin5","GLOBAL")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  AreaType(CITY)
  !AreaCheck("AR2000")
  Global("BardPlot1","GLOBAL",16)
  OR(3)
    AreaType(OUTDOOR)
    AreaCheck("AR0522")
    AreaCheck("AR0511")
THEN
  RESPONSE #100
    SetGlobal("BardPlot1","GLOBAL",17)
    SetGlobal("BardPlotOn","GLOBAL",1)
    CreateCreatureObjectOffScreen("bdgoph01",Player1,0,0,0) // Meck
END

IF
  GlobalTimerExpired("MeetHiggin6","GLOBAL")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  AreaType(CITY)
  !AreaCheck("AR2000")
  Global("BardPlot1","GLOBAL",19)
  OR(2)
    AreaType(OUTDOOR)
    AreaCheck("AR0511")
THEN
  RESPONSE #100
    SetGlobal("BardPlot1","GLOBAL",40)
    SetGlobal("BardPlotOn","GLOBAL",1)
    CreateCreatureObjectOffScreen("bdgoph01",Player1,0,0,0) // Meck
END

IF
  GlobalTimerExpired("MeetHiggin7","GLOBAL")
  Global("BardPlot1","GLOBAL",42)
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  AreaType(CITY)
  !AreaCheck("AR2000")
  OR(3)
    AreaType(OUTDOOR)
    AreaCheck("AR0522")
    AreaCheck("AR0511")
THEN
  RESPONSE #100
    SetGlobal("BardPlot1","GLOBAL",45)
    SetGlobal("BardPlotOn","GLOBAL",1)
    CreateCreatureObjectOffScreen("bdgoph01",Player1,0,0,0) // Meck
END

IF
  GlobalTimerExpired("MeetHiggin8","GLOBAL")
  AreaType(CITY)
  !AreaCheck("AR2000")
  Global("BardPlot1","GLOBAL",50)
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  OR(3)
    AreaType(OUTDOOR)
    AreaCheck("AR0522")
    AreaCheck("AR0511")
THEN
  RESPONSE #100
    SetGlobal("BardPlot1","GLOBAL",51)
    SetGlobal("BardPlotOn","GLOBAL",1)
    CreateCreatureObjectOffScreen("bdgoph01",Player1,0,0,0) // Meck
END

IF
  PartyRested()
  GlobalTimerExpired("JaheiraReturn","GLOBAL")
  Global("JaheiraReturns","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("JaheiraReturns","GLOBAL",1)
    MoveGlobalObject("Jaheira",Player1)
END

IF
  GlobalTimerExpired("BardMoneyTime","GLOBAL")
  GlobalGT("BardMoney","GLOBAL",500)
  Global("BardPlotOn","GLOBAL",5)
THEN
  RESPONSE #100
    SetGlobalTimer("BardMoneyTime","GLOBAL",SEVEN_DAYS)
    DisplayString(Player1,47142) // Gold has been placed in your keep.
    IncrementGlobal("BardMoney","GLOBAL",-100)
    AddGlobals("BardMoneyX","BardMoney")
END

IF
  GlobalTimerExpired("BardMoneyTime","GLOBAL")
  GlobalLT("BardMoney","GLOBAL",501)
  Global("BardPlotOn","GLOBAL",5)
THEN
  RESPONSE #100
    SetGlobalTimer("BardMoneyTime","GLOBAL",SEVEN_DAYS)
    DisplayString(Player1,47142) // Gold has been placed in your keep.
    AddGlobals("BardMoneyX","BardMoney")
END

IF
  GlobalTimerExpired("KPTaxTime","GLOBAL")
  Global("PCKeepOwner","GLOBAL",1)
THEN
  RESPONSE #100
    DisplayString(Player1,47142) // Gold has been placed in your keep.
    SetGlobalTimer("KPTaxTime","GLOBAL",SEVEN_DAYS)
    IncrementGlobal("KPTaxes","GLOBAL",500)
END

IF
  GlobalTimerExpired("KPPlotTime","GLOBAL")
  AreaType(OUTDOOR)
  !AreaCheck("AR2500")
  !AreaCheck("AR2600")
  !AreaCheck("AR2000")
  !AreaCheck("AR1900")
  Global("KeepPlot","GLOBAL",4)
  InParty("Nalia")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  Global("NaliaIsaeaPlotDone","GLOBAL",1)
  Global("KPRunnerSpawn","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("KPRunnerSpawn","GLOBAL",1)
    CreateCreatureObjectOffScreen("KPRUNN01",Player1,0,0,0) // Keep Messenger
END

IF
  GlobalTimerExpired("KPPlotTime","GLOBAL")
  AreaType(OUTDOOR)
  !AreaCheck("AR2500")
  !AreaCheck("AR2600")
  !AreaCheck("AR2000")
  !AreaCheck("AR1900")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  Global("KeepPlot","GLOBAL",4)
  !InParty("Nalia")
  Global("KPRunnerSpawn","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("KPRunnerSpawn","GLOBAL",1)
    CreateCreatureObjectOffScreen("KPRUNN01",Player1,0,0,0) // Keep Messenger
END

IF
  GlobalTimerExpired("KPPlotTime","GLOBAL")
  AreaType(OUTDOOR)
  !AreaCheck("AR2500")
  !AreaCheck("AR2600")
  !AreaCheck("AR2000")
  !AreaCheck("AR1900")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  Global("KeepPlot","GLOBAL",7)
  Global("KPRunnerSpawn","GLOBAL",1)
THEN
  RESPONSE #100
    SetGlobal("KPRunnerSpawn","GLOBAL",2)
    CreateCreatureObjectOffScreen("KPRUNN01",Player1,0,0,0) // Keep Messenger
END

IF
  GlobalTimerExpired("KPPlotTime","GLOBAL")
  AreaType(OUTDOOR)
  !AreaCheck("AR2500")
  !AreaCheck("AR2600")
  !AreaCheck("AR2000")
  !AreaCheck("AR1900")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  Global("KeepPlot","GLOBAL",8)
  Global("KPRunnerSpawn","GLOBAL",2)
THEN
  RESPONSE #100
    SetGlobal("KPRunnerSpawn","GLOBAL",3)
    CreateCreatureObjectOffScreen("KPRUNN01",Player1,0,0,0) // Keep Messenger
END

IF
  GlobalGT("KPRevolt","GLOBAL",9)
  Global("RoenalControl","GLOBAL",0)
  GlobalLT("KeepPlot","GLOBAL",12)
THEN
  RESPONSE #100
    ClearAllActions()
    StartCutSceneMode()
    StartCutScene("Cut32n")
END

IF
  GlobalTimerExpired("TeolMessenger","GLOBAL")
  !Global("Chapter","GLOBAL",16)
  !Global("Chapter","GLOBAL",17)
  !Global("Chapter","GLOBAL",19)
  AreaType(OUTDOOR)
  !AreaCheck("AR2500")
  !AreaCheck("AR2600")
  Global("NatulaSpawn","GLOBAL",0)
THEN
  RESPONSE #100
    SetGlobal("NatulaSpawn","GLOBAL",1)
    CreateCreatureObject("MGASS01",Player1,0,0,0) // Sergeant Natula
    ActionOverride("MGASS01",StartDialogueNoSet(Player1))
END

IF
  Global("geniesgone","GLOBAL",0)
  Dead("trgeni01")
THEN
  RESPONSE #100
    SetGlobal("geniesgone","GLOBAL",1)
END

 

 

 

Thanks in advance.

Edited by K4thos
Link to comment

About additionnal triggers first, the Pocketplane only allows going to Saradush and where you came from during Saradush (beginning of chapter 20 but not all of chapter 20) so the blocks with !chapter 16,17 and 19 (example l 126) need to have Saradush added to them. On a side note, it would make sense story wise to allow the player to leave Saradush and go back to Amn during the Saradush episode since he can use the Pocket plane to do so, there would be no reason not to. It could be explained by CHARNAME not having good control over his powers though so it's up to you.

There are some areas that should be added to these checks but I haven't done all of the ToB personal quests, I did Dorn's recently and it wouldn't make sense for these npcs to arrive in Lunia like they did when I loaded my save in unmodded BG2.

 

I think the Bodhi/Aran blocks can be safely removed (l 176/200).

 

I'm not sure about the rest.

Link to comment

About additionnal triggers first, the Pocketplane only allows going to Saradush and where you came from during Saradush (beginning of chapter 20 but not all of chapter 20) so the blocks with !chapter 16,17 and 19 (example l 126) need to have Saradush added to them. On a side note, it would make sense story wise to allow the player to leave Saradush and go back to Amn during the Saradush episode since he can use the Pocket plane to do so, there would be no reason not to. It could be explained by CHARNAME not having good control over his powers though so it's up to you.

There are some areas that should be added to these checks but I haven't done all of the ToB personal quests, I did Dorn's recently and it wouldn't make sense for these npcs to arrive in Lunia like they did when I loaded my save in unmodded BG2.

 

I think the Bodhi/Aran blocks can be safely removed (l 176/200).

 

I'm not sure about the rest.

Those can surely go:

  • Bodhi/Aran
  • Jaheira
  • Montaron
  • Genies
  • SpawnTanadv
  • Habib

The others depend on how you want the strongholds to work in ToB, e.g do you want to keep the occasional quests active or just have the money coming in? Do you want to return to the playhouse and druids or do you anticipate that you have done the contents during SoA?.

There may also be an issue about doing the Nalia quest as late as ToB (theoratically you could do that, right?) although the original idea of the quest probably was to get money before going to Spellhold?

Edit

I think the others can go as well, the ToB Nalia, Cernd, Haer'Dalis etc to trigger the strongholds will not do that in ToB, i.e. you can only continue the strongholds you had but not get new ones.

Edited by Roxanne
Link to comment

 

About additionnal triggers first, the Pocketplane only allows going to Saradush and where you came from during Saradush (beginning of chapter 20 but not all of chapter 20) so the blocks with !chapter 16,17 and 19 (example l 126) need to have Saradush added to them. On a side note, it would make sense story wise to allow the player to leave Saradush and go back to Amn during the Saradush episode since he can use the Pocket plane to do so, there would be no reason not to. It could be explained by CHARNAME not having good control over his powers though so it's up to you.

There are some areas that should be added to these checks but I haven't done all of the ToB personal quests, I did Dorn's recently and it wouldn't make sense for these npcs to arrive in Lunia like they did when I loaded my save in unmodded BG2.

 

I think the Bodhi/Aran blocks can be safely removed (l 176/200).

 

I'm not sure about the rest.

Those can surely go:

  • Bodhi/Aran
  • Jaheira
  • Montaron
  • Genies
  • SpawnTanadv
  • Habib

The others depend on how you want the strongholds to work in ToB, e.g do you want to keep the occasional quests active or just have the money coming in? Do you want to return to the playhouse and druids or do you anticipate that you have done the contents during SoA?.

There may also be an issue about doing the Nalia quest as late as ToB (theoratically you could do that, right?) although the original idea of the quest probably was to get money before going to Spellhold?

Edit

I think the others can go as well, the ToB Nalia, Cernd, Haer'Dalis etc to trigger the strongholds will not do that in ToB, i.e. you can only continue the strongholds you had but not get new ones.

 

Some comments why each of them should be removed would be very useful considering I'm not that familiar with the content. For example why Genies code should be removed if someone didn't do Trademeet questline? (it's completely optional area in SoA). Montaron's and Xan's side quest isn't necessary to progress through the story, so not sure if it's good idea to not include it in Baldur25.bcs. No idea who is Tanadv and Habib, so can't make a decision without spending tons of time looking at game resources and analysing scripts and dialogues.

 

In other words following format would be preferable if someone already knows context of these events:

- Bodhi/Aran - not needed since these is stuff that triggers only before going to Brynnlaw

- Ust Natha - part of the storyline, you can't go back there after finishing it

etc.

 

edit:

I think the others can go as well, the ToB Nalia, Cernd, Haer'Dalis etc to trigger the strongholds will not do that in ToB, i.e. you can only continue the strongholds you had but not get new ones.

 

but what about situation in which CHARNAME didn't get any stronghold during SoA? Notice that in EET JOIN dialogue files are automatically merged at the end so technically you could still get them during ToB unless there is some code that triggers it via NPC Override script or some filters in vanilla scripts and dialogues that would prevent it from happening later.

Edited by K4thos
Link to comment

it's because this bug: http://forums.pocketplane.net/index.php/topic,29567.msg338013.html#msg338013

 

Regarding engine.lua, USER_DIRECTORY doesn't appear to remove the quotes from the extracted path name. Output on my system is:

 

C:\Users\argent77\Documents\"Baldur's Gate - Enhanced Edition"

How about quick workaround?

 

 

Adding this ALWAYS block should fix the USER_DIRECTORY issue in a more universal way:

ALWAYS
  OUTER_PATCH_SAVE USER_DIRECTORY ~%USER_DIRECTORY%~ BEGIN
    REPLACE_TEXTUALLY ~^\(.+[\/]\)"\(.+\)"$~ ~\1\2~
  END
END
Link to comment
Adding this ALWAYS block should fix the USER_DIRECTORY issue in a more universal way:

 

this won't be universal for EET.tp2 since at that point both weidu 239.01 and 239.02 still recognize the game as BG2:EE. Only after EET.flag is in override weidu will report the game as EET (and only after running the installer again).

Edited by K4thos
Link to comment

 

 

About additionnal triggers first, the Pocketplane only allows going to Saradush and where you came from during Saradush (beginning of chapter 20 but not all of chapter 20) so the blocks with !chapter 16,17 and 19 (example l 126) need to have Saradush added to them. On a side note, it would make sense story wise to allow the player to leave Saradush and go back to Amn during the Saradush episode since he can use the Pocket plane to do so, there would be no reason not to. It could be explained by CHARNAME not having good control over his powers though so it's up to you.

There are some areas that should be added to these checks but I haven't done all of the ToB personal quests, I did Dorn's recently and it wouldn't make sense for these npcs to arrive in Lunia like they did when I loaded my save in unmodded BG2.

 

I think the Bodhi/Aran blocks can be safely removed (l 176/200).

 

I'm not sure about the rest.

Those can surely go:

  • Bodhi/Aran
  • Jaheira
  • Montaron
  • Genies
  • SpawnTanadv
  • Habib

The others depend on how you want the strongholds to work in ToB, e.g do you want to keep the occasional quests active or just have the money coming in? Do you want to return to the playhouse and druids or do you anticipate that you have done the contents during SoA?.

There may also be an issue about doing the Nalia quest as late as ToB (theoratically you could do that, right?) although the original idea of the quest probably was to get money before going to Spellhold?

Edit

I think the others can go as well, the ToB Nalia, Cernd, Haer'Dalis etc to trigger the strongholds will not do that in ToB, i.e. you can only continue the strongholds you had but not get new ones.

 

Some comments why each of them should be removed would be very useful considering I'm not that familiar with the content. For example why Genies code should be removed if someone didn't do Trademeet questline? (it's completely optional area in SoA). Montaron's and Xan's side quest isn't necessary to progress through the story, so not sure if it's good idea to not include it in Baldur25.bcs. No idea who is Tanadv and Habib, so can't make a decision without spending tons of time looking at game resources and analysing scripts and dialogues.

 

In other words following format would be preferable if someone already knows context of these events:

- Bodhi/Aran - not needed since these is stuff that triggers only before going to Brynnlaw

- Ust Natha - part of the storyline, you can't go back there after finishing it

etc.

 

edit:

I think the others can go as well, the ToB Nalia, Cernd, Haer'Dalis etc to trigger the strongholds will not do that in ToB, i.e. you can only continue the strongholds you had but not get new ones.

 

but what about situation in which CHARNAME didn't get any stronghold during SoA? Notice that in EET JOIN dialogue files are automatically merged at the end so technically you could still get them during ToB unless there is some code that triggers it in Override script or some filters in vanilla scripts and dialogues that would prevent it from happening.

 

e.g. you need Cernd to reveal the druid grove...but Cernd destroyself if you did not start the plot before ToB

See Cernd.bcs and initial dialogue

IF

Global("CerndPartyBG2","GLOBAL",0)

InParty(Myself)

THEN

RESPONSE #100

SetGlobal("CerndPartyBG2","GLOBAL",1)

Continue()

END

 

IF

GlobalGT("CHAPTER","GLOBAL",19)

!AreaCheck("AR4000")

THEN

RESPONSE #100

DestroySelf()

END

 

Edited by Roxanne
Link to comment

Roxanne, the quoted code is actually EET addition. First part marks the NPC in a way that the Fate Spirit can recognise NPC presence in party during BG2 at some point and give proper response (mostly useful for characters that are joinable in both BG1 and SoA).

Second block is used to automatically clean out NPCs from area after campaign change if they weren't with you. For example if you leave Cernd somewhere in SoA and than progress to ToB when you go back to that area where you left him he will DestroySelf. But you can still summon him via Fate Spirit (the same creature - DestroySelf doesn't remove them permanently - they can be still spawned via MoveGlobal).

btw. in RC5 that !AreaCheck("AR4000") has been changed to !InPartyAllowDead. The reason why it's there is a delay before AR4000.BCS is able to swap override scripts for NPCs that migrated there with you (without it they would DestroySelf at first script loop). And when the CRE is spawned via Fate Spirit override script is swapped immediately, so the creature is not removed too. There is similar system for BG1 NPCs in place. It didn't work well in RC4 and earlier versions but has been fixed in RC5 (and via those hotfixes you've installed).

Edited by K4thos
Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...