From ecd5f3f25fc4773cb7255ab44e3f451a2936bb65 Mon Sep 17 00:00:00 2001 From: Gitjas Date: Tue, 3 Dec 2019 20:13:54 +0100 Subject: [PATCH] update to v2.10 Fixed a script bug that would lead to skipping of LT 13. Fixed a bug that would lead to EdwinRomanceActive being set 3 if romance set to committed. Inserted cheat variable Global("EdwinIgnoreRomances","GLOBAL",0): if set to "1", other romances will be ignored and other romances will ignore Edwin romance. Triggering of LTs more stable and frequent: rest dialogues will be triggered by "Interact(Myself)" to make them trigger instantly without Edwin first having to move to the PC; removed the check of nearby NEUTRAL game characters as it tends to prevent dialogues to trigger for most city areas, removed the MoveViewObject from rest talks. Removed the drinking of an actual potion before the "drunk" rest talk (as it might lead to an inventory item being dropped unnoticed). Interjections into Anomens' LTs recoded (using I_C_T for compatibility). Renamed setup-edwinromance.ini to edwinromance.ini and added links. --- edwin/baf/baldur_edwin_romance.baf | 3 + edwin/baf/edwin.baf | 30 +++- edwin/baf/edwind.baf | 26 +-- edwin/dlg/eranomen.d | 165 +++++++++++++++++- edwin/dlg/erlovetalk2.d | 2 +- edwin/edwinromance-readme.html | 19 +- ...etup-edwinromance.ini => edwinromance.ini} | 10 +- edwin/tra/english/eranomen.tra | 2 +- setup-edwinromance.tp2 | 6 +- 9 files changed, 226 insertions(+), 37 deletions(-) rename edwin/{setup-edwinromance.ini => edwinromance.ini} (78%) diff --git a/edwin/baf/baldur_edwin_romance.baf b/edwin/baf/baldur_edwin_romance.baf index 630ad03..9e670fd 100644 --- a/edwin/baf/baldur_edwin_romance.baf +++ b/edwin/baf/baldur_edwin_romance.baf @@ -1,6 +1,9 @@ IF Global("EdwinRomanceActive","GLOBAL",1) Global("EdwinRomanceOut","GLOBAL",0) + OR(2) //not if Edwin is Vampire + Global("EdwinVampire","GLOBAL",0) + GlobalGT("EdwinVampire","GLOBAL",5) !InPartyAllowDead("Edwin") !Dead("Edwin") THEN diff --git a/edwin/baf/edwin.baf b/edwin/baf/edwin.baf index f33b216..b642cff 100644 --- a/edwin/baf/edwin.baf +++ b/edwin/baf/edwin.baf @@ -2,10 +2,11 @@ IF InParty(Myself) !See([ENEMY]) CombatCounter(0) + Global("EdwinIgnoreRomances","GLOBAL",0) Global("EdwinRomanceActive","GLOBAL",2) OR(2) - Global("AnomenRomanceActive","GLOBAL",1) - Global("AnomenRomanceActive","GLOBAL",2) + Global("AnomenRomanceActive","GLOBAL",1) + Global("AnomenRomanceActive","GLOBAL",2) THEN RESPONSE #100 SetGlobal("AnomenRomanceActive","GLOBAL",3) @@ -15,6 +16,7 @@ IF InParty(Myself) CombatCounter(0) !See([ENEMY]) + Global("EdwinIgnoreRomances","GLOBAL",0) Global("EdwinRomanceActive","GLOBAL",2) Global("RasaadRomanceActive","GLOBAL",1) Global("ED_DeactivateRomRasaad","LOCALS",0) @@ -28,6 +30,7 @@ IF InParty(Myself) CombatCounter(0) !See([ENEMY]) + Global("EdwinIgnoreRomances","GLOBAL",0) Global("EdwinRomanceActive","GLOBAL",2) Global("DornRomanceActive","GLOBAL",1) Global("ED_DeactivateRomDorn","LOCALS",0) @@ -41,6 +44,7 @@ IF InParty(Myself) CombatCounter(0) !See([ENEMY]) + Global("EdwinIgnoreRomances","GLOBAL",0) Global("EdwinRomanceActive","GLOBAL",2) Global("HexxatRomanceActive","GLOBAL",1) Global("ED_DeactivateRomHexxat","LOCALS",0) @@ -57,6 +61,7 @@ IF InParty("Rasaad") CombatCounter(0) !See([ENEMY]) + Global("EdwinIgnoreRomances","GLOBAL",0) Global("RasaadRomanceActive","GLOBAL",2) OR(2) Global("EdwinRomanceActive","GLOBAL",1) @@ -71,6 +76,7 @@ IF InParty("Dorn") CombatCounter(0) !See([ENEMY]) + Global("EdwinIgnoreRomances","GLOBAL",0) Global("DornRomanceActive","GLOBAL",2) OR(2) Global("EdwinRomanceActive","GLOBAL",1) @@ -85,6 +91,7 @@ IF InParty("Hexxat") CombatCounter(0) !See([ENEMY]) + Global("EdwinIgnoreRomances","GLOBAL",0) Global("HexxatRomanceActive","GLOBAL",2) OR(2) Global("EdwinRomanceActive","GLOBAL",1) @@ -100,27 +107,30 @@ IF InParty(Myself) !See([ENEMY]) CombatCounter(0) + Global("EdwinIgnoreRomances","GLOBAL",0) OR(2) - Global("EdwinRomanceActive","GLOBAL",1) - Global("EdwinRomanceActive","GLOBAL",2) + Global("EdwinRomanceActive","GLOBAL",1) + Global("EdwinRomanceActive","GLOBAL",2) %ACTIVE_MOD_NPC_ROMANCE% THEN RESPONSE #100 SetGlobal("EdwinRomanceActive","GLOBAL",3) END +/* IF InParty(Myself) !See([ENEMY]) CombatCounter(0) Global("EdwinRomanceActive","GLOBAL",2) OR(2) - Global("TsujathaRomanceActive","GLOBAL",1) - Global("TsujathaRomanceActive","GLOBAL",2) + Global("TsujathaRomanceActive","GLOBAL",1) + Global("TsujathaRomanceActive","GLOBAL",2) THEN RESPONSE #100 SetGlobal("TsujathaRomanceActive","GLOBAL",3) END +*/ IF Global("EdwinMatch","GLOBAL",0) @@ -266,7 +276,7 @@ IF !Global("Chapter","GLOBAL",%bg2_chapter_5%) !Global("Chapter","GLOBAL",%bg2_chapter_7%) !See([ENEMY]) - !Range([NEUTRAL],10) +// !Range([NEUTRAL],10) OR(9) Global("EdwinLoveTalk","LOCALS",1) Global("EdwinLoveTalk","LOCALS",3) @@ -414,6 +424,7 @@ THEN IncrementGlobal("EdwinLoveTalkCheck","GLOBAL",1) END +/* IF InParty(Myself) !See([ENEMY]) @@ -421,7 +432,7 @@ IF Global("EdwinMatch","GLOBAL",1) OR(4) Global("EdwinLoveTalk","LOCALS",10) - Global("EdwinLoveTalk","LOCALS",26) + Global("EdwinLoveTalk","LOCALS",32) Global("EdwinLoveTalk","LOCALS",36) Global("EdwinLoveTalk","LOCALS",22) THEN @@ -430,6 +441,7 @@ THEN IncrementGlobal("EdwinLoveTalkCheck","GLOBAL",1) RealSetGlobalTimer("EdwinRomance","GLOBAL",1) END +*/ IF InParty(Myself) @@ -515,7 +527,7 @@ IF CombatCounter(0) RealGlobalTimerExpired("EdwinRomance","GLOBAL") Global("EdwinMatch","GLOBAL",1) - OR(16) + OR(17) Global("EdwinLoveTalk","LOCALS",2) Global("EdwinLoveTalk","LOCALS",4) Global("EdwinLoveTalk","LOCALS",6) diff --git a/edwin/baf/edwind.baf b/edwin/baf/edwind.baf index 46fd5d3..242b823 100644 --- a/edwin/baf/edwind.baf +++ b/edwin/baf/edwind.baf @@ -14,19 +14,19 @@ IF Global("EddieCantGetDrunk","GLOBAL",3) THEN RESPONSE #100 - SetInterrupt(FALSE) - GiveItemCreate("EDPOTN",Myself,0,0,0) - MoveViewObject("Edwin",INSTANT) - Wait(2) +// SetInterrupt(FALSE) +// GiveItemCreate("EDPOTN",Myself,0,0,0) +// MoveViewObject("Edwin",INSTANT) +// Wait(2) SetGlobal("EdwinDrunk","GLOBAL",1) - UseItem("EDPOTN",Myself) - Wait(2) +// UseItem("EDPOTN",Myself) +// Wait(2) IncrementGlobal("EdwinLoveTalk","LOCALS",1) IncrementGlobal("EdwinLoveTalkCheck","GLOBAL",1) RealSetGlobalTimer("EdwinRomance","GLOBAL",2800) PlaySong(999990) SetInterrupt(TRUE) - Interact(Player1) + Interact(Myself) END IF @@ -44,12 +44,12 @@ IF THEN RESPONSE #100 SetGlobal("EdwinKiss","GLOBAL",2) - MoveViewObject("Edwin",INSTANT) +// MoveViewObject("Edwin",INSTANT) IncrementGlobal("EdwinLoveTalk","LOCALS",1) IncrementGlobal("EdwinLoveTalkCheck","GLOBAL",1) RealSetGlobalTimer("EdwinRomance","GLOBAL",2800) PlaySong(999990) - Interact(Player1) + Interact(Myself) END IF @@ -64,12 +64,12 @@ IF Global("EdwinLoveTalk","LOCALS",35) THEN RESPONSE #100 - MoveViewObject("Edwin",INSTANT) +// MoveViewObject("Edwin",INSTANT) IncrementGlobal("EdwinLoveTalk","LOCALS",1) IncrementGlobal("EdwinLoveTalkCheck","GLOBAL",1) RealSetGlobalTimer("EdwinRomance","GLOBAL",2800) PlaySong(999990) - Interact(Player1) + Interact(Myself) END IF @@ -89,11 +89,11 @@ IF !Global("Chapter","GLOBAL",%bg2_chapter_7%) THEN RESPONSE #100 - MoveViewObject("Edwin",INSTANT) +// MoveViewObject("Edwin",INSTANT) IncrementGlobal("EdwinLoveTalk","LOCALS",1) IncrementGlobal("EdwinLoveTalkCheck","GLOBAL",1) RealSetGlobalTimer("EdwinRomance","GLOBAL",2800) PlaySong(999991) - Interact(Player1) + Interact(Myself) END diff --git a/edwin/dlg/eranomen.d b/edwin/dlg/eranomen.d index e8ede65..a5f66f3 100644 --- a/edwin/dlg/eranomen.d +++ b/edwin/dlg/eranomen.d @@ -3,6 +3,166 @@ //EDWIN ROMANCE MOD : ERANOMEN // //MODIFIED BANOMEN AND BEDWIN FOR EDWIN ROMANCE // ///////////////////////////////////////////////////////// + + +I_C_T BANOMEN 106 ER_BANOMEN_106 +== BEDWIN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @0 +== BANOMEN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @1 +== BEDWIN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @2 +== BANOMEN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @15 +END + +I_C_T BANOMEN 173 ER_BANOMEN_173 +== BEDWIN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @3 +== BANOMEN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @4 +== BEDWIN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @5 +== BANOMEN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @6 +== BEDWIN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @7 +== BANOMEN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @16 +END + +I_C_T BANOMEN 311 ER_BANOMEN_311 +== BEDWIN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @8 +== BANOMEN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @9 +== BEDWIN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @10 +== BANOMEN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1)~ THEN + @11 += @17 +END + + +INTERJECT BANOMEN 409 ER_BANOMEN_409 +== BEDWIN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1) Global("EdwinIgnoreRomances","GLOBAL",0)~ THEN + @12 +== BANOMEN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1) Global("EdwinIgnoreRomances","GLOBAL",0)~ THEN + @13 +== BEDWIN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1) Global("EdwinIgnoreRomances","GLOBAL",0)~ THEN + @22 +END + IF ~~ THEN REPLY @23 EXTERN BEDWIN ANO_EDWIN42 + IF ~~ THEN REPLY @24 EXTERN BEDWIN ANO_EDWIN43 + IF ~~ THEN REPLY @25 EXTERN BANOMEN ANO_EDWIN423 + IF ~~ THEN REPLY @26 EXTERN BANOMEN ANO_EDWIN424 + +APPEND BEDWIN +IF ~~ THEN BEGIN ANO_EDWIN42 + SAY @27 + IF ~~ THEN DO ~SetGlobal("EdwinRomanceActive","GLOBAL",3)~ EXTERN BANOMEN ANO_EDWIN422 +END + +IF ~~ THEN BEGIN ANO_EDWIN43 + SAY @28 + IF ~~ DO ~SetGlobal("EdwinRomanceActive","GLOBAL",3) GivePartyAllEquipment() EscapeArea()~ EXTERN BANOMEN ANO_EDWIN422 +END +END //APPEND + +APPEND BANOMEN + +IF ~~ THEN BEGIN ANO_EDWIN422 + SAY @18 + COPY_TRANS BANOMEN 409 +END + +IF ~~ THEN BEGIN ANO_EDWIN423 + SAY @19 + IF ~~ THEN DO ~SetGlobal("AnomenRomanceActive","GLOBAL",3)~ EXIT +END + +IF ~~ THEN BEGIN ANO_EDWIN424 + SAY @20 + IF ~~ THEN DO ~SetGlobal("AnomenRomanceActive","GLOBAL",3) GivePartyAllEquipment() EscapeArea()~ EXIT +END + +END //APPEND + + + + +INTERJECT BANOMEN 341 ER_BANOMEN_341 +== BEDWIN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1) Global("EdwinIgnoreRomances","GLOBAL",0)~ THEN + @14 +== BANOMEN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1) Global("EdwinIgnoreRomances","GLOBAL",0)~ THEN + @13 +== BEDWIN IF ~InParty("Edwin") See("Edwin") !StateCheck("Edwin",CD_STATE_NOTVALID) +Global("EdwinRomanceActive","GLOBAL",1) Global("EdwinIgnoreRomances","GLOBAL",0)~ THEN + @22 +END + IF ~~ THEN REPLY @23 EXTERN BEDWIN ANO_EDWIN52 + IF ~~ THEN REPLY @24 EXTERN BEDWIN ANO_EDWIN53 + IF ~~ THEN REPLY @25 EXTERN BANOMEN ANO_EDWIN523 + IF ~~ THEN REPLY @29 EXTERN BANOMEN ANO_EDWIN524 + +APPEND BEDWIN + +IF ~~ THEN BEGIN ANO_EDWIN52 + SAY @30 + IF ~~ THEN DO ~SetGlobal("EdwinRomanceActive","GLOBAL",3)~ EXTERN BANOMEN ANO_EDWIN522 +END + +IF ~~ THEN BEGIN ANO_EDWIN53 + SAY @31 + IF ~~ THEN DO ~SetGlobal("EdwinRomanceActive","GLOBAL",3) GivePartyAllEquipment() EscapeArea()~ EXTERN BANOMEN ANO_EDWIN522 +END + +END //APPEND + +APPEND BANOMEN + +IF ~~ THEN BEGIN ANO_EDWIN522 + SAY @21 + COPY_TRANS BANOMEN 341 +END + +IF ~~ THEN BEGIN ANO_EDWIN523 + SAY @19 + IF ~~ THEN DO ~SetGlobal("AnomenRomanceActive","GLOBAL",3)~ EXIT +END + +IF ~~ THEN BEGIN ANO_EDWIN524 + SAY @20 + IF ~~ THEN DO ~SetGlobal("AnomenRomanceActive","GLOBAL",3) GivePartyAllEquipment() EscapeArea()~ EXIT +END + +END //APPEND + + +/* + + + + /* ADD_TRANS_TRIGGER BANOMEN 106 ~!Global("EdwinRomanceActive","GLOBAL",1)~ ADD_TRANS_TRIGGER BANOMEN 173 ~!Global("EdwinRomanceActive","GLOBAL",1)~ @@ -141,8 +301,8 @@ APPEND BEDWIN IF ~~ THEN BEGIN ANO_EDWIN41 SAY @22 - IF ~~ THEN REPLY @23 GOTO ANO_EDWIN42 - IF ~~ THEN REPLY @24 GOTO ANO_EDWIN43 + IF ~~ THEN REPLY @23 EXTERN BEDWIN ANO_EDWIN52 + IF ~~ THEN REPLY @24 EXTERN BEDWIN ANO_EDWIN53 IF ~~ THEN REPLY @25 EXTERN BANOMEN ANO_EDWIN423 IF ~~ THEN REPLY @26 EXTERN BANOMEN ANO_EDWIN424 END @@ -177,3 +337,4 @@ END END +*/ \ No newline at end of file diff --git a/edwin/dlg/erlovetalk2.d b/edwin/dlg/erlovetalk2.d index 3bfa79a..e341abd 100644 --- a/edwin/dlg/erlovetalk2.d +++ b/edwin/dlg/erlovetalk2.d @@ -1074,7 +1074,7 @@ IF ~~ THEN BEGIN E160 EscapeArea()~ SOLVED_JOURNAL @471 EXIT END -//Edwin LT 25 +//Edwin LT 22 IF WEIGHT #-79 ~Global("BeginEdElDek","LOCALS",0) Global("EdwinMatch","GLOBAL",1) Global("EdwinLoveTalk","LOCALS",44)~ E161 SAY @496 ++ @497 DO ~IncrementGlobal("EdwinLoveTalk","LOCALS",1) diff --git a/edwin/edwinromance-readme.html b/edwin/edwinromance-readme.html index 2ea1a98..4c0ab2f 100644 --- a/edwin/edwinromance-readme.html +++ b/edwin/edwinromance-readme.html @@ -316,7 +316,7 @@

Edwin Romance

Mod WebsiteMod Forum • - Version: 2.0.9 + Version: 2.1.0


How to Progress
The Endings

There are three different ToB endings. One for the PC who stays with Edwin, and one for the PC who becomes a Goddess. The third and final is for non-romanced Edwin, since I personally don't care for the original one.

+ +
Multi-Romance Cheats
+

Version 2.0.10 and higher provides the possibility to play Edwin Romance in Multi-Romance mode: + Via Cheats, set the variable "EdwinIgnoreRomances" to "1" to enable Multi-Romance mode:

+

CLUAConsole:SetGlobal("EdwinIgnoreRomances","GLOBAL",1)

+

If set, Edwin Romance will ignore all other romances and will also ignored by other romances (as far as the checks are contained within the Edwin Romance Mod). This goes for the original romances as well as considered mod NPC romances. The cheat has to be set before any of the romances turn their status to committed.

Edwin Romance > About BACK TO TOP
@@ -494,6 +500,17 @@

Credits

Version history

+
Version 2.0.10:
+ +
Version 2.0.9: