diff --git a/c#endlessbg1/c#endlessbg1.tp2 b/c#endlessbg1/c#endlessbg1.tp2 index ad8651c..c52a188 100644 --- a/c#endlessbg1/c#endlessbg1.tp2 +++ b/c#endlessbg1/c#endlessbg1.tp2 @@ -8,7 +8,7 @@ BACKUP ~c#endlessbg1/backup~ AUTHOR ~https://www.gibberlings3.net/forums/~ //jastey -VERSION ~16~ +VERSION ~17~ README ~c#endlessbg1/readme.c#endlessbg1.%LANGUAGE%.txt~ ~c#endlessbg1/readme.c#endlessbg1.english.txt~ @@ -55,6 +55,7 @@ ACTION_IF (GAME_IS ~bgee~ AND NOT FILE_EXISTS_IN_GAME ~bd0103.are~) THEN BEGIN OUTER_SET BGTIMOENPState0 = 0 OUTER_SET BGTIMOENPState4 = 4 OUTER_SPRINT ~eet_2~ ~~ + OUTER_SPRINT ~eet_0~ ~~ OUTER_SET eet_200000 = GAME_IS ~eet~ ? 200000 : 0 END @@ -74,6 +75,7 @@ ACTION_IF (GAME_IS ~bgee~ AND FILE_EXISTS_IN_GAME ~bd0103.are~) THEN BEGIN OUTER_SET BGTIMOENPState0 = 0 OUTER_SET BGTIMOENPState4 = 4 OUTER_SPRINT ~eet_2~ ~~ + OUTER_SPRINT ~eet_0~ ~~ OUTER_SET eet_200000 = GAME_IS ~eet~ ? 200000 : 0 END @@ -98,6 +100,7 @@ StartCutSceneEx("c#ebg122",TRUE)~ OUTER_SET BGTIMOENPState0 = 0 OUTER_SET BGTIMOENPState4 = 4 OUTER_SPRINT ~eet_2~ ~2~ + OUTER_SPRINT ~eet_0~ ~0~ OUTER_SET eet_200000 = GAME_IS ~eet~ ? 200000 : 0 END diff --git a/c#endlessbg1/korlasz_dungeon_bg1/korlasz_dungeon_bg1.d b/c#endlessbg1/korlasz_dungeon_bg1/korlasz_dungeon_bg1.d index a001a55..e036f0e 100644 --- a/c#endlessbg1/korlasz_dungeon_bg1/korlasz_dungeon_bg1.d +++ b/c#endlessbg1/korlasz_dungeon_bg1/korlasz_dungeon_bg1.d @@ -58,7 +58,7 @@ InParty("%IMOEN_DV%") InMyArea("%IMOEN_DV%") !StateCheck("%IMOEN_DV%",CD_STATE_N InMyArea("LIIA") !StateCheck("LIIA",CD_STATE_NOTVALID)~ THEN @223 /* ~Here it is, Duke Liia. Look at the size of that pile!~ */ == LIIA IF ~GlobalGT("C#EBG1_BhaalResearchKD","GLOBAL",2) GlobalLT("C#EBG1_BhaalResearchKD","GLOBAL",5) InMyArea("LIIA") !StateCheck("LIIA",CD_STATE_NOTVALID)~ THEN @224 /* ~I thank you for the tomes Imoen gave me. Here, take these for compensation.~ */ DO ~GiveItemCreate("SCRL07",Player1,2,0,0) SetGlobal("C#EBG1_BhaalResearchKD","GLOBAL",6)~ -== LIIA IF ~OR(2) PartyHasItem("BDSHBHR") GlobalGT("C#EBG1_BhaalResearchKD","GLOBAL",1) +== LIIA IF ~PartyHasItem("BDSHBHR") GlobalLT("C#EBG1_BhaalResearchKD","GLOBAL",4) InMyArea("LIIA") !StateCheck("LIIA",CD_STATE_NOTVALID)~ THEN @225 /* ~I am very interested in these old tomes you found in Korlasz' family crypt for my research. Please hand them to me as soon as you can spare them, .~ */ DO ~SetGlobal("C#EBG1_BhaalResearchKD","GLOBAL",5)~ END diff --git a/c#endlessbg1/korlasz_dungeon_bg1/switch_dlgs/switch_npc_to_bg1_cutscene.baf b/c#endlessbg1/korlasz_dungeon_bg1/switch_dlgs/switch_npc_to_bg1_cutscene.baf index fa6b9e0..8e939c8 100644 --- a/c#endlessbg1/korlasz_dungeon_bg1/switch_dlgs/switch_npc_to_bg1_cutscene.baf +++ b/c#endlessbg1/korlasz_dungeon_bg1/switch_dlgs/switch_npc_to_bg1_cutscene.baf @@ -30,7 +30,7 @@ THEN RESPONSE #100 CutSceneId(Player1) ActionOverride("minsc",SetDialog("%MINSC_JOINED%")) - ActionOverride("minsc",ChangeAIScript("5MINSC_BCS%",OVERRIDE)) + ActionOverride("minsc",ChangeAIScript("%MINSC_BCS%",OVERRIDE)) END IF diff --git a/c#endlessbg1/korlasz_dungeon_bg1/switch_dlgs/switch_npc_to_sod.baf b/c#endlessbg1/korlasz_dungeon_bg1/switch_dlgs/switch_npc_to_sod.baf index 03ef328..a564974 100644 --- a/c#endlessbg1/korlasz_dungeon_bg1/switch_dlgs/switch_npc_to_sod.baf +++ b/c#endlessbg1/korlasz_dungeon_bg1/switch_dlgs/switch_npc_to_sod.baf @@ -8,6 +8,7 @@ IF THEN RESPONSE #100 ActionOverride("%IMOEN_DV%",SetDialog("BDIMOEN")) + ActionOverride("%IMOEN_DV%",ChangeAIScript("BDIMOEN",OVERRIDE)) SetGlobal("C#EBG1_imoen_to_sod","MYAREA",2) END @@ -18,6 +19,7 @@ IF THEN RESPONSE #100 ActionOverride("dynaheir",SetDialog("bddynahj")) + ActionOverride("dynaheir",ChangeAIScript("bddynahe",OVERRIDE)) SetGlobal("C#EBG1_dynaheir_to_sod","MYAREA",2) END @@ -28,6 +30,7 @@ IF THEN RESPONSE #100 ActionOverride("minsc",SetDialog("bdminscj")) + ActionOverride("minsc",ChangeAIScript("bdminsc",OVERRIDE)) SetGlobal("C#EBG1_minsc_to_sod","MYAREA",2) END @@ -38,6 +41,7 @@ IF THEN RESPONSE #100 ActionOverride("Rasaad",SetDialog("bdRasaaj")) + ActionOverride("Rasaad",ChangeAIScript("bdrasaad",OVERRIDE)) SetGlobal("C#EBG1_Rasaad_to_sod","MYAREA",2) END @@ -48,6 +52,7 @@ IF THEN RESPONSE #100 ActionOverride("Viconia",SetDialog("bdViconj")) + ActionOverride("Viconia",ChangeAIScript("bdviconi",OVERRIDE)) SetGlobal("C#EBG1_Viconia_to_sod","MYAREA",2) END @@ -58,6 +63,7 @@ IF THEN RESPONSE #100 ActionOverride("Safana",SetDialog("bdSafanj")) + ActionOverride("Safana",ChangeAIScript("bdsafana",OVERRIDE)) SetGlobal("C#EBG1_Safana_to_sod","MYAREA",2) END @@ -68,6 +74,7 @@ IF THEN RESPONSE #100 ActionOverride("Edwin",SetDialog("bdEdwinj")) + ActionOverride("Edwin",ChangeAIScript("bdedwin",OVERRIDE)) SetGlobal("C#EBG1_Edwin_to_sod","MYAREA",2) END @@ -78,6 +85,7 @@ IF THEN RESPONSE #100 ActionOverride("Jaheira",SetDialog("bdJaheij")) + ActionOverride("Jaheira",ChangeAIScript("bdjaheir",OVERRIDE)) SetGlobal("C#EBG1_Jaheira_to_sod","MYAREA",2) END @@ -88,6 +96,7 @@ IF THEN RESPONSE #100 ActionOverride("Khalid",SetDialog("bdKhalij")) + ActionOverride("Khalid",ChangeAIScript("bdkhalid",OVERRIDE)) SetGlobal("C#EBG1_Khalid_to_sod","MYAREA",2) END @@ -98,6 +107,7 @@ IF THEN RESPONSE #100 ActionOverride("Dorn",SetDialog("bdDornj")) + ActionOverride("Dorn",ChangeAIScript("bddorn",OVERRIDE)) SetGlobal("C#EBG1_Dorn_to_sod","MYAREA",2) END @@ -108,6 +118,7 @@ IF THEN RESPONSE #100 ActionOverride("Neera",SetDialog("bdNeeraj")) + ActionOverride("Neera",ChangeAIScript("bdneera",OVERRIDE)) SetGlobal("C#EBG1_Neera_to_sod","MYAREA",2) END @@ -118,6 +129,7 @@ IF THEN RESPONSE #100 ActionOverride("Baeloth",SetDialog("bdBaeloj")) + ActionOverride("Baeloth",ChangeAIScript("bdbaelot",OVERRIDE)) SetGlobal("C#EBG1_Baeloth_to_sod","MYAREA",2) END @@ -128,6 +140,7 @@ IF THEN RESPONSE #100 ActionOverride("Ajantis",SetDialog("bdAjantj")) + ActionOverride("Ajantis",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Ajantis_to_sod","MYAREA",2) END @@ -138,6 +151,7 @@ IF THEN RESPONSE #100 ActionOverride("Alora",SetDialog("bdAloraj")) + ActionOverride("Alora",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Alora_to_sod","MYAREA",2) END @@ -148,6 +162,7 @@ IF THEN RESPONSE #100 ActionOverride("Branwen",SetDialog("bdBranwj")) + ActionOverride("Branwen",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Branwen_to_sod","MYAREA",2) END @@ -158,6 +173,7 @@ IF THEN RESPONSE #100 ActionOverride("Coran",SetDialog("bdCoranj")) + ActionOverride("Coran",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Coran_to_sod","MYAREA",2) END @@ -168,6 +184,7 @@ IF THEN RESPONSE #100 ActionOverride("Eldoth",SetDialog("bdEldotj")) + ActionOverride("Eldoth",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Eldoth_to_sod","MYAREA",2) END @@ -178,6 +195,7 @@ IF THEN RESPONSE #100 ActionOverride("Faldorn",SetDialog("bdFaldoj")) + ActionOverride("Faldorn",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Faldorn_to_sod","MYAREA",2) END @@ -188,6 +206,7 @@ IF THEN RESPONSE #100 ActionOverride("Garrick",SetDialog("bdGarrij")) + ActionOverride("Garrick",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Garrick_to_sod","MYAREA",2) END @@ -198,6 +217,7 @@ IF THEN RESPONSE #100 ActionOverride("Kagain",SetDialog("bdKagaij")) + ActionOverride("Kagain",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Kagain_to_sod","MYAREA",2) END @@ -208,6 +228,7 @@ IF THEN RESPONSE #100 ActionOverride("Kivan",SetDialog("bdKivanj")) + ActionOverride("Kivan",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Kivan_to_sod","MYAREA",2) END @@ -218,6 +239,7 @@ IF THEN RESPONSE #100 ActionOverride("Montaron",SetDialog("bdMontaj")) + ActionOverride("Montaron",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Montaron_to_sod","MYAREA",2) END @@ -228,6 +250,7 @@ IF THEN RESPONSE #100 ActionOverride("Quayle",SetDialog("bdQuaylj")) + ActionOverride("Quayle",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Quayle_to_sod","MYAREA",2) END @@ -240,7 +263,9 @@ IF THEN RESPONSE #100 ActionOverride("Shar-Teel",SetDialog("bdSharTj")) + ActionOverride("Shar-Teel",ChangeAIScript("",OVERRIDE)) ActionOverride("SharTeel",SetDialog("bdSharTj")) + ActionOverride("SharTeel",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_SharTeel_to_sod","MYAREA",2) END @@ -251,6 +276,7 @@ IF THEN RESPONSE #100 ActionOverride("Skie",SetDialog("bdSkiej")) + ActionOverride("Skie",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Skie_to_sod","MYAREA",2) END @@ -261,6 +287,7 @@ IF THEN RESPONSE #100 ActionOverride("Tiax",SetDialog("bdTiaxj")) + ActionOverride("Tiax",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Tiax_to_sod","MYAREA",2) END @@ -271,6 +298,7 @@ IF THEN RESPONSE #100 ActionOverride("Xan",SetDialog("bdXanj")) + ActionOverride("Xan",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Xan_to_sod","MYAREA",2) END @@ -281,6 +309,7 @@ IF THEN RESPONSE #100 ActionOverride("Xzar",SetDialog("bdXzarj")) + ActionOverride("Xzar",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Xzar_to_sod","MYAREA",2) END @@ -291,6 +320,7 @@ IF THEN RESPONSE #100 ActionOverride("Yeslick",SetDialog("bdYeslij")) + ActionOverride("Yeslick",ChangeAIScript("",OVERRIDE)) SetGlobal("C#EBG1_Yeslick_to_sod","MYAREA",2) END diff --git a/c#endlessbg1/maincomponent/erasejournalentries.baf b/c#endlessbg1/maincomponent/erasejournalentries.baf new file mode 100644 index 0000000..5d6c442 --- /dev/null +++ b/c#endlessbg1/maincomponent/erasejournalentries.baf @@ -0,0 +1,12 @@ +IF + GlobalGT("SarevokBehavior","GLOBAL",0) + Global("C#EBG1_EraseJournEntries","MYAREA",0) +THEN + RESPONSE #100 + EraseJournalEntry(%eet_2%27178) //Ivanne + EraseJournalEntry(%eet_2%27177) //Ivanne + EraseJournalEntry(%eet_2%%eet_0%9703) //Sorrel + EraseJournalEntry(%eet_2%%eet_0%9704) //Sorrel + SetGlobal("C#EBG1_EraseJournEntries","MYAREA",1) +END + diff --git a/c#endlessbg1/maincomponent/general.tpa b/c#endlessbg1/maincomponent/general.tpa index 50c8979..4ea3f03 100644 --- a/c#endlessbg1/maincomponent/general.tpa +++ b/c#endlessbg1/maincomponent/general.tpa @@ -309,4 +309,10 @@ EXTEND_BOTTOM ~%EBaldursGate_ThievesGuild%.bcs~ ~.../ar0146_detection_add.baf~ E /* give winski2.cre DV (same as Bg1NPC Project) */ COPY_EXISTING ~winski2.cre~ ~override~ - WRITE_ASCII 0x280 ~winski2~ #32 \ No newline at end of file + WRITE_ASCII 0x280 ~winski2~ #32 + + + +/* erase open journal entries */ + +EXTEND_BOTTOM ~%NBaldursGate_DucalPalace_L1%.bcs~ ~c#endlessbg1/maincomponent/erasejournalentries.baf~ EVALUATE_BUFFER diff --git a/c#endlessbg1/maincomponent/sarevok_cleanup.tpa b/c#endlessbg1/maincomponent/sarevok_cleanup.tpa index 9e46b04..b6d40f2 100644 --- a/c#endlessbg1/maincomponent/sarevok_cleanup.tpa +++ b/c#endlessbg1/maincomponent/sarevok_cleanup.tpa @@ -1,3 +1,17 @@ +/* NBaldursGate: Sorrel */ +<<<<<<<< .../ar0200_add.baf +IF + Exists("SORREL") // Sorrel + InMyArea("SORREL") + GlobalGT("SarevokBehavior","GLOBAL",0) +THEN + RESPONSE #100 + ActionOverride("SORREL",DestroySelf()) +END +>>>>>>>> +EXTEND_BOTTOM ~%NBaldursGate%.bcs~ ~.../ar0200_add.baf~ + + /* NW Baldur's Gate : Sugar */ <<<<<<<< .../ar0100_add.baf IF @@ -269,6 +283,21 @@ END >>>>>>>> EXTEND_BOTTOM ~%CentralBaldursGate%.bcs~ ~.../ar0700_add.baf~ + +/* NBaldursGate_ThreeOldKegs_L1: Delthyr */ +<<<<<<<< .../ar0119_add.baf +IF + Exists("Delthyr") // Delthyr + InMyArea("Delthyr") + GlobalGT("SarevokBehavior","GLOBAL",0) +THEN + RESPONSE #100 + ActionOverride("Delthyr",DestroySelf()) +END +>>>>>>>> +EXTEND_BOTTOM ~%CentralBaldursGate%.bcs~ ~.../ar0119_add.baf~ + + /* E Baldur's Gate : Delthyr, Herschel, Tamoko */ COPY_EXISTING ~%EBaldursGate%.bcs~ ~override~ DECOMPILE_AND_PATCH BEGIN diff --git a/c#endlessbg1/readme.c#endlessbg1.english.txt b/c#endlessbg1/readme.c#endlessbg1.english.txt index d60d590..30e9bd3 100644 --- a/c#endlessbg1/readme.c#endlessbg1.english.txt +++ b/c#endlessbg1/readme.c#endlessbg1.english.txt @@ -215,9 +215,6 @@ If you have installation problems or encounter any bugs, please post your bug re COMPATIBILITY -The Endless BG1 Mod will set the variable "Global("C#EndlessBG1","GLOBAL",1)" in the thieves guild (after the Palace fight) for (NPC) mods to know that the game will remain in BG1 after Sarevok's death. -Also, from v7 it will set "Global("SarevokBehavior","GLOBAL",5)" to 5 after Sarevok is dead. - Components 1-13 of EndlessBG1 mod are fully compatible with Transitions Mod if Endless BG1 is installed first. Note: Transitions Mod overwrites a lot of components of BG1 with own versions of the content, if considering EBG1's content is not explicitely offered as an install choice. Components 14-16 are not considered in Transitions yet (v2.0 and lower). Component 14 is probably incompatible with Transitions. Installing both will probably mess up the game. Also see compatibility notes in the component descriptions. @@ -225,6 +222,57 @@ The bonus quest "Scar's Return" from bg1re is fully playable after Sarevok's dea If Jarl's Adventure Pack v0.8.0 is installed, opening the chests on the 3rd floor of the Palace will be counted as a theft - in this case, the chests cannot be used by the group despite the servants stating otherwise. +Compatibility note for modder: +The Endless BG1 Mod will set the variable "Global("C#EndlessBG1","GLOBAL",1)" in the thieves guild (after the Palace fight) for (NPC) mods to know that the game will remain in BG1 after Sarevok's death. +Also, from v7 it will set "Global("SarevokBehavior","GLOBAL",5)" to 5 after Sarevok is dead. +For mods that integrate BG1NPCs into SoD by letting them continue with their BG1 cre (for example like Ajantis BG1 does), please note that the component "Korlasz' Dungeon in BG1" sets the NPCs dialogue and OVERRIDE script to their original SoD ones like it is done in the original bdintro.bcs. This means that NPCs who do not have an SoD script (i.e. all NPCs that do not reappear in SoD as a compagnion: Ajantis, Alora, Branwen, Coran, Faldorn, Garrick, Kagain, Kivan, Montaron, Quayle, Shar-Teel, Skie, Tiax, Xan, Xzar, Yeslick) do get their OVERRIDE script set to nothing (ChangeAIScript("",OVERRIDE)). If you want the acording NPC to have a script in Korlasz' Dungeon nontheless, you need to patch not only bdintro.bcs but also bd0120.bcs and bd0130.bcs where EndlessBG1 adds the resetting of SoD-dlg and bcs to. As an example, this is what I do in AjantisBG1: + +---------------------------------- +/* Crossmod with EndlessBG1 "Korlasz Tomb in BG1 */ +ACTION_IF (MOD_IS_INSTALLED ~c#endlessbg1.tp2~ ~14~) BEGIN + +/* make sure Ajantis' SoD override script is used in Korlasz' Crypt */ +COPY_EXISTING ~bd0120.bcs~ ~override~ +DECOMPILE_AND_PATCH BEGIN + SPRINT textToReplace ~\(ActionOverride("Ajantis",ChangeAIScript("",OVERRIDE))\)~ + COUNT_REGEXP_INSTANCES ~%textToReplace%~ num_matches + PATCH_IF (num_matches > 0) BEGIN + REPLACE_TEXTUALLY ~%textToReplace%~ ~ActionOverride("Ajantis",ChangeAIScript("BDAJANTI",OVERRIDE))~ + PATCH_PRINT ~Patching: %num_matches% matches found in %SOURCE_FILESPEC% for REPLACE_TEXTUALLY: %textToReplace%~ + END ELSE BEGIN + PATCH_WARN ~WARNING: could not find %textToReplace% in %SOURCE_FILESPEC%~ + END +END +BUT_ONLY_IF_IT_CHANGES +COPY_EXISTING ~bd0130.bcs~ ~override~ +DECOMPILE_AND_PATCH BEGIN + SPRINT textToReplace ~\(ActionOverride("Ajantis",ChangeAIScript("",OVERRIDE))\)~ + COUNT_REGEXP_INSTANCES ~%textToReplace%~ num_matches + PATCH_IF (num_matches > 0) BEGIN + REPLACE_TEXTUALLY ~%textToReplace%~ ~ActionOverride("Ajantis",ChangeAIScript("BDAJANTI",OVERRIDE))~ + PATCH_PRINT ~Patching: %num_matches% matches found in %SOURCE_FILESPEC% for REPLACE_TEXTUALLY: %textToReplace%~ + END ELSE BEGIN + PATCH_WARN ~WARNING: could not find %textToReplace% in %SOURCE_FILESPEC%~ + END +END +BUT_ONLY_IF_IT_CHANGES +/* this might not be needed here since you'll have to patch bdintro.bcs anyway for your NPC mod */ +COPY_EXISTING ~bdintro.bcs~ ~override~ +DECOMPILE_AND_PATCH BEGIN + SPRINT textToReplace ~\(ActionOverride("Ajantis",ChangeAIScript("",OVERRIDE))\)~ + COUNT_REGEXP_INSTANCES ~%textToReplace%~ num_matches + PATCH_IF (num_matches > 0) BEGIN + REPLACE_TEXTUALLY ~%textToReplace%~ ~ActionOverride("Ajantis",ChangeAIScript("BDAJANTI",OVERRIDE))~ + PATCH_PRINT ~Patching: %num_matches% matches found in %SOURCE_FILESPEC% for REPLACE_TEXTUALLY: %textToReplace%~ + END ELSE BEGIN + PATCH_WARN ~WARNING: could not find %textToReplace% in %SOURCE_FILESPEC%~ + END +END +BUT_ONLY_IF_IT_CHANGES + +END //~c#endlessbg1.tp2~ ~14~ +------------------------------------ + CREDITS @@ -264,6 +312,13 @@ Spellhold Studios http://www.shsforums.net/ HISTORY +Version 17: +-Korlasz' Crypt in BG1: NPCs should always use their SoD scripts while inside the crypt. +-Duke Jannath should not ask for the tomes if Imoen already gave them to her. +-More cleanup after Sarevok: Delthyr in ThreeOldKegs, Sorrel in NBaldursGate. +-Journal entries that make no more sense after Sarevok's defeat should be closed or erased (work in progress). +-Added compatibility note to readme for "BG1 NPCs in SoD"-Mods and dlg/bcs handling for "Korlasz' Dungeon in BG1": NPCs get their SoD dialogue and script assigned. If BG1 NPCs do not have an original SoD script they would have to be patched accordingly if a mod requires them to have one. + Version 16: -(BGT) Corrected wrong value for "start_bg1end_sod_cutscene" (by Ychap). -Install order syntax for PI now only considers mods that should be installed earlier. Mods that need to be installed after EndlessBG1 are only listed if their own metadata ini-file doesn't include a check. diff --git a/c#endlessbg1/readme.c#endlessbg1.french.txt b/c#endlessbg1/readme.c#endlessbg1.french.txt index c007e1b..e09146e 100644 --- a/c#endlessbg1/readme.c#endlessbg1.french.txt +++ b/c#endlessbg1/readme.c#endlessbg1.french.txt @@ -213,10 +213,6 @@ Si vous avez des problèmes d'installation ou rencontrez des bugs, veuillez post COMPATIBILITÉ -Le mod Endless BG1 définira la variable "Global("C#EndlessBG1", "GLOBAL",1)" dans la guilde des voleurs (après le combat du Palais) pour que les mods (PNJ) sachent que le jeu restera en BG1 après la mort de Sarevok. -De plus, à partir de la v7, "Global("SarevokBehavior", "GLOBAL",5)" sera réglé sur 5 après la mort de Sarevok. - - Les composants 1 à 13 du mod EndlessBG1 sont entièrement compatible avec le mod Transitions si Endless BG1 est installé en premier. Note : le mod Transitions écrase beaucoup de composants de BG1 avec ses propres versions du contenu, si la prise en compte du contenu d'EBG1 n'est pas explicitement proposée comme choix d'installation. Les composants 14 à 16 ne sont pas reconnus dans le mod Transitions pour le moment (v2.0 et inférieur). Le composant 14 est probablement incompatible avec Transitions. Installer ces deux composants avec le mod Transitions risque de rendre votre jeu instable. Voir les notes de compatibilité dans la description des composants. @@ -224,6 +220,58 @@ La quête "Scar's Return" de BG1RE est entièrement jouable après la mort de Sa Si le Jarl's Adventure pack v0.8.0 est installé, l'ouverture des coffres au 3ème étage du Palais sera considéré comme du vol - dans ce cas, les coffres ne peuvent pas être utilisés par le groupe malgré les serviteurs qui disent le contraire. +Compatibility note for modder: + +Le mod Endless BG1 définira la variable "Global("C#EndlessBG1", "GLOBAL",1)" dans la guilde des voleurs (après le combat du Palais) pour que les mods (PNJ) sachent que le jeu restera en BG1 après la mort de Sarevok. +De plus, à partir de la v7, "Global("SarevokBehavior", "GLOBAL",5)" sera réglé sur 5 après la mort de Sarevok. +For mods that integrate BG1NPCs into SoD by letting them continue with their BG1 cre (for example like Ajantis BG1 does), please note that the component "Korlasz' Dungeon in BG1" sets the NPCs dialogue and OVERRIDE script to their original SoD ones like it is done in the original bdintro.bcs. This means that NPCs who do not have an SoD script (i.e. all NPCs that do not reappear in SoD as a compagnion: Ajantis, Alora, Branwen, Coran, Faldorn, Garrick, Kagain, Kivan, Montaron, Quayle, Shar-Teel, Skie, Tiax, Xan, Xzar, Yeslick) do get their OVERRIDE script set to nothing (ChangeAIScript("",OVERRIDE)). If you want the acording NPC to have a script in Korlasz' Dungeon nontheless, you need to patch not only bdintro.bcs but also bd0120.bcs and bd0130.bcs where EndlessBG1 adds the resetting of SoD-dlg and bcs to. As an example, this is what I do in AjantisBG1: + +---------------------------------- +/* Crossmod with EndlessBG1 "Korlasz Tomb in BG1 */ +ACTION_IF (MOD_IS_INSTALLED ~c#endlessbg1.tp2~ ~14~) BEGIN + +/* make sure Ajantis' SoD override script is used in Korlasz' Crypt */ +COPY_EXISTING ~bd0120.bcs~ ~override~ +DECOMPILE_AND_PATCH BEGIN + SPRINT textToReplace ~\(ActionOverride("Ajantis",ChangeAIScript("",OVERRIDE))\)~ + COUNT_REGEXP_INSTANCES ~%textToReplace%~ num_matches + PATCH_IF (num_matches > 0) BEGIN + REPLACE_TEXTUALLY ~%textToReplace%~ ~ActionOverride("Ajantis",ChangeAIScript("BDAJANTI",OVERRIDE))~ + PATCH_PRINT ~Patching: %num_matches% matches found in %SOURCE_FILESPEC% for REPLACE_TEXTUALLY: %textToReplace%~ + END ELSE BEGIN + PATCH_WARN ~WARNING: could not find %textToReplace% in %SOURCE_FILESPEC%~ + END +END +BUT_ONLY_IF_IT_CHANGES +COPY_EXISTING ~bd0130.bcs~ ~override~ +DECOMPILE_AND_PATCH BEGIN + SPRINT textToReplace ~\(ActionOverride("Ajantis",ChangeAIScript("",OVERRIDE))\)~ + COUNT_REGEXP_INSTANCES ~%textToReplace%~ num_matches + PATCH_IF (num_matches > 0) BEGIN + REPLACE_TEXTUALLY ~%textToReplace%~ ~ActionOverride("Ajantis",ChangeAIScript("BDAJANTI",OVERRIDE))~ + PATCH_PRINT ~Patching: %num_matches% matches found in %SOURCE_FILESPEC% for REPLACE_TEXTUALLY: %textToReplace%~ + END ELSE BEGIN + PATCH_WARN ~WARNING: could not find %textToReplace% in %SOURCE_FILESPEC%~ + END +END +BUT_ONLY_IF_IT_CHANGES +/* this might not be needed here since you'll have to patch bdintro.bcs anyway for your NPC mod */ +COPY_EXISTING ~bdintro.bcs~ ~override~ +DECOMPILE_AND_PATCH BEGIN + SPRINT textToReplace ~\(ActionOverride("Ajantis",ChangeAIScript("",OVERRIDE))\)~ + COUNT_REGEXP_INSTANCES ~%textToReplace%~ num_matches + PATCH_IF (num_matches > 0) BEGIN + REPLACE_TEXTUALLY ~%textToReplace%~ ~ActionOverride("Ajantis",ChangeAIScript("BDAJANTI",OVERRIDE))~ + PATCH_PRINT ~Patching: %num_matches% matches found in %SOURCE_FILESPEC% for REPLACE_TEXTUALLY: %textToReplace%~ + END ELSE BEGIN + PATCH_WARN ~WARNING: could not find %textToReplace% in %SOURCE_FILESPEC%~ + END +END +BUT_ONLY_IF_IT_CHANGES + +END //~c#endlessbg1.tp2~ ~14~ +------------------------------------ + CREDITS @@ -263,6 +311,13 @@ Spellhold Studios http://www.shsforums.net/ HISTORY +Version 17: +-Korlasz' Crypt in BG1: NPCs should always use their SoD scripts while inside the crypt. +-Duke Jannath should not ask for the tomes if Imoen already gave them to her. +-More cleanup after Sarevok: Delthyr in ThreeOldKegs, Sorrel in NBaldursGate. +-Journal entries that make no more sense after Sarevok's defeat should be closed or erased (work in progress). +-Added compatibility note to readme for "BG1 NPCs in SoD"-Mods and dlg/bcs handling for "Korlasz' Dungeon in BG1": NPCs get their SoD dialogue and script assigned. If BG1 NPCs do not have an original SoD script they would have to be patched accordingly if a mod requires them to have one. + Version 16: -(BGT) Corrected wrong value for "start_bg1end_sod_cutscene" (by Ychap). -Install order syntax for PI now only considers mods that should be installed earlier. Mods that need to be installed after EndlessBG1 are only listed if their own metadata ini-file doesn't include a check. diff --git a/c#endlessbg1/readme.c#endlessbg1.german.txt b/c#endlessbg1/readme.c#endlessbg1.german.txt index 0cc7141..80d437e 100644 --- a/c#endlessbg1/readme.c#endlessbg1.german.txt +++ b/c#endlessbg1/readme.c#endlessbg1.german.txt @@ -204,9 +204,6 @@ If you have installation problems or encounter any bugs, please post your bug re COMPATIBILITY -The Endless BG1 Mod will set the variable "Global("C#EndlessBG1","GLOBAL",1)" in the thieves maze for (NPC) mods to know that the game will remain in BG1 after Sarevok's death. -Also, from v7 it will set "Global("SarevokBehavior","GLOBAL",5)" to 5 after Sarevok is dead. - Die Komponenten 1-13 der Mod sind kompatibel mit Transitions. Endless BG1 Mod muss vor Transitions installiert werden. Note: Transitions overwrites a lot of components of BG1 with own versions of the content, if considering EBG1's content is not explicitely offered as an install choice. Components 14-16 are not considered in Transitions yet (v2.0 and lower). Component 14 is probably incompatible with Transitions. Installing both will probably mess up the game. Also see compatibility notes in the component descriptions. @@ -214,6 +211,58 @@ The bonus quest "Scar's Return" from bg1re is fully playable after Sarevok's dea If Jarl's Adventure Pack v0.8.0 is installed, opening the chests on the 3rd floor of the Palace will be counted as a theft - in this case, the chests cannot be used by the group despite the servants stating otherwise. +Compatibility note for modder: + +The Endless BG1 Mod will set the variable "Global("C#EndlessBG1","GLOBAL",1)" in the thieves maze for (NPC) mods to know that the game will remain in BG1 after Sarevok's death. +Also, from v7 it will set "Global("SarevokBehavior","GLOBAL",5)" to 5 after Sarevok is dead. +For mods that integrate BG1NPCs into SoD by letting them continue with their BG1 cre (for example like Ajantis BG1 does), please note that the component "Korlasz' Dungeon in BG1" sets the NPCs dialogue and OVERRIDE script to their original SoD ones like it is done in the original bdintro.bcs. This means that NPCs who do not have an SoD script (i.e. all NPCs that do not reappear in SoD as a compagnion: Ajantis, Alora, Branwen, Coran, Faldorn, Garrick, Kagain, Kivan, Montaron, Quayle, Shar-Teel, Skie, Tiax, Xan, Xzar, Yeslick) do get their OVERRIDE script set to nothing (ChangeAIScript("",OVERRIDE)). If you want the acording NPC to have a script in Korlasz' Dungeon nontheless, you need to patch not only bdintro.bcs but also bd0120.bcs and bd0130.bcs where EndlessBG1 adds the resetting of SoD-dlg and bcs to. As an example, this is what I do in AjantisBG1: + +---------------------------------- +/* Crossmod with EndlessBG1 "Korlasz Tomb in BG1 */ +ACTION_IF (MOD_IS_INSTALLED ~c#endlessbg1.tp2~ ~14~) BEGIN + +/* make sure Ajantis' SoD override script is used in Korlasz' Crypt */ +COPY_EXISTING ~bd0120.bcs~ ~override~ +DECOMPILE_AND_PATCH BEGIN + SPRINT textToReplace ~\(ActionOverride("Ajantis",ChangeAIScript("",OVERRIDE))\)~ + COUNT_REGEXP_INSTANCES ~%textToReplace%~ num_matches + PATCH_IF (num_matches > 0) BEGIN + REPLACE_TEXTUALLY ~%textToReplace%~ ~ActionOverride("Ajantis",ChangeAIScript("BDAJANTI",OVERRIDE))~ + PATCH_PRINT ~Patching: %num_matches% matches found in %SOURCE_FILESPEC% for REPLACE_TEXTUALLY: %textToReplace%~ + END ELSE BEGIN + PATCH_WARN ~WARNING: could not find %textToReplace% in %SOURCE_FILESPEC%~ + END +END +BUT_ONLY_IF_IT_CHANGES +COPY_EXISTING ~bd0130.bcs~ ~override~ +DECOMPILE_AND_PATCH BEGIN + SPRINT textToReplace ~\(ActionOverride("Ajantis",ChangeAIScript("",OVERRIDE))\)~ + COUNT_REGEXP_INSTANCES ~%textToReplace%~ num_matches + PATCH_IF (num_matches > 0) BEGIN + REPLACE_TEXTUALLY ~%textToReplace%~ ~ActionOverride("Ajantis",ChangeAIScript("BDAJANTI",OVERRIDE))~ + PATCH_PRINT ~Patching: %num_matches% matches found in %SOURCE_FILESPEC% for REPLACE_TEXTUALLY: %textToReplace%~ + END ELSE BEGIN + PATCH_WARN ~WARNING: could not find %textToReplace% in %SOURCE_FILESPEC%~ + END +END +BUT_ONLY_IF_IT_CHANGES +/* this might not be needed here since you'll have to patch bdintro.bcs anyway for your NPC mod */ +COPY_EXISTING ~bdintro.bcs~ ~override~ +DECOMPILE_AND_PATCH BEGIN + SPRINT textToReplace ~\(ActionOverride("Ajantis",ChangeAIScript("",OVERRIDE))\)~ + COUNT_REGEXP_INSTANCES ~%textToReplace%~ num_matches + PATCH_IF (num_matches > 0) BEGIN + REPLACE_TEXTUALLY ~%textToReplace%~ ~ActionOverride("Ajantis",ChangeAIScript("BDAJANTI",OVERRIDE))~ + PATCH_PRINT ~Patching: %num_matches% matches found in %SOURCE_FILESPEC% for REPLACE_TEXTUALLY: %textToReplace%~ + END ELSE BEGIN + PATCH_WARN ~WARNING: could not find %textToReplace% in %SOURCE_FILESPEC%~ + END +END +BUT_ONLY_IF_IT_CHANGES + +END //~c#endlessbg1.tp2~ ~14~ +------------------------------------ + CREDITS @@ -254,6 +303,13 @@ Spellhold Studios http://www.shsforums.net/ HISTORY +Version 17: +-Korlasz' Crypt in BG1: NPCs should always use their SoD scripts while inside the crypt. +-Duke Jannath should not ask for the tomes if Imoen already gave them to her. +-More cleanup after Sarevok: Delthyr in ThreeOldKegs, Sorrel in NBaldursGate. +-Journal entries that make no more sense after Sarevok's defeat should be closed or erased (work in progress). +-Added compatibility note to readme for "BG1 NPCs in SoD"-Mods and dlg/bcs handling for "Korlasz' Dungeon in BG1": NPCs get their SoD dialogue and script assigned. If BG1 NPCs do not have an original SoD script they would have to be patched accordingly if a mod requires them to have one. + Version 16: -(BGT) Corrected wrong value for "start_bg1end_sod_cutscene" (by Ychap). -Install order syntax for PI now only considers mods that should be installed earlier. Mods that need to be installed after EndlessBG1 are only listed if their own metadata ini-file doesn't include a check. diff --git a/c#endlessbg1/readme.c#endlessbg1.polish.txt b/c#endlessbg1/readme.c#endlessbg1.polish.txt index 9ca6e52..41e15c1 100644 --- a/c#endlessbg1/readme.c#endlessbg1.polish.txt +++ b/c#endlessbg1/readme.c#endlessbg1.polish.txt @@ -232,9 +232,6 @@ Je KOMPATYBILNOŒÆ: -Modyfikacja Endless BG1 ustawia zmienn¹ "Global("C#EndlessBG1","GLOBAL",1)" w Gildii Z³odziei (po walce w pa³acu) dla modyfikacji (np. tych dodaj¹cych NPC) tak aby wiedzia³y, ¿e gra pozostanie w œwiecie BG1 po œmierci Sarevoka. -Ponadto, od wersji v7 modyfikacja ustawia zmienn¹ "Global("SarevokBehavior","GLOBAL",5)" na wartoœæ 5 po œmierci Sarevoka. - Komponenty 1-13 tej modyfikacji s¹ w pe³ni kompatybilne z modyfikacj¹ Transitions jeœli zosta³y one zainstalowane przed Transitions. Komponenty 14-16 nie s¹ jeszcze wspierane w po³¹czeniu z Transitions (v2.0 i wersje nowsze). Natomiast komponent 14 prawdopodobnie jest w ca³oœci niekompatybilny z Transitions. Instalacja tych komponentów wraz z Transitions mo¿e popsuæ grê. Wiêcej informacji znajduje siê w opisie poszczególnych komponentów. @@ -242,6 +239,56 @@ Dodatkowe zadanie "Scar's Return" modyfikacji bg1re mo Uwaga: jeœli modyfikacja "Jarl's Adventure Pack" w wersji v0.8.0 jest zainstalowana po Endless BG1 to otworzenie skrzynii bêdzie traktowane jako próba kradzie¿y. W takim wypadku skrzynia na trzecim piêtrze Pa³acu Ksi¹¿êcego nie mo¿e byæ wykorzystywana przez grupê, nawet jeœli s³u¿ba twierdzi co innego. +Compatibility note for modder: +Modyfikacja Endless BG1 ustawia zmienn¹ "Global("C#EndlessBG1","GLOBAL",1)" w Gildii Z³odziei (po walce w pa³acu) dla modyfikacji (np. tych dodaj¹cych NPC) tak aby wiedzia³y, ¿e gra pozostanie w œwiecie BG1 po œmierci Sarevoka. +Ponadto, od wersji v7 modyfikacja ustawia zmienn¹ "Global("SarevokBehavior","GLOBAL",5)" na wartoœæ 5 po œmierci Sarevoka. +For mods that integrate BG1NPCs into SoD by letting them continue with their BG1 cre (for example like Ajantis BG1 does), please note that the component "Korlasz' Dungeon in BG1" sets the NPCs dialogue and OVERRIDE script to their original SoD ones like it is done in the original bdintro.bcs. This means that NPCs who do not have an SoD script (i.e. all NPCs that do not reappear in SoD as a compagnion: Ajantis, Alora, Branwen, Coran, Faldorn, Garrick, Kagain, Kivan, Montaron, Quayle, Shar-Teel, Skie, Tiax, Xan, Xzar, Yeslick) do get their OVERRIDE script set to nothing (ChangeAIScript("",OVERRIDE)). If you want the acording NPC to have a script in Korlasz' Dungeon nontheless, you need to patch not only bdintro.bcs but also bd0120.bcs and bd0130.bcs where EndlessBG1 adds the resetting of SoD-dlg and bcs to. As an example, this is what I do in AjantisBG1: + +---------------------------------- +/* Crossmod with EndlessBG1 "Korlasz Tomb in BG1 */ +ACTION_IF (MOD_IS_INSTALLED ~c#endlessbg1.tp2~ ~14~) BEGIN + +/* make sure Ajantis' SoD override script is used in Korlasz' Crypt */ +COPY_EXISTING ~bd0120.bcs~ ~override~ +DECOMPILE_AND_PATCH BEGIN + SPRINT textToReplace ~\(ActionOverride("Ajantis",ChangeAIScript("",OVERRIDE))\)~ + COUNT_REGEXP_INSTANCES ~%textToReplace%~ num_matches + PATCH_IF (num_matches > 0) BEGIN + REPLACE_TEXTUALLY ~%textToReplace%~ ~ActionOverride("Ajantis",ChangeAIScript("BDAJANTI",OVERRIDE))~ + PATCH_PRINT ~Patching: %num_matches% matches found in %SOURCE_FILESPEC% for REPLACE_TEXTUALLY: %textToReplace%~ + END ELSE BEGIN + PATCH_WARN ~WARNING: could not find %textToReplace% in %SOURCE_FILESPEC%~ + END +END +BUT_ONLY_IF_IT_CHANGES +COPY_EXISTING ~bd0130.bcs~ ~override~ +DECOMPILE_AND_PATCH BEGIN + SPRINT textToReplace ~\(ActionOverride("Ajantis",ChangeAIScript("",OVERRIDE))\)~ + COUNT_REGEXP_INSTANCES ~%textToReplace%~ num_matches + PATCH_IF (num_matches > 0) BEGIN + REPLACE_TEXTUALLY ~%textToReplace%~ ~ActionOverride("Ajantis",ChangeAIScript("BDAJANTI",OVERRIDE))~ + PATCH_PRINT ~Patching: %num_matches% matches found in %SOURCE_FILESPEC% for REPLACE_TEXTUALLY: %textToReplace%~ + END ELSE BEGIN + PATCH_WARN ~WARNING: could not find %textToReplace% in %SOURCE_FILESPEC%~ + END +END +BUT_ONLY_IF_IT_CHANGES +/* this might not be needed here since you'll have to patch bdintro.bcs anyway for your NPC mod */ +COPY_EXISTING ~bdintro.bcs~ ~override~ +DECOMPILE_AND_PATCH BEGIN + SPRINT textToReplace ~\(ActionOverride("Ajantis",ChangeAIScript("",OVERRIDE))\)~ + COUNT_REGEXP_INSTANCES ~%textToReplace%~ num_matches + PATCH_IF (num_matches > 0) BEGIN + REPLACE_TEXTUALLY ~%textToReplace%~ ~ActionOverride("Ajantis",ChangeAIScript("BDAJANTI",OVERRIDE))~ + PATCH_PRINT ~Patching: %num_matches% matches found in %SOURCE_FILESPEC% for REPLACE_TEXTUALLY: %textToReplace%~ + END ELSE BEGIN + PATCH_WARN ~WARNING: could not find %textToReplace% in %SOURCE_FILESPEC%~ + END +END +BUT_ONLY_IF_IT_CHANGES + +END //~c#endlessbg1.tp2~ ~14~ +------------------------------------ CREDITS: @@ -282,6 +329,13 @@ Spellhold Studios - http://www.shsforums.net/ HISTORIA ZMIAN: +Version 17: +-Korlasz' Crypt in BG1: NPCs should always use their SoD scripts while inside the crypt. +-Duke Jannath should not ask for the tomes if Imoen already gave them to her. +-More cleanup after Sarevok: Delthyr in ThreeOldKegs, Sorrel in NBaldursGate. +-Journal entries that make no more sense after Sarevok's defeat should be closed or erased (work in progress). +-Added compatibility note to readme for "BG1 NPCs in SoD"-Mods and dlg/bcs handling for "Korlasz' Dungeon in BG1": NPCs get their SoD dialogue and script assigned. If BG1 NPCs do not have an original SoD script they would have to be patched accordingly if a mod requires them to have one. + Version 16: -(BGT) Corrected wrong value for "start_bg1end_sod_cutscene" (by Ychap). -Install order syntax for PI now only considers mods that should be installed earlier. Mods that need to be installed after EndlessBG1 are only listed if their own metadata ini-file doesn't include a check.