diff --git a/A7-ConvenientEENPCs/A7-ConvenientEENPCs.tp2 b/A7-ConvenientEENPCs/A7-ConvenientEENPCs.tp2 index 5f80e7e..a4cf4a5 100644 --- a/A7-ConvenientEENPCs/A7-ConvenientEENPCs.tp2 +++ b/A7-ConvenientEENPCs/A7-ConvenientEENPCs.tp2 @@ -268,6 +268,31 @@ BEGIN @301 // Make NPC-specific items available for everyone END +/////////////////////////////////////////////////////// +// Allied Caelar Argent in Avernus boss battle // +/////////////////////////////////////////////////////// + +BEGIN @311 // Joins as controllable follower if no free party slots available + REQUIRE_PREDICATE GAME_INCLUDES ~sod~ @1004 // This component requires either SoD or EET to be installed. + SUBCOMPONENT @310 // Allied Caelar Argent in Avernus boss battle + GROUP @50 // Appearance + DESIGNATED 311 + LABEL ~A7-CONVENIENTEENPCS-APPEARANCE-CAELAR_FOLLOWER_CONDITIONAL~ + + INCLUDE ~%MOD_FOLDER%/lib/functions.tph~ + LAF A7CaelarFollower INT_VAR forced = 0 END + +BEGIN @312 // Always joins as controllable follower + REQUIRE_PREDICATE GAME_INCLUDES ~sod~ @1004 // This component requires either SoD or EET to be installed. + SUBCOMPONENT @310 // Allied Caelar Argent in Avernus boss battle + GROUP @50 // Appearance + DESIGNATED 312 + LABEL ~A7-CONVENIENTEENPCS-APPEARANCE-CAELAR_FOLLOWER_ALWAYS~ + + INCLUDE ~%MOD_FOLDER%/lib/functions.tph~ + LAF A7CaelarFollower INT_VAR forced = 1 END + + //////////////////////////////////// // Change portrait: Baeloth // //////////////////////////////////// @@ -2381,3 +2406,136 @@ BEGIN @684 // Bard LPF A7_SET_CRE_KNOWN_SPELLS INT_VAR num_spells STR_VAR spells END // adding known spells LPF A7_SET_CRE_SPELL_SLOTS INT_VAR spell_type = 1 END // autofilling memorized spells BUT_ONLY IF_EXISTS + + +/////////////////////////////////////////// +// Change class/kit: Caelar Argent // +/////////////////////////////////////////// + +BEGIN @521 // Reset level only + REQUIRE_PREDICATE GAME_INCLUDES ~sod~ @1004 // This component requires either SoD or EET to be installed. + SUBCOMPONENT @690 // Change class/kit: Caelar Argent + GROUP @52 // Class changes + DESIGNATED 690 + LABEL ~A7-CONVENIENTEENPCS-CLASSCHANGE-CAELAR_RESET~ + + INCLUDE ~%MOD_FOLDER%/lib/class_functions.tph~ + + COPY_EXISTING ~bdcaela3.cre~ ~override~ + LPF A7_RESET_CLASS INT_VAR keep_innates = 1 END + LPF A7_SET_CRE_PROFICIENCIES + INT_VAR + num_proficiencies = 3 + STR_VAR + proficiency_0 = ~90,2~ // Long Swords + proficiency_1 = ~112,1~ // Sword and Shield + proficiency_2 = ~89,1~ // Bastard Swords + END + BUT_ONLY IF_EXISTS + + +BEGIN @522 // Choose your class + REQUIRE_PREDICATE GAME_INCLUDES ~sod~ @1004 // This component requires either SoD or EET to be installed. + SUBCOMPONENT @690 // Change class/kit: Caelar Argent + GROUP @52 // Class changes + DESIGNATED 691 + LABEL ~A7-CONVENIENTEENPCS-CLASSCHANGE-CAELAR_CUSTOM~ + + INCLUDE ~%MOD_FOLDER%/lib/custom_class.tph~ + + LAF A7_GET_CLASS_KIT_INTERACTIVE + STR_VAR cre_resref = ~bdcaela3~ + RET success class_id kit_id + END + + ACTION_IF (success) BEGIN + COPY_EXISTING ~bdcaela3.cre~ ~override~ + LPF A7_CHANGE_CUSTOM_CLASS INT_VAR keep_innates = 1 class_id kit_id END + BUT_ONLY IF_EXISTS + END ELSE BEGIN + ABORT @1012 // Operation cancelled by the user. + END + + +BEGIN @691 // Cavalier + REQUIRE_PREDICATE GAME_INCLUDES ~sod~ @1004 // This component requires either SoD or EET to be installed. + SUBCOMPONENT @690 // Change class/kit: Caelar Argent + GROUP @52 // Class changes + DESIGNATED 692 + LABEL ~A7-CONVENIENTEENPCS-CLASSCHANGE-CAELAR_CAVALIER~ + + INCLUDE ~%MOD_FOLDER%/lib/class_functions.tph~ + + COPY_EXISTING ~bdcaela3.cre~ ~override~ + LPF A7_RESET_CLASS + INT_VAR + keep_innates = 1 + STR_VAR + class = ~PALADIN~ + kit = ~CAVALIER~ + END + LPF A7_SET_CRE_PROFICIENCIES + INT_VAR + num_proficiencies = 3 + STR_VAR + proficiency_0 = ~90,2~ // Long Swords + proficiency_1 = ~112,1~ // Sword and Shield + proficiency_2 = ~89,1~ // Bastard Swords + END + BUT_ONLY IF_EXISTS + + +BEGIN @692 // Inquisitor + REQUIRE_PREDICATE GAME_INCLUDES ~sod~ @1004 // This component requires either SoD or EET to be installed. + SUBCOMPONENT @690 // Change class/kit: Caelar Argent + GROUP @52 // Class changes + DESIGNATED 693 + LABEL ~A7-CONVENIENTEENPCS-CLASSCHANGE-CAELAR_INQUISITOR~ + + INCLUDE ~%MOD_FOLDER%/lib/class_functions.tph~ + + COPY_EXISTING ~bdcaela3.cre~ ~override~ + LPF A7_RESET_CLASS + INT_VAR + keep_innates = 1 + STR_VAR + class = ~PALADIN~ + kit = ~INQUISITOR~ + END + LPF A7_SET_CRE_PROFICIENCIES + INT_VAR + num_proficiencies = 3 + STR_VAR + proficiency_0 = ~90,2~ // Long Swords + proficiency_1 = ~112,1~ // Sword and Shield + proficiency_2 = ~89,1~ // Bastard Swords + END + BUT_ONLY IF_EXISTS + + +BEGIN @693 // Undead Hunter + REQUIRE_PREDICATE GAME_INCLUDES ~sod~ @1004 // This component requires either SoD or EET to be installed. + SUBCOMPONENT @690 // Change class/kit: Caelar Argent + GROUP @52 // Class changes + DESIGNATED 694 + LABEL ~A7-CONVENIENTEENPCS-CLASSCHANGE-CAELAR_UNDEAD_HUNTER~ + + INCLUDE ~%MOD_FOLDER%/lib/class_functions.tph~ + + COPY_EXISTING ~bdcaela3.cre~ ~override~ + LPF A7_RESET_CLASS + INT_VAR + keep_innates = 1 + STR_VAR + class = ~PALADIN~ + kit = ~UNDEAD_HUNTER~ + END + LPF A7_SET_CRE_PROFICIENCIES + INT_VAR + num_proficiencies = 3 + STR_VAR + proficiency_0 = ~90,2~ // Long Swords + proficiency_1 = ~112,1~ // Sword and Shield + proficiency_2 = ~89,1~ // Bastard Swords + END + BUT_ONLY IF_EXISTS diff --git a/A7-ConvenientEENPCs/dialogs/caelar_sod.d b/A7-ConvenientEENPCs/dialogs/caelar_sod.d new file mode 100644 index 0000000..5a15bcc --- /dev/null +++ b/A7-ConvenientEENPCs/dialogs/caelar_sod.d @@ -0,0 +1,3 @@ +// Allow Caelar Argent to always join as a follower instead of a party member + +ADD_TRANS_TRIGGER ~BDCAELAR~ 63 ~False()~ DO 1 UNLESS ~False()~ diff --git a/A7-ConvenientEENPCs/languages/english/setup.tra b/A7-ConvenientEENPCs/languages/english/setup.tra index 6e515c7..1b852a5 100644 --- a/A7-ConvenientEENPCs/languages/english/setup.tra +++ b/A7-ConvenientEENPCs/languages/english/setup.tra @@ -28,6 +28,10 @@ @301 = ~Make NPC-specific items available for everyone~ +@310 = ~Allied Caelar Argent in Avernus boss battle~ +@311 = ~Joins as controllable follower if no free party slots available~ +@312 = ~Always joins as controllable follower~ + // Portraits @400 = ~Change portrait: Baeloth~ @401 = ~Alternate version~ @@ -109,6 +113,11 @@ @683 = ~Shadowdancer~ @684 = ~Bard~ +@690 = ~Change class/kit: Caelar Argent (See notes in readme!)~ +@691 = ~Cavalier~ +@692 = ~Inquisitor~ +@693 = ~Undead Hunter~ + // Setup messages @1000 = ~This component requires either BG:EE, BG2:EE or EET to be installed.~ @1001 = ~This component requires either BG:EE or EET to be installed.~ diff --git a/A7-ConvenientEENPCs/languages/french/setup.tra b/A7-ConvenientEENPCs/languages/french/setup.tra index db688f6..16d6455 100644 --- a/A7-ConvenientEENPCs/languages/french/setup.tra +++ b/A7-ConvenientEENPCs/languages/french/setup.tra @@ -28,6 +28,10 @@ @301 = ~Rendre les objets specifiques a chaque PNJ utilisables par tous~ +@310 = ~Allied Caelar Argent in Avernus boss battle~ +@311 = ~Joins as controllable follower if no free party slots available~ +@312 = ~Always joins as controllable follower~ + // Portraits @400 = ~Changer le portrait de Baeloth~ @401 = ~Version alternative~ @@ -109,6 +113,11 @@ @683 = ~Maitre des ombres~ @684 = ~Barde~ +@690 = ~Modifier la classe et le profil de Caelar Argent (Voir les notes dans le readme !)~ +@691 = ~Cavalier~ +@692 = ~Inquisiteur~ +@693 = ~Chasseur de Morts-Vivants~ + // Setup messages @1000 = ~Ce composant necessite l'installation de BG:EE, BG2:EE ou EET.~ @1001 = ~Ce composant necessite l'installation de BG:EE ou EET.~ diff --git a/A7-ConvenientEENPCs/languages/german/setup.tra b/A7-ConvenientEENPCs/languages/german/setup.tra index da3c91e..e22f6af 100644 --- a/A7-ConvenientEENPCs/languages/german/setup.tra +++ b/A7-ConvenientEENPCs/languages/german/setup.tra @@ -28,6 +28,10 @@ @301 = ~NSC-spezifische Gegenstaende allen zugaenglich machen~ +@310 = ~Verbuendete Caelar Argent im Endkampf in Avernus~ +@311 = ~Schliesst sich als kontrollierbare Begleiterin an, wenn in der Gruppe kein freier Platz ist~ +@312 = ~Schliesst sich immer als kontrollierbare Begleiterin an~ + // Portraits @400 = ~Portrait austauschen: Baeloth~ @401 = ~Alternative Version~ @@ -109,6 +113,12 @@ @683 = ~Schattentaenzer~ @684 = ~Barde~ +@690 = ~Klassenwechsel: Caelar Argent (Siehe Hinweise in der Readme!)~ +@691 = ~Ritter~ +@692 = ~Inquisitor~ +@693 = ~Geisterjaeger~ + +// Setup messages @1000 = ~Diese Komponente benoetigt BG:EE, BG2:EE oder EET.~ @1001 = ~Diese Komponente benoetigt BG:EE oder EET.~ @1002 = ~Diese Komponente benoetigt BG2:EE oder EET.~ diff --git a/A7-ConvenientEENPCs/languages/polish/setup.tra b/A7-ConvenientEENPCs/languages/polish/setup.tra index 5bd14f5..db4e44e 100644 --- a/A7-ConvenientEENPCs/languages/polish/setup.tra +++ b/A7-ConvenientEENPCs/languages/polish/setup.tra @@ -28,6 +28,10 @@ @301 = ~Wlacz dostepnosc przedmiotow zwiazanych z BN'ami dla wszystkich~ +@310 = ~Allied Caelar Argent in Avernus boss battle~ +@311 = ~Joins as controllable follower if no free party slots available~ +@312 = ~Always joins as controllable follower~ + // Portraits @400 = ~Zmien portret: Baeloth~ @401 = ~Alternatywna wersja~ @@ -109,6 +113,11 @@ @683 = ~Tancerz cieni~ @684 = ~Bard~ +@690 = ~Change class/kit: Caelar Argent (See notes in readme!)~ +@691 = ~Cavalier~ +@692 = ~Inquisitor~ +@693 = ~Undead Hunter~ + // Setup messages @1000 = ~Komponent ten wymaga uprzedniego zainstalowania BG:EE, BG2:EE lub EET.~ @1001 = ~Komponent ten wymaga uprzedniego zainstalowania BG:EE lub EET.~ diff --git a/A7-ConvenientEENPCs/languages/russian/setup.tra b/A7-ConvenientEENPCs/languages/russian/setup.tra index 6e515c7..1b852a5 100644 --- a/A7-ConvenientEENPCs/languages/russian/setup.tra +++ b/A7-ConvenientEENPCs/languages/russian/setup.tra @@ -28,6 +28,10 @@ @301 = ~Make NPC-specific items available for everyone~ +@310 = ~Allied Caelar Argent in Avernus boss battle~ +@311 = ~Joins as controllable follower if no free party slots available~ +@312 = ~Always joins as controllable follower~ + // Portraits @400 = ~Change portrait: Baeloth~ @401 = ~Alternate version~ @@ -109,6 +113,11 @@ @683 = ~Shadowdancer~ @684 = ~Bard~ +@690 = ~Change class/kit: Caelar Argent (See notes in readme!)~ +@691 = ~Cavalier~ +@692 = ~Inquisitor~ +@693 = ~Undead Hunter~ + // Setup messages @1000 = ~This component requires either BG:EE, BG2:EE or EET to be installed.~ @1001 = ~This component requires either BG:EE or EET to be installed.~ diff --git a/A7-ConvenientEENPCs/lib/class_functions.tph b/A7-ConvenientEENPCs/lib/class_functions.tph index 3335d3b..fd9a4df 100644 --- a/A7-ConvenientEENPCs/lib/class_functions.tph +++ b/A7-ConvenientEENPCs/lib/class_functions.tph @@ -50,6 +50,7 @@ OUTER_SET TRUECLASS = 0x4000 DEFINE_PATCH_FUNCTION A7_RESET_CLASS INT_VAR remove_items = 1 // 0: unequip unusable items, 1: remove unusable items except critical items + keep_innates = 0 // 0: clear all innate abilities, 1: keep innate abilities STR_VAR class = ~~ // class number or name, empty string: use current CRE class kit = ~~ // kit number or name (from kitlist.2da), empty string: use current CRE kit @@ -117,7 +118,7 @@ BEGIN LPF A7_RESET_CRE_LORE END // remove spell entries (known and memorized) - LPF A7_REMOVE_CRE_SPELLS INT_VAR level = cur_level class = cur_class kit = cur_kit END + LPF A7_REMOVE_CRE_SPELLS INT_VAR keep_innates level = cur_level class = cur_class kit = cur_kit END // add (known) priest/druid spells LPF A7_ADD_CRE_PRIEST_SPELLS END @@ -756,6 +757,7 @@ END // Remove all known and memorized spells based on given class/kit/level definitions DEFINE_PATCH_FUNCTION A7_REMOVE_CRE_SPELLS INT_VAR + keep_innates = 0 level = 20 class = "-1" kit = "-1" @@ -766,8 +768,10 @@ BEGIN // removing all known mage spells LPF A7_REMOVE_CRE_KNOWN_SPELLS INT_VAR type = 1 END - // removing all known innate spells found in CLAB file of original class/kit - LPF A7_REMOVE_CRE_KNOWN_SPELLS INT_VAR type = 2 skip_unique = 1 level class kit END + PATCH_IF (NOT keep_innates) BEGIN + // removing all known innate spells found in CLAB file of original class/kit + LPF A7_REMOVE_CRE_KNOWN_SPELLS INT_VAR type = 2 skip_unique = 1 level class kit END + END // removing all memorized priest spells LPF A7_REMOVE_CRE_MEMORIZED_SPELLS INT_VAR type = 0 END @@ -775,8 +779,10 @@ BEGIN // removing all memorized mage spells LPF A7_REMOVE_CRE_MEMORIZED_SPELLS INT_VAR type = 1 END - // removing all memorized innate spells found in CLAB file of original class/kit - LPF A7_REMOVE_CRE_MEMORIZED_SPELLS INT_VAR type = 2 reset_slots = 2 skip_unique = 1 level class kit END + PATCH_IF (NOT keep_innates) BEGIN + // removing all memorized innate spells found in CLAB file of original class/kit + LPF A7_REMOVE_CRE_MEMORIZED_SPELLS INT_VAR type = 2 reset_slots = 2 skip_unique = 1 level class kit END + END END diff --git a/A7-ConvenientEENPCs/lib/custom_class.tph b/A7-ConvenientEENPCs/lib/custom_class.tph index 9a37dee..b2399ba 100644 --- a/A7-ConvenientEENPCs/lib/custom_class.tph +++ b/A7-ConvenientEENPCs/lib/custom_class.tph @@ -3,6 +3,7 @@ INCLUDE ~%MOD_FOLDER%/lib/class_functions.tph~ // Handles everything to change class/kit of the current character DEFINE_PATCH_FUNCTION A7_CHANGE_CUSTOM_CLASS INT_VAR + keep_innates = 0 // 0: clear all innate abilities, 1: keep innate abilities class_id = 0 kit_id = 0 BEGIN @@ -15,7 +16,7 @@ BEGIN DEFAULT SET spell = 0 END - LPF A7_RESET_CLASS STR_VAR class = EVAL ~%class_id%~ kit = EVAL ~%kit_id%~ END + LPF A7_RESET_CLASS INT_VAR keep_innates STR_VAR class = EVAL ~%class_id%~ kit = EVAL ~%kit_id%~ END LPF A7_SET_CRE_PROFICIENCIES END // default proficiencies // restoring/adding mage spell selection diff --git a/A7-ConvenientEENPCs/lib/functions.tph b/A7-ConvenientEENPCs/lib/functions.tph index c42abfe..199f5c9 100644 --- a/A7-ConvenientEENPCs/lib/functions.tph +++ b/A7-ConvenientEENPCs/lib/functions.tph @@ -229,6 +229,35 @@ BEGIN END +// Caelar Argent always joins as follower if invited in SoD Avernus boss battle +DEFINE_ACTION_FUNCTION A7CaelarFollower +INT_VAR + forced = 0 // 0: Caelar joins party if free slot available, 1: Caelar always joins as follower regardless of party size +BEGIN + ACTION_IF (forced) BEGIN + COMPILE ~%MOD_FOLDER%/dialogs/caelar_sod.d~ + END + + // Make Caelar controllable in the battle + COPY_EXISTING ~bdcaelar.bcs~ ~override~ + DECOMPILE_AND_PATCH BEGIN + // Modify script block to make kicked out Caelar controllable + REPLACE_TEXTUALLY ~ChangeEnemyAlly(Myself,GOODBUTBLUE)~ + ~SetGlobal("a7_caelar_follower","locals",1) ChangeEnemyAlly(Myself,FAMILIAR) AddFamiliar()~ + + // Add script blocks before first instance of plot check + SET idx = INDEX_BUFFER(CASE_INSENSITIVE ~\bGlobal("bd_plot","global",570)~) + PATCH_IF (idx >= 0) BEGIN + SET idx = RINDEX_BUFFER(CASE_SENSITIVE ~^IF$~ idx) + PATCH_IF (idx >= 0) BEGIN + INSERT_FILE idx ~%MOD_FOLDER%/scripts/bdcaelar_follower.baf~ + END + END + END + BUT_ONLY IF_EXISTS +END + + // Internally used DEFINE_ACTION_FUNCTION A7Disable#DLC STR_VAR diff --git a/A7-ConvenientEENPCs/readme/readme-german.html b/A7-ConvenientEENPCs/readme/readme-german.html index 51fb8e2..d69e0c8 100644 --- a/A7-ConvenientEENPCs/readme/readme-german.html +++ b/A7-ConvenientEENPCs/readme/readme-german.html @@ -212,6 +212,14 @@

Gruppe: Auftritt

  • BG2:EE: Der Stein des Sehens ist im Besitz von Gaal, dem Hohepriester des Augenlosen Kults.
  • +
  • +

    Verbündete Caelar Argent im Endkampf in Avernus (BG:SOD und EET)

    +

    Diese Komponente erlaubt es Euch, Caelar Argent zu kontrollieren, wenn sie sich Euch im Endkampf in Avernus als Begleiterin anschließt. Die folgenden Optionen sind verfügbar:

    +
      +
    1. Schließt sich als kontrollierbare Begleiterin an, wenn in der Gruppe kein freier Platz ist: Wie im unmodifizierten Spiel tritt Caelar Argent der Gruppe bei, wenn ein freier Platz verfügbar ist. Ansonsten schließt sie sich nur als kontrollierbare Begleiterin an.
    2. +
    3. Schließt sich immer als kontrollierbare Begleiterin an: Verhindert, dass Caelar Argent der Gruppe beitritt, selbst wenn ein freier Platz verfügbar wäre. Diese Option ist vor allem für Spieler interessant, die das Spiel im Solo-Modus durchspielen wollen.
    4. +
    +
  • Gruppe: Porträts

      @@ -396,6 +404,20 @@

      Gruppe: Klassenwechsel

    1. Barde: Setzt die Erfahrungsstufe zurück und wendet die Klasse „Barde” an.

    +
  • +

    Klassenwechsel: Caelar Argent (SoD und EET)

    +
      +
    1. Nur Erfahrungsstufe zurücksetzen: Setzt nur die Erfahrungsstufe des NSCs auf Stufe 1 zurück, ohne die Erfahrungspunkte selbst anzupassen.

    2. +
    3. +

      Klasse selbst auswählen: Diese Option erlaubt es Euch, eine beliebige Klassenkombination zu wählen.

      +

      Achtung: Einige Klassenkombinationen könnten den Spielspaß mindern oder sogar unerwartete Nebenwirkungen haben. Die Nutzung erfolgt auf eigene Gefahr!

      +
    4. +
    5. Ritter: Setzt die Erfahrungsstufe zurück und wendet das Paladinkit „Ritter” an.

    6. +
    7. Inquisitor: Setzt die Erfahrungsstufe zurück und wendet das Paladinkit „Inquisitor” an.

    8. +
    9. Geisterjäger: Setzt die Erfahrungsstufe zurück und wendet das Paladinkit „Geisterjäger” an.

    10. +
    +

    Achtung: Bei keiner dieser Optionen ist es möglich, Magier- oder Priesterzauber zu erlernen, da es im Endkampf in Avernus keine Möglichkeit zum Rasten gibt. Außerdem könnt Ihr Caelar nicht aufstufen, falls sie der Gruppe nur als Begleiterin beitritt.

    +
  • ZURÜCK ZUM ANFANG @@ -431,6 +453,12 @@

    Copyright Notice:

    Versionshistorie

    +
    Version 4.6
    + +
    Version 4.5
    +
  • +

    Allied Caelar Argent in Avernus boss battle (BG:SOD and EET)

    +

    This component allows you to control Caelar Argent if she joins the battle as an ally. The following options allow you to refine her behavior even further:

    +
      +
    1. Joins as controllable follower if no free party slots available: Retains the original behavior of the game by letting Caelar Argent join as a regular party member if a free slot is available.
    2. +
    3. Always joins as controllable follower: Prevents Caelar Argent from joining the party when invited, even if there is a free party slot available. This option is mostly useful for players who want to solo the whole game.
    4. +
    +
  • Group: Portraits

      @@ -396,6 +404,20 @@

      Group: Class changes

    1. Bard: Resets her level to 1 and applies the class "Bard".

    +
  • +

    Change class/kit: Caelar Argent (SoD and EET)

    +
      +
    1. Reset level only: Resets her level to 1, but makes no changes to her current class or kit.

    2. +
    3. +

      Choose your class: This option allows you to choose any class/kit combination you desire.

      +

      Caution: Some class combinations can be immersion-breaking or may have unwanted side effects. Use at your own risk!

      +
    4. +
    5. Cavalier: Resets her level to 1 and applies the paladin kit "Cavalier".

    6. +
    7. Inquisitor: Resets her level to 1 and applies the paladin kit "Inquisitor".

    8. +
    9. Undead Hunter: Resets her level to 1 and applies the paladin kit "Undead Hunter".

    10. +
    +

    Caution: With any of these options installed mage or priest spells gained by level up won't be available since the party has no opportunity to rest in Avernus to memorize her spells. Moreover, you won't be able to level up Caelar at all if she joins as a follower.

    +
  • BACK TO TOP @@ -431,6 +453,12 @@

    Copyright Notice:

    Version History

    +
    Version 4.6
    +
      +
    • Added a component to turn allied Caelar Argent in the final SoD boss battle into a controllable follower
    • +
    • Added option to customize Caelar Argent's class or kit
    • +
    +
    Version 4.5
    • Updated Russian translation (thanks RealApxu)
    • diff --git a/A7-ConvenientEENPCs/scripts/bdcaelar_follower.baf b/A7-ConvenientEENPCs/scripts/bdcaelar_follower.baf new file mode 100644 index 0000000..44c6642 --- /dev/null +++ b/A7-ConvenientEENPCs/scripts/bdcaelar_follower.baf @@ -0,0 +1,28 @@ +// Turn Caelar Argent into a controllable follower during Avernus boss battle +IF + !InParty(Myself) + Global("bd_caelar_in_party","locals",0) + Global("bd_caelar_fate","global",2) + Global("a7_caelar_follower","locals",0) +THEN + RESPONSE #100 + SetInterrupt(FALSE) + SetGlobal("a7_caelar_follower","locals",1) + ChangeEnemyAlly(Myself,FAMILIAR) + AddFamiliar() + SetInterrupt(TRUE) +END + +// Restore neutral allegiance after the battle is over +IF + Global("a7_caelar_follower","locals",1) + Global("bd_plot","global",570) + CombatCounter(0) +THEN + RESPONSE #100 + SetInterrupt(FALSE) + RemoveFamiliar() + ChangeEnemyAlly(Myself,NEUTRAL) + SetInterrupt(TRUE) + Continue() +END