Skip to content

Commit

Permalink
Merge pull request #12 from Gitjas/master
Browse files Browse the repository at this point in the history
update to v8
  • Loading branch information
Gitjas authored Nov 2, 2021
2 parents 106c07f + c8187e1 commit c7a20ca
Show file tree
Hide file tree
Showing 23 changed files with 349 additions and 81 deletions.
3 changes: 3 additions & 0 deletions imoen_forever/imoen_forever.ini
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ Forum = https://www.gibberlings3.net/forums/forum/209-imoen-4-ever/
# If you use other hosting sites, please check requirements and put direct download link
Download = https://github.com/Gibberlings3/Imoen4Ever

# Type of LABELs used by the mod, read more here https://www.gibberlings3.net/forums/topic/32516-tutorial-what-is-label
LabelType = GloballyUnique

Type = Tweak_early

Before = atweaks, c#endlessbg1, cdtweaks, EET_end, NPC, Quest, transitions
Expand Down
188 changes: 182 additions & 6 deletions imoen_forever/imoen_forever.tp2
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ BACKUP ~imoen_forever/backup~
AUTHOR ~Please post at G3 or Kerzenburgforum, refer to readme.~


VERSION ~v7.2~
VERSION ~v8~

README ~imoen_forever/readme.imoen_forever.%LANGUAGE%.txt~ ~imoen_forever/readme.imoen_forever.english.txt~

Expand Down Expand Up @@ -301,6 +301,7 @@ LANGUAGE ~Russian~
////////////////////////////////////////////////////////////////////////

BEGIN @9928 DESIGNATED 0 //GROUP @9921
LABEL ~Imoen4Ever-BGII-ImoenReturnsChapter2~
REQUIRE_PREDICATE GAME_IS ~bg2ee eet bgt tob~ @9905
REQUIRE_PREDICATE ((GAME_IS ~bg2ee eet~) OR (MOD_IS_INSTALLED ~setup-bg2fixpack.TP2~ "0")) @9901
REQUIRE_PREDICATE NOT (MOD_IS_INSTALLED ~setup-ImoenIsStone.TP2~ "0") @9902
Expand Down Expand Up @@ -328,7 +329,7 @@ COPY_EXISTING ~imoen211.cre~ ~override~
WRITE_ASCII 0x280 ~imoen_notthistime~ #32 // script name / DV
WRITE_ASCII 0x248 ~~ #8 // OVERRIDE

/* Coweld Wizard for abduction cutscene */
/* Cowled Wizard for abduction cutscene */

COPY_EXISTING ~cowled01.cre~ ~Override/c#imcowl.cre~
WRITE_ASCII 0x280 ~c#imcowl~ #32 // script name / DV
Expand Down Expand Up @@ -545,6 +546,7 @@ EXTEND_TOP ~imoen2.bcs~ ~.../inlined/if_comp.baf~ EVALUATE_BUFFER
////////////////////////////////////////////////////////////////////////

BEGIN @9912 DESIGNATED 1 //GROUP @9921
LABEL ~Imoen4Ever-BGII-DialoguesContentSoA~
REQUIRE_PREDICATE (MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "0") @9913
REQUIRE_PREDICATE GAME_IS ~bg2ee eet bgt tob~ @9905
REQUIRE_PREDICATE ((GAME_IS ~bg2ee eet~) OR (MOD_IS_INSTALLED ~setup-bg2fixpack.TP2~ "0")) @9901
Expand All @@ -566,6 +568,7 @@ EXTEND_BOTTOM ~imoen2.bcs~ ~imoen_forever/baf/imoen_imoen2_2.baf~ EVALUATE_BUFFE
////////////////////////////////////////////////////////////////////////

BEGIN @9920 DESIGNATED 2 //GROUP @9921
LABEL ~Imoen4Ever-BGII-YoshimoBrynnlaw~
REQUIRE_PREDICATE (MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "0") @9913
REQUIRE_PREDICATE GAME_IS ~bg2ee eet bgt tob~ @9905
REQUIRE_PREDICATE ((GAME_IS ~bg2ee eet~) OR (MOD_IS_INSTALLED ~setup-bg2fixpack.TP2~ "0")) @9901
Expand Down Expand Up @@ -593,6 +596,7 @@ COMPILE EVALUATE_BUFFER ~imoen_forever/dialogue/yoshimo_brynnlaw.d~ USING ~imoen
////////////////////////////////////////////////////////////////////////

BEGIN @9914 DESIGNATED 3 //GROUP @9921
LABEL ~Imoen4Ever-BGII-ImoenProtectionSpellChapter2&3~
REQUIRE_PREDICATE (MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "0") @9913
REQUIRE_PREDICATE GAME_IS ~bg2ee eet bgt tob~ @9905
REQUIRE_PREDICATE ((GAME_IS ~bg2ee eet~) OR (MOD_IS_INSTALLED ~setup-bg2fixpack.TP2~ "0")) @9901
Expand Down Expand Up @@ -649,13 +653,14 @@ COPY_EXISTING ~movie01B.bcs~ ~override~
////////////////////////////////////////////////////////////////////////

