stranger
Joined: Nov 2020
|
Recruiting Minsc looks like it will involve freeing him from a mindflayer's control:
//REGION Minsc version
// Minsc is not in party: set him as the one being controlled
// If mind flayer dies, set minsc neutral to thralls
PROC
PROC_CRA_MinscRecruitment_SetMinscNeutralToThralls()
AND
DB_CRA_MinscRecruitment_Minsc(_Char)
AND
DB_CRA_MinscRecruitment_MinscsParty(_Thrall)
AND
GetFaction(_Char, _MinscFaction)
AND
GetFaction(_Thrall, _ThrallFaction)
THEN
PROC_SetRelationMutual(_MinscFaction, _ThrallFaction, 50);
//END_REGION
//REGION Combat with controlled characters
// Combat starts and characters (Minsc/Thralls) are controlled by the mind flayer, get combat ID
IF
EnteredCombat(_Char, _CombatID)
AND
DB_CRA_MinscRecruitment_ControlledCharacters((CHARACTER)_Char)
AND
GetFlag((FLAG)CRA_MinscRecruitment_State_CharacterControlled_cc1c7989-da17-4b96-b016-c179d7ec5613, _Char, 1)
THEN
DB_CRA_MinscRecruitment_Combat(_CombatID);
// Fallback for if by any chance players start fighting them without triggering the intro dialog, set the flag as if they normally started the combat
SetFlag(CRA_MinscRecruitment_Event_StartFight_63048f4f-d237-4d9a-b43d-9cb685fa79f1, NULL_00000000-0000-0000-0000-000000000000);
// If Minsc's HP goes below a threshold, snap him out of the mind flayer's control and help the players
IF
HitpointsChanged(S_Player_Minsc_0de603c5-42e2-4811-9dad-f652de080eba, _)
AND
DB_CRA_MinscRecruitment_ControlledCharactersWithFlag(S_Player_Minsc_0de603c5-42e2-4811-9dad-f652de080eba)
AND
IsImmortal(S_Player_Minsc_0de603c5-42e2-4811-9dad-f652de080eba, 1)
AND
GetHitpoints(S_Player_Minsc_0de603c5-42e2-4811-9dad-f652de080eba, _HP)
AND
_HP <= 5
THEN
PROC_CRA_MindFlayerControl_TryRemoveCharmedStatus(S_Player_Minsc_0de603c5-42e2-4811-9dad-f652de080eba);
PROC_CRA_MinscRecruitment_SetMinscHostileToThralls();
// If Minsc's HP goes below a threshold, start mind meld
IF
HitpointsChanged(S_Player_Minsc_0de603c5-42e2-4811-9dad-f652de080eba, _)
AND
DB_CRA_MinscRecruitment_ControlledCharactersWithFlag(S_Player_Minsc_0de603c5-42e2-4811-9dad-f652de080eba)
AND
IsImmortal(S_Player_Minsc_0de603c5-42e2-4811-9dad-f652de080eba, 1)
AND
GetHitpointsPercentage(S_Player_Minsc_0de603c5-42e2-4811-9dad-f652de080eba, _HP)
AND
_HP < 75.0
THEN
PROC_CRA_MinscRecruitment_StartMindMeld();
Looks like it's the event near the start with the mind controlled fishers:
// Case for when we have to hide the fishers (arrive to the Den, finish the confrontation and the crash scene wasn't solved)
PROC
PROC_CRA_MindFlayerControl_EndCrashScene(1)
AND
DB_CRA_MinscRecruitment_ControlledCharactersWithFlag(_)
THEN
PROC_CRA_MindFlayerControl_HideThralls();
PROC
PROC_CRA_MindFlayerControl_HideThralls()
AND
DB_CRA_MinscRecruitment_ThrallParty(_Thrall)
THEN
SetOnStage(_Thrall, 0);
//END_REGION
Seems that's where you'll eventually recruit Minsc. Quite early on. They dummied out cinematic transitions to the underdark except for jumping from the spider's lair:
//EA Hack: Cut out cinematic transitions for Underdark, except Spider Pit (https://larianstudios.atlassian.net/browse/GUS-147676)
//REGION Cinematic of descending or ascending
/*
IF
DB_UND_Teleporter(_, _, _Trigger, _, _)
THEN
PROC_TriggerRegisterForParty(_Trigger);
// Always provide a fallback exit so nobody can get stuck.
IF
DB_UND_Teleporter(_, _, _Trigger, _, _PastTrigger)
AND
NOT DB_UND_CinematicTriggerExit(_Trigger, _)
THEN
DB_UND_CinematicTriggerExit(_Trigger, _PastTrigger);
PROC
PROC_BlockUseOfItem(_Player, _Teleporter)
AND
DB_UND_Teleporter(_CinematicPoint, _Teleporter, _CinematicBox, _, _PastTrigger)
AND
DB_UND_Transitioncinematic_Started(_CinematicPoint, _Teleporter)
AND
NOT DB_UND_Transitioncinematic_Ended(_CinematicPoint)
AND
DB_Players(_Player)
AND
QRY_SpeakerIsAvailable(_Player, 1)
THEN
DB_CustomUseItemResponse(_Player, _Teleporter, 0);
TeleportTo(_Player, _CinematicPoint, "", 1, 1, 1);
PROC_UND_UpdateCinematicTriggerExit(_CinematicBox, _PastTrigger);
QRY
QRY_UND_TransitionCinematic((ITEM)_Teleporter)
AND
DB_UND_Teleporter(_CinematicPoint, _Teleporter, _, _, _)
AND
NOT DB_UND_Transitioncinematic_Started(_CinematicPoint, _)
THEN
DB_UND_Transitioncinematic_Started(_CinematicPoint, _Teleporter);
PROC
PROC_BlockUseOfItem(_Player, _Teleporter)
AND
DB_UND_Teleporter(_CinematicPoint, _Teleporter, _CinematicBox, _Dialog, _PastTrigger)
AND
NOT DB_CustomUseItemResponse(_Player, _Teleporter, 0)
AND
IsPartyMember(_Player, 1, 1)
AND
QRY_UND_TransitionCinematic(_Teleporter)
AND
DB_Players(_Player)
AND
QRY_StartDialog(_Dialog, _Player)
THEN
DB_CustomUseItemResponse(_Player, _Teleporter, 0);
TeleportTo(_Player, _CinematicPoint, "", 1, 1, 1);
PROC_UND_UpdateCinematicTriggerExit(_CinematicBox, _PastTrigger);
IF
DB_InRegion(_Character, _BoxTrigger)
AND
DB_UND_CinematicTriggerExit(_BoxTrigger, _PastTrigger)
AND
NOT DB_Players(_Character)
THEN
TeleportTo(_Character, _PastTrigger, "", 0, 0, 1);
IF
DB_InRegion(_Character, _BoxTrigger)
AND
DB_Players(_Character)
AND
DB_UND_Teleporter(_, _, _BoxTrigger, _Dialog, _PastTrigger)
AND
DB_UND_CinematicTriggerExit(_BoxTrigger, _PastTrigger)
AND
DB_DialogName(_Dialog, _ID)
AND
DB_CantTalk(_Character)
AND
NOT DB_InteractiveDialogSpeaker(_ID, _Character)
THEN
PROC_UND_TransitionCinematic_PassingTo(_PastTrigger);
TeleportTo(_Character, _PastTrigger, "", 0, 0, 1);
IF
DB_InRegion(_Character, _BoxTrigger)
AND
DB_Players(_Character)
AND
DB_UND_Teleporter(_, _, _BoxTrigger, _Dialog, _)
AND
DB_DialogName(_Dialog, _ID)
AND
NOT DB_CantTalk(_Character)
THEN
DialogAddActor(_ID, _Character);
IF
DialogEnded(_Dialog, _)
AND
DB_UND_Teleporter(_, _, _BoxTrigger, _Dialog, _PastTrigger)
AND
DB_UND_CinematicTriggerExit(_BoxTrigger, _PastTrigger)
AND
DB_InRegion(_Character, _BoxTrigger)
AND
IsInTrigger(_Character, _BoxTrigger, 1) //Character may have been teleported out following a previous entry in DB_InRegion
THEN
PROC_UND_TransitionCinematic_PassingTo(_PastTrigger);
TeleportTo(_Character, _PastTrigger, "", 1, 1, 1);
IF
DialogEnded(_Dialog, _)
AND
DB_UND_Teleporter(_CinematicPoint, _Teleporter, _, _Dialog, _)
THEN
DB_UND_Transitioncinematic_Ended(_CinematicPoint);
PROC
PROC_UND_UpdateCinematicTriggerExit((TRIGGER)_CinematicBox, (TRIGGER)_PastTrigger)
AND
DB_UND_CinematicTriggerExit(_CinematicBox, _OldTrigger)
THEN
NOT DB_UND_CinematicTriggerExit(_CinematicBox, _OldTrigger);
PROC
PROC_UND_UpdateCinematicTriggerExit((TRIGGER)_CinematicBox, (TRIGGER)_PastTrigger)
THEN
DB_UND_CinematicTriggerExit(_CinematicBox, _PastTrigger);
PROC
PROC_UND_TransitionCinematic_PassingTo((TRIGGER)_PastTrigger)
THEN
DB_NOOP(1);
*/
//END_REGION
//REGION Spider Pit
QRY
QRY_FOR_Bottomless_Cinematic((CHARACTER)_Character)
AND
DB_Players(_Character)
AND
DB_FOR_Bottomless_Cinematics(_FF, _Cinematic)
AND
DB_DialogName(_Cinematic, _ID)
AND
HasActiveStatus(_Character, "FEATHER_FALL", _FF)
AND
NOT DB_CantTalk(_Character)
THEN
TeleportTo(_Character, S_FOR_Bottomless_DropCinematicPoint_80e2cd31-9e6d-499f-b44c-588e6aff8064, "", 1, 1, 1);
QRY
QRY_FOR_Bottomless_Cinematic((CHARACTER)_Character)
AND
NOT DB_DialogName(FOR_Bottomless_CINE_Descent_NoFF_5cd5539f-fed3-f048-09ba-f37960adebda, _)
AND
NOT DB_DialogName(FOR_Bottomless_CINE_Descent_FF_7e5441a1-94e5-b285-5871-9cbeafa3f064, _)
AND
DB_Players(_Character)
AND
HasActiveStatus(_Character, "FEATHER_FALL", _FF)
AND
DB_FOR_Bottomless_Cinematics(_FF, _Cinematic)
AND
NOT DB_FOR_Bottomless_Cinematic_Done(_Cinematic)
AND
QRY_StartDialogCustom(_Cinematic, _Character, NULL_00000000-0000-0000-0000-000000000000, NULL_00000000-0000-0000-0000-000000000000, NULL_00000000-0000-0000-0000-000000000000, 0, 0, 0, 0)
THEN
DB_FOR_Bottomless_Cinematic_Done(_Cinematic);
DB_FOR_BottomLess_CinematicStarting(1);
TeleportTo(_Character, S_FOR_Bottomless_DropCinematicPoint_80e2cd31-9e6d-499f-b44c-588e6aff8064, "", 1, 1, 1);
IF
DialogStarted(_Cinematic, _)
AND
DB_FOR_Bottomless_Cinematics(_, _Cinematic)
AND
DB_FOR_BottomLess_CinematicStarting(1)
THEN
NOT DB_FOR_BottomLess_CinematicStarting(1);
IF
DB_InRegion(_Character, S_FOR_Bottomless_DropCinematicBox_226a5864-b348-45e0-b381-3477ceeb7e49)
AND
NOT DB_Players(_Character)
THEN
PROC_FOR_Bottomless_UnderdarkEntrance(_Character);
IF
DB_InRegion(_Character, S_FOR_Bottomless_DropCinematicBox_226a5864-b348-45e0-b381-3477ceeb7e49)
AND
DB_Players(_Character)
AND
DB_FOR_Bottomless_Cinematics(_, _Cinematic)
AND
DB_DialogName(_Cinematic, _ID)
AND
DB_CantTalk(_Character)
AND
NOT DB_InteractiveDialogSpeaker(_ID, _Character)
THEN
PROC_FOR_Bottomless_UnderdarkEntrance(_Character);
IF
DB_InRegion(_Character, S_FOR_Bottomless_DropCinematicBox_226a5864-b348-45e0-b381-3477ceeb7e49)
AND
DB_Players(_Character)
AND
NOT DB_DialogName(FOR_Bottomless_CINE_Descent_NoFF_5cd5539f-fed3-f048-09ba-f37960adebda, _)
AND
NOT DB_DialogName(FOR_Bottomless_CINE_Descent_FF_7e5441a1-94e5-b285-5871-9cbeafa3f064, _)
AND
NOT DB_FOR_BottomLess_CinematicStarting(1)
THEN
PROC_FOR_Bottomless_UnderdarkEntrance(_Character);
IF
DB_InRegion(_Character, S_FOR_Bottomless_DropCinematicBox_226a5864-b348-45e0-b381-3477ceeb7e49)
AND
DB_Players(_Character)
AND
DB_FOR_Bottomless_Cinematics(_FF, _Cinematic)
AND
DB_DialogName(_Cinematic, _ID)
AND
NOT DB_CantTalk(_Character)
AND
NOT HasActiveStatus(_Character, "FEATHER_FALL", _FF)
THEN
PROC_FOR_Bottomless_UnderdarkEntrance(_Character);
IF
DB_InRegion(_Character, S_FOR_Bottomless_DropCinematicBox_226a5864-b348-45e0-b381-3477ceeb7e49)
AND
DB_Players(_Character)
AND
DB_FOR_Bottomless_Cinematics(_FF, _Cinematic)
AND
DB_DialogName(_Cinematic, _ID)
AND
NOT DB_CantTalk(_Character)
AND
HasActiveStatus(_Character, "FEATHER_FALL", _FF)
THEN
DialogAddActor(_ID, _Character);
//END_REGION
//REGION Debug
/*
IF
TextEvent("UND_TransitionCinematic_ActivateHideoutElevator")
AND
DB_UND_Teleporter(_CinematicPoint, (ITEM)S_PLA_ZhentDungeon_LiftDown_2e18ea36-cf07-49df-a3f6-f98ec020e4af, _CinematicBox, _Dialog, _PastTrigger)
AND
GetHostCharacter((CHARACTER)_Player)
AND
NOT DB_CustomUseItemResponse(_Player, (ITEM)S_PLA_ZhentDungeon_LiftDown_2e18ea36-cf07-49df-a3f6-f98ec020e4af, 0)
AND
IsPartyMember(_Player, 1, 1)
AND
QRY_UND_TransitionCinematic((ITEM)S_PLA_ZhentDungeon_LiftDown_2e18ea36-cf07-49df-a3f6-f98ec020e4af)
AND
DB_Players(_Player)
AND
QRY_StartDialog(_Dialog, _Player)
THEN
DB_CustomUseItemResponse(_Player, (ITEM)S_PLA_ZhentDungeon_LiftDown_2e18ea36-cf07-49df-a3f6-f98ec020e4af, 0);
TeleportTo(_Player, _CinematicPoint, "", 1, 1, 1);
PROC_UND_UpdateCinematicTriggerExit(_CinematicBox, _PastTrigger);*/
//END_REGION
}
EXIT
Looks like Boo gets his own tent: DB_Camp_PersonalCornerGear((CHARACTER)S_Player_Minsc_0de603c5-42e2-4811-9dad-f652de080eba,(ITEM)S_CAMP_Tent_Boo_9d2b462f-37ce-48b8-a034-16bd575b250a);
Potentially evidence that they do intend to add the extra races (first two lines):
//REGION Race Meta tag setup
// REMINDER: These meta race tags should be filled in Races UUID object file when we add these races
NOT DB_RaceMetaTags((TAG)NULL_00000000-0000-0000-0000-000000000000,(TAG)NULL_00000000-0000-0000-0000-000000000000);
DB_RaceMetaTags(BESTIAL_92aae5aa-4595-4f1c-96d2-9e2499d35c6f,AARAKOCRA_e8193d83-f2bc-4e21-8573-b4e158cc9363);
DB_RaceMetaTags(BESTIAL_92aae5aa-4595-4f1c-96d2-9e2499d35c6f,KENKU_b7215e01-b86a-4ce1-96e0-4f035afaaeae);
DB_RaceMetaTags(BESTIAL_92aae5aa-4595-4f1c-96d2-9e2499d35c6f,LIZARDFOLK_615d115d-6d1d-477c-8b2c-d8e91b8cfe7d);
DB_RaceMetaTags(BESTIAL_92aae5aa-4595-4f1c-96d2-9e2499d35c6f,TABAXI_b83aa083-9544-454e-baef-2cb28f9c151b);
DB_RaceMetaTags(BESTIAL_92aae5aa-4595-4f1c-96d2-9e2499d35c6f,TORTLE_be68063a-83d0-4e3b-8d03-8127888af222);
DB_RaceMetaTags(REALLY_BESTIAL_1029b3e3-3ff0-4d73-b4ed-79b622cad4f9,REALLY_AARAKOCRA_7e97c590-911f-422a-bdb6-068c137eb2c8);
DB_RaceMetaTags(REALLY_BESTIAL_1029b3e3-3ff0-4d73-b4ed-79b622cad4f9,REALLY_KENKU_ec90a39d-ce0e-4ae1-b74d-0906dfd9a1d2);
DB_RaceMetaTags(REALLY_BESTIAL_1029b3e3-3ff0-4d73-b4ed-79b622cad4f9,REALLY_LIZARDFOLK_ef8444e2-a240-4cc1-9f57-73db6d99bc96);
DB_RaceMetaTags(REALLY_BESTIAL_1029b3e3-3ff0-4d73-b4ed-79b622cad4f9,REALLY_TABAXI_bafc25f8-20b0-4693-a0fe-73967befcf05);
DB_RaceMetaTags(REALLY_BESTIAL_1029b3e3-3ff0-4d73-b4ed-79b622cad4f9,REALLY_TORTLE_7839884d-892a-4d60-95cc-b073420d8474);
DB_RaceMetaTags(PLANAR_bad00ba2-8a49-450c-8387-af47681717f1,GITHYANKI_677ffa76-2562-4217-873e-2253d4720ba4);
DB_RaceMetaTags(PLANAR_bad00ba2-8a49-450c-8387-af47681717f1,WARFORGED_54a4726b-9399-4e8e-825e-42c60273939e);
DB_RaceMetaTags(REALLY_PLANAR_4cb02915-7ad7-4141-907e-93253c6a8644,REALLY_GITHYANKI_e49c027c-6ec6-4158-9afb-8b59236d10fd);
DB_RaceMetaTags(REALLY_PLANAR_4cb02915-7ad7-4141-907e-93253c6a8644,REALLY_WARFORGED_e30b5b4d-2ceb-4791-914e-b6c6c122f059);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,AASIMAR_41c6cdc9-aff5-46ae-afc4-aa0ccd9cd201);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,ASMODEUSTIEFLING_c3fd1fc3-2edf-4d17-935d-44ab92406df1);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,DRAGONBORN_02e5e9ed-b6b2-4524-99cd-cb2bc84c754a);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,DROWHALFELF_4fa13243-199d-4c9a-b455-d844276a98f5);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,FIRBOLG_45759dc2-4d7a-4853-af73-50cfd412409b);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,GENASI_48d7b679-dffd-4f68-a306-adac19de8acf);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,GITHYANKI_677ffa76-2562-4217-873e-2253d4720ba4);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,HALFORC_3311a9a9-cdbc-4b05-9bf6-e02ba1fc72a3);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,MEPHISTOPHELESTIEFLING_ec5bea6b-26f1-4917-919c-375f67ac13d1);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,TIEFLING_aaef5d43-c6f3-434d-b11e-c763290dbe0c);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,TRITON_c622d782-f676-444a-bb31-9657b0f1415b);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,WARFORGED_54a4726b-9399-4e8e-825e-42c60273939e);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,YUANTIPUREBLOOD_1ff4bf9e-a8dd-4627-8142-f60b3aa7123e);
DB_RaceMetaTags(RARE_d2f86ec3-c41f-47e1-8acd-984872a4d7d5,ZARIELTIEFLING_ab677895-e08a-479f-a043-eac2d8447188);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_AASIMAR_2fddf7dd-f79b-4998-882c-d7257badbfe6);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_ASMODEUSTIEFLING_6591a20a-12de-46ff-bf82-b866cd97bb9a);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_DRAGONBORN_39783f17-8484-46a6-aa3b-f3d51122e5f3);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_DROWHALFELF_3dbe23e0-2c9f-4a81-b586-ec6e50f720e1);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_FIRBOLG_9deae354-0108-40b4-a7db-6eb23fba050f);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_GENASI_aa68eccb-7875-436f-881e-c3775eee37f6);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_GITHYANKI_e49c027c-6ec6-4158-9afb-8b59236d10fd);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_HALFORC_ab3eff19-d094-4102-88bd-d097b6b6e4f0);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_MEPHISTOPHELESTIEFLING_c70e1dc2-72d4-44f9-83fd-c63d247edd9b);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_TIEFLING_7bf7207f-7406-49c0-b501-eaaa2bb4efd7);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_TRITON_2a7e679e-2567-47f7-9645-550471cffcf7);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_WARFORGED_e30b5b4d-2ceb-4791-914e-b6c6c122f059);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_YUANTIPUREBLOOD_3d80e0d5-0e28-4363-b153-c1a1076d36d4);
DB_RaceMetaTags(REALLY_RARE_987a41e3-2482-4c74-8c30-f3843cfdb7f3,REALLY_ZARIELTIEFLING_3a5efd84-5925-4a75-83ee-4f336b56f716);
//END_REGION Race Meta tag setup
Last edited by Chubblot; 19/11/20 11:52 AM.
|