BEGIN @9915 DESIGNATED 9 //GROUP @9921
LABEL ~Imoen4Ever-BGII-Compatibility_Saerileth_Alternatives~
REQUIRE_PREDICATE (MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "0") @9913
REQUIRE_PREDICATE GAME_IS ~bg2ee eet bgt tob~ @9905
REQUIRE_PREDICATE ((GAME_IS ~bg2ee eet~) OR (MOD_IS_INSTALLED ~setup-bg2fixpack.TP2~ "0")) @9901
FORBID_COMPONENT ~EET_end.tp2~ ~0~ @9930
FORBID_COMPONENT ~EET_end.tp2~ ~1~ @9930

/* compatibility with Alternatives - if Alternatives is installed, change the relevent cutscenes here, too */
/* compatibility with Alternatives - if Alternatives is installed, change the relevant cutscenes here, too */

ACTION_IF (MOD_IS_INSTALLED ~setup-alternatives.TP2~ "0") THEN BEGIN
PRINT @9916 /* ~Alternatives detected: patching.~ */
Expand Down Expand Up @@ -757,6 +762,7 @@ END
/* first part: Imoen remains in the group in Korlasz' dungeon */
////////////////////////////////////////////////////////////////////////
BEGIN @9906 DESIGNATED 10 //GROUP @9922
LABEL ~Imoen4Ever-SoD-ImoeninGroupKorlaszDungeon~
REQUIRE_PREDICATE (GAME_INCLUDES ~sod~) @9904
FORBID_COMPONENT ~EET_end.tp2~ ~0~ @9930
FORBID_COMPONENT ~EET_end.tp2~ ~1~ @9930
Expand Down Expand Up @@ -964,6 +970,7 @@ EXTEND_TOP ~bd0130.BCS~ ~imoen_forever/ImoenInGroupKD/c#st_imo_bd0130.baf~ EVALU
/* second SoD part: Imoen returns to PC in first camp bd1000 */
///////////////////////////////////////////////////////////////////
BEGIN @9907 DESIGNATED 11 //GROUP @9922
LABEL ~Imoen4Ever-SoD-ImoenReturnsCamp~
REQUIRE_PREDICATE (GAME_INCLUDES ~sod~) @9904
FORBID_COMPONENT ~EET_end.tp2~ ~0~ @9930
FORBID_COMPONENT ~EET_end.tp2~ ~1~ @9930
Expand Down Expand Up @@ -1097,6 +1104,7 @@ INCLUDE ~imoen_forever/tpa/add_trans_trigger_scrying_pool_cleanup.tpa~
/* third SoD part: Imoen gives better reason to stay behind in Palace */
///////////////////////////////////////////////////////////////////
BEGIN @9909 DESIGNATED 12 //GROUP @9922
LABEL ~Imoen4Ever-SoD-BetterReasonPalace~
REQUIRE_PREDICATE (GAME_INCLUDES ~sod~) @9904
REQUIRE_PREDICATE (MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "10") @9908
FORBID_COMPONENT ~EET_end.tp2~ ~0~ @9930
Expand All @@ -1108,9 +1116,10 @@ USING ~imoen_forever/tra/autotra/%LANGUAGE%/IMOEN_IN_GROUP_KD.TRA~


///////////////////////////////////////////////////////////////////
/* 4th SoD part: Play cutscene with Imoen an Duke Jannath */
/* 4th SoD part: Play cutscene with Imoen and Duke Jannath */
///////////////////////////////////////////////////////////////////
BEGIN @9910 DESIGNATED 13 //GROUP @9922
LABEL ~Imoen4Ever-SoD-CutesceneImoenDukeJannath~
REQUIRE_PREDICATE (GAME_INCLUDES ~sod~) @9904
REQUIRE_PREDICATE (MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "11") @9911
FORBID_COMPONENT ~EET_end.tp2~ ~0~ @9930
Expand All @@ -1128,6 +1137,7 @@ COMPILE EVALUATE_BUFFER ~%MOD_FOLDER%/sod_rejoin/cutscene_imoen_and_jannath.d~
/* 5th SoD part: Give Imoen dialogue content during chapters 8 to 12 */
///////////////////////////////////////////////////////////////////
BEGIN @9923 DESIGNATED 14 //GROUP @9922
LABEL ~Imoen4Ever-SoD-DialoguesContentChapters8to12~
REQUIRE_PREDICATE (GAME_INCLUDES ~sod~) @9904
REQUIRE_PREDICATE (MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "11") @9911
FORBID_COMPONENT ~EET_end.tp2~ ~0~ @9930
Expand Down Expand Up @@ -1205,6 +1215,7 @@ COMPILE EVALUATE_BUFFER ~%MOD_FOLDER%/sod_rejoin/bdimoenj_additions.d~ USING ~im
/* Imoen at the end of the game should be the one that was in party (SoD only) - and talk with the right dialogue + execute the correct script */

BEGIN @9929 /* ~Imoen at the End of the Game Should be the One that Was in Party (SoD Only)~ */ DESIGNATED 15 //GROUP @9922
LABEL ~Imoen4Ever-SoD-ImoenSameAtEnd~
REQUIRE_PREDICATE ((GAME_INCLUDES ~sod~) AND GAME_IS ~bgee~) ~This component is for SoD only~
REQUIRE_PREDICATE (MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "10") OR
(MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "11") @9927
Expand Down Expand Up @@ -1241,8 +1252,9 @@ BUT_ONLY
/* 7th SoD part: Unify Imoen's portrait in SoD */
///////////////////////////////////////////////////////////////////
BEGIN @9926
SUBCOMPONENT @9924
DESIGNATED 16 //GROUP @9922
LABEL ~Imoen4Ever-SoD-UnifyPortrait_SoDPortrait~
SUBCOMPONENT @9924
REQUIRE_PREDICATE (GAME_INCLUDES ~sod~) @9904
REQUIRE_PREDICATE (MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "10") OR
(MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "11") @9927
Expand Down Expand Up @@ -1270,8 +1282,9 @@ END
EXTEND_TOP ~bdimoens.bcs~ ~...inlined/imoen_portrait_sod.baf~

BEGIN @9925
SUBCOMPONENT @9924
DESIGNATED 17 //GROUP @9922
LABEL ~Imoen4Ever-SoD-UnifyPortrait_BG1Portrait~
SUBCOMPONENT @9924
REQUIRE_PREDICATE (GAME_INCLUDES ~sod~) @9904
REQUIRE_PREDICATE (MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "10") OR
(MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "11") @9927
Expand All @@ -1285,3 +1298,166 @@ COPY_EXISTING ~bdimoen.cre~ ~override~
WRITE_EVALUATED_ASCII 0x34 ~IMOENM~ #8 // assign "small" portrait
WRITE_EVALUATED_ASCII 0x3c ~IMOENL~ #8 // assign "large" portrait


//////////////////////////////////////////////////////////////////
/* 8th SoD part: Imoen's chest moves with the campaign, too */
///////////////////////////////////////////////////////////////////
BEGIN @9931 DESIGNATED 20 //GROUP @9922
LABEL ~Imoen4Ever-SoD-MoveImoensChest~
REQUIRE_PREDICATE (GAME_INCLUDES ~sod~) @9904
REQUIRE_PREDICATE (MOD_IS_INSTALLED ~setup-imoen_forever.TP2~ "11") @9911

/* Imoen'll just stuff her stuff into the tent next to CHARNAME's chest. */
COPY_EXISTING ~bd1000.are~ ~override~
//container and item
LPF ~fj_are_structure~
INT_VAR
fj_type = 8 //non-visible
fj_loc_x = 116
fj_loc_y = 3643
fj_box_left = 65
fj_box_top = 3596
fj_box_right = 91
fj_box_bottom = 3634
fj_trap_loc_x = 116
fj_trap_loc_y = 3643
fj_vertex_0 = 65 + (3633 << 16)
fj_vertex_1 = 91 + (3634 << 16)
fj_vertex_2 = 91 + (3609 << 16)
fj_vertex_3 = 72 + (3596 << 16)
STR_VAR
fj_structure_type = container
fj_name = ~C#ImoensChest~
END
BUT_ONLY

COPY_EXISTING ~bd3000.are~ ~override~
//container and item
LPF ~fj_are_structure~
INT_VAR
fj_type = 8 //non-visible
fj_loc_x = 1579
fj_loc_y = 1871
fj_box_left = 1588
fj_box_top = 1799
fj_box_right = 1618
fj_box_bottom = 1861
fj_trap_loc_x = 1579
fj_trap_loc_y = 1871
fj_vertex_0 = 1588 + (1840 << 16)
fj_vertex_1 = 1614 + (1861 << 16)
fj_vertex_2 = 1618 + (1822 << 16)
fj_vertex_3 = 1613 + (1799 << 16)
STR_VAR
fj_structure_type = container
fj_name = ~C#ImoensChest~
END
BUT_ONLY

COPY_EXISTING ~bd7100.are~ ~override~
//container and item
LPF ~fj_are_structure~
INT_VAR
fj_type = 8 //non-visible
fj_loc_x = 243
fj_loc_y = 3457
fj_box_left = 208
fj_box_top = 3401
fj_box_right = 223
fj_box_bottom = 3453
fj_trap_loc_x = 1579
fj_trap_loc_y = 1871
fj_vertex_0 = 208 + (3453 << 16)
fj_vertex_1 = 223 + (3440 << 16)
fj_vertex_2 = 221 + (3421 << 16)
fj_vertex_3 = 208 + (3401 << 16)
STR_VAR
fj_structure_type = container
fj_name = ~C#ImoensChest~
END
BUT_ONLY

<<<<<<<< .../move_imoens_stuff_bd1000.baf
IF
Global("C#I4E_bdimoen_chest","GLOBAL",1)
!Global("C#I4E_MoveImoensStuff","GLOBAL",1)
Global("C#I4E_MoveImoensStuff","GLOBAL",0)
THEN
RESPONSE #100
MoveContainerContents("BD0103*Imoen_equipment","BD1000*C#ImoensChest")
SetGlobal("C#I4E_MoveImoensStuff","GLOBAL",1)
END
>>>>>>>>
EXTEND_BOTTOM ~bd1000.bcs~ ~.../move_imoens_stuff_bd1000.baf~ EVALUATE_BUFFER

<<<<<<<< .../move_imoens_stuff_bd3000.baf
IF
Global("C#I4E_bdimoen_chest","GLOBAL",1)
!Global("C#I4E_MoveImoensStuff","GLOBAL",3)
Global("C#I4E_MoveImoensStuff","GLOBAL",0)
THEN
RESPONSE #100
MoveContainerContents("BD0103*Imoen_equipment","BD3000*C#ImoensChest")
SetGlobal("C#I4E_MoveImoensStuff","GLOBAL",3)
END

IF
Global("C#I4E_bdimoen_chest","GLOBAL",1)
!Global("C#I4E_MoveImoensStuff","GLOBAL",3)
Global("C#I4E_MoveImoensStuff","GLOBAL",1)
THEN
RESPONSE #100
MoveContainerContents("BD1000*C#ImoensChest","BD3000*C#ImoensChest")
SetGlobal("C#I4E_MoveImoensStuff","GLOBAL",3)
END

IF
Global("C#I4E_bdimoen_chest","GLOBAL",1)
!Global("C#I4E_MoveImoensStuff","GLOBAL",3)
Global("C#I4E_MoveImoensStuff","GLOBAL",2)
THEN
RESPONSE #100
MoveContainerContents("BD7100*C#ImoensChest","BD3000*C#ImoensChest")
SetGlobal("C#I4E_MoveImoensStuff","GLOBAL",3)
Continue()
END
>>>>>>>>
EXTEND_BOTTOM ~bd3000.bcs~ ~.../move_imoens_stuff_bd3000.baf~ EVALUATE_BUFFER

<<<<<<<< .../move_imoens_stuff_bd7100.baf
IF
Global("C#I4E_bdimoen_chest","GLOBAL",1)
!Global("C#I4E_MoveImoensStuff","GLOBAL",2)
Global("C#I4E_MoveImoensStuff","GLOBAL",0)
THEN
RESPONSE #100
MoveContainerContents("BD0103*Imoen_equipment","BD7100*C#ImoensChest")
SetGlobal("C#I4E_MoveImoensStuff","GLOBAL",2)
END

IF
Global("C#I4E_bdimoen_chest","GLOBAL",1)
!Global("C#I4E_MoveImoensStuff","GLOBAL",2)
Global("C#I4E_MoveImoensStuff","GLOBAL",1)
THEN
RESPONSE #100
MoveContainerContents("BD1000*C#ImoensChest","BD7100*C#ImoensChest")
SetGlobal("C#I4E_MoveImoensStuff","GLOBAL",2)
END
>>>>>>>>
EXTEND_BOTTOM ~bd7100.bcs~ ~.../move_imoens_stuff_bd7100.baf~ EVALUATE_BUFFER

// Get state for bdimoens %heya_its_me_04% (in bdimoens.d)
/* ~Oh, yes! This is gonna be so great!~
*/
OUTER_SET heya_its_me_04 = STATE_WHICH_SAYS 18 IN ~imoen_forever/tra/autotra/%s/bdimoens.tra~ FROM ~bdimoens~

<<<<<<<< .../add_bdimoen_chest.d
I_C_T bdimoens %heya_its_me_04% C#I4E_bdimoen_chest
== bdimoens @24
DO ~AddJournalEntry(@25,INFO)~
END
>>>>>>>>
COMPILE EVALUATE_BUFFER ~.../add_bdimoen_chest.d~ USING ~imoen_forever/tra/autotra/%s/bdimoens.tra~


Loading

0 comments on commit c7a20ca

Please sign in to comment.