mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-21 03:31:40 +00:00
BLADERUNNER: More variable names in the game scripts
Fixed some errors as well
This commit is contained in:
parent
f7754012dd
commit
5e2fb6fb26
@ -562,6 +562,10 @@ bool Actor::tick(bool forceDraw, Common::Rect *screenRect) {
|
||||
int newAnimation = 0, newFrame = 0;
|
||||
_vm->_aiScripts->updateAnimation(_id, &newAnimation, &newFrame);
|
||||
|
||||
if (newFrame < 0) {
|
||||
assert(newFrame >= 0);
|
||||
}
|
||||
|
||||
if (_animationId != newAnimation) {
|
||||
if (_fps != 0 && _fps != -1) {
|
||||
_animationId = newAnimation;
|
||||
|
@ -110,14 +110,16 @@ int ActorClues::getModifier(int actorId, int otherActorId, int clueId) {
|
||||
} else {
|
||||
modifier1 = 0;
|
||||
}
|
||||
modifier2 = 0;
|
||||
modifier3 = _vm->_aiScripts->callGetFriendlinessModifierIfGetsClue(otherActorId, actorId, clueId);
|
||||
|
||||
modifier2 = 0;
|
||||
for (int i = 0; i < (int)_vm->_gameInfo->getActorCount(); i++) {
|
||||
if (i != actorId && i != otherActorId) {
|
||||
modifier2 += (friendliness - 50) * _vm->_aiScripts->callGetFriendlinessModifierIfGetsClue(i, otherActorId, clueId) / 100;
|
||||
}
|
||||
}
|
||||
|
||||
modifier3 = _vm->_aiScripts->callGetFriendlinessModifierIfGetsClue(otherActorId, actorId, clueId);
|
||||
|
||||
modifier4 = _vm->_rnd.getRandomNumberRng(0, (100 - actor->getIntelligence()) / 10);
|
||||
|
||||
if (_vm->_rnd.getRandomNumberRng(0, 1) == 1) {
|
||||
@ -160,14 +162,14 @@ void ActorClues::acquireCluesByRelations(int actorId, int otherActorId) {
|
||||
uint avgParameters = (otherActor->getHonesty() + otherActor->getIntelligence() + actor->getFriendlinessToOther(otherActorId)) / 3;
|
||||
int clue1count = avgParameters * count1 / 100;
|
||||
|
||||
if (avgParameters >= 50 && !clue1count && count1 == 1) {
|
||||
if (avgParameters >= 50 && clue1count == 0 && count1 == 1) {
|
||||
clue1count = 1;
|
||||
}
|
||||
|
||||
avgParameters = (actor->getHonesty() + actor->getIntelligence() + otherActor->getFriendlinessToOther(actorId)) / 3;
|
||||
int clue2count = avgParameters * count2 / 100;
|
||||
|
||||
if (avgParameters >= 50 && !clue2count && count2 == 1) {
|
||||
if (avgParameters >= 50 && clue2count == 0 && count2 == 1) {
|
||||
clue2count = 1;
|
||||
}
|
||||
|
||||
|
@ -59,6 +59,7 @@ public:
|
||||
bool cmdSay(int argc, const char **argv);
|
||||
bool cmdScene(int argc, const char **argv);
|
||||
bool cmdVariable(int argc, const char **argv);
|
||||
bool cmdClue(int argc, const char **argv);
|
||||
bool cmdLoad(int argc, const char **argv);
|
||||
bool cmdSave(int argc, const char **argv);
|
||||
|
||||
|
@ -143,7 +143,7 @@ enum Clues {
|
||||
kClueLicensePlate = 37,
|
||||
kClueLicensePlateMatch = 38,
|
||||
kClueLabPaintTransfer = 39,
|
||||
kClueDispatchHitAndRun = 40,
|
||||
kClueDispatchHitAndRun = 40, // is never acquired
|
||||
kClueInceptShotRoy = 41,
|
||||
kClueInceptShotsLeon = 42,
|
||||
kCluePhoneCallGuzza = 43,
|
||||
@ -501,7 +501,6 @@ enum Flags {
|
||||
kFlagCT02ZubenTalk = 59,
|
||||
kFlagMA02MaggieIntroduced = 60,
|
||||
kFlagChapter1Ended = 61,
|
||||
// 61 is never used
|
||||
kFlagMA04toMA05 = 62,
|
||||
kFlagMA05toMA04 = 63,
|
||||
kFlagGaffApproachedMcCoyAboutZuben = 64,
|
||||
@ -539,8 +538,11 @@ enum Flags {
|
||||
kFlagTB02toTB05 = 96, // is never checked
|
||||
kFlagTB05toTB06 = 97, // is never checked
|
||||
kFlagTB06toTB05 = 98,
|
||||
|
||||
// 103 is never set
|
||||
kFlagTB05MonitorIntro = 99,
|
||||
kFlagTB05MonitorUnlockAttempt = 100,
|
||||
kFlagTB05MonitorDone = 101,
|
||||
kFlagTB06Visited = 102,
|
||||
kFlagNotUsed103 = 103, // is never set
|
||||
kFlagKleinTalkPaintTransfer = 104,
|
||||
kFlagKleinTalkChromeDebris = 105,
|
||||
kFlagIsabellaIntroduced = 105,
|
||||
@ -571,9 +573,12 @@ enum Flags {
|
||||
kFlagPS02toPS07 = 131,
|
||||
kFlagPS02toPS03 = 132,
|
||||
kFlagPS02toPS09 = 133,
|
||||
kFlagPS03toPS14 = 134,
|
||||
kFlagPS14toPS03 = 135,
|
||||
kFlagPS05toPS06 = 136,
|
||||
kFlagHomelessTalkedTo = 137,
|
||||
kFlagKleinInsulted = 138,
|
||||
// 139 is never used
|
||||
// 140 is never used
|
||||
kFlagRC02LucyDeskAvailable = 141,
|
||||
kFlagNotUsed142 = 142, // is never checked
|
||||
@ -583,7 +588,7 @@ enum Flags {
|
||||
kFlagChapter1Ending = 146,
|
||||
kFlagChopstickWrapperTaken = 147,
|
||||
kFlagCandyTaken = 148,
|
||||
kFlagDogTaken = 149,
|
||||
kFlagToyDogTaken = 149,
|
||||
kFlagNotUsed150 = 150, // has no use
|
||||
kFlagRC03UnlockedToUG01 = 151,
|
||||
kFlagUG15toUG16 = 152,
|
||||
@ -592,7 +597,7 @@ enum Flags {
|
||||
kFlagTB03toTB02 = 155,
|
||||
kFlagKleinInsultedTalk = 156,
|
||||
// 157 is never used
|
||||
|
||||
kFlagSergeantWallsBuzzInDone = 158,
|
||||
kFlagGuzzaTalkZubenRetired = 159,
|
||||
kFlagGuzzaTalkZubenEscaped = 160,
|
||||
kFlagGuzzaTalk1 = 161,
|
||||
@ -618,15 +623,32 @@ enum Flags {
|
||||
kFlagMcCoyAtNRxx = 181,
|
||||
kFlagMcCoyAtRCxx = 182,
|
||||
|
||||
|
||||
|
||||
kFlagRC01PoliceDone = 186,
|
||||
kFlagRC02TalkedToRunciter = 187,
|
||||
|
||||
// 188 is never used
|
||||
// 189 is never used
|
||||
kFlagShellCasingsTaken = 190,
|
||||
// 191 is never used
|
||||
kFlagBoughtHowieLeeFood = 192,
|
||||
|
||||
// 193 is never used
|
||||
// 194 is never used
|
||||
// 195 is never used
|
||||
kFlagKleinAnimation1 = 196,
|
||||
kFlagKleinAnimation2 = 197,
|
||||
kFlagKleinAnimation3 = 198,
|
||||
kFlagOfficerLearyTakingNotes = 199,
|
||||
// 200 is never used
|
||||
// 201 is never used
|
||||
// 202 is never used
|
||||
// 203 is never used
|
||||
kFlagPS15toPS05 = 204,
|
||||
|
||||
// 205 is never used
|
||||
kFlagSergeantWallsBuzzInRequest = 206, // is never set
|
||||
// 207 is never used
|
||||
// 208 is never used
|
||||
// 209 is never used
|
||||
kFlagCT02ZubenFled = 210,
|
||||
kFlagPS09Entered = 211,
|
||||
kFlagNotUsed212 = 212, // is never checked
|
||||
@ -645,10 +667,26 @@ enum Flags {
|
||||
kFlagDR02toDR01 = 225,
|
||||
kFlagDR02toDR03 = 226,
|
||||
kFlagDR03toDR02 = 227,
|
||||
|
||||
kFlagDR04toDR05 = 228, // is never checked
|
||||
kFlagDR05toDR04 = 229,
|
||||
kFlagDR04toDR06 = 230,
|
||||
kFlagDR06toDR04 = 231,
|
||||
kFlagNotUsed232 = 232,
|
||||
// 233 is never used
|
||||
kFlagCT02toCT01walk = 234,
|
||||
|
||||
kFlagArrivedFromSpinner = 247,
|
||||
// 235 is never used
|
||||
kFlagMcCoyAnimation1 = 236,
|
||||
// 237 is never used
|
||||
// 238 is never used
|
||||
kFlagHowieLeeAnimation1 = 239,
|
||||
// 240 is never used
|
||||
// 241 is never used
|
||||
// 242 is never used
|
||||
// 243 is never used
|
||||
// 244 is never used
|
||||
// 245 is never used
|
||||
// 246 is never used
|
||||
kFlagArrivedFromSpinner1 = 247,
|
||||
kFlagSpinnerAtCT01 = 248,
|
||||
kFlagSpinnerAtRC01 = 249,
|
||||
kFlagSpinnerAtMA01 = 250,
|
||||
@ -667,9 +705,41 @@ enum Flags {
|
||||
kFlagBB02toBB01 = 263,
|
||||
kFlagBB01toDR02 = 264,
|
||||
kFlagDR02toBB01 = 265,
|
||||
|
||||
kFlagMorajiExploded = 266,
|
||||
kFlagDR03ChewTalk1 = 267,
|
||||
kFlagDR06JesterActive = 268,
|
||||
kFlagDR05BombActivated = 269,
|
||||
kFlagDR05ChainShot = 270,
|
||||
kFlagDR05BombWillExplode = 271,
|
||||
kFlagDR05BombExploded = 272,
|
||||
kFlagArrivedFromSpinner2 = 273,
|
||||
kFlagDR05MorajiTalk = 274,
|
||||
// 275 is never used
|
||||
kFlagNotUsed276 = 276, // is never set
|
||||
// 277 is never used
|
||||
kFlagDR06KeyboardChecked = 278,
|
||||
// 279 is never used
|
||||
kFlagDR06VidphoneChecked = 280,
|
||||
kFlagBB03toBB02 = 281,
|
||||
kFlagBB02toBB03 = 282, // is never checked
|
||||
kFlagBB03toBB04 = 283,
|
||||
kFlagBB04toBB03 = 284,
|
||||
kFlagBB03toBB05 = 285, // is never checked
|
||||
kFlagBB05toBB03 = 286,
|
||||
kFlagRC04Entered = 287,
|
||||
// 288 is never used
|
||||
kFlagRC04McCoyShotBob = 289,
|
||||
kFlagRC04BobTalk1 = 290,
|
||||
// 291 is never used
|
||||
kFlagRC04BobTalk2 = 292,
|
||||
kFlagCT02PotTipped = 293,
|
||||
kFlagGaffSpinnerCT12 = 294,
|
||||
kFlagRC04BobShootMcCoy = 295,
|
||||
kFlagRC04McCoyCombatMode = 296,
|
||||
|
||||
kFlagRC04McCoyWarned = 303,
|
||||
kFlagRC04BobTalkAmmo = 305,
|
||||
kFlagNotUsed306 = 306, // is never set
|
||||
kFlagSpinnerAtTB02 = 307,
|
||||
kFlagHF01toHF02 = 308,
|
||||
kFlagHF02toHF01 = 309,
|
||||
@ -693,11 +763,27 @@ enum Flags {
|
||||
kFlagUG09toCT12 = 432,
|
||||
kFlagCT12ToUG09 = 433,
|
||||
kFlagGenericWalkerWaiting = 443,
|
||||
kFlagTB02ElevatorToTB05 = 450,
|
||||
kFlagTB05Entered = 451,
|
||||
kFlagTB02GuardTalk1 = 453,
|
||||
kFlagTB02GuardTalk2 = 455,
|
||||
kFlagTB02SteeleTalk = 456,
|
||||
kFlagTB02SteeleEnter = 457,
|
||||
kFlagSteeleWalkingAround = 460,
|
||||
kFlagMaggieIsHurt = 461,
|
||||
kFlagPS04GuzzaLeft = 462,
|
||||
kFlagMcCoyArrested = 465,
|
||||
kFlagMcCoyAtPS03 = 478, // has no use
|
||||
kFlagMcCoyAtHCxx = 479,
|
||||
kFlagTB06Introduction = 483,
|
||||
kFlagPhotographerToTB06 = 485,
|
||||
kFlagKIAPrivacyAddon = 487,
|
||||
kFlagCT04HomelessTrashFinish = 492,
|
||||
kFlagDR05ExplodedEntered = 511,
|
||||
kFlagDR05BombExplosionView = 515,
|
||||
kFlagCT07ZubenAttack = 516,
|
||||
kFlagTB06DogCollarTaken = 519,
|
||||
kFlagTB06KitchenBoxTaken = 520,
|
||||
kFlagKIAPrivacyAddonIntro = 599,
|
||||
kFlagTB07toTB02 = 608,
|
||||
kFlagMcCoySleeping = 647,
|
||||
@ -709,12 +795,16 @@ enum Flags {
|
||||
kFlagPS05TV2 = 690,
|
||||
kFlagPS05TV3 = 691,
|
||||
kFlagPS05TV4 = 692,
|
||||
kFlagRC04Locked = 702,
|
||||
kFlagTB06PhotographTalk1 = 707,
|
||||
kFlagRC51Discovered = 709,
|
||||
kFlagMA04WatchedTV = 711,
|
||||
kFlagMcCoyShotAtZuben = 712,
|
||||
kFlagRC04BobTalk3 = 717,
|
||||
kFlagCT02McCoyFell = 719,
|
||||
kFlagCT02McCoyCombatReady = 720,
|
||||
kFlagZubenBountyPaid = 723
|
||||
kFlagZubenBountyPaid = 723,
|
||||
kFlagPS04WeaponsOrderForm = 727
|
||||
};
|
||||
|
||||
enum Variables {
|
||||
@ -722,6 +812,8 @@ enum Variables {
|
||||
kVariableChinyen = 2,
|
||||
kVariablePoliceMazeScore = 9,
|
||||
kVariablePoliceMazePS10TargetCounter = 10,
|
||||
kVariableMcCoyEvidenceMissed = 14,
|
||||
kVariableBobShot = 24, // has no use
|
||||
kVariableGenericWalkerAModel = 32,
|
||||
kVariableGenericWalkerBModel = 33,
|
||||
kVariableGenericWalkerCModel = 34,
|
||||
@ -790,6 +882,9 @@ enum AnimationModes {
|
||||
kAnimationModeCombatRun = 8,
|
||||
kAnimationModeHit = 21,
|
||||
kAnimationModeCombatHit = 22,
|
||||
kAnimationModeSpinnerGetIn = 41,
|
||||
kAnimationModeSpinnerGetOut = 42,
|
||||
// 43 - taking photo/using cellphone
|
||||
kAnimationModeWalkUp = 44,
|
||||
kAnimationModeWalkDown = 45,
|
||||
kAnimationModeCombatWalkUp = 46,
|
||||
@ -844,9 +939,9 @@ enum Scenes {
|
||||
kSceneDR04 = 28,
|
||||
kSceneDR05 = 29,
|
||||
kSceneDR06 = 30,
|
||||
kSceneHC01 = 31,
|
||||
kSceneHC02 = 32,
|
||||
kSceneHC03 = 33,
|
||||
kSceneHC01 = 31, // Hawker's circle - Green pawn
|
||||
kSceneHC02 = 32, // Hawker's circle - China bar
|
||||
kSceneHC03 = 33, // Hawker's circle -
|
||||
kSceneHF01 = 34,
|
||||
kSceneHF02 = 35,
|
||||
kSceneHF03 = 36,
|
||||
@ -893,12 +988,12 @@ enum Scenes {
|
||||
kScenePS14 = 77,
|
||||
kSceneRC01 = 78, // Runciter - Outside
|
||||
kSceneRC02 = 79, // Runciter - Inside
|
||||
kSceneRC03 = 80,
|
||||
kSceneRC04 = 81,
|
||||
kSceneTB02 = 82,
|
||||
kSceneRC03 = 80, // Bullet Bob - outside
|
||||
kSceneRC04 = 81, // Bullet Bob - inside
|
||||
kSceneTB02 = 82, // Tyrell Building - reception
|
||||
kSceneTB03 = 83,
|
||||
kSceneTB05 = 84,
|
||||
kSceneTB06 = 85,
|
||||
kSceneTB05 = 84, // Tyrell Building - Grav Test Lab - outside
|
||||
kSceneTB06 = 85, // Tyrell Building - Grav Test Lab - inside
|
||||
kSceneUG01 = 86,
|
||||
kSceneUG02 = 87,
|
||||
kSceneUG03 = 88,
|
||||
@ -919,10 +1014,10 @@ enum Scenes {
|
||||
kSceneUG19 = 103,
|
||||
kSceneBB51 = 104,
|
||||
kSceneCT51 = 105,
|
||||
kSceneHC04 = 106,
|
||||
kSceneHC04 = 106, // Hawker's circle - Kingston kitchen
|
||||
kSceneRC51 = 107, // Runciter - Lucy's desk
|
||||
kSceneTB07 = 108,
|
||||
kScenePS15 = 119,
|
||||
kScenePS15 = 119, // Police Station - Armory
|
||||
kSceneBB12 = 120
|
||||
};
|
||||
|
||||
@ -1044,12 +1139,21 @@ enum GameItems {
|
||||
kItemPoliceMazeTarget8 = 7,
|
||||
kItemPoliceMazeTarget9 = 8,
|
||||
kItemChromeDebris = 66,
|
||||
kItemDragonflyEarring = 76,
|
||||
kItemCandy = 79,
|
||||
kItemChopstickWrapper = 82,
|
||||
kItemDogCollar = 84,
|
||||
kItemToyDog = 98,
|
||||
kItemShellCasingA = 100,
|
||||
kItemShellCasingB = 101,
|
||||
kItemShellCasingC = 102
|
||||
kItemShellCasingC = 102,
|
||||
kItemDeadDogA = 103,
|
||||
kItemDeadDogB = 104,
|
||||
kItemDeadDogC = 105,
|
||||
kItemKitchenBox = 108,
|
||||
kItemWeaponsCrate = 110,
|
||||
kItemWeaponsOrderForm = 111,
|
||||
kItemTyrellSalesPamphlet = 119
|
||||
};
|
||||
|
||||
enum Elevators {
|
||||
@ -1127,11 +1231,33 @@ enum GoalMcCoy {
|
||||
kGoalMcCoyDodge = 1
|
||||
};
|
||||
|
||||
enum GoalSteele {
|
||||
kGoalSteeleGoToTB02 = 110,
|
||||
kGoalSteeleLeaveTB02 = 111,
|
||||
kGoalSteeleGoToPoliceStation = 112,
|
||||
kGoalSteeleWalkAround = 113,
|
||||
kGoalSteeleWalkAroundRestart = 190
|
||||
};
|
||||
|
||||
enum GoalGuzza {
|
||||
kGoalGuzzaLeaveOffice = 100,
|
||||
kGoalGuzzaGoToHawkersCircle = 101,
|
||||
kGoalGuzzaGoToOffice = 102
|
||||
};
|
||||
|
||||
enum GoalTransient {
|
||||
kGoalTransientDefault = 0,
|
||||
kGoalTransientCT04Leave = 2
|
||||
};
|
||||
|
||||
enum GoalBulletBob {
|
||||
kGoalBulletBobDefault = 0,
|
||||
kGoalBulletBobWarningMcCoy = 1,
|
||||
kGoalBulletBobShootMcCoy = 2,
|
||||
kGoalBulletBobShotMcCoy = 3, // has no use
|
||||
kGoalBulletBobDead = 4
|
||||
};
|
||||
|
||||
enum GoalZuben {
|
||||
kGoalZubenDefault = 0,
|
||||
kGoalZubenCT01Leave = 1,
|
||||
@ -1154,7 +1280,8 @@ enum GoalZuben {
|
||||
|
||||
enum GoalOfficerLeary {
|
||||
kGoalOfficerLearyDefault = 0,
|
||||
kGoalOfficerLearyCrowdInterrogation = 1
|
||||
kGoalOfficerLearyRC01WalkToCrowd = 1,
|
||||
kGoalOfficerLearyRC01CrowdInterrogation = 2
|
||||
};
|
||||
|
||||
} // End of namespace BladeRunner
|
||||
|
@ -42,56 +42,68 @@ void AIScriptBulletBob::Initialize() {
|
||||
_var3 = 1;
|
||||
_var4 = 0;
|
||||
|
||||
Actor_Set_Goal_Number(kActorBulletBob, 0);
|
||||
Actor_Set_Targetable(kActorBulletBob, 1);
|
||||
Actor_Set_Goal_Number(kActorBulletBob, kGoalBulletBobDefault);
|
||||
Actor_Set_Targetable(kActorBulletBob, true);
|
||||
}
|
||||
|
||||
bool AIScriptBulletBob::Update() {
|
||||
if (Game_Flag_Query(289) && Actor_Query_Goal_Number(kActorBulletBob) != 4) {
|
||||
Actor_Set_Goal_Number(kActorBulletBob, 4);
|
||||
}
|
||||
if (Player_Query_Combat_Mode() != 1
|
||||
|| Player_Query_Current_Scene() != kSceneRC04
|
||||
|| Game_Flag_Query(296)
|
||||
|| Global_Variable_Query(kVariableChapter) >= 4) {
|
||||
if (Actor_Query_Goal_Number(kActorBulletBob) == 1 && !Player_Query_Combat_Mode()) {
|
||||
AI_Countdown_Timer_Reset(kActorBulletBob, 2);
|
||||
Game_Flag_Reset(296);
|
||||
Game_Flag_Set(303);
|
||||
Actor_Set_Goal_Number(kActorBulletBob, 0);
|
||||
}
|
||||
} else {
|
||||
AI_Countdown_Timer_Reset(kActorBulletBob, 2);
|
||||
AI_Countdown_Timer_Start(kActorBulletBob, 2, 10);
|
||||
Actor_Set_Goal_Number(kActorBulletBob, 1);
|
||||
Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, -15);
|
||||
Game_Flag_Set(296);
|
||||
}
|
||||
if (Actor_Query_Goal_Number(kActorBulletBob) != 2 || Game_Flag_Query(295) || _animationState) {
|
||||
if (Game_Flag_Query(303) == 1 && Player_Query_Combat_Mode() == 1 && Actor_Query_Goal_Number(kActorBulletBob) != 4) {
|
||||
Actor_Set_Goal_Number(kActorBulletBob, 2);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
Actor_Face_Heading(kActorBulletBob, 208, 0);
|
||||
_animationFrame = 0;
|
||||
_animationState = 2;
|
||||
Actor_Set_Goal_Number(kActorBulletBob, 3);
|
||||
Game_Flag_Set(295);
|
||||
if (Game_Flag_Query(kFlagRC04McCoyShotBob)
|
||||
&& Actor_Query_Goal_Number(kActorBulletBob) != kGoalBulletBobDead
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorBulletBob, kGoalBulletBobDead);
|
||||
}
|
||||
|
||||
return true;
|
||||
if ( Player_Query_Combat_Mode()
|
||||
&& Player_Query_Current_Scene() == kSceneRC04
|
||||
&& !Game_Flag_Query(kFlagRC04McCoyCombatMode)
|
||||
&& Global_Variable_Query(kVariableChapter) < 4
|
||||
) {
|
||||
AI_Countdown_Timer_Reset(kActorBulletBob, 2);
|
||||
AI_Countdown_Timer_Start(kActorBulletBob, 2, 10);
|
||||
Actor_Set_Goal_Number(kActorBulletBob, kGoalBulletBobWarningMcCoy);
|
||||
Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, -15);
|
||||
Game_Flag_Set(kFlagRC04McCoyCombatMode);
|
||||
} else if ( Actor_Query_Goal_Number(kActorBulletBob) == kGoalBulletBobWarningMcCoy
|
||||
&& !Player_Query_Combat_Mode()
|
||||
) {
|
||||
AI_Countdown_Timer_Reset(kActorBulletBob, 2);
|
||||
Game_Flag_Reset(kFlagRC04McCoyCombatMode);
|
||||
Game_Flag_Set(kFlagRC04McCoyWarned);
|
||||
Actor_Set_Goal_Number(kActorBulletBob, kGoalBulletBobDefault);
|
||||
}
|
||||
|
||||
if ( Actor_Query_Goal_Number(kActorBulletBob) == kGoalBulletBobShootMcCoy
|
||||
&& !Game_Flag_Query(kFlagRC04BobShootMcCoy)
|
||||
&& _animationState == 0
|
||||
) {
|
||||
Actor_Face_Heading(kActorBulletBob, 208, false);
|
||||
_animationFrame = 0;
|
||||
_animationState = 2;
|
||||
Actor_Set_Goal_Number(kActorBulletBob, kGoalBulletBobShotMcCoy);
|
||||
Game_Flag_Set(kFlagRC04BobShootMcCoy);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Game_Flag_Query(kFlagRC04McCoyWarned)
|
||||
&& Player_Query_Combat_Mode()
|
||||
&& Actor_Query_Goal_Number(kActorBulletBob) != kGoalBulletBobDead
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorBulletBob, kGoalBulletBobShootMcCoy);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void AIScriptBulletBob::TimerExpired(int timer) {
|
||||
if (timer != 2 || Actor_Query_Goal_Number(kActorBulletBob) != 1)
|
||||
return; //false;
|
||||
|
||||
Actor_Set_Goal_Number(kActorBulletBob, 2);
|
||||
AI_Countdown_Timer_Reset(kActorBulletBob, 2);
|
||||
|
||||
return; //true;
|
||||
if (timer == 2
|
||||
&& Actor_Query_Goal_Number(kActorBulletBob) == kGoalBulletBobWarningMcCoy
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorBulletBob, kGoalBulletBobShootMcCoy);
|
||||
AI_Countdown_Timer_Reset(kActorBulletBob, 2);
|
||||
return; //true;
|
||||
}
|
||||
return; //false;
|
||||
}
|
||||
|
||||
void AIScriptBulletBob::CompletedMovementTrack() {
|
||||
@ -127,14 +139,14 @@ void AIScriptBulletBob::ShotAtAndMissed() {
|
||||
}
|
||||
|
||||
bool AIScriptBulletBob::ShotAtAndHit() {
|
||||
Global_Variable_Increment(24, 1);
|
||||
if (Global_Variable_Query(24) > 0) {
|
||||
Actor_Set_Targetable(kActorBulletBob, 0);
|
||||
Global_Variable_Increment(kVariableBobShot, 1);
|
||||
if (Global_Variable_Query(kVariableBobShot) > 0) {
|
||||
Actor_Set_Targetable(kActorBulletBob, false);
|
||||
Actor_Set_Goal_Number(kActorBulletBob, 99);
|
||||
_animationFrame = 0;
|
||||
_animationState = 3;
|
||||
Ambient_Sounds_Play_Speech_Sound(2, 9000, 100, 0, 0, 0);
|
||||
Actor_Face_Heading(kActorBulletBob, 281, 0);
|
||||
Actor_Face_Heading(kActorBulletBob, 281, false);
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -149,35 +161,45 @@ int AIScriptBulletBob::GetFriendlinessModifierIfGetsClue(int otherActorId, int c
|
||||
}
|
||||
|
||||
bool AIScriptBulletBob::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
if (newGoalNumber || Game_Flag_Query(303) != 1 || Player_Query_Current_Scene() != kSceneRC04) {
|
||||
if (newGoalNumber == 1 && !Game_Flag_Query(303) && Player_Query_Current_Scene() == kSceneRC04) {
|
||||
Actor_Says(kActorBulletBob, 120, 37);
|
||||
Actor_Says(kActorMcCoy, 4915, 13);
|
||||
return true;
|
||||
}
|
||||
if (newGoalNumber == 6) {
|
||||
Scene_Exits_Disable();
|
||||
Actor_Force_Stop_Walking(kActorMcCoy);
|
||||
Ambient_Sounds_Play_Speech_Sound(kActorMcCoy, 9900, 100, 0, 0, 0);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 48);
|
||||
Actor_Retired_Here(kActorMcCoy, 6, 6, 1, -1);
|
||||
Scene_Exits_Enable();
|
||||
}
|
||||
if (newGoalNumber != 4) {
|
||||
return false;
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, 164) != 1) {
|
||||
Delay(2000);
|
||||
Actor_Voice_Over(2100, kActorVoiceOver);
|
||||
Actor_Voice_Over(2110, kActorVoiceOver);
|
||||
Actor_Voice_Over(2120, kActorVoiceOver);
|
||||
Actor_Voice_Over(2130, kActorVoiceOver);
|
||||
}
|
||||
} else {
|
||||
if (newGoalNumber == kGoalBulletBobDefault
|
||||
&& Game_Flag_Query(kFlagRC04McCoyWarned)
|
||||
&& Player_Query_Current_Scene() == kSceneRC04
|
||||
) {
|
||||
Actor_Says(kActorBulletBob, 140, 16);
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
if ( newGoalNumber == kGoalBulletBobWarningMcCoy
|
||||
&& !Game_Flag_Query(kFlagRC04McCoyWarned)
|
||||
&& Player_Query_Current_Scene() == kSceneRC04
|
||||
) {
|
||||
Actor_Says(kActorBulletBob, 120, 37);
|
||||
Actor_Says(kActorMcCoy, 4915, 13);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (newGoalNumber == kGoalBulletBobDead
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueVKBobGorskyReplicant)
|
||||
) {
|
||||
Delay(2000);
|
||||
Actor_Voice_Over(2100, kActorVoiceOver);
|
||||
Actor_Voice_Over(2110, kActorVoiceOver);
|
||||
Actor_Voice_Over(2120, kActorVoiceOver);
|
||||
Actor_Voice_Over(2130, kActorVoiceOver);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (newGoalNumber == 6) {
|
||||
Scene_Exits_Disable();
|
||||
Actor_Force_Stop_Walking(kActorMcCoy);
|
||||
Ambient_Sounds_Play_Speech_Sound(kActorMcCoy, 9900, 100, 0, 0, 0);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 48);
|
||||
Actor_Retired_Here(kActorMcCoy, 6, 6, 1, -1);
|
||||
Scene_Exits_Enable();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool AIScriptBulletBob::UpdateAnimation(int *animation, int *frame) {
|
||||
@ -256,7 +278,7 @@ bool AIScriptBulletBob::UpdateAnimation(int *animation, int *frame) {
|
||||
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(510) - 1) {
|
||||
_animationFrame = Slice_Animation_Query_Number_Of_Frames(510) - 1;
|
||||
_animationState = 16;
|
||||
Game_Flag_Set(289);
|
||||
Game_Flag_Set(kFlagRC04McCoyShotBob);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -414,14 +436,14 @@ bool AIScriptBulletBob::UpdateAnimation(int *animation, int *frame) {
|
||||
|
||||
bool AIScriptBulletBob::ChangeAnimationMode(int mode) {
|
||||
switch (mode) {
|
||||
case 0:
|
||||
case kAnimationModeIdle:
|
||||
if (_animationState > 4 || _animationState) {
|
||||
_animationState = 0;
|
||||
_animationFrame = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
case kAnimationModeTalk:
|
||||
case 9:
|
||||
case 30:
|
||||
if (_animationState < 6 || _animationState > 13) {
|
||||
@ -431,14 +453,14 @@ bool AIScriptBulletBob::ChangeAnimationMode(int mode) {
|
||||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
case kAnimationModeCombatIdle:
|
||||
if (_animationState <= 4 && !_animationState) {
|
||||
_animationState = 14;
|
||||
_animationFrame = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 6:
|
||||
case kAnimationModeCombatAttack:
|
||||
_animationState = 2;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
@ -461,8 +483,8 @@ bool AIScriptBulletBob::ChangeAnimationMode(int mode) {
|
||||
}
|
||||
break;
|
||||
|
||||
case 21:
|
||||
case 22:
|
||||
case kAnimationModeHit:
|
||||
case kAnimationModeCombatHit:
|
||||
_animationState = 3;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
|
@ -178,7 +178,7 @@ void AIScriptClovis::Retired(int byActorId) {
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(579);
|
||||
Game_Flag_Reset(653);
|
||||
Set_Enter(kSetKP05_KP06, kSetKP03);
|
||||
Set_Enter(kSetKP05_KP06, kSceneKP06);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -273,14 +273,14 @@ bool AIScriptClovis::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
Actor_Says(kActorClovis, 100, 17);
|
||||
Delay(1000);
|
||||
if (!Game_Flag_Query(48)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueStaggeredbyPunches, 1, kActorSadik);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueStaggeredbyPunches, true, kActorSadik);
|
||||
}
|
||||
Game_Flag_Set(383);
|
||||
Game_Flag_Reset(509);
|
||||
Global_Variable_Set(kVariableChapter, 3);
|
||||
Actor_Set_Goal_Number(kActorClovis, 200);
|
||||
Actor_Set_Goal_Number(kActorSadik, 200);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueAct2Ended, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueAct2Ended, true, -1);
|
||||
Player_Gains_Control();
|
||||
Chapter_Enter(3, 6, 20);
|
||||
Game_Flag_Set(550);
|
||||
|
@ -117,22 +117,25 @@ int AIScriptCrazylegs::GetFriendlinessModifierIfGetsClue(int otherActorId, int c
|
||||
}
|
||||
|
||||
bool AIScriptCrazylegs::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
if (newGoalNumber > 2)
|
||||
return false;
|
||||
|
||||
if (newGoalNumber) {
|
||||
if (newGoalNumber != 1) {
|
||||
AI_Movement_Track_Flush(kActorCrazylegs);
|
||||
AI_Movement_Track_Append(kActorCrazylegs, 360, 0);
|
||||
AI_Movement_Track_Append(kActorCrazylegs, 40, 0);
|
||||
AI_Movement_Track_Repeat(kActorCrazylegs);
|
||||
return true;
|
||||
}
|
||||
AI_Movement_Track_Flush(kActorCrazylegs);
|
||||
Actor_Set_Targetable(kActorCrazylegs, 0);
|
||||
if (newGoalNumber == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
if (newGoalNumber == 1) {
|
||||
AI_Movement_Track_Flush(kActorCrazylegs);
|
||||
Actor_Set_Targetable(kActorCrazylegs, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (newGoalNumber == 2) {
|
||||
AI_Movement_Track_Flush(kActorCrazylegs);
|
||||
AI_Movement_Track_Append(kActorCrazylegs, 360, 0);
|
||||
AI_Movement_Track_Append(kActorCrazylegs, 40, 0);
|
||||
AI_Movement_Track_Repeat(kActorCrazylegs);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool AIScriptCrazylegs::UpdateAnimation(int *animation, int *frame) {
|
||||
@ -378,19 +381,6 @@ bool AIScriptCrazylegs::ChangeAnimationMode(int mode) {
|
||||
_animationState = 4;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
case 2:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
case 20:
|
||||
case 21:
|
||||
case 22:
|
||||
return true;
|
||||
case 3:
|
||||
if (_animationState == 2) {
|
||||
_animationState = 15;
|
||||
@ -444,8 +434,8 @@ bool AIScriptCrazylegs::ChangeAnimationMode(int mode) {
|
||||
_animationState = 3;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
default:
|
||||
if (mode == 43 && _animationState != 2) {
|
||||
case 43:
|
||||
if (_animationState != 2) {
|
||||
_animationState = 18;
|
||||
_animationFrame = Slice_Animation_Query_Number_Of_Frames(469) - 1;
|
||||
}
|
||||
|
@ -296,7 +296,7 @@ void AIScriptDektora::Retired(int byActorId) {
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(579);
|
||||
Game_Flag_Reset(653);
|
||||
Set_Enter(kSetKP05_KP06, kSetKP03);
|
||||
Set_Enter(kSetKP05_KP06, kSceneKP06);
|
||||
|
||||
return; //true;
|
||||
}
|
||||
@ -422,7 +422,7 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
Actor_Set_At_XYZ(kActorDektora, -177.0f, 23.88f, -373.0f, 300);
|
||||
_animationState = 36;
|
||||
_animationFrame = 0;
|
||||
Set_Enter(kSetNR01, kSetNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
break;
|
||||
|
||||
case 279:
|
||||
|
@ -73,13 +73,13 @@ void AIScriptGaff::CompletedMovementTrack() {
|
||||
Actor_Says(kActorGaff, 60, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 700, kAnimationModeTalk);
|
||||
Actor_Says(kActorGaff, 70, kAnimationModeTalk);
|
||||
Actor_Clue_Acquire(kActorGaff, kClueMcCoyRetiredZuben, 1, -1);
|
||||
Actor_Clue_Acquire(kActorGaff, kClueMcCoyRetiredZuben, true, -1);
|
||||
} else {
|
||||
Actor_Says(kActorGaff, 80, kAnimationModeTalk);
|
||||
Actor_Says(kActorGaff, 90, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 705, kAnimationModeTalk);
|
||||
Actor_Says(kActorGaff, 100, kAnimationModeTalk);
|
||||
Actor_Clue_Acquire(kActorGaff, kClueMcCoyLetZubenEscape, 1, -1);
|
||||
Actor_Clue_Acquire(kActorGaff, kClueMcCoyLetZubenEscape, true, -1);
|
||||
}
|
||||
Actor_Says(kActorGaff, 20, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 680, kAnimationModeTalk);
|
||||
@ -87,9 +87,9 @@ void AIScriptGaff::CompletedMovementTrack() {
|
||||
Actor_Says(kActorMcCoy, 685, kAnimationModeTalk);
|
||||
Actor_Says(kActorGaff, 40, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 690, kAnimationModeTalk);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGaffsInformation, 1, kActorGaff);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGaffsInformation, true, kActorGaff);
|
||||
CDB_Set_Crime(kClueZuben, kCrimeMoonbusHijacking);
|
||||
Actor_Clue_Acquire(kActorGaff, kClueMcCoyRetiredZuben, 1, -1);
|
||||
Actor_Clue_Acquire(kActorGaff, kClueMcCoyRetiredZuben, true, -1);
|
||||
Game_Flag_Set(kFlagGaffApproachedMcCoyAboutZuben);
|
||||
Player_Gains_Control();
|
||||
Actor_Set_Goal_Number(kActorGaff, 4);
|
||||
|
@ -58,7 +58,7 @@ bool AIScriptGenericWalkerA::Update() {
|
||||
movingUpdate();
|
||||
}
|
||||
break;
|
||||
case 200:
|
||||
case 200: // Automatic gun at Bullet Bob
|
||||
Actor_Face_Actor(kActorGenwalkerA, kActorMcCoy, true);
|
||||
break;
|
||||
}
|
||||
|
@ -102,7 +102,9 @@ void AIScriptGordo::TimerExpired(int timer) {
|
||||
}
|
||||
|
||||
void AIScriptGordo::CompletedMovementTrack() {
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == 1 || Actor_Query_Goal_Number(kActorGordo) == 91) {
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == 1
|
||||
|| Actor_Query_Goal_Number(kActorGordo) == 91
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorGordo, 2);
|
||||
return;// true;
|
||||
}
|
||||
@ -120,7 +122,7 @@ void AIScriptGordo::CompletedMovementTrack() {
|
||||
Player_Set_Combat_Mode(false);
|
||||
Player_Gains_Control();
|
||||
}
|
||||
Actor_Clue_Acquire(kActorGordo, kClueMcCoyRetiredZuben, 1, -1);
|
||||
Actor_Clue_Acquire(kActorGordo, kClueMcCoyRetiredZuben, true, -1);
|
||||
Actor_Set_Goal_Number(kActorGordo, 4);
|
||||
return;// true;
|
||||
}
|
||||
@ -1408,7 +1410,10 @@ void AIScriptGordo::sub_40FD00() {
|
||||
Player_Loses_Control();
|
||||
Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
|
||||
if (Game_Flag_Query(543)) {
|
||||
if (!Game_Flag_Query(272) || Actor_Clue_Query(kActorMcCoy, kClueGordoInterview1) || Actor_Clue_Query(kActorMcCoy, kClueGordoInterview2)) {
|
||||
if (!Game_Flag_Query(kFlagDR05BombExploded)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueGordoInterview1)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueGordoInterview2)
|
||||
) {
|
||||
if (Game_Flag_Query(544)) {
|
||||
switch(Random_Query(1, 4)) {
|
||||
case 1:
|
||||
@ -1447,7 +1452,7 @@ void AIScriptGordo::sub_40FD00() {
|
||||
Actor_Says(kActorGordo, 1020, 13);
|
||||
Actor_Says(kActorMcCoy, 6500, 14);
|
||||
Actor_Says(kActorGordo, 1030, 15);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGordoInterview1, 0, kActorGordo);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGordoInterview1, false, kActorGordo);
|
||||
} else {
|
||||
Actor_Says(kActorGordo, 1040, 12);
|
||||
Actor_Says(kActorGordo, 1050, 13);
|
||||
@ -1456,7 +1461,7 @@ void AIScriptGordo::sub_40FD00() {
|
||||
Actor_Says(kActorGordo, 1070, 14);
|
||||
Actor_Says(kActorMcCoy, 6510, 16);
|
||||
Actor_Says(kActorGordo, 1080, 15);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGordoInterview2, 0, kActorGordo);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGordoInterview2, false, kActorGordo);
|
||||
}
|
||||
AI_Movement_Track_Unpause(kActorGordo);
|
||||
}
|
||||
@ -1543,7 +1548,7 @@ void AIScriptGordo::sub_410590() {
|
||||
Actor_Says(kActorGordo, 260, 18);
|
||||
Actor_Says(kActorMcCoy, 3115, 14);
|
||||
Actor_Says(kActorGordo, 270, 15);
|
||||
Actor_Clue_Acquire(kActorGordo, kClueMcCoyHelpedGordo, 1, -1);
|
||||
Actor_Clue_Acquire(kActorGordo, kClueMcCoyHelpedGordo, true, -1);
|
||||
} else {
|
||||
Delay(1000);
|
||||
Actor_Says(kActorGordo, 570, 13);
|
||||
@ -1596,7 +1601,7 @@ void AIScriptGordo::sub_41090C() {
|
||||
if (Game_Flag_Query(kFlagGordoIsReplicant)) {
|
||||
Actor_Says(kActorGordo, 450, 17);
|
||||
Actor_Says(kActorMcCoy, 3280, 15);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGordoInterview3, 0, kActorGordo);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGordoInterview3, false, kActorGordo);
|
||||
}
|
||||
Actor_Says(kActorGordo, 460, 15);
|
||||
break;
|
||||
@ -1637,7 +1642,7 @@ void AIScriptGordo::sub_41090C() {
|
||||
Actor_Says(kActorGordo, 560, 13);
|
||||
Actor_Says(kActorMcCoy, 3315, 15);
|
||||
Actor_Says(kActorGordo, 570, 14);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGordoConfession, 0, kActorGordo);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGordoConfession, false, kActorGordo);
|
||||
break;
|
||||
case 810:
|
||||
Actor_Says(kActorMcCoy, 3255, kAnimationModeTalk);
|
||||
|
@ -44,14 +44,18 @@ void AIScriptGuzza::Initialize() {
|
||||
|
||||
bool AIScriptGuzza::Update() {
|
||||
if (Global_Variable_Query(kVariableChapter) == 2) {
|
||||
if (!Game_Flag_Query(462)) {
|
||||
Game_Flag_Set(462);
|
||||
if (!Game_Flag_Query(kFlagPS04GuzzaLeft)) {
|
||||
Game_Flag_Set(kFlagPS04GuzzaLeft);
|
||||
Actor_Put_In_Set(kActorGuzza, kSetFreeSlotC);
|
||||
Actor_Set_At_Waypoint(kActorGuzza, 35, 0);
|
||||
Actor_Set_Goal_Number(kActorGuzza, 100);
|
||||
Actor_Set_Goal_Number(kActorGuzza, kGoalGuzzaLeaveOffice);
|
||||
return true;
|
||||
}
|
||||
if (Actor_Query_Goal_Number(kActorGuzza) != 101 && !Game_Flag_Query(463) && Game_Flag_Query(464)) {
|
||||
|
||||
if ( Actor_Query_Goal_Number(kActorGuzza) != kGoalGuzzaGoToHawkersCircle
|
||||
&& !Game_Flag_Query(463)
|
||||
&& Game_Flag_Query(464)
|
||||
) {
|
||||
Game_Flag_Set(463);
|
||||
Actor_Set_Goal_Number(kActorGuzza, 103);
|
||||
return true;
|
||||
@ -66,26 +70,30 @@ void AIScriptGuzza::TimerExpired(int timer) {
|
||||
|
||||
void AIScriptGuzza::CompletedMovementTrack() {
|
||||
switch (Actor_Query_Goal_Number(kActorGuzza)) {
|
||||
case 100:
|
||||
Actor_Set_Goal_Number(kActorGuzza, 102);
|
||||
case kGoalGuzzaLeaveOffice:
|
||||
Actor_Set_Goal_Number(kActorGuzza, kGoalGuzzaGoToOffice);
|
||||
// return true;
|
||||
break;
|
||||
case 102:
|
||||
|
||||
case kGoalGuzzaGoToOffice:
|
||||
if (Random_Query(1, 2) == 1) {
|
||||
Actor_Set_Goal_Number(kActorGuzza, 101);
|
||||
Actor_Set_Goal_Number(kActorGuzza, kGoalGuzzaGoToHawkersCircle);
|
||||
} else {
|
||||
Actor_Set_Goal_Number(kActorGuzza, 104);
|
||||
}
|
||||
// return true;
|
||||
break;
|
||||
|
||||
case 103:
|
||||
Actor_Set_Goal_Number(kActorGuzza, 100);
|
||||
Actor_Set_Goal_Number(kActorGuzza, kGoalGuzzaLeaveOffice);
|
||||
// return true;
|
||||
break;
|
||||
|
||||
case 105:
|
||||
Actor_Set_Goal_Number(kActorGuzza, 100);
|
||||
Actor_Set_Goal_Number(kActorGuzza, kGoalGuzzaLeaveOffice);
|
||||
// return true;
|
||||
break;
|
||||
|
||||
}
|
||||
// return false;
|
||||
}
|
||||
@ -95,7 +103,9 @@ void AIScriptGuzza::ReceivedClue(int clueId, int fromActorId) {
|
||||
}
|
||||
|
||||
void AIScriptGuzza::ClickedByPlayer() {
|
||||
if (Global_Variable_Query(kVariableChapter) == 2 && Game_Flag_Query(462) == 1) {
|
||||
if (Global_Variable_Query(kVariableChapter) == 2
|
||||
&& Game_Flag_Query(kFlagPS04GuzzaLeft)
|
||||
) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
|
||||
if (Actor_Query_Friendliness_To_Other(kActorGordo, kActorMcCoy) < 48) {
|
||||
Actor_Says(kActorMcCoy, 3970, 13);
|
||||
@ -164,14 +174,15 @@ int AIScriptGuzza::GetFriendlinessModifierIfGetsClue(int otherActorId, int clueI
|
||||
|
||||
bool AIScriptGuzza::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
switch (newGoalNumber) {
|
||||
case 100:
|
||||
case kGoalGuzzaLeaveOffice:
|
||||
AI_Movement_Track_Flush(kActorGuzza);
|
||||
AI_Movement_Track_Append_With_Facing(kActorGuzza, 263, 0, 150);
|
||||
AI_Movement_Track_Append_With_Facing(kActorGuzza, 263, 5, 150);
|
||||
AI_Movement_Track_Append(kActorGuzza, 35, 90);
|
||||
AI_Movement_Track_Repeat(kActorGuzza);
|
||||
return true;
|
||||
case 101:
|
||||
|
||||
case kGoalGuzzaGoToHawkersCircle:
|
||||
AI_Movement_Track_Flush(kActorGuzza);
|
||||
AI_Movement_Track_Append(kActorGuzza, 258, 0);
|
||||
AI_Movement_Track_Append(kActorGuzza, 260, 8);
|
||||
@ -179,12 +190,14 @@ bool AIScriptGuzza::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
AI_Movement_Track_Append(kActorGuzza, 262, 0);
|
||||
AI_Movement_Track_Repeat(kActorGuzza);
|
||||
return true;
|
||||
case 102:
|
||||
|
||||
case kGoalGuzzaGoToOffice:
|
||||
AI_Movement_Track_Flush(kActorGuzza);
|
||||
AI_Movement_Track_Flush(kActorGuzza);
|
||||
AI_Movement_Track_Append_With_Facing(kActorGuzza, 263, 600, 150);
|
||||
AI_Movement_Track_Repeat(kActorGuzza);
|
||||
return true;
|
||||
|
||||
case 103:
|
||||
AI_Movement_Track_Flush(kActorGuzza);
|
||||
AI_Movement_Track_Append(kActorGuzza, 258, 0);
|
||||
@ -192,16 +205,19 @@ bool AIScriptGuzza::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
AI_Movement_Track_Append(kActorGuzza, 258, 0);
|
||||
AI_Movement_Track_Repeat(kActorGuzza);
|
||||
return true;
|
||||
|
||||
case 104:
|
||||
AI_Movement_Track_Flush(kActorGuzza);
|
||||
AI_Movement_Track_Append(kActorGuzza, 34, 60);
|
||||
AI_Movement_Track_Repeat(kActorGuzza);
|
||||
return true;
|
||||
|
||||
case 105:
|
||||
AI_Movement_Track_Flush(kActorGuzza);
|
||||
AI_Movement_Track_Append(kActorGuzza, 39, 120);
|
||||
AI_Movement_Track_Repeat(kActorGuzza);
|
||||
return true;
|
||||
|
||||
case 201:
|
||||
Actor_Change_Animation_Mode(kActorGuzza, 53);
|
||||
_animationState = 1;
|
||||
@ -209,19 +225,23 @@ bool AIScriptGuzza::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
Actor_Put_In_Set(kActorGuzza, kSetNR03);
|
||||
Actor_Set_At_XYZ(kActorGuzza, -229.0f, -70.19f, -469.0f, 400);
|
||||
return true;
|
||||
|
||||
case 300:
|
||||
Actor_Put_In_Set(kActorGuzza, kSetUG18);
|
||||
Actor_Set_At_XYZ(kActorGuzza, 10.79f, 0.0f, -354.17f, 400);
|
||||
Actor_Change_Animation_Mode(kActorGuzza, kAnimationModeIdle);
|
||||
return true;
|
||||
|
||||
case 301:
|
||||
Actor_Set_Targetable(kActorGuzza, true);
|
||||
return true;
|
||||
|
||||
case 302:
|
||||
case 303:
|
||||
case 304:
|
||||
Actor_Set_Targetable(kActorGuzza, false);
|
||||
return true;
|
||||
|
||||
case 305:
|
||||
case 306:
|
||||
case 307:
|
||||
|
@ -280,7 +280,7 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
Actor_Put_In_Set(kActorHanoi, kSetNR01);
|
||||
Actor_Set_At_XYZ(kActorHanoi, -444.0f, 24.0f, -845.0f, 512);
|
||||
Actor_Change_Animation_Mode(kActorHanoi, 78);
|
||||
Set_Enter(kSetNR01, kSetNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
break;
|
||||
|
||||
case 230:
|
||||
|
@ -184,7 +184,7 @@ bool AIScriptHolloway::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
Player_Gains_Control();
|
||||
}
|
||||
Game_Flag_Set(334);
|
||||
Set_Enter(kSetUG04, kSetUG18);
|
||||
Set_Enter(kSetUG04, kSceneUG04);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -41,24 +41,36 @@ void AIScriptHowieLee::Initialize() {
|
||||
}
|
||||
|
||||
bool AIScriptHowieLee::Update() {
|
||||
if (Actor_Query_Goal_Number(kActorHowieLee) < 100 && Global_Variable_Query(kVariableChapter) == 2) {
|
||||
if (Actor_Query_Goal_Number(kActorHowieLee) < 100
|
||||
&& Global_Variable_Query(kVariableChapter) == 2
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 100);
|
||||
}
|
||||
|
||||
if (Global_Variable_Query(kVariableChapter) > 1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorHowieLee) == 0) {
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 1);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagMcCoyAtCTxx) && !Actor_Query_In_Set(kActorHowieLee, kSetCT01_CT12)) {
|
||||
|
||||
if ( Game_Flag_Query(kFlagMcCoyAtCTxx)
|
||||
&& !Actor_Query_In_Set(kActorHowieLee, kSetCT01_CT12)
|
||||
) {
|
||||
AI_Movement_Track_Flush(kActorHowieLee);
|
||||
AI_Movement_Track_Append(kActorHowieLee, 67, 0);
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 0);
|
||||
}
|
||||
if (Actor_Query_Goal_Number(kActorHowieLee) == 1 && Game_Flag_Query(kFlagBoughtHowieLeeFood) && !Game_Flag_Query(kFlagMcCoyAtCTxx)) {
|
||||
|
||||
if ( Actor_Query_Goal_Number(kActorHowieLee) == 1
|
||||
&& Game_Flag_Query(kFlagBoughtHowieLeeFood)
|
||||
&& !Game_Flag_Query(kFlagMcCoyAtCTxx)
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 4);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -69,23 +81,33 @@ void AIScriptHowieLee::TimerExpired(int timer) {
|
||||
void AIScriptHowieLee::CompletedMovementTrack() {
|
||||
if (Actor_Query_Goal_Number(kActorHowieLee) == 1) {
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 2);
|
||||
// return true;
|
||||
} else if (Actor_Query_Goal_Number(kActorHowieLee) == 2) {
|
||||
return; // true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorHowieLee) == 2) {
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 3);
|
||||
// return true;
|
||||
} else if (Actor_Query_Goal_Number(kActorHowieLee) == 3) {
|
||||
return; // true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorHowieLee) == 3) {
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 0);
|
||||
// return true;
|
||||
} else if (Actor_Query_Goal_Number(kActorHowieLee) == 3) {
|
||||
// Bug/intentional in original game
|
||||
return; // true;
|
||||
}
|
||||
|
||||
// Bug/intentional in original game?
|
||||
if (Actor_Query_Goal_Number(kActorHowieLee) == 3) {
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 4);
|
||||
// return true;
|
||||
} else if (Actor_Query_Goal_Number(kActorHowieLee) == 4) {
|
||||
return; // true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorHowieLee) == 4) {
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 5);
|
||||
// return true;
|
||||
} else if (Actor_Query_Goal_Number(kActorHowieLee) == 5) {
|
||||
return; // true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorHowieLee) == 5) {
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 0);
|
||||
// return true;
|
||||
return; // true;
|
||||
}
|
||||
// return false;
|
||||
}
|
||||
@ -238,7 +260,7 @@ bool AIScriptHowieLee::UpdateAnimation(int *animation, int *frame) {
|
||||
_animationFrame = 0;
|
||||
var_45DFB8 = Random_Query(0, 1);
|
||||
} else {
|
||||
Game_Flag_Set(239);
|
||||
Game_Flag_Set(kFlagHowieLeeAnimation1);
|
||||
}
|
||||
*animation = 673;
|
||||
}
|
||||
@ -251,8 +273,8 @@ bool AIScriptHowieLee::UpdateAnimation(int *animation, int *frame) {
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (Game_Flag_Query(239)) {
|
||||
Game_Flag_Reset(239);
|
||||
if (Game_Flag_Query(kFlagHowieLeeAnimation1)) {
|
||||
Game_Flag_Reset(kFlagHowieLeeAnimation1);
|
||||
_animationState = 0;
|
||||
_animationFrame = 0;
|
||||
var_45DFB8 = Random_Query(0, 1);
|
||||
@ -326,7 +348,7 @@ bool AIScriptHowieLee::ChangeAnimationMode(int mode) {
|
||||
_animationFrame = 0;
|
||||
var_45DFB8 = Random_Query(0, 1);
|
||||
} else {
|
||||
Game_Flag_Set(239);
|
||||
Game_Flag_Set(kFlagHowieLeeAnimation1);
|
||||
}
|
||||
break;
|
||||
case kAnimationModeWalk:
|
||||
|
@ -235,7 +235,7 @@ void AIScriptIzo::Retired(int byActorId) {
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(579);
|
||||
Game_Flag_Reset(653);
|
||||
Set_Enter(kSetKP05_KP06, kSetKP03);
|
||||
Set_Enter(kSetKP05_KP06, kSceneKP06);
|
||||
return; //true;
|
||||
}
|
||||
|
||||
@ -446,16 +446,17 @@ bool AIScriptIzo::UpdateAnimation(int *animation, int *frame) {
|
||||
} else {
|
||||
_animationFrame += _var2;
|
||||
if (_animationFrame < 0) {
|
||||
_animationFrame--;
|
||||
_animationFrame = Slice_Animation_Query_Number_Of_Frames(297) - 1;
|
||||
} else if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(297)) {
|
||||
_animationFrame = 0;
|
||||
}
|
||||
if (!--_var1) {
|
||||
--_var1;
|
||||
if (_var1 == 0) {
|
||||
_var2 = 2 * Random_Query(0, 1) - 1;
|
||||
_var1 = Random_Query(6, 14);
|
||||
_var3 = Random_Query(0, 2);
|
||||
}
|
||||
if (!_animationFrame) {
|
||||
if (_animationFrame == 0) {
|
||||
if (!Random_Query(0, 5)) {
|
||||
_var4 = 1;
|
||||
}
|
||||
|
@ -224,23 +224,29 @@ bool AIScriptKlein::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
bool AIScriptKlein::UpdateAnimation(int *animation, int *frame) {
|
||||
switch (_animationState) {
|
||||
case 0:
|
||||
if (Actor_Query_Goal_Number(kActorKlein) == 1 || Actor_Query_Goal_Number(kActorKlein) == 2) {
|
||||
if (Actor_Query_Goal_Number(kActorKlein) == 1
|
||||
|| Actor_Query_Goal_Number(kActorKlein) == 2
|
||||
) {
|
||||
*animation = 691;
|
||||
_animationFrame++;
|
||||
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(691)) {
|
||||
_animationFrame = 0;
|
||||
}
|
||||
} else if (!Game_Flag_Query(196) && Actor_Query_Goal_Number(kActorKlein) == 3) {
|
||||
} else if (!Game_Flag_Query(kFlagKleinAnimation1)
|
||||
&& Actor_Query_Goal_Number(kActorKlein) == 3
|
||||
) {
|
||||
*animation = 689;
|
||||
_animationFrame++;
|
||||
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(689)) {
|
||||
_animationFrame = 0;
|
||||
if (Random_Query(1, 10) == 1) {
|
||||
Game_Flag_Set(196);
|
||||
Game_Flag_Set(kFlagKleinAnimation1);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (Game_Flag_Query(198) && Actor_Query_Goal_Number(kActorKlein) == 3) {
|
||||
if (Game_Flag_Query(kFlagKleinAnimation3)
|
||||
&& Actor_Query_Goal_Number(kActorKlein) == 3
|
||||
) {
|
||||
_animationFrame--;
|
||||
if (_animationFrame < 0) {
|
||||
_animationFrame = 0;
|
||||
@ -251,24 +257,24 @@ bool AIScriptKlein::UpdateAnimation(int *animation, int *frame) {
|
||||
|
||||
*animation = 690;
|
||||
if (_animationFrame <= 9) {
|
||||
if (Game_Flag_Query(198)) {
|
||||
Game_Flag_Reset(198);
|
||||
if (Game_Flag_Query(kFlagKleinAnimation3)) {
|
||||
Game_Flag_Reset(kFlagKleinAnimation3);
|
||||
}
|
||||
}
|
||||
if (_animationFrame == 14) {
|
||||
if (Random_Query(1, 5) == 1) {
|
||||
Game_Flag_Set(197);
|
||||
Game_Flag_Set(kFlagKleinAnimation2);
|
||||
}
|
||||
}
|
||||
if (_animationFrame == 15) {
|
||||
if (Game_Flag_Query(197) == 1) {
|
||||
Game_Flag_Reset(197);
|
||||
Game_Flag_Set(198);
|
||||
if (Game_Flag_Query(kFlagKleinAnimation2)) {
|
||||
Game_Flag_Reset(kFlagKleinAnimation2);
|
||||
Game_Flag_Set(kFlagKleinAnimation3);
|
||||
}
|
||||
}
|
||||
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(690)) {
|
||||
_animationFrame = 0;
|
||||
Game_Flag_Reset(196);
|
||||
Game_Flag_Reset(kFlagKleinAnimation1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -194,7 +194,7 @@ void AIScriptMcCoy::ReceivedClue(int clueId, int fromActorId) {
|
||||
Actor_Voice_Over(3420, kActorVoiceOver);
|
||||
break;
|
||||
}
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGuzzaFramedMcCoy, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGuzzaFramedMcCoy, true, -1);
|
||||
if (clueId == kClueFolder) {
|
||||
Actor_Voice_Over(2780, kActorVoiceOver);
|
||||
Actor_Voice_Over(2800, kActorVoiceOver);
|
||||
@ -1156,14 +1156,14 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
if (_animationFrame == 0 && !Game_Flag_Query(236)) {
|
||||
if (_animationFrame == 0 && !Game_Flag_Query(kFlagMcCoyAnimation1)) {
|
||||
_animationFrame = 1;
|
||||
_animationState = dword_45A0F0;
|
||||
*animation = dword_45A0F4;
|
||||
dword_45A0F0 = 4;
|
||||
dword_45A0F4 = 20;
|
||||
} else if (_animationFrame <= 4 && Game_Flag_Query(236)) {
|
||||
Game_Flag_Reset(236);
|
||||
} else if (_animationFrame <= 4 && Game_Flag_Query(kFlagMcCoyAnimation1)) {
|
||||
Game_Flag_Reset(kFlagMcCoyAnimation1);
|
||||
*animation = 19;
|
||||
_animationFrame = 0;
|
||||
_animationState = 0;
|
||||
@ -1241,7 +1241,7 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
Game_Flag_Set(236);
|
||||
Game_Flag_Set(kFlagMcCoyAnimation1);
|
||||
dword_45A0D8 = 0;
|
||||
dword_45A0DC = 30;
|
||||
dword_45A0E4 = 0;
|
||||
@ -1319,7 +1319,7 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
|
||||
_animationStateNext = 3;
|
||||
_animationNext = 20;
|
||||
} else {
|
||||
Game_Flag_Reset(236);
|
||||
Game_Flag_Reset(kFlagMcCoyAnimation1);
|
||||
dword_45A0F0 = 4;
|
||||
dword_45A0F4 = 20;
|
||||
}
|
||||
@ -1405,7 +1405,7 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
|
||||
_animationStateNext = 5;
|
||||
_animationNext = 21;
|
||||
} else {
|
||||
Game_Flag_Reset(236);
|
||||
Game_Flag_Reset(kFlagMcCoyAnimation1);
|
||||
dword_45A0F0 = 5;
|
||||
dword_45A0F4 = 21;
|
||||
}
|
||||
@ -1417,7 +1417,7 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
|
||||
_animationStateNext = 6;
|
||||
_animationNext = 27;
|
||||
} else {
|
||||
Game_Flag_Reset(236);
|
||||
Game_Flag_Reset(kFlagMcCoyAnimation1);
|
||||
dword_45A0F0 = 6;
|
||||
dword_45A0F4 = 27;
|
||||
}
|
||||
@ -1429,7 +1429,7 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
|
||||
_animationStateNext = 7;
|
||||
_animationNext = 22;
|
||||
} else {
|
||||
Game_Flag_Reset(236);
|
||||
Game_Flag_Reset(kFlagMcCoyAnimation1);
|
||||
dword_45A0F0 = 7;
|
||||
dword_45A0F4 = 22;
|
||||
}
|
||||
@ -1440,7 +1440,7 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
|
||||
_animationStateNext = 8;
|
||||
_animationNext = 23;
|
||||
} else {
|
||||
Game_Flag_Reset(236);
|
||||
Game_Flag_Reset(kFlagMcCoyAnimation1);
|
||||
dword_45A0F0 = 8;
|
||||
dword_45A0F4 = 23;
|
||||
}
|
||||
@ -1451,7 +1451,7 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
|
||||
_animationStateNext = 9;
|
||||
_animationNext = 24;
|
||||
} else {
|
||||
Game_Flag_Reset(236);
|
||||
Game_Flag_Reset(kFlagMcCoyAnimation1);
|
||||
dword_45A0F0 = 9;
|
||||
dword_45A0F4 = 24;
|
||||
}
|
||||
@ -1462,7 +1462,7 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
|
||||
_animationStateNext = 10;
|
||||
_animationNext = 25;
|
||||
} else {
|
||||
Game_Flag_Reset(236);
|
||||
Game_Flag_Reset(kFlagMcCoyAnimation1);
|
||||
dword_45A0F0 = 10;
|
||||
dword_45A0F4 = 25;
|
||||
}
|
||||
@ -1473,7 +1473,7 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
|
||||
_animationStateNext = 11;
|
||||
_animationNext = 26;
|
||||
} else {
|
||||
Game_Flag_Reset(236);
|
||||
Game_Flag_Reset(kFlagMcCoyAnimation1);
|
||||
dword_45A0F0 = 11;
|
||||
dword_45A0F4 = 26;
|
||||
}
|
||||
@ -1484,7 +1484,7 @@ bool AIScriptMcCoy::ChangeAnimationMode(int mode) {
|
||||
_animationStateNext = 12;
|
||||
_animationNext = 27;
|
||||
} else {
|
||||
Game_Flag_Reset(236);
|
||||
Game_Flag_Reset(kFlagMcCoyAnimation1);
|
||||
dword_45A0F0 = 12;
|
||||
dword_45A0F4 = 27;
|
||||
}
|
||||
@ -1719,25 +1719,6 @@ void AIScriptMcCoy::sub_405660() {
|
||||
return;
|
||||
}
|
||||
switch (_animationState) {
|
||||
case 17:
|
||||
case 20:
|
||||
case 21:
|
||||
case 36:
|
||||
_animationState = 16;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
case 16:
|
||||
case 25:
|
||||
case 26:
|
||||
break;
|
||||
case 15:
|
||||
_animationState = 16;
|
||||
_animationFrame = 16 - 16 * _animationFrame / 12;
|
||||
break;
|
||||
case 14:
|
||||
_animationState = 16;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
@ -1748,13 +1729,32 @@ void AIScriptMcCoy::sub_405660() {
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
Game_Flag_Set(236);
|
||||
Game_Flag_Set(kFlagMcCoyAnimation1);
|
||||
dword_45A0D8 = 0;
|
||||
dword_45A0DC = 30;
|
||||
dword_45A0E4 = 0;
|
||||
_animationFrameDelta = 1;
|
||||
dword_45A0E8 = 3;
|
||||
break;
|
||||
case 14:
|
||||
_animationState = 16;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
case 15:
|
||||
_animationState = 16;
|
||||
_animationFrame = 16 - 16 * _animationFrame / 12;
|
||||
break;
|
||||
case 17:
|
||||
case 20:
|
||||
case 21:
|
||||
case 36:
|
||||
_animationState = 16;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
case 16:
|
||||
case 25:
|
||||
case 26:
|
||||
break;
|
||||
case 60:
|
||||
_animationState = 61;
|
||||
break;
|
||||
|
@ -42,46 +42,49 @@ void AIScriptMoraji::Initialize() {
|
||||
}
|
||||
|
||||
bool AIScriptMoraji::Update() {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) || Player_Query_Current_Scene() != 29 || Game_Flag_Query(269)) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 19) {
|
||||
Actor_Says(kActorMoraji, 80, 13);
|
||||
_animationState = 9;
|
||||
_animationFrame = -1;
|
||||
Actor_Set_Goal_Number(kActorMoraji, 18);
|
||||
}
|
||||
return false;
|
||||
} else {
|
||||
if ( Actor_Query_Goal_Number(kActorMoraji) == 0
|
||||
&& Player_Query_Current_Scene() == kSceneDR05
|
||||
&& !Game_Flag_Query(kFlagDR05BombActivated)
|
||||
) {
|
||||
AI_Countdown_Timer_Reset(kActorMoraji, 2);
|
||||
AI_Countdown_Timer_Start(kActorMoraji, 2, 30);
|
||||
Game_Flag_Set(269);
|
||||
Game_Flag_Set(kFlagDR05BombActivated);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 19) {
|
||||
Actor_Says(kActorMoraji, 80, 13);
|
||||
_animationState = 9;
|
||||
_animationFrame = -1;
|
||||
Actor_Set_Goal_Number(kActorMoraji, 18);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void AIScriptMoraji::TimerExpired(int timer) {
|
||||
if (timer != 2) {
|
||||
return; //false;
|
||||
if (timer == 2) {
|
||||
AI_Countdown_Timer_Reset(kActorMoraji, 2);
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) != 20
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != 21
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != 99
|
||||
) {
|
||||
Game_Flag_Set(kFlagDR05BombWillExplode);
|
||||
}
|
||||
return; //true;
|
||||
}
|
||||
|
||||
AI_Countdown_Timer_Reset(kActorMoraji, 2);
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) != 20
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != 21
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != 99) {
|
||||
Game_Flag_Set(271);
|
||||
}
|
||||
return; //true;
|
||||
return; //false;
|
||||
}
|
||||
|
||||
void AIScriptMoraji::CompletedMovementTrack() {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) != 11)
|
||||
return; //false
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 11) {
|
||||
AI_Countdown_Timer_Reset(kActorMoraji, 2);
|
||||
Game_Flag_Set(kFlagDR05BombWillExplode);
|
||||
_animationState = 3;
|
||||
|
||||
AI_Countdown_Timer_Reset(kActorMoraji, 2);
|
||||
Game_Flag_Set(271);
|
||||
_animationState = 3;
|
||||
|
||||
return; //true;
|
||||
return; //true;
|
||||
}
|
||||
return; //false
|
||||
}
|
||||
|
||||
void AIScriptMoraji::ReceivedClue(int clueId, int fromActorId) {
|
||||
@ -184,16 +187,16 @@ bool AIScriptMoraji::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
return true;
|
||||
break;
|
||||
case 30:
|
||||
if (Player_Query_Current_Scene() == 29) {
|
||||
Game_Flag_Set(515);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSetCT05);
|
||||
if (Player_Query_Current_Scene() == kSceneDR05) {
|
||||
Game_Flag_Set(kFlagDR05BombExplosionView);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR04);
|
||||
} else {
|
||||
if (Actor_Query_In_Set(kActorMoraji, kSetDR05)) {
|
||||
Actor_Set_Goal_Number(kActorMoraji, 99);
|
||||
} else {
|
||||
Actor_Set_Goal_Number(kActorMoraji, 20);
|
||||
}
|
||||
Game_Flag_Set(266);
|
||||
Game_Flag_Set(kFlagMorajiExploded);
|
||||
}
|
||||
return true;
|
||||
case 99:
|
||||
|
@ -49,46 +49,73 @@ bool AIScriptOfficerLeary::Update() {
|
||||
) {
|
||||
AI_Movement_Track_Flush(kActorOfficerLeary);
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, 300);
|
||||
} else if (Global_Variable_Query(kVariableChapter) == 5
|
||||
&& Actor_Query_Goal_Number(kActorOfficerLeary) < 400
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Global_Variable_Query(kVariableChapter) == 5
|
||||
&& Actor_Query_Goal_Number(kActorOfficerLeary) < 400
|
||||
) {
|
||||
AI_Movement_Track_Flush(kActorOfficerLeary);
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, 400);
|
||||
} else if (!Game_Flag_Query(kFlagMcCoyAtRCxx)
|
||||
&& Game_Flag_Query(kFlagChopstickWrapperTaken)
|
||||
&& Game_Flag_Query(kFlagChromeDebrisTaken)
|
||||
&& Player_Query_Current_Scene() != kSceneRC01
|
||||
&& Global_Variable_Query(kVariableChapter) < 3
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!Game_Flag_Query(kFlagMcCoyAtRCxx)
|
||||
&& Game_Flag_Query(kFlagChopstickWrapperTaken)
|
||||
&& Game_Flag_Query(kFlagChromeDebrisTaken)
|
||||
&& Player_Query_Current_Scene() != kSceneRC01
|
||||
&& Global_Variable_Query(kVariableChapter) < 3
|
||||
) {
|
||||
Game_Flag_Set(kFlagRC01PoliceDone);
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, 3);
|
||||
} else if (Actor_Query_Goal_Number(kActorOfficerLeary) != kGoalOfficerLearyCrowdInterrogation
|
||||
&& Actor_Query_Goal_Number(kActorOfficerLeary) != 2
|
||||
&& Game_Flag_Query(199)
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorOfficerLeary) != kGoalOfficerLearyRC01WalkToCrowd
|
||||
&& Actor_Query_Goal_Number(kActorOfficerLeary) != kGoalOfficerLearyRC01CrowdInterrogation
|
||||
&& Game_Flag_Query(kFlagOfficerLearyTakingNotes)
|
||||
) {
|
||||
Game_Flag_Reset(199);
|
||||
} else if ( Global_Variable_Query(15) > 4
|
||||
&& !Actor_Clue_Query(kActorOfficerLeary, kClueMcCoyIsStupid)
|
||||
Game_Flag_Reset(kFlagOfficerLearyTakingNotes);
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( Global_Variable_Query(15) > 4
|
||||
&& !Actor_Clue_Query(kActorOfficerLeary, kClueMcCoyIsStupid)
|
||||
) {
|
||||
Actor_Clue_Acquire(kActorOfficerLeary, kClueMcCoyIsStupid, 1, -1);
|
||||
} else if (Game_Flag_Query(629)) {
|
||||
Actor_Clue_Acquire(kActorOfficerLeary, kClueMcCoyIsStupid, true, -1);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Game_Flag_Query(629)) {
|
||||
Game_Flag_Reset(629);
|
||||
} else if ( Game_Flag_Query(623)
|
||||
&& !Game_Flag_Query(664)
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( Game_Flag_Query(623)
|
||||
&& !Game_Flag_Query(664)
|
||||
) {
|
||||
Game_Flag_Set(664);
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, 305);
|
||||
} else if (Actor_Query_Goal_Number(kActorOfficerLeary) == 310
|
||||
&& Actor_Query_Which_Set_In(kActorOfficerLeary) != Player_Query_Current_Set()
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorOfficerLeary) == 310
|
||||
&& Actor_Query_Which_Set_In(kActorOfficerLeary) != Player_Query_Current_Set()
|
||||
) {
|
||||
Non_Player_Actor_Combat_Mode_Off(kActorOfficerLeary);
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, 305);
|
||||
} else if (Actor_Query_Goal_Number(kActorOfficerLeary) == 599
|
||||
&& Actor_Query_Which_Set_In(kActorOfficerLeary) != Player_Query_Current_Set()
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorOfficerLeary) == 599
|
||||
&& Actor_Query_Which_Set_In(kActorOfficerLeary) != Player_Query_Current_Set()
|
||||
) {
|
||||
Actor_Set_Health(kActorOfficerLeary, 40, 40);
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, 305);
|
||||
} else if (Actor_Query_Goal_Number(kActorOfficerLeary) == 305) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorOfficerLeary) == 305) {
|
||||
switch (Actor_Query_Which_Set_In(kActorOfficerLeary)) {
|
||||
case kSetDR01_DR02_DR04:
|
||||
if (Actor_Query_Which_Set_In(kActorOfficerLeary) == Player_Query_Current_Set()) {
|
||||
@ -180,37 +207,31 @@ void AIScriptOfficerLeary::TimerExpired(int timer) {
|
||||
}
|
||||
} else if (timer == 2) {
|
||||
AI_Countdown_Timer_Reset(kActorOfficerLeary, 2);
|
||||
sub_431420();
|
||||
Game_Flag_Reset(kFlagOfficerLearyTakingNotes);
|
||||
}
|
||||
}
|
||||
|
||||
void AIScriptOfficerLeary::CompletedMovementTrack() {
|
||||
int v0;
|
||||
unsigned int v1;
|
||||
|
||||
v0 = Actor_Query_Goal_Number(kActorOfficerLeary);
|
||||
if (v0 == 1) {
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, 2);
|
||||
int goal = Actor_Query_Goal_Number(kActorOfficerLeary);
|
||||
if (goal == kGoalOfficerLearyRC01WalkToCrowd) {
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyRC01CrowdInterrogation);
|
||||
return;
|
||||
}
|
||||
//todo: tidyup
|
||||
v1 = v0 - 305;
|
||||
if (v1 > 3) {
|
||||
if (goal > 308) {
|
||||
return;
|
||||
}
|
||||
if (!v1) {
|
||||
if (goal == 305) {
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, 306);
|
||||
return;
|
||||
}
|
||||
if (v1 != 2) {
|
||||
if (v1 == 3) {
|
||||
Actor_Change_Animation_Mode(kActorOfficerLeary, 4);
|
||||
Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, 309);
|
||||
}
|
||||
return;
|
||||
if (goal == 307) {
|
||||
Non_Player_Actor_Combat_Mode_On(kActorOfficerLeary, 0, 1, kActorMcCoy, 12, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, -1, -1, 15, 300, 0);
|
||||
}
|
||||
if (goal == 308) {
|
||||
Actor_Change_Animation_Mode(kActorOfficerLeary, 4);
|
||||
Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, 309);
|
||||
}
|
||||
Non_Player_Actor_Combat_Mode_On(kActorOfficerLeary, 0, 1, kActorMcCoy, 12, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, -1, -1, 15, 300, 0);
|
||||
}
|
||||
|
||||
void AIScriptOfficerLeary::ReceivedClue(int clueId, int fromActorId) {
|
||||
@ -279,7 +300,7 @@ int AIScriptOfficerLeary::GetFriendlinessModifierIfGetsClue(int otherActorId, in
|
||||
|
||||
bool AIScriptOfficerLeary::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
switch (newGoalNumber) {
|
||||
case 1:
|
||||
case kGoalOfficerLearyRC01WalkToCrowd:
|
||||
AI_Movement_Track_Flush(kActorOfficerLeary);
|
||||
if (Random_Query(1, 2) == 1) {
|
||||
AI_Movement_Track_Append(kActorOfficerLeary, 57, 7);
|
||||
@ -290,19 +311,23 @@ bool AIScriptOfficerLeary::GoalChanged(int currentGoalNumber, int newGoalNumber)
|
||||
}
|
||||
AI_Movement_Track_Repeat(kActorOfficerLeary);
|
||||
return true;
|
||||
case 2:
|
||||
case kGoalOfficerLearyRC01CrowdInterrogation:
|
||||
if (Random_Query(1, 3) == 1) {
|
||||
if (Random_Query(1, 2) == 1 && !Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewA)) {
|
||||
Actor_Clue_Acquire(kActorOfficerLeary, kClueCrowdInterviewA, 0, -1);
|
||||
if ( Random_Query(1, 2) == 1
|
||||
&& !Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewA)
|
||||
) {
|
||||
Actor_Clue_Acquire(kActorOfficerLeary, kClueCrowdInterviewA, false, -1);
|
||||
} else if (!Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewB)) {
|
||||
Actor_Clue_Acquire(kActorOfficerLeary, kClueCrowdInterviewB, 0, -1);
|
||||
Actor_Clue_Acquire(kActorOfficerLeary, kClueCrowdInterviewB, false, -1);
|
||||
}
|
||||
}
|
||||
if (Game_Flag_Query(kFlagMcCoyAtRCxx)) {
|
||||
if (Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewA) && Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewB)) {
|
||||
if (Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewA)
|
||||
&& Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewB)
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyDefault);
|
||||
} else {
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyCrowdInterrogation);
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyRC01WalkToCrowd);
|
||||
}
|
||||
} else {
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyDefault);
|
||||
@ -827,11 +852,11 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
|
||||
*frame = _animationFrame;
|
||||
return true;
|
||||
case 2:
|
||||
if (Game_Flag_Query(199)) {
|
||||
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
|
||||
*animation = 603;
|
||||
_animationFrame++;
|
||||
if (_animationFrame > Slice_Animation_Query_Number_Of_Frames(603) - 1) {
|
||||
Game_Flag_Reset(199);
|
||||
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(603)) {
|
||||
Game_Flag_Reset(kFlagOfficerLearyTakingNotes);
|
||||
_animationFrame = 0;
|
||||
_animationState = _animationStateNext;
|
||||
*animation = _animationNext;
|
||||
@ -872,7 +897,7 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
|
||||
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(601)) {
|
||||
_animationFrame = 0;
|
||||
}
|
||||
if (!Game_Flag_Query(199)) {
|
||||
if (!Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
|
||||
_animationState = 32;
|
||||
_animationFrame = 0;
|
||||
*animation = 603;
|
||||
@ -880,7 +905,8 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
|
||||
*frame = _animationFrame;
|
||||
return true;
|
||||
case 0:
|
||||
if (Game_Flag_Query(199) && !Game_Flag_Query(KFlagMcCoyAndOfficerLearyTalking)) {
|
||||
if ( Game_Flag_Query(kFlagOfficerLearyTakingNotes)
|
||||
&& !Game_Flag_Query(KFlagMcCoyAndOfficerLearyTalking)) {
|
||||
_animationState = 31;
|
||||
_animationFrame = 0;
|
||||
*animation = 604;
|
||||
@ -928,7 +954,7 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
|
||||
break;
|
||||
case 20:
|
||||
v1 = _animationFrame;
|
||||
Actor_Change_Animation_Mode(kActorOfficerLeary, 4);
|
||||
Actor_Change_Animation_Mode(kActorOfficerLeary, kAnimationModeCombatIdle);
|
||||
_animationFrame = v1;
|
||||
_animationState = 21;
|
||||
break;
|
||||
@ -966,7 +992,7 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
|
||||
_animationState = 2;
|
||||
_animationStateNext = 11;
|
||||
_animationNext = 592;
|
||||
if (Game_Flag_Query(199) == 1) {
|
||||
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
|
||||
_animationFrame = 0;
|
||||
}
|
||||
}
|
||||
@ -1016,11 +1042,10 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
|
||||
_animationState = 2;
|
||||
_animationStateNext = 12;
|
||||
_animationNext = 593;
|
||||
if (Game_Flag_Query(199) == 1) {
|
||||
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
|
||||
_animationFrame = 0;
|
||||
}
|
||||
}
|
||||
else if (_animationState > 19) {
|
||||
} else if (_animationState > 19) {
|
||||
_animationState = 12;
|
||||
_animationFrame = 0;
|
||||
var_45D5BC = 0;
|
||||
@ -1031,11 +1056,10 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
|
||||
_animationState = 2;
|
||||
_animationStateNext = 13;
|
||||
_animationNext = 594;
|
||||
if (Game_Flag_Query(199) == 1) {
|
||||
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
|
||||
_animationFrame = 0;
|
||||
}
|
||||
}
|
||||
else if (_animationState > 19) {
|
||||
} else if (_animationState > 19) {
|
||||
_animationState = 13;
|
||||
_animationFrame = 0;
|
||||
var_45D5BC = 0;
|
||||
@ -1046,11 +1070,10 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
|
||||
_animationState = 2;
|
||||
_animationStateNext = 14;
|
||||
_animationNext = 595;
|
||||
if (Game_Flag_Query(199) == 1) {
|
||||
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
|
||||
_animationFrame = 0;
|
||||
}
|
||||
}
|
||||
else if (_animationState > 19) {
|
||||
} else if (_animationState > 19) {
|
||||
_animationState = 14;
|
||||
_animationFrame = 0;
|
||||
var_45D5BC = 0;
|
||||
@ -1061,11 +1084,10 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
|
||||
_animationState = 2;
|
||||
_animationStateNext = 15;
|
||||
_animationNext = 596;
|
||||
if (Game_Flag_Query(199) == 1) {
|
||||
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
|
||||
_animationFrame = 0;
|
||||
}
|
||||
}
|
||||
else if (_animationState > 19) {
|
||||
} else if (_animationState > 19) {
|
||||
_animationState = 15;
|
||||
_animationFrame = 0;
|
||||
var_45D5BC = 0;
|
||||
@ -1076,11 +1098,10 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
|
||||
_animationState = 2;
|
||||
_animationStateNext = 16;
|
||||
_animationNext = 597;
|
||||
if (Game_Flag_Query(199) == 1) {
|
||||
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
|
||||
_animationFrame = 0;
|
||||
}
|
||||
}
|
||||
else if (_animationState > 19) {
|
||||
} else if (_animationState > 19) {
|
||||
_animationState = 16;
|
||||
_animationFrame = 0;
|
||||
var_45D5BC = 0;
|
||||
@ -1091,11 +1112,10 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
|
||||
_animationState = 2;
|
||||
_animationStateNext = 17;
|
||||
_animationNext = 598;
|
||||
if (Game_Flag_Query(199) == 1) {
|
||||
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
|
||||
_animationFrame = 0;
|
||||
}
|
||||
}
|
||||
else if (_animationState > 19) {
|
||||
} else if (_animationState > 19) {
|
||||
_animationState = 17;
|
||||
_animationFrame = 0;
|
||||
var_45D5BC = 0;
|
||||
@ -1106,7 +1126,7 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
|
||||
_animationState = 2;
|
||||
_animationStateNext = 18;
|
||||
_animationNext = 599;
|
||||
if (Game_Flag_Query(199) == 1) {
|
||||
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
|
||||
_animationFrame = 0;
|
||||
}
|
||||
} else if (_animationState > 19) {
|
||||
@ -1120,7 +1140,7 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
|
||||
_animationState = 2;
|
||||
_animationStateNext = 19;
|
||||
_animationNext = 600;
|
||||
if (Game_Flag_Query(199) == 1) {
|
||||
if (Game_Flag_Query(kFlagOfficerLearyTakingNotes)) {
|
||||
_animationFrame = 0;
|
||||
}
|
||||
} else if (_animationState > 19) {
|
||||
@ -1155,10 +1175,10 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
case 27:
|
||||
Game_Flag_Reset(199);
|
||||
Game_Flag_Reset(kFlagOfficerLearyTakingNotes);
|
||||
break;
|
||||
case 28:
|
||||
Game_Flag_Set(199);
|
||||
Game_Flag_Set(kFlagOfficerLearyTakingNotes);
|
||||
break;
|
||||
case kAnimationModeWalkUp:
|
||||
_animationState = 5;
|
||||
@ -1176,7 +1196,7 @@ bool AIScriptOfficerLeary::ChangeAnimationMode(int mode) {
|
||||
_animationState = 10;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
case 48:
|
||||
case kAnimationModeDie:
|
||||
if (_animationState == 24) {
|
||||
_animationState = 28;
|
||||
_animationFrame = 0;
|
||||
@ -1209,7 +1229,7 @@ void AIScriptOfficerLeary::SetAnimationState(int animationState, int animationFr
|
||||
|
||||
bool AIScriptOfficerLeary::ReachedMovementTrackWaypoint(int waypointId) {
|
||||
if (waypointId == 57 || waypointId == 58) {
|
||||
sub_431408();
|
||||
Game_Flag_Set(kFlagOfficerLearyTakingNotes);
|
||||
AI_Countdown_Timer_Reset(kActorOfficerLeary, 2);
|
||||
AI_Countdown_Timer_Start(kActorOfficerLeary, 2, 6);
|
||||
}
|
||||
@ -1220,13 +1240,4 @@ void AIScriptOfficerLeary::FledCombat() {
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, 300);
|
||||
}
|
||||
|
||||
bool AIScriptOfficerLeary::sub_431408() {
|
||||
Game_Flag_Set(199);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool AIScriptOfficerLeary::sub_431420() {
|
||||
Game_Flag_Reset(199);
|
||||
return true;
|
||||
}
|
||||
} // End of namespace BladeRunner
|
||||
|
@ -42,15 +42,18 @@ void AIScriptPhotographer::Initialize() {
|
||||
}
|
||||
|
||||
bool AIScriptPhotographer::Update() {
|
||||
if (Game_Flag_Query(450) != 1 || Game_Flag_Query(485))
|
||||
return false;
|
||||
if ( Game_Flag_Query(kFlagTB02ElevatorToTB05)
|
||||
&& !Game_Flag_Query(kFlagPhotographerToTB06)
|
||||
) {
|
||||
Actor_Put_In_Set(kActorPhotographer, kSetFreeSlotC);
|
||||
Actor_Set_At_Waypoint(kActorPhotographer, 35, 0);
|
||||
Game_Flag_Set(kFlagPhotographerToTB06);
|
||||
Actor_Set_Goal_Number(kActorPhotographer, 100);
|
||||
|
||||
Actor_Put_In_Set(kActorPhotographer, kSetFreeSlotC);
|
||||
Actor_Set_At_Waypoint(kActorPhotographer, 35, 0);
|
||||
Game_Flag_Set(485);
|
||||
Actor_Set_Goal_Number(kActorPhotographer, 100);
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
void AIScriptPhotographer::TimerExpired(int timer) {
|
||||
@ -83,22 +86,25 @@ void AIScriptPhotographer::ReceivedClue(int clueId, int fromActorId) {
|
||||
}
|
||||
|
||||
void AIScriptPhotographer::ClickedByPlayer() {
|
||||
if (Actor_Clue_Query(kActorMcCoy, 44) != 1 || Actor_Clue_Query(kActorMcCoy, 50) || Game_Flag_Query(707)) {
|
||||
AI_Movement_Track_Pause(37);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorPhotographer, 1);
|
||||
Actor_Face_Actor(kActorPhotographer, kActorMcCoy, 1);
|
||||
Actor_Says(kActorMcCoy, 5310, 11);
|
||||
Actor_Says(kActorPhotographer, 40, 3);
|
||||
AI_Movement_Track_Unpause(37);
|
||||
} else {
|
||||
AI_Movement_Track_Pause(37);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorPhotographer, 1);
|
||||
if ( Actor_Clue_Query(kActorMcCoy, kClueDragonflyEarring)
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueVictimInformation)
|
||||
&& !Game_Flag_Query(kFlagTB06PhotographTalk1)
|
||||
) {
|
||||
AI_Movement_Track_Pause(kActorPhotographer);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorPhotographer, true);
|
||||
Actor_Says(kActorMcCoy, 5300, 14);
|
||||
Actor_Face_Actor(kActorPhotographer, kActorMcCoy, 1);
|
||||
Actor_Says(kActorPhotographer, 20, 3);
|
||||
Actor_Face_Actor(kActorPhotographer, kActorMcCoy, true);
|
||||
Actor_Says(kActorPhotographer, 20, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 5305, 15);
|
||||
Game_Flag_Set(707);
|
||||
AI_Movement_Track_Unpause(37);
|
||||
Game_Flag_Set(kFlagTB06PhotographTalk1);
|
||||
AI_Movement_Track_Unpause(kActorPhotographer);
|
||||
} else {
|
||||
AI_Movement_Track_Pause(kActorPhotographer);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorPhotographer, true);
|
||||
Actor_Face_Actor(kActorPhotographer, kActorMcCoy, true);
|
||||
Actor_Says(kActorMcCoy, 5310, 11);
|
||||
Actor_Says(kActorPhotographer, 40, kAnimationModeTalk);
|
||||
AI_Movement_Track_Unpause(kActorPhotographer);
|
||||
}
|
||||
}
|
||||
|
||||
@ -140,55 +146,49 @@ bool AIScriptPhotographer::GoalChanged(int currentGoalNumber, int newGoalNumber)
|
||||
AI_Movement_Track_Flush(kActorPhotographer);
|
||||
AI_Movement_Track_Append(kActorPhotographer, 35, 0);
|
||||
AI_Movement_Track_Repeat(kActorPhotographer);
|
||||
|
||||
return true;
|
||||
|
||||
case 101:
|
||||
AI_Movement_Track_Flush(kActorPhotographer);
|
||||
switch (Random_Query(1, 3) - 1) {
|
||||
case 0:
|
||||
switch (Random_Query(1, 3)) {
|
||||
case 1:
|
||||
AI_Movement_Track_Append(kActorPhotographer, 280, 4);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
case 2:
|
||||
AI_Movement_Track_Append(kActorPhotographer, 279, 8);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
case 3:
|
||||
AI_Movement_Track_Append(kActorPhotographer, 280, 3);
|
||||
break;
|
||||
}
|
||||
|
||||
AI_Movement_Track_Repeat(kActorPhotographer);
|
||||
|
||||
return false;
|
||||
|
||||
case 102:
|
||||
AI_Movement_Track_Flush(kActorPhotographer);
|
||||
AI_Movement_Track_Append(kActorPhotographer, 279, 5);
|
||||
AI_Movement_Track_Repeat(kActorPhotographer);
|
||||
return 1;
|
||||
return true;
|
||||
|
||||
case 199:
|
||||
Actor_Put_In_Set(kActorPhotographer, kSetFreeSlotC);
|
||||
Actor_Set_At_Waypoint(kActorPhotographer, 35, 0);
|
||||
Actor_Put_In_Set(kActorMarcus, kSetFreeSlotI);
|
||||
Actor_Set_At_Waypoint(kActorMarcus, 41, 0);
|
||||
|
||||
if (Game_Flag_Query(102)) {
|
||||
Item_Remove_From_World(103);
|
||||
Item_Remove_From_World(104);
|
||||
Item_Remove_From_World(105);
|
||||
if (Game_Flag_Query(kFlagTB06Visited)) {
|
||||
Item_Remove_From_World(kItemDeadDogA);
|
||||
Item_Remove_From_World(kItemDeadDogB);
|
||||
Item_Remove_From_World(kItemDeadDogC);
|
||||
}
|
||||
|
||||
if (!Actor_Clue_Query(kActorMcCoy, 65)) {
|
||||
Actor_Clue_Acquire(kActorSteele, kClueDogCollar1, 1, -1);
|
||||
if (Game_Flag_Query(102)) {
|
||||
Item_Remove_From_World(84);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueDogCollar1)) {
|
||||
Actor_Clue_Acquire(kActorSteele, kClueDogCollar1, true, -1);
|
||||
if (Game_Flag_Query(kFlagTB06Visited)) {
|
||||
Item_Remove_From_World(kItemDogCollar);
|
||||
}
|
||||
Global_Variable_Increment(14, 1);
|
||||
Global_Variable_Increment(kVariableMcCoyEvidenceMissed, 1);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
default:
|
||||
@ -216,11 +216,13 @@ bool AIScriptPhotographer::UpdateAnimation(int *animation, int *frame) {
|
||||
|
||||
case 2:
|
||||
*animation = 747;
|
||||
if (!_animationFrame && _flag) {
|
||||
if (_animationFrame == 0
|
||||
&& _flag
|
||||
) {
|
||||
*animation = 745;
|
||||
_animationState = 0;
|
||||
_var2 = 0;
|
||||
_flag = 0;
|
||||
_flag = false;
|
||||
} else {
|
||||
_animationFrame++;
|
||||
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(747)) {
|
||||
@ -275,7 +277,7 @@ bool AIScriptPhotographer::UpdateAnimation(int *animation, int *frame) {
|
||||
*animation = 745;
|
||||
_animationState = 0;
|
||||
_animationFrame = 0;
|
||||
Actor_Change_Animation_Mode(kActorPhotographer, 0);
|
||||
Actor_Change_Animation_Mode(kActorPhotographer, kAnimationModeIdle);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -290,48 +292,48 @@ bool AIScriptPhotographer::UpdateAnimation(int *animation, int *frame) {
|
||||
|
||||
bool AIScriptPhotographer::ChangeAnimationMode(int mode) {
|
||||
switch (mode) {
|
||||
case 0:
|
||||
if (_animationState > 5) {
|
||||
case kAnimationModeIdle:
|
||||
if (_animationState < 2 || _animationState > 5) {
|
||||
_animationState = 0;
|
||||
_var2 = 0;
|
||||
_animationFrame = 0;
|
||||
} else {
|
||||
_flag = 1;
|
||||
_flag = true;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
case kAnimationModeWalk:
|
||||
_animationState = 1;
|
||||
_var2 = 0;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
case kAnimationModeTalk:
|
||||
_animationState = 2;
|
||||
_var2 = 0;
|
||||
_animationFrame = 0;
|
||||
_flag = 0;
|
||||
_flag = false;
|
||||
break;
|
||||
|
||||
case 12:
|
||||
_animationState = 3;
|
||||
_var2 = 0;
|
||||
_animationFrame = 0;
|
||||
_flag = 0;
|
||||
_flag = false;
|
||||
break;
|
||||
|
||||
case 13:
|
||||
_animationState = 4;
|
||||
_var2 = 0;
|
||||
_animationFrame = 0;
|
||||
_flag = 0;
|
||||
_flag = false;
|
||||
break;
|
||||
|
||||
case 14:
|
||||
_animationState = 5;
|
||||
_var2 = 0;
|
||||
_animationFrame = 0;
|
||||
_flag = 0;
|
||||
_flag = false;
|
||||
break;
|
||||
|
||||
case 43:
|
||||
@ -360,8 +362,12 @@ void AIScriptPhotographer::SetAnimationState(int animationState, int animationFr
|
||||
}
|
||||
|
||||
bool AIScriptPhotographer::ReachedMovementTrackWaypoint(int waypointId) {
|
||||
if (waypointId == 276 || waypointId == 278 || waypointId == 280)
|
||||
if (waypointId == 276
|
||||
|| waypointId == 278
|
||||
|| waypointId == 280
|
||||
) {
|
||||
ChangeAnimationMode(43);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ void AIScriptRunciter::OtherAgentEnteredCombatMode(int otherActorId, int combatM
|
||||
Actor_Says(kActorMcCoy, 4790, -1);
|
||||
Actor_Says(kActorRunciter, 650, 18);
|
||||
Actor_Says(kActorRunciter, 660, 19);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRuncitersConfession1, 1, kActorRunciter);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRuncitersConfession1, true, kActorRunciter);
|
||||
} else {
|
||||
Actor_Says(kActorRunciter, 670, 18);
|
||||
Actor_Says(kActorMcCoy, 4795, -1);
|
||||
|
@ -196,7 +196,7 @@ void AIScriptSadik::Retired(int byActorId) {
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(579);
|
||||
Game_Flag_Reset(653);
|
||||
Set_Enter(kSetKP05_KP06, kSetKP03);
|
||||
Set_Enter(kSetKP05_KP06, kSceneKP06);
|
||||
return; //true;
|
||||
}
|
||||
}
|
||||
|
@ -472,7 +472,7 @@ void AIScriptSebastian::dialogue() {
|
||||
}
|
||||
|
||||
void AIScriptSebastian::setMcCoyIsABladeRunner() {
|
||||
Actor_Clue_Acquire(kActorSebastian, kClueMcCoyIsABladeRunner, 1, 0);
|
||||
Actor_Clue_Acquire(kActorSebastian, kClueMcCoyIsABladeRunner, true, 0);
|
||||
Actor_Modify_Friendliness_To_Other(kActorSebastian, kActorMcCoy, -5);
|
||||
Actor_Says(kActorSebastian, 560, 15);
|
||||
Actor_Says(kActorMcCoy, 7200, 14);
|
||||
|
@ -35,8 +35,10 @@ void AIScriptSergeantWalls::Initialize() {
|
||||
}
|
||||
|
||||
bool AIScriptSergeantWalls::Update() {
|
||||
if (Game_Flag_Query(206) && Game_Flag_Query(158)) {
|
||||
Game_Flag_Reset(206);
|
||||
if (Game_Flag_Query(kFlagSergeantWallsBuzzInRequest)
|
||||
&& Game_Flag_Query(kFlagSergeantWallsBuzzInDone)
|
||||
) {
|
||||
Game_Flag_Reset(kFlagSergeantWallsBuzzInRequest);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -97,11 +99,13 @@ bool AIScriptSergeantWalls::UpdateAnimation(int *animation, int *frame) {
|
||||
switch (_animationState) {
|
||||
case 0:
|
||||
_animationFrame++;
|
||||
if (Game_Flag_Query(206) && !Game_Flag_Query(158)) {
|
||||
if ( Game_Flag_Query(kFlagSergeantWallsBuzzInRequest)
|
||||
&& !Game_Flag_Query(kFlagSergeantWallsBuzzInDone)
|
||||
) {
|
||||
*animation = 724;
|
||||
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(724)) {
|
||||
_animationFrame = 0;
|
||||
Game_Flag_Set(158);
|
||||
Game_Flag_Set(kFlagSergeantWallsBuzzInDone);
|
||||
}
|
||||
} else {
|
||||
*animation = 722;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -337,12 +337,12 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
Actor_Says(kActorZuben, 130, 17);
|
||||
Actor_Says(kActorMcCoy, 485, 14);
|
||||
if (Random_Query(1, 3) < 3) {
|
||||
Actor_Clue_Acquire(kActorZuben, kClueMcCoysDescription, 1, -1);
|
||||
Actor_Clue_Acquire(kActorZuben, kClueMcCoysDescription, true, -1);
|
||||
}
|
||||
if (Random_Query(1, 5) < 5) {
|
||||
Actor_Clue_Acquire(kActorZuben, kClueMcCoyIsABladeRunner, 1, -1);
|
||||
Actor_Clue_Acquire(kActorZuben, kClueMcCoyIsABladeRunner, true, -1);
|
||||
}
|
||||
Actor_Clue_Acquire(kActorZuben, kClueMcCoyLetZubenEscape, 1, -1);
|
||||
Actor_Clue_Acquire(kActorZuben, kClueMcCoyLetZubenEscape, true, -1);
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT07Leave);
|
||||
return false;
|
||||
case kGoalZubenCT07Leave:
|
||||
|
@ -280,9 +280,6 @@ END_SCRIPT
|
||||
DECLARE_SCRIPT(OfficerLeary)
|
||||
int var_45D5B8;
|
||||
int var_45D5BC;
|
||||
|
||||
bool sub_431408();
|
||||
bool sub_431420();
|
||||
END_SCRIPT
|
||||
|
||||
DECLARE_SCRIPT(OfficerGrayford)
|
||||
|
@ -51,12 +51,12 @@ void ESPERScript::SCRIPT_ESPER_DLL_Initialize() {
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueRuncitersViewA)) {
|
||||
Actor_Says(kActorAnsweringMachine, 160, 3);
|
||||
Actor_Says(kActorAnsweringMachine, 180, 3);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRuncitersViewA, 1, kActorRunciter);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRuncitersViewA, true, kActorRunciter);
|
||||
v0 = 1;
|
||||
}
|
||||
ESPER_Add_Photo("RC02_FA.IMG", 0, 0);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueRuncitersViewB)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRuncitersViewB, 1, kActorRunciter);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRuncitersViewB, true, kActorRunciter);
|
||||
}
|
||||
ESPER_Add_Photo("RC02_RA.IMG", 1, 1);
|
||||
}
|
||||
@ -64,7 +64,7 @@ void ESPERScript::SCRIPT_ESPER_DLL_Initialize() {
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueOuterDressingRoom)) {
|
||||
Actor_Says(kActorAnsweringMachine, 160, 3);
|
||||
Actor_Says(kActorAnsweringMachine, 170, 3);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueOuterDressingRoom, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueOuterDressingRoom, true, -1);
|
||||
v0 = 1;
|
||||
}
|
||||
ESPER_Add_Photo("NR060000.IMG", 2, 2);
|
||||
@ -85,7 +85,7 @@ void ESPERScript::SCRIPT_ESPER_DLL_Initialize() {
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityPhoto)) {
|
||||
Actor_Says(kActorAnsweringMachine, 160, 3);
|
||||
Actor_Says(kActorAnsweringMachine, 170, 3);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChinaBarSecurityPhoto, 1, kActorHawkersBarkeep);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChinaBarSecurityPhoto, true, kActorHawkersBarkeep);
|
||||
v0 = 1;
|
||||
}
|
||||
ESPER_Add_Photo("HC02CB2.IMG", 7, 7);
|
||||
@ -94,7 +94,7 @@ void ESPERScript::SCRIPT_ESPER_DLL_Initialize() {
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueTyrellSecurityPhoto)) {
|
||||
Actor_Says(kActorAnsweringMachine, 160, 3);
|
||||
Actor_Says(kActorAnsweringMachine, 170, 3);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSecurityPhoto, 1, kActorTyrellGuard);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSecurityPhoto, true, kActorTyrellGuard);
|
||||
v0 = 1;
|
||||
}
|
||||
ESPER_Add_Photo("TB060000.IMG", 8, 8);
|
||||
@ -179,7 +179,7 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueMoonbusReflection)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMoonbusReflection, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMoonbusReflection, true, -1);
|
||||
}
|
||||
break;
|
||||
case 23:
|
||||
@ -187,7 +187,7 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueMcCoyAtMoonbus)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyAtMoonbus, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyAtMoonbus, true, -1);
|
||||
}
|
||||
break;
|
||||
case 24:
|
||||
@ -195,14 +195,14 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueClovisAtMoonbus)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueClovisAtMoonbus, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueClovisAtMoonbus, true, -1);
|
||||
}
|
||||
break;
|
||||
case 25:
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueSadikAtMoonbus)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueSadikAtMoonbus, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueSadikAtMoonbus, true, -1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -214,7 +214,7 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueKingstonKitchenBox2)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueKingstonKitchenBox2, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueKingstonKitchenBox2, true, -1);
|
||||
}
|
||||
break;
|
||||
case 19:
|
||||
@ -222,7 +222,7 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDogCollar2, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDogCollar2, true, -1);
|
||||
}
|
||||
break;
|
||||
case 20:
|
||||
@ -232,7 +232,7 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueBombingSuspect)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBombingSuspect, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBombingSuspect, true, -1);
|
||||
}
|
||||
break;
|
||||
case 21:
|
||||
@ -240,7 +240,7 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kCluePlasticExplosive)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePlasticExplosive, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePlasticExplosive, true, -1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -251,14 +251,14 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueIzo)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueIzo, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueIzo, true, -1);
|
||||
}
|
||||
} else if (region == 17) {
|
||||
Actor_Voice_Over(4210, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueGuzza)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGuzza, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGuzza, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@ -268,14 +268,14 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityCamera)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChinaBarSecurityCamera, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChinaBarSecurityCamera, true, -1);
|
||||
}
|
||||
} else if (region == 15) {
|
||||
Actor_Voice_Over(4220, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueIzosFriend)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueIzosFriend, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueIzosFriend, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@ -285,7 +285,7 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueStrangeScale2)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueStrangeScale2, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueStrangeScale2, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@ -295,14 +295,14 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueWomanInAnimoidRow)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueWomanInAnimoidRow, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueWomanInAnimoidRow, true, -1);
|
||||
}
|
||||
} else if (region == 12) {
|
||||
Actor_Voice_Over(4180, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueScorpions)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueScorpions, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueScorpions, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@ -312,7 +312,7 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueClovisflowers)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueClovisflowers, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueClovisflowers, true, -1);
|
||||
}
|
||||
return true;
|
||||
} else if (region == 10) {
|
||||
@ -320,7 +320,7 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueLucyWithDektora)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLucyWithDektora, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLucyWithDektora, true, -1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -331,14 +331,14 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueEarlyQAndLucy)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQAndLucy, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQAndLucy, true, -1);
|
||||
}
|
||||
} else if (region == 7) {
|
||||
Actor_Voice_Over(4190, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueScorpionbox)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueScorpionbox, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueScorpionbox, true, -1);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
@ -348,28 +348,28 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueAnimalMurderSuspect)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueAnimalMurderSuspect, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueAnimalMurderSuspect, true, -1);
|
||||
}
|
||||
} else if (region == 4) {
|
||||
Actor_Voice_Over(4110, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueMilitaryBoots)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMilitaryBoots, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMilitaryBoots, true, -1);
|
||||
}
|
||||
} else if (region == 5) {
|
||||
Actor_Voice_Over(4120, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kCluePartialLicenseNumber)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePartialLicenseNumber, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePartialLicenseNumber, true, -1);
|
||||
}
|
||||
} else if (region == 6) {
|
||||
Actor_Voice_Over(4070, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueCarColorAndMake)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCarColorAndMake, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCarColorAndMake, true, -1);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
@ -379,21 +379,21 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueDragonflyAnklet)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyAnklet, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyAnklet, true, -1);
|
||||
}
|
||||
} else if (region == 1) {
|
||||
Actor_Voice_Over(4040, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLucy, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLucy, true, -1);
|
||||
}
|
||||
} else if (region == 2) {
|
||||
Actor_Voice_Over(4060, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueSushiMenu)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueSushiMenu, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueSushiMenu, true, -1);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
@ -24,6 +24,22 @@
|
||||
|
||||
namespace BladeRunner {
|
||||
|
||||
enum kAR01Loops {
|
||||
kAR01LoopFromAR02WithSpinner = 0,
|
||||
kAR01LoopInshoot = 1,
|
||||
kAR01LoopMainLoop = 2,
|
||||
kAR01LoopDoorAnim = 4,
|
||||
kAR01LoopOutshoot = 5,
|
||||
kAR01LoopFromAR02NoSpinner = 6,
|
||||
kAR01LoopMainLoopNoSpinner = 7
|
||||
};
|
||||
|
||||
enum kAR01Exits {
|
||||
kAR01ExitHC01 = 0,
|
||||
kAR01ExitAR02 = 1,
|
||||
kAR01ExitSpinner = 2
|
||||
};
|
||||
|
||||
void SceneScriptAR01::InitializeScene() {
|
||||
Music_Play(0, 25, 0, 2, -1, 1, 2);
|
||||
if (Game_Flag_Query(kFlagHC01toAR01)) {
|
||||
@ -33,10 +49,10 @@ void SceneScriptAR01::InitializeScene() {
|
||||
} else {
|
||||
Setup_Scene_Information(-152.0f, 0.0f, 332.0f, 545);
|
||||
}
|
||||
Scene_Exit_Add_2D_Exit(0, 134, 165, 177, 290, 3);
|
||||
Scene_Exit_Add_2D_Exit(1, 319, 0, 639, 207, 0);
|
||||
Scene_Exit_Add_2D_Exit(kAR01ExitHC01, 134, 165, 177, 290, 3);
|
||||
Scene_Exit_Add_2D_Exit(kAR01ExitAR02, 319, 0, 639, 207, 0);
|
||||
if (Game_Flag_Query(kFlagSpinnerAtAR01)) {
|
||||
Scene_Exit_Add_2D_Exit(2, 0, 404, 99, 479, 2);
|
||||
Scene_Exit_Add_2D_Exit(kAR01ExitSpinner, 0, 404, 99, 479, 2);
|
||||
}
|
||||
Ambient_Sounds_Add_Looping_Sound(54, 50, 1, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(81, 60, 100, 1);
|
||||
@ -72,31 +88,31 @@ void SceneScriptAR01::InitializeScene() {
|
||||
&& !Game_Flag_Query(kFlagHC01toAR01)
|
||||
) {
|
||||
Actor_Set_Invisible(kActorMcCoy, true);
|
||||
Game_Flag_Set(273);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 1, false);
|
||||
Scene_Loop_Set_Default(2);
|
||||
Game_Flag_Set(kFlagArrivedFromSpinner2);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopInshoot, false);
|
||||
Scene_Loop_Set_Default(kAR01LoopMainLoop);
|
||||
} else if (Game_Flag_Query(kFlagSpinnerAtAR01)
|
||||
&& Game_Flag_Query(kFlagAR02toAR01)
|
||||
) {
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
|
||||
Scene_Loop_Set_Default(2);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopFromAR02WithSpinner, false);
|
||||
Scene_Loop_Set_Default(kAR01LoopMainLoop);
|
||||
Game_Flag_Reset(kFlagAR02toAR01);
|
||||
} else if (!Game_Flag_Query(kFlagSpinnerAtAR01)
|
||||
&& Game_Flag_Query(kFlagAR02toAR01)
|
||||
) {
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 6, false);
|
||||
Scene_Loop_Set_Default(7);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kAR01LoopFromAR02NoSpinner, false);
|
||||
Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner);
|
||||
Game_Flag_Reset(kFlagAR02toAR01);
|
||||
} else if (Game_Flag_Query(kFlagSpinnerAtAR01)
|
||||
&& Game_Flag_Query(kFlagHC01toAR01)
|
||||
) {
|
||||
Scene_Loop_Set_Default(2);
|
||||
Scene_Loop_Set_Default(kAR01LoopMainLoop);
|
||||
} else if (!Game_Flag_Query(kFlagSpinnerAtAR01)
|
||||
&& Game_Flag_Query(kFlagHC01toAR01)
|
||||
) {
|
||||
Scene_Loop_Set_Default(7);
|
||||
Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner);
|
||||
} else {
|
||||
Scene_Loop_Set_Default(7);
|
||||
Scene_Loop_Set_Default(kAR01LoopMainLoopNoSpinner);
|
||||
}
|
||||
}
|
||||
|
||||
@ -133,7 +149,7 @@ bool SceneScriptAR01::ClickedOnActor(int actorId) {
|
||||
Actor_Says(kActorFishDealer, 140, 14);
|
||||
Actor_Says(kActorMcCoy, 50, 13);
|
||||
Actor_Says(kActorFishDealer, 150, 14);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueFishLadyInterview, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueFishLadyInterview, true, kActorMcCoy);
|
||||
} else {
|
||||
if (Random_Query(1, 2) == 1) {
|
||||
Actor_Says(kActorMcCoy, 30, 17);
|
||||
@ -176,19 +192,19 @@ bool SceneScriptAR01::ClickedOnItem(int itemId, bool a2) {
|
||||
}
|
||||
|
||||
bool SceneScriptAR01::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (exitId == kAR01ExitHC01) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -358.0, 0.0, -149.0, 0, 1, false, 0)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0, 0.0, -149.0, 0, 0, false, 0);
|
||||
Game_Flag_Set(kFlagAR01toHC01);
|
||||
Game_Flag_Set(464);
|
||||
Game_Flag_Reset(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(479);
|
||||
Game_Flag_Set(kFlagMcCoyAtHCxx);
|
||||
Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC01);
|
||||
Actor_Set_Goal_Number(kActorFishDealer, 3);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (exitId == 1) {
|
||||
if (exitId == kAR01ExitAR02) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.0, 0.0, -551.0, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(kFlagAR01toAR02);
|
||||
Async_Actor_Walk_To_XYZ(kActorMcCoy, -222.0, 0.0, -690.0, 0, false);
|
||||
@ -197,7 +213,7 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (exitId == 2) {
|
||||
if (exitId == kAR01ExitSpinner) {
|
||||
if (Game_Flag_Query(486) == 1) {
|
||||
Spinner_Set_Selectable_Destination_Flag(kSpinnerDestinationDNARow, true);
|
||||
}
|
||||
@ -232,7 +248,7 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {
|
||||
Game_Flag_Reset(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtARxx);
|
||||
|
||||
int spinnerDest = Spinner_Interface_Choose_Dest(4, false);
|
||||
int spinnerDest = Spinner_Interface_Choose_Dest(kAR01LoopDoorAnim, false);
|
||||
Actor_Face_Heading(kActorMcCoy, 545, false);
|
||||
|
||||
switch (spinnerDest) {
|
||||
@ -241,63 +257,63 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtPS01);
|
||||
Set_Enter(kSetPS01, kScenePS01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationMcCoysApartment:
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtMA01);
|
||||
Set_Enter(kSetMA01, kSceneMA01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationRuncitersAnimals:
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
Set_Enter(kSetRC01, kSceneRC01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationChinatown:
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtCT01);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationTyrellBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtTB02);
|
||||
Set_Enter(kSetTB02_TB03, kSceneTB02);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationDNARow:
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtDR01);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationBradburyBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtBB01);
|
||||
Set_Enter(kSetBB01, kSceneBB01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationNightclubRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationHysteriaHall:
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtHF01);
|
||||
Set_Enter(kSetHF01, kSceneHF01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 5, true);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
default:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
@ -327,11 +343,17 @@ void SceneScriptAR01::SceneFrameAdvanced(int frame) {
|
||||
if (frame == 256) {
|
||||
Ambient_Sounds_Play_Sound(117, 40, -50, 80, 99);
|
||||
}
|
||||
if ((frame == 75 || frame == 196) && Game_Flag_Query(273)) {
|
||||
if ((frame == 75
|
||||
|| frame == 196
|
||||
)
|
||||
&& Game_Flag_Query(kFlagArrivedFromSpinner2)
|
||||
) {
|
||||
Actor_Face_Heading(kActorMcCoy, 545, false);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 42);
|
||||
Game_Flag_Reset(273);
|
||||
} else if (frame == 196 && !Game_Flag_Query(273)) {
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner2);
|
||||
} else if ( frame == 196
|
||||
&& !Game_Flag_Query(kFlagArrivedFromSpinner2
|
||||
)) {
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 41);
|
||||
}
|
||||
}
|
||||
@ -356,7 +378,7 @@ void SceneScriptAR01::PlayerWalkedOut() {
|
||||
Actor_Set_Invisible(kActorMcCoy, false);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
if (!Game_Flag_Query(479)) {
|
||||
if (!Game_Flag_Query(kFlagMcCoyAtHCxx)) {
|
||||
Music_Stop(2);
|
||||
}
|
||||
if (!Game_Flag_Query(kFlagAR01toHC01)
|
||||
|
@ -141,9 +141,9 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {
|
||||
Actor_Says(kActorInsectDealer, 340, 13);
|
||||
Actor_Says(kActorInsectDealer, 350, 12);
|
||||
Actor_Says(kActorMcCoy, 235, 16);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePurchasedScorpions, 0, kActorInsectDealer);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePurchasedScorpions, false, kActorInsectDealer);
|
||||
}
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyCollection, 0, kActorInsectDealer);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyCollection, false, kActorInsectDealer);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 240, 17);
|
||||
Actor_Says(kActorInsectDealer, 360, 13);
|
||||
@ -285,7 +285,7 @@ void SceneScriptAR02::sub_402694() {
|
||||
Actor_Says(kActorMcCoy, 100, 16);
|
||||
Actor_Says(kActorInsectDealer, 180, 13);
|
||||
Game_Flag_Set(329);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePeruvianLadyInterview, 1, kActorInsectDealer);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePeruvianLadyInterview, true, kActorInsectDealer);
|
||||
break;
|
||||
case 510:
|
||||
Actor_Says(kActorMcCoy, 8475, 12);
|
||||
@ -313,7 +313,7 @@ void SceneScriptAR02::sub_402AE0() {
|
||||
if (Query_Difficulty_Level() != 0) {
|
||||
Global_Variable_Decrement(2, 15);
|
||||
}
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMaggieBracelet, 1, kActorInsectDealer);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMaggieBracelet, true, kActorInsectDealer);
|
||||
Actor_Modify_Friendliness_To_Other(kActorInsectDealer, kActorMcCoy, 5);
|
||||
} else if (answerValue == 540) {
|
||||
Actor_Says(kActorMcCoy, 125, 13);
|
||||
@ -381,7 +381,7 @@ void SceneScriptAR02::sub_402CE4() {
|
||||
Actor_Says(kActorHasan, 110, 12);
|
||||
Actor_Says(kActorHasan, 120, 13);
|
||||
Actor_Modify_Friendliness_To_Other(kActorHasan, kActorMcCoy, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHasanInterview, 0, kActorHasan);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHasanInterview, false, kActorHasan);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -25,7 +25,7 @@
|
||||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptBB02::InitializeScene() {
|
||||
if (Game_Flag_Query(281)) {
|
||||
if (Game_Flag_Query(kFlagBB03toBB02)) {
|
||||
Setup_Scene_Information(179.0f, -415.06f, 274.0f, 904);
|
||||
} else if (Game_Flag_Query(333)) {
|
||||
Setup_Scene_Information(-12.0f, -415.06f, -27.0f, 264);
|
||||
@ -112,7 +112,7 @@ bool SceneScriptBB02::ClickedOnExit(int exitId) {
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 86.0f, -415.06f, 174.0f, 0, 1, false, 0)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 179.0f, -415.06f, 274.0f, 0, 0, false, 0);
|
||||
Game_Flag_Set(282);
|
||||
Game_Flag_Set(kFlagBB02toBB03);
|
||||
Game_Flag_Reset(493);
|
||||
Set_Enter(kSetBB03, kSceneBB03);
|
||||
}
|
||||
@ -138,9 +138,9 @@ void SceneScriptBB02::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
||||
}
|
||||
|
||||
void SceneScriptBB02::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(281)) {
|
||||
if (Game_Flag_Query(kFlagBB03toBB02)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 86.0f, -415.06f, 174.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(281);
|
||||
Game_Flag_Reset(kFlagBB03toBB02);
|
||||
} else if (Game_Flag_Query(333)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 35.0f, -415.06f, -27.0f, 0, 0, false, 0);
|
||||
Player_Gains_Control();
|
||||
|
@ -26,11 +26,11 @@ namespace BladeRunner {
|
||||
|
||||
void SceneScriptBB03::InitializeScene() {
|
||||
Setup_Scene_Information(20.0f, 60.16f, 0.0f, 0);
|
||||
Game_Flag_Reset(282);
|
||||
if (Game_Flag_Query(284)) {
|
||||
Game_Flag_Reset(kFlagBB02toBB03);
|
||||
if (Game_Flag_Query(kFlagBB04toBB03)) {
|
||||
Setup_Scene_Information(176.0f, 60.16f, 0.0f, 900);
|
||||
}
|
||||
if (Game_Flag_Query(286)) {
|
||||
if (Game_Flag_Query(kFlagBB05toBB03)) {
|
||||
Setup_Scene_Information(204.0f, 60.16f, -164.0f, 740);
|
||||
}
|
||||
Scene_Exit_Add_2D_Exit(0, 589, 0, 639, 479, 1);
|
||||
@ -86,7 +86,7 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, 1, false, 0)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, 0.0f, 0, 0, false, 0);
|
||||
Game_Flag_Set(283);
|
||||
Game_Flag_Set(kFlagBB03toBB04);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB04);
|
||||
@ -95,7 +95,7 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
|
||||
}
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 20.0f, 60.16f, 0.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(281);
|
||||
Game_Flag_Set(kFlagBB03toBB02);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB02);
|
||||
@ -118,7 +118,7 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
|
||||
Actor_Set_Targetable(kActorBryant, false);
|
||||
Actor_Set_Targetable(kActorGeneralDoll, false);
|
||||
}
|
||||
Game_Flag_Set(285);
|
||||
Game_Flag_Set(kFlagBB03toBB05);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Set_Enter(kSetBB05, kSceneBB05);
|
||||
@ -142,13 +142,13 @@ void SceneScriptBB03::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
||||
}
|
||||
|
||||
void SceneScriptBB03::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(286)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 60.16f, -164.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(286);
|
||||
if (Game_Flag_Query(kFlagBB05toBB03)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 60.16f, -164.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagBB05toBB03);
|
||||
}
|
||||
if (Game_Flag_Query(284)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(284);
|
||||
if (Game_Flag_Query(kFlagBB04toBB03)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagBB04toBB03);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -25,9 +25,9 @@
|
||||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptBB04::InitializeScene() {
|
||||
if (Game_Flag_Query(283)) {
|
||||
if (Game_Flag_Query(kFlagBB03toBB04)) {
|
||||
Setup_Scene_Information(-107.0f, -26.6f, 397.0f, 29);
|
||||
Game_Flag_Reset(283);
|
||||
Game_Flag_Reset(kFlagBB03toBB04);
|
||||
} else {
|
||||
Setup_Scene_Information(-15.0f, -25.17f, 45.0f, 691);
|
||||
}
|
||||
@ -95,7 +95,7 @@ bool SceneScriptBB04::ClickedOnExit(int exitId) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -107.0f, -26.6f, 397.0f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(284);
|
||||
Game_Flag_Set(kFlagBB04toBB03);
|
||||
Set_Enter(kSetBB03, kSceneBB03);
|
||||
}
|
||||
return true;
|
||||
|
@ -100,7 +100,7 @@ bool SceneScriptBB05::ClickedOnExit(int exitId) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -212.0f, -60.31f, 131.0f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(286);
|
||||
Game_Flag_Set(kFlagBB05toBB03);
|
||||
Set_Enter(kSetBB03, kSceneBB03);
|
||||
}
|
||||
return true;
|
||||
@ -157,7 +157,7 @@ void SceneScriptBB05::PlayerWalkedIn() {
|
||||
Game_Flag_Reset(302);
|
||||
} else {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, -60.31f, 131.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(285);
|
||||
Game_Flag_Reset(kFlagBB03toBB05);
|
||||
}
|
||||
if (Actor_Query_Goal_Number(kActorSebastian) == 200) {
|
||||
Actor_Face_Actor(kActorSebastian, kActorMcCoy, true);
|
||||
|
@ -73,7 +73,7 @@ bool SceneScriptBB07::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
Item_Pickup_Spin_Effect(941, 439, 242);
|
||||
Actor_Voice_Over(140, kActorVoiceOver);
|
||||
Game_Flag_Set(398);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDNASebastian, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDNASebastian, true, -1);
|
||||
} else if (Game_Flag_Query(396) && Game_Flag_Query(398)) {
|
||||
Actor_Face_Object(kActorMcCoy, "PRINTER", true);
|
||||
Actor_Says(kActorMcCoy, 8570, 13);
|
||||
|
@ -103,7 +103,7 @@ bool SceneScriptBB10::ClickedOnExit(int exitId) {
|
||||
Player_Set_Combat_Mode(false);
|
||||
Actor_Face_Heading(kActorMcCoy, 274, false);
|
||||
Footstep_Sound_Override_On(2);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 1, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Footstep_Sound_Override_On(2);
|
||||
Loop_Actor_Travel_Ladder(kActorMcCoy, 3, 1, 0);
|
||||
@ -190,7 +190,7 @@ void SceneScriptBB10::PlayerWalkedIn() {
|
||||
Footstep_Sound_Override_Off();
|
||||
Actor_Face_Heading(kActorMcCoy, 768, false);
|
||||
Footstep_Sound_Override_On(2);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Game_Flag_Reset(kFlagBB11toBB10);
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ enum kCT01Exits {
|
||||
|
||||
void SceneScriptCT01::InitializeScene() {
|
||||
Music_Play(3, 28, 0, 2, -1, 1, 0);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
if (Game_Flag_Query(kFlagCT02toCT01)) {
|
||||
Game_Flag_Reset(kFlagCT02toCT01);
|
||||
Setup_Scene_Information(-35.2f, -6.5f, 352.28f, 603);
|
||||
@ -64,7 +64,7 @@ void SceneScriptCT01::InitializeScene() {
|
||||
}
|
||||
} else if (Game_Flag_Query(kFlagSpinnerAtCT01)) {
|
||||
Setup_Scene_Information(-530.0f, -6.5f, 241.0f, 506);
|
||||
Game_Flag_Set(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Set(kFlagArrivedFromSpinner1);
|
||||
} else {
|
||||
Setup_Scene_Information(-397.0f, -6.5f, 471.0f, 250);
|
||||
}
|
||||
@ -135,7 +135,7 @@ bool SceneScriptCT01::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
bool SceneScriptCT01::ClickedOnActor(int actorId) {
|
||||
if (actorId == kActorHowieLee) {
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 50);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -335.23f, -6.5f, 578.97f, 12, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -335.23f, -6.5f, 578.97f, 12, true, false, 0)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorHowieLee, true);
|
||||
Actor_Face_Actor(kActorHowieLee, kActorMcCoy, true);
|
||||
if (!Game_Flag_Query(kFlagCT01McCoyTalkedToHowieLee)) {
|
||||
@ -143,28 +143,35 @@ bool SceneScriptCT01::ClickedOnActor(int actorId) {
|
||||
Actor_Says(kActorHowieLee, 0, 14);
|
||||
Game_Flag_Set(kFlagCT01McCoyTalkedToHowieLee);
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 0);
|
||||
} else if (!Game_Flag_Query(kFlagNotUsed30) && Actor_Query_Friendliness_To_Other(kActorHowieLee, kActorMcCoy) >= 40) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!Game_Flag_Query(kFlagNotUsed30)
|
||||
&& Actor_Query_Friendliness_To_Other(kActorHowieLee, kActorMcCoy) >= 40
|
||||
) {
|
||||
dialogueWithHowieLee();
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 0);
|
||||
} else {
|
||||
if (Game_Flag_Query(kFlagCT01ZubenGone)) {
|
||||
Actor_Says(kActorMcCoy, 330, 17);
|
||||
Actor_Says(kActorHowieLee, 130, 13);
|
||||
Actor_Says(kActorHowieLee, 140, 14);
|
||||
} else if (Actor_Query_Friendliness_To_Other(kActorHowieLee, kActorMcCoy) < 50) {
|
||||
Actor_Says(kActorMcCoy, 330, 13);
|
||||
Actor_Says(kActorHowieLee, 160, 15);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 310, 11);
|
||||
Actor_Says(kActorHowieLee, 10, 16);
|
||||
}
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Game_Flag_Query(kFlagCT01ZubenGone)) {
|
||||
Actor_Says(kActorMcCoy, 330, 17);
|
||||
Actor_Says(kActorHowieLee, 130, 13);
|
||||
Actor_Says(kActorHowieLee, 140, 14);
|
||||
} else if (Actor_Query_Friendliness_To_Other(kActorHowieLee, kActorMcCoy) < 50) {
|
||||
Actor_Says(kActorMcCoy, 330, 13);
|
||||
Actor_Says(kActorHowieLee, 160, 15);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 310, 11);
|
||||
Actor_Says(kActorHowieLee, 10, 16);
|
||||
}
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (actorId == kActorZuben) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -335.23f, -6.5f, 578.97f, 12, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -335.23f, -6.5f, 578.97f, 12, true, false, 0)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorZuben, true);
|
||||
Actor_Says(kActorMcCoy, 355, 18);
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDefault) {
|
||||
@ -179,38 +186,37 @@ bool SceneScriptCT01::ClickedOnActor(int actorId) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (actorId == kActorGordo) {
|
||||
//todo: some weird code in assembly EBP is used but may not be initialized, loc_401C78
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == 0) {
|
||||
if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -338.1f, -6.5f, 419.65f, 6, 1, false, 0)) {
|
||||
return false;
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -338.1f, -6.5f, 419.65f, 6, true, false, 0)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
|
||||
if (!Game_Flag_Query(kFlagCT01McCoyTalkedToGordo)) {
|
||||
Actor_Says(kActorMcCoy, 335, 18);
|
||||
Actor_Says(kActorGordo, 20, 30);
|
||||
Game_Flag_Set(kFlagCT01McCoyTalkedToGordo);
|
||||
Actor_Clue_Acquire(kActorGordo, kClueMcCoysDescription, true, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyIsABladeRunner, true, kActorMcCoy);
|
||||
Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -1);
|
||||
} else if (Actor_Query_Goal_Number(kActorGordo) != 0) {
|
||||
Actor_Says(kActorMcCoy, 365, 14);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 340, 13);
|
||||
Actor_Says(kActorMcCoy, 345, 11);
|
||||
Actor_Says(kActorGordo, 30, 30);
|
||||
Actor_Says(kActorMcCoy, 350, 13);
|
||||
Actor_Says(kActorGordo, 40, 30);
|
||||
Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -5);
|
||||
Player_Loses_Control();
|
||||
}
|
||||
if (Actor_Query_Is_In_Current_Set(kActorZuben)) {
|
||||
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -2);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
|
||||
if (!Game_Flag_Query(kFlagCT01McCoyTalkedToGordo)) {
|
||||
Actor_Says(kActorMcCoy, 335, 18);
|
||||
Actor_Says(kActorGordo, 20, 30);
|
||||
Game_Flag_Set(kFlagCT01McCoyTalkedToGordo);
|
||||
Actor_Clue_Acquire(kActorGordo, kClueMcCoysDescription, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyIsABladeRunner, 1, kActorMcCoy);
|
||||
Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -1);
|
||||
} else if (Actor_Query_Goal_Number(kActorGordo) != 0) {
|
||||
Actor_Says(kActorMcCoy, 365, 14);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 340, 13);
|
||||
Actor_Says(kActorMcCoy, 345, 11);
|
||||
Actor_Says(kActorGordo, 30, 30);
|
||||
Actor_Says(kActorMcCoy, 350, 13);
|
||||
Actor_Says(kActorGordo, 40, 30);
|
||||
Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -5);
|
||||
Player_Loses_Control();
|
||||
}
|
||||
if (Actor_Query_Is_In_Current_Set(kActorZuben)) {
|
||||
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -2);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -220,30 +226,33 @@ bool SceneScriptCT01::ClickedOnItem(int itemId, bool a2) {
|
||||
|
||||
bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
||||
if (exitId == kCT01ExitCT02) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -327.5f, -6.5f, 352.28f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -327.5f, -6.5f, 352.28f, 0, true, false, 0)) {
|
||||
Player_Loses_Control();
|
||||
Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 106, 0, 0, false);
|
||||
Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 106, 0, false, false);
|
||||
Player_Gains_Control();
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Set_Enter(kSetCT02, kSceneCT02);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == kCT01ExitCT03) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -259.0f, -6.5f, 710.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -259.0f, -6.5f, 710.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Set_Enter(kSetCT03_CT04, kSceneCT03);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == kCT01ExitCT12) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -419.0f, -6.5f, 696.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -419.0f, -6.5f, 696.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagCT01toCT12);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT12);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == kCT01ExitSpinner) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -314.0f, -6.5f, 326.0f, 0, true, false, 0)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, false, true, 0);
|
||||
@ -261,7 +270,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
||||
switch (spinnerDest) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtPS01);
|
||||
Set_Enter(kSetPS01, kScenePS01);
|
||||
@ -269,7 +278,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
||||
break;
|
||||
case kSpinnerDestinationMcCoysApartment:
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtMA01);
|
||||
Set_Enter(kSetMA01, kSceneMA01);
|
||||
@ -277,7 +286,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
||||
break;
|
||||
case kSpinnerDestinationRuncitersAnimals:
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
Set_Enter(kSetRC01, kSceneRC01);
|
||||
@ -285,7 +294,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
||||
break;
|
||||
case kSpinnerDestinationAnimoidRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtAR01);
|
||||
Set_Enter(kSetAR01_AR02, kSceneAR01);
|
||||
@ -294,14 +303,14 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
||||
case kSpinnerDestinationTyrellBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtTB02);
|
||||
Set_Enter(kSetTB02_TB03, kSceneTB02);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
|
||||
break;
|
||||
case kSpinnerDestinationDNARow:
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtDR01);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
|
||||
@ -309,7 +318,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
||||
break;
|
||||
case kSpinnerDestinationBradburyBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtBB01);
|
||||
Set_Enter(kSetBB01, kSceneBB01);
|
||||
@ -317,7 +326,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
||||
break;
|
||||
case kSpinnerDestinationNightclubRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
@ -325,7 +334,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
||||
break;
|
||||
case kSpinnerDestinationHysteriaHall:
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtHF01);
|
||||
Set_Enter(kSetHF01, kSceneHF01);
|
||||
@ -343,6 +352,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -351,16 +361,25 @@ bool SceneScriptCT01::ClickedOn2DRegion(int region) {
|
||||
}
|
||||
|
||||
void SceneScriptCT01::SceneFrameAdvanced(int frame) {
|
||||
if ((frame < 316 || frame > 435) && !((frame - 1) % 10)) {
|
||||
Ambient_Sounds_Play_Sound(/*v1*/Random_Query(59, 60), 25, 30, 30, 0);
|
||||
if ((frame < 316
|
||||
|| frame > 435
|
||||
)
|
||||
&& ((frame - 1) % 10) == 0
|
||||
) {
|
||||
Ambient_Sounds_Play_Sound(Random_Query(59, 60), 25, 30, 30, 0);
|
||||
}
|
||||
|
||||
if (frame == 23) {
|
||||
Ambient_Sounds_Play_Sound(118, 40, 99, 0, 0);
|
||||
}
|
||||
|
||||
if (frame == 316) {
|
||||
Ambient_Sounds_Play_Sound(373, 50, -50, 100, 99);
|
||||
}
|
||||
if (frame == 196 || frame == 452) {
|
||||
|
||||
if (frame == 196
|
||||
|| frame == 452
|
||||
) {
|
||||
int v3 = Random_Query(0, 6);
|
||||
if (v3 == 0) {
|
||||
Overlay_Play("ct01spnr", 0, false, true, 0);
|
||||
@ -385,15 +404,15 @@ void SceneScriptCT01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
||||
|
||||
void SceneScriptCT01::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(kFlagCT02toCT01walk)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -327.2f, -6.5f, 352.28f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -327.2f, -6.5f, 352.28f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagCT02toCT01walk);
|
||||
} else {
|
||||
if (!Game_Flag_Query(kFlagArrivedFromSpinner)) {
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
if (!Game_Flag_Query(kFlagArrivedFromSpinner1)) {
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
return;
|
||||
}
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -314.0f, -6.5f, 326.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, false, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -314.0f, -6.5f, 326.0f, 0, false, false, 0);
|
||||
if (!Game_Flag_Query(kFlagCT01Visited)) {
|
||||
Game_Flag_Set(kFlagCT01Visited);
|
||||
if (!Game_Flag_Query(kFlagDirectorsCut)) {
|
||||
@ -427,38 +446,47 @@ void SceneScriptCT01::DialogueQueueFlushed(int a1) {
|
||||
void SceneScriptCT01::dialogueWithHowieLee() {
|
||||
Dialogue_Menu_Clear_List();
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(40, 4, 5, 6);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(40, 4, 5, 6); // LUCY PHOTO
|
||||
}
|
||||
|
||||
if (
|
||||
( Actor_Clue_Query(kActorMcCoy, kClueChopstickWrapper)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueSushiMenu)
|
||||
)
|
||||
&& !Game_Flag_Query(kFlagCT01Evidence1Linked)
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(50, 5, 5, 4);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(50, 5, 5, 4); // RUNCITER CLUES
|
||||
}
|
||||
|
||||
if ( Actor_Clue_Query(kActorMcCoy, kClueChopstickWrapper)
|
||||
&& Actor_Clue_Query(kActorMcCoy, kClueSushiMenu)
|
||||
&& Game_Flag_Query(kFlagCT01Evidence1Linked)
|
||||
&& !Game_Flag_Query(kFlagCT01Evidence2Linked)
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(60, 3, 5, 5);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(60, 3, 5, 5); // MORE RUNCITER CLUES
|
||||
}
|
||||
|
||||
if (Game_Flag_Query(kFlagCT02PotTipped)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(80, 9, 9, 9);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(80, 9, 9, 9); // EMPLOYEE
|
||||
} else if (Game_Flag_Query(kFlagCT01ZubenLeft)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(80, 3, 4, 8);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(80, 3, 4, 8); // EMPLOYEE
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueCarColorAndMake) && Actor_Clue_Query(kActorMcCoy, kClueDispatchHitAndRun) == 1) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(90, 5, 4, 5);
|
||||
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueCarColorAndMake)
|
||||
&& Actor_Clue_Query(kActorMcCoy, kClueDispatchHitAndRun) // this clue is never obtained
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(90, 5, 4, 5); // HIT AND RUN
|
||||
}
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(70, 7, 3, -1);
|
||||
Dialogue_Menu_Add_DONE_To_List(100);
|
||||
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(70, 7, 3, -1); // SMALL TALK
|
||||
Dialogue_Menu_Add_DONE_To_List(100); // DONE
|
||||
|
||||
Dialogue_Menu_Appear(320, 240);
|
||||
int answer = Dialogue_Menu_Query_Input();
|
||||
Dialogue_Menu_Disappear();
|
||||
|
||||
switch (answer) {
|
||||
case 40:
|
||||
case 40: // LUCY PHOTO
|
||||
Actor_Says(kActorMcCoy, 265, 11);
|
||||
Actor_Says(kActorHowieLee, 20, 14);
|
||||
if (Actor_Query_Is_In_Current_Set(kActorZuben)) {
|
||||
@ -472,12 +500,13 @@ void SceneScriptCT01::dialogueWithHowieLee() {
|
||||
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -2);
|
||||
if (Actor_Query_Is_In_Current_Set(kActorGordo)) {
|
||||
Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -3);
|
||||
Actor_Clue_Acquire(kActorGordo, kClueMcCoysDescription, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorGordo, kClueMcCoysDescription, true, kActorMcCoy);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 50:
|
||||
|
||||
case 50: // RUNCITER CLUES
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueChopstickWrapper)) {
|
||||
Actor_Says(kActorMcCoy, 270, 11);
|
||||
Actor_Says(kActorHowieLee, 30, 16);
|
||||
@ -487,7 +516,8 @@ void SceneScriptCT01::dialogueWithHowieLee() {
|
||||
}
|
||||
Game_Flag_Set(kFlagCT01Evidence1Linked);
|
||||
break;
|
||||
case 60:
|
||||
|
||||
case 60: // MORE RUNCITER CLUES
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueSushiMenu)) {
|
||||
Actor_Says(kActorMcCoy, 270, 11);
|
||||
Actor_Says(kActorHowieLee, 40, 15);
|
||||
@ -498,9 +528,14 @@ void SceneScriptCT01::dialogueWithHowieLee() {
|
||||
Actor_Modify_Friendliness_To_Other(kActorHowieLee, kActorMcCoy, 5);
|
||||
Game_Flag_Set(kFlagCT01Evidence2Linked);
|
||||
break;
|
||||
case 70:
|
||||
|
||||
case 70: // SMALL TALK
|
||||
Actor_Says(kActorMcCoy, 290, 13);
|
||||
if (Actor_Query_Friendliness_To_Other(kActorHowieLee, kActorMcCoy) > 49 && (Global_Variable_Query(kVariableChinyen) > 10 || Query_Difficulty_Level() == 0)) {
|
||||
if (Actor_Query_Friendliness_To_Other(kActorHowieLee, kActorMcCoy) > 49
|
||||
&& (Global_Variable_Query(kVariableChinyen) > 10
|
||||
|| Query_Difficulty_Level() == 0
|
||||
)
|
||||
) {
|
||||
Actor_Says(kActorHowieLee, 50, kAnimationModeTalk);
|
||||
Actor_Says(kActorHowieLee, 60, kAnimationModeTalk);
|
||||
Actor_Face_Actor(kActorHowieLee, kActorMcCoy, true);
|
||||
@ -514,18 +549,21 @@ void SceneScriptCT01::dialogueWithHowieLee() {
|
||||
Actor_Says(kActorHowieLee, 130, 15);
|
||||
}
|
||||
break;
|
||||
case 80:
|
||||
|
||||
case 80: // EMPLOYEE
|
||||
Actor_Says(kActorMcCoy, 295, 11);
|
||||
Actor_Says(kActorHowieLee, 90, 14);
|
||||
Actor_Says(kActorHowieLee, 100, 13);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHowieLeeInterview, 1, kActorHowieLee);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHowieLeeInterview, true, kActorHowieLee);
|
||||
Actor_Modify_Friendliness_To_Other(kActorHowieLee, kActorMcCoy, -3);
|
||||
break;
|
||||
case 90:
|
||||
|
||||
case 90: // HIT AND RUN
|
||||
Actor_Says(kActorMcCoy, 300, 13);
|
||||
Actor_Says(kActorHowieLee, 110, 16);
|
||||
break;
|
||||
case 100:
|
||||
|
||||
case 100: // DONE
|
||||
Actor_Says(kActorMcCoy, 305, 18);
|
||||
break;
|
||||
}
|
||||
|
@ -119,10 +119,12 @@ bool SceneScriptCT02::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
void SceneScriptCT02::dialogueWithZuben() {
|
||||
Dialogue_Menu_Clear_List();
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(270, 8, 5, 3);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(270, 8, 5, 3); // LUCY PHOTO
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewA) && !Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(280, 8, 5, 3);
|
||||
if ( Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewA)
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueLucy)
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(280, 8, 5, 3); // LUCY
|
||||
}
|
||||
int evidenceCount = 0;
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueDoorForced2)) {
|
||||
@ -141,29 +143,33 @@ void SceneScriptCT02::dialogueWithZuben() {
|
||||
++evidenceCount;
|
||||
}
|
||||
if (evidenceCount > 3) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(290, -1, 4, 8);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(290, -1, 4, 8); // VOIGT-KAMPFF
|
||||
}
|
||||
Dialogue_Menu_Add_DONE_To_List(300);
|
||||
Dialogue_Menu_Add_DONE_To_List(300); // DONE
|
||||
|
||||
Dialogue_Menu_Appear(320, 240);
|
||||
int answerValue = Dialogue_Menu_Query_Input();
|
||||
Dialogue_Menu_Disappear();
|
||||
|
||||
switch (answerValue) {
|
||||
case 270:
|
||||
case 270: // LUCY PHOTO
|
||||
Actor_Says(kActorMcCoy, 380, 11);
|
||||
Actor_Says(kActorZuben, 30, 17);
|
||||
Actor_Says(kActorZuben, 40, 15);
|
||||
Actor_Says(kActorMcCoy, 410, 9);
|
||||
Actor_Says(kActorZuben, 50, 18);
|
||||
Actor_Says(kActorMcCoy, 415, 10);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueZubenInterview, 0, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueZubenInterview, false, -1);
|
||||
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -5);
|
||||
break;
|
||||
case 280:
|
||||
|
||||
case 280: // LUCY
|
||||
Actor_Says(kActorMcCoy, 385, 9);
|
||||
Actor_Says(kActorZuben, 40, 19);
|
||||
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -2);
|
||||
break;
|
||||
case 290:
|
||||
|
||||
case 290: // VOIGT-KAMPFF
|
||||
Actor_Says(kActorMcCoy, 395, 9);
|
||||
Actor_Says(kActorMcCoy, 400, 9);
|
||||
Actor_Says(kActorZuben, 70, 17);
|
||||
@ -171,14 +177,15 @@ void SceneScriptCT02::dialogueWithZuben() {
|
||||
Actor_Says(kActorZuben, 80, 14);
|
||||
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -10);
|
||||
break;
|
||||
case 300:
|
||||
|
||||
case 300: // DONE
|
||||
Actor_Says(kActorMcCoy, 405, 11);
|
||||
break;
|
||||
}
|
||||
|
||||
if (Actor_Query_Friendliness_To_Other(kActorZuben, kActorMcCoy) < 44) {
|
||||
Scene_Exits_Disable();
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueZubenRunsAway, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueZubenRunsAway, true, -1);
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT02PushPot);
|
||||
Game_Flag_Set(kFlagCT02PotTipped);
|
||||
Scene_Loop_Set_Default(kCT02LoopMainPotTipped);
|
||||
@ -188,7 +195,7 @@ void SceneScriptCT02::dialogueWithZuben() {
|
||||
|
||||
bool SceneScriptCT02::ClickedOnActor(int actorId) {
|
||||
if (actorId == kActorZuben && Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT01Leave) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -255.02f, -145.11f, 212.42f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -255.02f, -145.11f, 212.42f, 0, true, false, 0)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorZuben, true);
|
||||
Actor_Face_Actor(kActorZuben, kActorMcCoy, true);
|
||||
if (!Game_Flag_Query(kFlagCT02ZubenTalk)) {
|
||||
|
@ -80,6 +80,7 @@ bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
Game_Flag_Set(kFlagHomelessTalkedTo);
|
||||
Actor_Set_Goal_Number(kActorTransient, kGoalTransientCT04Leave);
|
||||
}
|
||||
|
||||
if ( Game_Flag_Query(kFlagMcCoyKilledHomeless)
|
||||
&& !Game_Flag_Query(kFlagHomelessBodyInDumpster)
|
||||
&& !Game_Flag_Query(kFlagHomelessBodyFound)
|
||||
@ -100,6 +101,7 @@ bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Game_Flag_Query(kFlagHomelessBodyInDumpster)) {
|
||||
if (Game_Flag_Query(kFlagDumpsterEmptied)) {
|
||||
Actor_Voice_Over(270, kActorVoiceOver);
|
||||
@ -114,16 +116,18 @@ bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (Game_Flag_Query(kFlagLicensePlaceFound)) {
|
||||
|
||||
if (!Game_Flag_Query(kFlagLicensePlaceFound)) {
|
||||
if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 75, 0, true, false)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 707, false);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 38);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLicensePlate, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLicensePlate, true, -1);
|
||||
Item_Pickup_Spin_Effect(952, 392, 225);
|
||||
Game_Flag_Set(kFlagLicensePlaceFound);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 75, 0, true, false)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 707, false);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 38);
|
||||
@ -138,24 +142,32 @@ bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
|
||||
void SceneScriptCT04::dialogueWithHomeless() {
|
||||
Dialogue_Menu_Clear_List();
|
||||
if (Global_Variable_Query(kVariableChinyen) > 10 || Query_Difficulty_Level() == 0) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(410, 8, 4, -1);
|
||||
if (Global_Variable_Query(kVariableChinyen) > 10
|
||||
|| Query_Difficulty_Level() == 0
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(410, 8, 4, -1); // YES
|
||||
}
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(420, 2, 6, 8);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(420, 2, 6, 8); // NO
|
||||
|
||||
Dialogue_Menu_Appear(320, 240);
|
||||
int answer = Dialogue_Menu_Query_Input();
|
||||
Dialogue_Menu_Disappear();
|
||||
if (answer == 410) {
|
||||
|
||||
switch (answer) {
|
||||
case 410: // YES
|
||||
Actor_Says(kActorTransient, 10, 14);
|
||||
Actor_Says(kActorTransient, 20, 14);
|
||||
Actor_Modify_Friendliness_To_Other(kActorTransient, kActorMcCoy, 5);
|
||||
if (Query_Difficulty_Level() != 0) {
|
||||
Global_Variable_Decrement(kVariableChinyen, 10);
|
||||
}
|
||||
} else if (answer == 420) {
|
||||
break;
|
||||
|
||||
case 420: // NO
|
||||
Actor_Says(kActorMcCoy, 430, 3);
|
||||
Actor_Says(kActorTransient, 30, 14);
|
||||
Actor_Modify_Friendliness_To_Other(kActorTransient, kActorMcCoy, -5);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -137,7 +137,7 @@ bool SceneScriptCT05::ClickedOnItem(int itemId, bool a2) {
|
||||
|
||||
bool SceneScriptCT05::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -128.42f, -109.91f, 112.83f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -128.42f, -109.91f, 112.83f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagCT05toCT12);
|
||||
if (Actor_Query_Goal_Number(kActorGaff) == 1) {
|
||||
Overlay_Remove("ct05over");
|
||||
@ -147,7 +147,7 @@ bool SceneScriptCT05::ClickedOnExit(int exitId) {
|
||||
return true;
|
||||
}
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagCT05toCT04);
|
||||
if (Actor_Query_Goal_Number(kActorGaff) == 1) {
|
||||
Overlay_Remove("ct05over");
|
||||
@ -159,12 +159,12 @@ bool SceneScriptCT05::ClickedOnExit(int exitId) {
|
||||
return true;
|
||||
}
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 71.99f, -109.91f, 288.79f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 71.99f, -109.91f, 288.79f, 0, true, false, 0)) {
|
||||
Footstep_Sound_Override_On(2);
|
||||
Actor_Face_Object(kActorMcCoy, "STAIR 2", true);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 9, true, kAnimationModeIdle);
|
||||
Actor_Set_At_XYZ(kActorMcCoy, 99.73f, -19.91f, 134.97f, 256);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 5, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 5, true, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Game_Flag_Set(kFlagCT05toCT06);
|
||||
if (Actor_Query_Goal_Number(kActorGaff) == 1) {
|
||||
@ -211,20 +211,22 @@ void SceneScriptCT05::PlayerWalkedIn() {
|
||||
Player_Loses_Control();
|
||||
Game_Flag_Reset(kFlagCT04toCT05);
|
||||
if (Player_Query_Combat_Mode()) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, 0, true, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, false, true, 0);
|
||||
} else {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -308.18f, -109.91f, 674.77f, 0, false, false, 0);
|
||||
}
|
||||
Player_Gains_Control();
|
||||
}
|
||||
if (Game_Flag_Query(kFlagCT06toCT05)) {
|
||||
Footstep_Sound_Override_On(2);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, false, kAnimationModeIdle);
|
||||
Actor_Set_At_XYZ(kActorMcCoy, 90.73f, -19.91f, 164.97f, 520);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 10, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 10, false, kAnimationModeIdle);
|
||||
Game_Flag_Reset(kFlagCT06toCT05);
|
||||
Footstep_Sound_Override_Off();
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == 2 && Game_Flag_Query(145)) {
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == 2
|
||||
&& Game_Flag_Query(kFlagZubenPhoto)
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorGordo, 3);
|
||||
}
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ bool SceneScriptCT06::ClickedOnActor(int actorId) {
|
||||
Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorZuben, 24, true, false);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorZuben, true);
|
||||
if (!Game_Flag_Query(kFlagZubenPhoto)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueZuben, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueZuben, true, -1);
|
||||
Item_Pickup_Spin_Effect(984, 340, 369);
|
||||
Actor_Voice_Over(350, kActorVoiceOver);
|
||||
Actor_Voice_Over(360, kActorVoiceOver);
|
||||
|
@ -98,7 +98,7 @@ bool SceneScriptCT08::ClickedOnActor(int actorId) {
|
||||
bool SceneScriptCT08::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == 81) {
|
||||
if (!Loop_Actor_Walk_To_Item(kActorMcCoy, 81, 36, 1, false) && !Game_Flag_Query(550)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCheese, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCheese, true, -1);
|
||||
Item_Pickup_Spin_Effect(936, 266, 328);
|
||||
Item_Remove_From_World(81);
|
||||
Actor_Voice_Over(480, kActorVoiceOver);
|
||||
|
@ -72,7 +72,7 @@ void SceneScriptCT10::sub_401844() {
|
||||
Actor_Voice_Over(3700, kActorVoiceOver);
|
||||
} else {
|
||||
Item_Pickup_Spin_Effect(931, 435, 258);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHoldensBadge, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHoldensBadge, true, -1);
|
||||
}
|
||||
Player_Gains_Control();
|
||||
}
|
||||
@ -90,7 +90,7 @@ bool SceneScriptCT10::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueStrangeScale1)) {
|
||||
Actor_Voice_Over(3700, kActorVoiceOver);
|
||||
} else {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueStrangeScale1, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueStrangeScale1, true, -1);
|
||||
Item_Pickup_Spin_Effect(969, 364, 214);
|
||||
}
|
||||
Delay(1000);
|
||||
|
@ -130,7 +130,7 @@ bool SceneScriptCT11::ClickedOn2DRegion(int region) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 47, false);
|
||||
Item_Remove_From_World(115);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLichenDogWrapper, 0, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLichenDogWrapper, false, -1);
|
||||
Item_Pickup_Spin_Effect(951, 510, 319);
|
||||
Game_Flag_Reset(725);
|
||||
Game_Flag_Set(645);
|
||||
@ -170,7 +170,7 @@ bool SceneScriptCT11::ClickedOn2DRegion(int region) {
|
||||
Actor_Voice_Over(520, kActorVoiceOver);
|
||||
Actor_Voice_Over(530, kActorVoiceOver);
|
||||
Actor_Voice_Over(540, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCar, 0, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCar, false, -1);
|
||||
Scene_2D_Region_Remove(1);
|
||||
}
|
||||
}
|
||||
|
@ -59,32 +59,45 @@ void SceneScriptCT12::InitializeScene() {
|
||||
Ambient_Sounds_Add_Sound(375, 60, 180, 50, 100, 0, 0, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(376, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(377, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
|
||||
if (Global_Variable_Query(kVariableChapter) < 2 && Actor_Query_Goal_Number(kActorGaff) == 1) {
|
||||
if (Global_Variable_Query(kVariableChapter) < 2
|
||||
&& Actor_Query_Goal_Number(kActorGaff) == 1
|
||||
) {
|
||||
Actor_Put_In_Set(kActorGaff, kSetCT01_CT12);
|
||||
Actor_Set_At_XYZ(kActorGaff, -534.0f, -6.5f, 952.0f, 367);
|
||||
Game_Flag_Set(kFlagGaffSpinnerCT12);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagCT01toCT12) && Game_Flag_Query(kFlagSpinnerAtCT01)) {
|
||||
if (Global_Variable_Query(kVariableChapter) != 2 && Global_Variable_Query(kVariableChapter) != 3) {
|
||||
if (Game_Flag_Query(kFlagCT01toCT12)
|
||||
&& Game_Flag_Query(kFlagSpinnerAtCT01)
|
||||
) {
|
||||
if (Global_Variable_Query(kVariableChapter) != 2
|
||||
&& Global_Variable_Query(kVariableChapter) != 3
|
||||
) {
|
||||
Scene_Loop_Start_Special(0, 1, 0);
|
||||
}
|
||||
Scene_Loop_Set_Default(2);
|
||||
Game_Flag_Reset(kFlagCT01toCT12);
|
||||
} else if (Game_Flag_Query(kFlagCT01toCT12) && !Game_Flag_Query(kFlagSpinnerAtCT01)) {
|
||||
if (Global_Variable_Query(kVariableChapter) != 2 && Global_Variable_Query(kVariableChapter) != 3) {
|
||||
} else if ( Game_Flag_Query(kFlagCT01toCT12)
|
||||
&& !Game_Flag_Query(kFlagSpinnerAtCT01)
|
||||
) {
|
||||
if (Global_Variable_Query(kVariableChapter) != 2
|
||||
&& Global_Variable_Query(kVariableChapter) != 3
|
||||
) {
|
||||
Scene_Loop_Start_Special(0, 0, 0);
|
||||
}
|
||||
Scene_Loop_Set_Default(2);
|
||||
Game_Flag_Reset(kFlagCT01toCT12);
|
||||
} else if (Game_Flag_Query(kFlagCT05toCT12) && Game_Flag_Query(kFlagGaffSpinnerCT12)) {
|
||||
} else if (Game_Flag_Query(kFlagCT05toCT12)
|
||||
&& Game_Flag_Query(kFlagGaffSpinnerCT12)
|
||||
) {
|
||||
Game_Flag_Reset(kFlagCT05toCT12);
|
||||
Scene_Loop_Set_Default(4);
|
||||
} else if (Game_Flag_Query(kFlagCT05toCT12) && !Game_Flag_Query(kFlagGaffSpinnerCT12)) {
|
||||
} else if ( Game_Flag_Query(kFlagCT05toCT12)
|
||||
&& !Game_Flag_Query(kFlagGaffSpinnerCT12)
|
||||
) {
|
||||
Game_Flag_Reset(kFlagCT05toCT12);
|
||||
Scene_Loop_Set_Default(2);
|
||||
} else {
|
||||
Scene_Loop_Set_Default(2);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -104,27 +117,32 @@ bool SceneScriptCT12::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
}
|
||||
|
||||
bool SceneScriptCT12::ClickedOnActor(int actorId) {
|
||||
if (actorId == 28) {
|
||||
if (actorId == kActorHowieLee) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorHowieLee, true);
|
||||
Actor_Says(kActorMcCoy, 8910, 16);
|
||||
}
|
||||
if (actorId == 24 && Global_Variable_Query(kVariableChapter) == 4 && Game_Flag_Query(671) && Game_Flag_Query(703)) {
|
||||
|
||||
if (actorId == kActorOfficerGrayford
|
||||
&& Global_Variable_Query(kVariableChapter) == 4
|
||||
&& Game_Flag_Query(671)
|
||||
&& Game_Flag_Query(703)
|
||||
) {
|
||||
Actor_Face_Actor(kActorOfficerGrayford, kActorMcCoy, true);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorOfficerGrayford, true);
|
||||
Actor_Says(kActorMcCoy, 710, 3);
|
||||
Actor_Says(kActorOfficerGrayford, 20, 3);
|
||||
Actor_Says(kActorMcCoy, 715, 3);
|
||||
Actor_Says(kActorOfficerGrayford, 30, 3);
|
||||
Actor_Says(kActorMcCoy, 720, 3);
|
||||
Actor_Says(kActorOfficerGrayford, 40, 3);
|
||||
Actor_Says(kActorOfficerGrayford, 50, 3);
|
||||
Actor_Says(kActorOfficerGrayford, 60, 3);
|
||||
Actor_Says(kActorMcCoy, 725, 3);
|
||||
Actor_Says(kActorOfficerGrayford, 70, 3);
|
||||
Actor_Says(kActorOfficerGrayford, 80, 3);
|
||||
Actor_Says(kActorOfficerGrayford, 90, 3);
|
||||
Actor_Says(kActorOfficerGrayford, 100, 3);
|
||||
Actor_Says(kActorOfficerGrayford, 110, 3);
|
||||
Actor_Says(kActorMcCoy, 710, kAnimationModeTalk);
|
||||
Actor_Says(kActorOfficerGrayford, 20, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 715, kAnimationModeTalk);
|
||||
Actor_Says(kActorOfficerGrayford, 30, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 720, kAnimationModeTalk);
|
||||
Actor_Says(kActorOfficerGrayford, 40, kAnimationModeTalk);
|
||||
Actor_Says(kActorOfficerGrayford, 50, kAnimationModeTalk);
|
||||
Actor_Says(kActorOfficerGrayford, 60, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 725, kAnimationModeTalk);
|
||||
Actor_Says(kActorOfficerGrayford, 70, kAnimationModeTalk);
|
||||
Actor_Says(kActorOfficerGrayford, 80, kAnimationModeTalk);
|
||||
Actor_Says(kActorOfficerGrayford, 90, kAnimationModeTalk);
|
||||
Actor_Says(kActorOfficerGrayford, 100, kAnimationModeTalk);
|
||||
Actor_Says(kActorOfficerGrayford, 110, kAnimationModeTalk);
|
||||
Game_Flag_Set(629);
|
||||
Game_Flag_Set(666);
|
||||
Actor_Set_Goal_Number(kActorMcCoy, 400);
|
||||
@ -138,7 +156,7 @@ bool SceneScriptCT12::ClickedOnItem(int itemId, bool a2) {
|
||||
|
||||
bool SceneScriptCT12::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -419.15f, -6.5f, 696.94f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -419.15f, -6.5f, 696.94f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagCT12toCT01);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT01);
|
||||
@ -146,7 +164,7 @@ bool SceneScriptCT12::ClickedOnExit(int exitId) {
|
||||
return true;
|
||||
}
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.69f, -6.5f, 696.94f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -182.69f, -6.5f, 696.94f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagCT12toCT03);
|
||||
@ -155,7 +173,7 @@ bool SceneScriptCT12::ClickedOnExit(int exitId) {
|
||||
return true;
|
||||
}
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.13f, -6.5f, 1132.72f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.13f, -6.5f, 1132.72f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagCT12toCT05);
|
||||
@ -164,7 +182,7 @@ bool SceneScriptCT12::ClickedOnExit(int exitId) {
|
||||
return true;
|
||||
}
|
||||
if (exitId == 3) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -493.0f, -6.5f, 1174.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -493.0f, -6.5f, 1174.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagCT12toCT11);
|
||||
@ -173,7 +191,7 @@ bool SceneScriptCT12::ClickedOnExit(int exitId) {
|
||||
return true;
|
||||
}
|
||||
if (exitId == 4) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -292.0f, -6.5f, 990.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -292.0f, -6.5f, 990.0f, 0, true, false, 0)) {
|
||||
if (Global_Variable_Query(kVariableChapter) == 4) {
|
||||
Game_Flag_Set(629);
|
||||
}
|
||||
@ -193,19 +211,7 @@ bool SceneScriptCT12::ClickedOn2DRegion(int region) {
|
||||
|
||||
void SceneScriptCT12::SceneFrameAdvanced(int frame) {
|
||||
if (((frame - 1) % 10) == 0) {
|
||||
/*int v2 = Random_Query(0, 1);
|
||||
if (v2 <= 1)
|
||||
{
|
||||
if (v2)
|
||||
{
|
||||
v1 = 60;
|
||||
}
|
||||
else
|
||||
{
|
||||
v1 = 59;
|
||||
}
|
||||
}*/
|
||||
Sound_Play(/*v1*/Random_Query(59, 60), 10, -80, -80, 50);
|
||||
Sound_Play(Random_Query(59, 60), 10, -80, -80, 50);
|
||||
}
|
||||
if (frame == 160) {
|
||||
Actor_Change_Animation_Mode(kActorGaff, 41);
|
||||
@ -238,37 +244,37 @@ void SceneScriptCT12::PlayerWalkedIn() {
|
||||
Loop_Actor_Walk_To_Actor(kActorGaff, kActorMcCoy, 48, false, false);
|
||||
Actor_Face_Actor(kActorGaff, kActorMcCoy, true);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorGaff, true);
|
||||
Actor_Says(kActorGaff, 0, 3);
|
||||
Actor_Says(kActorMcCoy, 670, 3);
|
||||
Actor_Says(kActorGaff, 10, 3);
|
||||
Actor_Says(kActorMcCoy, 675, 3);
|
||||
Actor_Says(kActorGaff, 20, 3);
|
||||
Actor_Says(kActorMcCoy, 680, 3);
|
||||
Actor_Says(kActorGaff, 30, 3);
|
||||
Actor_Says(kActorMcCoy, 685, 3);
|
||||
Actor_Says(kActorGaff, 40, 3);
|
||||
Actor_Says(kActorMcCoy, 690, 3);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGaffsInformation, 1, kActorGaff);
|
||||
Actor_Says(kActorGaff, 0, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 670, kAnimationModeTalk);
|
||||
Actor_Says(kActorGaff, 10, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 675, kAnimationModeTalk);
|
||||
Actor_Says(kActorGaff, 20, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 680, kAnimationModeTalk);
|
||||
Actor_Says(kActorGaff, 30, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 685, kAnimationModeTalk);
|
||||
Actor_Says(kActorGaff, 40, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 690, kAnimationModeTalk);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGaffsInformation, true, kActorGaff);
|
||||
Game_Flag_Set(kFlagGaffApproachedMcCoyAboutZuben);
|
||||
CDB_Set_Crime(kClueZuben, kCrimeMoonbusHijacking);
|
||||
|
||||
if (Game_Flag_Query(kFlagGaffApproachedMcCoyAboutZuben)
|
||||
&& Game_Flag_Query(kFlagZubenRetired)
|
||||
) {
|
||||
Actor_Says(kActorGaff, 50, 3);
|
||||
Actor_Says(kActorMcCoy, 695, 3);
|
||||
Actor_Says(kActorGaff, 60, 3);
|
||||
Actor_Says(kActorMcCoy, 700, 3);
|
||||
Actor_Says(kActorGaff, 70, 3);
|
||||
Actor_Clue_Acquire(kActorGaff, kClueMcCoyRetiredZuben, 1, -1);
|
||||
Actor_Says(kActorGaff, 50, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 695, kAnimationModeTalk);
|
||||
Actor_Says(kActorGaff, 60, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 700, kAnimationModeTalk);
|
||||
Actor_Says(kActorGaff, 70, kAnimationModeTalk);
|
||||
Actor_Clue_Acquire(kActorGaff, kClueMcCoyRetiredZuben, true, -1);
|
||||
} else if (Game_Flag_Query(kFlagGaffApproachedMcCoyAboutZuben)
|
||||
&& Game_Flag_Query(kFlagZubenSpared)
|
||||
) {
|
||||
Actor_Says(kActorGaff, 80, 3);
|
||||
Actor_Says(kActorGaff, 90, 3);
|
||||
Actor_Says(kActorMcCoy, 705, 3);
|
||||
Actor_Says(kActorGaff, 100, 3);
|
||||
Actor_Clue_Acquire(kActorGaff, kClueMcCoyLetZubenEscape, 1, -1);
|
||||
Actor_Says(kActorGaff, 80, kAnimationModeTalk);
|
||||
Actor_Says(kActorGaff, 90, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 705, kAnimationModeTalk);
|
||||
Actor_Says(kActorGaff, 100, kAnimationModeTalk);
|
||||
Actor_Clue_Acquire(kActorGaff, kClueMcCoyLetZubenEscape, true, -1);
|
||||
}
|
||||
|
||||
Actor_Set_Goal_Number(kActorGaff, 2);
|
||||
|
@ -60,7 +60,7 @@ bool SceneScriptCT51::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
return false;
|
||||
}
|
||||
Item_Pickup_Spin_Effect(970, 203, 200);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHysteriaToken, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHysteriaToken, true, -1);
|
||||
Actor_Voice_Over(420, kActorVoiceOver);
|
||||
return true;
|
||||
}
|
||||
@ -73,14 +73,14 @@ bool SceneScriptCT51::ClickedOnActor(int actorId) {
|
||||
|
||||
bool SceneScriptCT51::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == 85) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRagDoll, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRagDoll, true, -1);
|
||||
Item_Pickup_Spin_Effect(943, 260, 200);
|
||||
Ambient_Sounds_Play_Sound(563, 40, 99, 0, 0);
|
||||
Item_Remove_From_World(85);
|
||||
return true;
|
||||
}
|
||||
if (itemId == 120) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMoonbus1, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMoonbus1, true, -1);
|
||||
Item_Pickup_Spin_Effect(984, 490, 307);
|
||||
Item_Remove_From_World(120);
|
||||
Actor_Says(kActorMcCoy, 8527, 3);
|
||||
|
@ -55,12 +55,12 @@ void SceneScriptDR01::InitializeScene() {
|
||||
Ambient_Sounds_Add_Sound(378, 5, 80, 50, 100, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(379, 5, 80, 50, 100, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(380, 5, 80, 50, 100, -100, 100, -101, -101, 0, 0);
|
||||
if (Game_Flag_Query(272)
|
||||
if (Game_Flag_Query(kFlagDR05BombExploded)
|
||||
&& Game_Flag_Query(kFlagDR04toDR01)
|
||||
) {
|
||||
Scene_Loop_Start_Special(0, 3, 0);
|
||||
Scene_Loop_Set_Default(4);
|
||||
} else if (!Game_Flag_Query(272)
|
||||
} else if (!Game_Flag_Query(kFlagDR05BombExploded)
|
||||
&& Game_Flag_Query(kFlagDR04toDR01)
|
||||
) {
|
||||
Scene_Loop_Start_Special(0, 2, 0);
|
||||
|
@ -59,21 +59,22 @@ bool SceneScriptDR03::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
}
|
||||
|
||||
bool SceneScriptDR03::ClickedOnActor(int actorId) {
|
||||
if (actorId == 52) {
|
||||
if (actorId == kActorChew) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorChew, true);
|
||||
Actor_Face_Actor(kActorChew, kActorMcCoy, true);
|
||||
if (!Game_Flag_Query(267)) {
|
||||
if (!Game_Flag_Query(kFlagDR03ChewTalk1)) {
|
||||
Actor_Says(kActorMcCoy, 755, 18);
|
||||
Actor_Says(kActorChew, 10, 14);
|
||||
Actor_Says(kActorMcCoy, 760, 18);
|
||||
Actor_Says(kActorChew, 20, 14);
|
||||
Actor_Says(kActorMcCoy, 765, 18);
|
||||
Actor_Says(kActorChew, 30, 14);
|
||||
Game_Flag_Set(267);
|
||||
Game_Flag_Set(kFlagDR03ChewTalk1);
|
||||
return true;
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueChewInterview)) {
|
||||
if (Game_Flag_Query(266) && Game_Flag_Query(267)) {
|
||||
if (Game_Flag_Query(kFlagMorajiExploded)
|
||||
&& Game_Flag_Query(kFlagDR03ChewTalk1)) {
|
||||
Actor_Says(kActorMcCoy, 815, 18);
|
||||
Actor_Says(kActorChew, 60, 14);
|
||||
Actor_Says(kActorChew, 70, 14);
|
||||
@ -82,7 +83,7 @@ bool SceneScriptDR03::ClickedOnActor(int actorId) {
|
||||
Actor_Says(kActorChew, 90, 14);
|
||||
Actor_Says(kActorMcCoy, 825, 18);
|
||||
Actor_Says(kActorChew, 100, 14);
|
||||
Game_Flag_Reset(266);
|
||||
Game_Flag_Reset(kFlagMorajiExploded);
|
||||
Game_Flag_Set(505);
|
||||
return true;
|
||||
}
|
||||
@ -114,7 +115,7 @@ bool SceneScriptDR03::ClickedOnActor(int actorId) {
|
||||
Actor_Says(kActorMcCoy, 855, 18);
|
||||
Actor_Says(kActorChew, 210, 12);
|
||||
}
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, 1, kActorChew);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, true, kActorChew);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -216,7 +217,7 @@ void SceneScriptDR03::sub_401B18() {
|
||||
Actor_Says(kActorMcCoy, 855, 18);
|
||||
Actor_Says(kActorChew, 210, 12);
|
||||
}
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, 1, kActorChew);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, true, kActorChew);
|
||||
break;
|
||||
case 650:
|
||||
Actor_Says(kActorMcCoy, 775, 11);
|
||||
@ -239,11 +240,11 @@ void SceneScriptDR03::sub_401B18() {
|
||||
Actor_Says(kActorChew, 280, 12);
|
||||
Actor_Says(kActorMcCoy, 870, 18);
|
||||
Actor_Says(kActorChew, 290, 15);
|
||||
if (!Game_Flag_Query(266)) {
|
||||
if (!Game_Flag_Query(kFlagMorajiExploded)) {
|
||||
Actor_Says(kActorChew, 300, 12);
|
||||
}
|
||||
}
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, 1, kActorChew);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, true, kActorChew);
|
||||
break;
|
||||
case 670:
|
||||
Actor_Says(kActorMcCoy, 765, 12);
|
||||
|
@ -25,13 +25,13 @@
|
||||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptDR04::InitializeScene() {
|
||||
if (Game_Flag_Query(515)) {
|
||||
if (Game_Flag_Query(kFlagDR05BombExplosionView)) {
|
||||
Setup_Scene_Information(0.0f, 0.0f, 0.0f, 0);
|
||||
} else if (Game_Flag_Query(kFlagDR01toDR04)) {
|
||||
Setup_Scene_Information(-711.0f, -0.04f, 70.0f, 472);
|
||||
} else if (Game_Flag_Query(229)) {
|
||||
} else if (Game_Flag_Query(kFlagDR05toDR04)) {
|
||||
Setup_Scene_Information(-1067.0f, 7.18f, 421.0f, 125);
|
||||
} else if (Game_Flag_Query(231)) {
|
||||
} else if (Game_Flag_Query(kFlagDR06toDR04)) {
|
||||
Setup_Scene_Information(-897.75f, 134.45f, 569.75f, 512);
|
||||
} else {
|
||||
Setup_Scene_Information(-810.0f, -0.04f, 242.0f, 125);
|
||||
@ -52,13 +52,13 @@ void SceneScriptDR04::InitializeScene() {
|
||||
Ambient_Sounds_Add_Sound(378, 5, 80, 50, 100, 0, 0, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(379, 5, 80, 50, 100, 0, 0, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(380, 5, 80, 50, 100, 0, 0, -101, -101, 0, 0);
|
||||
if (Game_Flag_Query(272)) {
|
||||
if (Game_Flag_Query(kFlagDR05BombExploded)) {
|
||||
Scene_Loop_Set_Default(1);
|
||||
} else {
|
||||
Scene_Loop_Set_Default(4);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagDR01toDR04)) {
|
||||
if (Game_Flag_Query(272)) {
|
||||
if (Game_Flag_Query(kFlagDR05BombExploded)) {
|
||||
Scene_Loop_Start_Special(0, 0, 0);
|
||||
} else {
|
||||
Scene_Loop_Start_Special(0, 3, 0);
|
||||
@ -92,33 +92,34 @@ bool SceneScriptDR04::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
}
|
||||
|
||||
bool SceneScriptDR04::ClickedOnActor(int actorId) {
|
||||
if (actorId == 35 && !Player_Query_Combat_Mode()) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) != 21) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 23) {
|
||||
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorMoraji, 36, 1, false)) {
|
||||
Actor_Set_Goal_Number(kActorOfficerGrayford, 106);
|
||||
return true;
|
||||
}
|
||||
if ( actorId == kActorMoraji
|
||||
&& !Player_Query_Combat_Mode()
|
||||
) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 21) {
|
||||
if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 109, 0, true, true)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorMoraji, true);
|
||||
Actor_Says(kActorMcCoy, 945, 13);
|
||||
Actor_Says(kActorMoraji, 0, 3);
|
||||
Actor_Says(kActorMoraji, 10, 3);
|
||||
Actor_Says(kActorMcCoy, 950, 13);
|
||||
Actor_Says(kActorMoraji, 20, 3);
|
||||
Actor_Says(kActorMoraji, 30, 3);
|
||||
Actor_Says(kActorMcCoy, 955, 13);
|
||||
Actor_Says_With_Pause(kActorMoraji, 40, 0.0f, 3);
|
||||
Actor_Says(kActorMoraji, 50, 3);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMorajiInterview, true, kActorMoraji);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 22);
|
||||
Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if (!Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 109, 0, 1, true)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorMoraji, true);
|
||||
Actor_Says(kActorMcCoy, 945, 13);
|
||||
Actor_Says(kActorMoraji, 0, 3);
|
||||
Actor_Says(kActorMoraji, 10, 3);
|
||||
Actor_Says(kActorMcCoy, 950, 13);
|
||||
Actor_Says(kActorMoraji, 20, 3);
|
||||
Actor_Says(kActorMoraji, 30, 3);
|
||||
Actor_Says(kActorMcCoy, 955, 13);
|
||||
Actor_Says_With_Pause(kActorMoraji, 40, 0.0f, 3);
|
||||
Actor_Says(kActorMoraji, 50, 3);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMorajiInterview, 1, kActorMoraji);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 22);
|
||||
Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
|
||||
return true;
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 23) {
|
||||
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorMoraji, 36, true, false)) {
|
||||
Actor_Set_Goal_Number(kActorOfficerGrayford, 106);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -144,8 +145,8 @@ bool SceneScriptDR04::ClickedOnExit(int exitId) {
|
||||
}
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1067.0f, 7.18f, 421.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(232);
|
||||
Game_Flag_Set(228);
|
||||
Game_Flag_Set(kFlagNotUsed232);
|
||||
Game_Flag_Set(kFlagDR04toDR05);
|
||||
Set_Enter(kSetDR05, kSceneDR05);
|
||||
}
|
||||
return true;
|
||||
@ -155,13 +156,13 @@ bool SceneScriptDR04::ClickedOnExit(int exitId) {
|
||||
Footstep_Sound_Override_On(3);
|
||||
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
|
||||
Actor_Face_Heading(kActorMcCoy, 512, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 1, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -899.0f, 71.64f, 647.0f, 0, 0, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 0, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 1, kAnimationModeIdle);
|
||||
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
|
||||
Footstep_Sound_Override_Off();
|
||||
Game_Flag_Set(230);
|
||||
Game_Flag_Set(kFlagDR04toDR06);
|
||||
Set_Enter(kSetDR06, kSceneDR06);
|
||||
}
|
||||
return true;
|
||||
@ -180,17 +181,17 @@ bool SceneScriptDR04::sub_401160() {
|
||||
}
|
||||
|
||||
void SceneScriptDR04::SceneFrameAdvanced(int frame) {
|
||||
if (Game_Flag_Query(515)) {
|
||||
Game_Flag_Reset(515);
|
||||
Game_Flag_Reset(271);
|
||||
if (Game_Flag_Query(kFlagDR05BombExplosionView)) {
|
||||
Game_Flag_Reset(kFlagDR05BombExplosionView);
|
||||
Game_Flag_Reset(kFlagDR05BombWillExplode);
|
||||
Scene_Loop_Set_Default(1);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeOnce, 6, true);
|
||||
Music_Stop(4);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 99);
|
||||
} else {
|
||||
if (Game_Flag_Query(271)) {
|
||||
Game_Flag_Reset(271);
|
||||
Game_Flag_Set(272);
|
||||
if (Game_Flag_Query(kFlagDR05BombWillExplode)) {
|
||||
Game_Flag_Reset(kFlagDR05BombWillExplode);
|
||||
Game_Flag_Set(kFlagDR05BombExploded);
|
||||
Scene_Loop_Set_Default(1);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeOnce, 6, true);
|
||||
Item_Remove_From_World(78);
|
||||
@ -215,7 +216,10 @@ void SceneScriptDR04::SceneFrameAdvanced(int frame) {
|
||||
Player_Gains_Control();
|
||||
break;
|
||||
case 235:
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) != 20 && Actor_Query_Goal_Number(kActorMoraji) != 21 && Actor_Query_Goal_Number(kActorMoraji) != 99) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) != 20
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != 21
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != 99
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
|
||||
}
|
||||
Scene_Exits_Enable();
|
||||
@ -231,30 +235,33 @@ void SceneScriptDR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
||||
}
|
||||
|
||||
void SceneScriptDR04::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(515)) {
|
||||
if (Game_Flag_Query(kFlagDR05BombExplosionView)) {
|
||||
Player_Loses_Control();
|
||||
Delay(4000);
|
||||
Actor_Retired_Here(kActorMcCoy, 6, 6, 1, -1);
|
||||
} else {
|
||||
if (Game_Flag_Query(269) && !Game_Flag_Query(272)) {
|
||||
if ( Game_Flag_Query(kFlagDR05BombActivated)
|
||||
&& !Game_Flag_Query(kFlagDR05BombExploded)
|
||||
) {
|
||||
Scene_Exits_Disable();
|
||||
}
|
||||
if (Game_Flag_Query(231)) {
|
||||
|
||||
if (Game_Flag_Query(kFlagDR06toDR04)) {
|
||||
Footstep_Sound_Override_On(3);
|
||||
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
|
||||
Actor_Face_Heading(kActorMcCoy, 512, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 0, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 71.64f, 647.0f, 0, 0, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 0, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 0, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -774.85f, 7.18f, 386.67f, 0, 0, false, 0);
|
||||
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
|
||||
Footstep_Sound_Override_Off();
|
||||
}
|
||||
}
|
||||
Game_Flag_Reset(kFlagDR01toDR04);
|
||||
Game_Flag_Reset(229);
|
||||
Game_Flag_Reset(231);
|
||||
Game_Flag_Reset(kFlagDR05toDR04);
|
||||
Game_Flag_Reset(kFlagDR06toDR04);
|
||||
}
|
||||
|
||||
void SceneScriptDR04::PlayerWalkedOut() {
|
||||
|
@ -26,13 +26,13 @@ namespace BladeRunner {
|
||||
|
||||
void SceneScriptDR05::InitializeScene() {
|
||||
Setup_Scene_Information(-22.0f, 0.3f, 221.0f, 0);
|
||||
Game_Flag_Reset(228);
|
||||
Game_Flag_Reset(kFlagDR04toDR05);
|
||||
Scene_Exit_Add_2D_Exit(0, 0, 38, 80, 467, 3);
|
||||
Ambient_Sounds_Add_Looping_Sound(383, 25, 0, 1);
|
||||
if (!Game_Flag_Query(272)) {
|
||||
if (!Game_Flag_Query(kFlagDR05BombExploded)) {
|
||||
Overlay_Play("DR05OVER", 0, 1, 0, 0);
|
||||
}
|
||||
if (Game_Flag_Query(272)) {
|
||||
if (Game_Flag_Query(kFlagDR05BombExploded)) {
|
||||
Scene_Loop_Set_Default(2);
|
||||
} else {
|
||||
Scene_Loop_Set_Default(0);
|
||||
@ -44,9 +44,9 @@ void SceneScriptDR05::SceneLoaded() {
|
||||
Unobstacle_Object("BOX06", true);
|
||||
Unobstacle_Object("BOX183", true);
|
||||
Clickable_Object("T2 DOORWAY");
|
||||
if (!Game_Flag_Query(272)) {
|
||||
if (!Game_Flag_Query(kFlagDR05BombExploded)) {
|
||||
Item_Add_To_World(78, 932, 35, -1.57f, 31.33f, 75.21f, 540, 16, 16, true, true, false, true);
|
||||
if (!Actor_Query_Goal_Number(kActorMoraji)) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 0) {
|
||||
Item_Add_To_World(122, 931, 35, 37.35f, 1.59f, 46.72f, 0, 20, 20, true, true, false, true);
|
||||
}
|
||||
}
|
||||
@ -58,8 +58,10 @@ bool SceneScriptDR05::MouseClick(int x, int y) {
|
||||
|
||||
bool SceneScriptDR05::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
if (Object_Query_Click("T2 DOORWAY", objectName)) {
|
||||
if (Game_Flag_Query(276) || Actor_Query_Goal_Number(kActorMoraji)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 57.61f, 0.3f, 69.27f, 0, 1, false, 0)) {
|
||||
if (Game_Flag_Query(kFlagNotUsed276)
|
||||
|| Actor_Query_Goal_Number(kActorMoraji) != 0
|
||||
) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 57.61f, 0.3f, 69.27f, 0, true, false, 0)) {
|
||||
Actor_Face_Object(kActorMcCoy, "T2 DOORWAY", true);
|
||||
Actor_Says(kActorMcCoy, 8522, 13);
|
||||
Actor_Says(kActorMcCoy, 8521, 14);
|
||||
@ -81,9 +83,12 @@ bool SceneScriptDR05::ClickedOnActor(int actorId) {
|
||||
bool SceneScriptDR05::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == 78) {
|
||||
if (Player_Query_Combat_Mode()) {
|
||||
Game_Flag_Set(271);
|
||||
Game_Flag_Set(kFlagDR05BombWillExplode);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 30);
|
||||
} else if (!Game_Flag_Query(272) && !Loop_Actor_Walk_To_Item(kActorMcCoy, 78, 24, 1, true) && Actor_Query_Goal_Number(kActorMoraji) != 11) {
|
||||
} else if (!Game_Flag_Query(kFlagDR05BombExploded)
|
||||
&& !Loop_Actor_Walk_To_Item(kActorMcCoy, 78, 24, 1, true)
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != 11
|
||||
) {
|
||||
if (!Actor_Query_Goal_Number(kActorMoraji)) {
|
||||
Actor_Says_With_Pause(kActorMcCoy, 1015, 0.1f, 12);
|
||||
Actor_Says(kActorMoraji, 70, 13);
|
||||
@ -92,10 +97,13 @@ bool SceneScriptDR05::ClickedOnItem(int itemId, bool a2) {
|
||||
}
|
||||
//return true; //bug?
|
||||
}
|
||||
if (itemId == 122 && Player_Query_Combat_Mode() && Actor_Query_Goal_Number(kActorMoraji) == 0) {
|
||||
if (itemId == 122
|
||||
&& Player_Query_Combat_Mode()
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) == 0
|
||||
) {
|
||||
Overlay_Play("DR05OVER", 1, 0, 1, 0);
|
||||
Item_Remove_From_World(122);
|
||||
Game_Flag_Set(270);
|
||||
Game_Flag_Set(kFlagDR05ChainShot);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 10);
|
||||
Music_Play(18, 71, 0, 0, -1, 0, 2);
|
||||
return true;
|
||||
@ -105,9 +113,9 @@ bool SceneScriptDR05::ClickedOnItem(int itemId, bool a2) {
|
||||
|
||||
bool SceneScriptDR05::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -22.0f, 0.3f, 221.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Reset(232);
|
||||
Game_Flag_Set(229);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -22.0f, 0.3f, 221.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Reset(kFlagNotUsed232);
|
||||
Game_Flag_Set(kFlagDR05toDR04);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR04);
|
||||
}
|
||||
return true;
|
||||
@ -123,10 +131,10 @@ void SceneScriptDR05::SceneFrameAdvanced(int frame) {
|
||||
if (frame == 49) {
|
||||
Sound_Play(148, Random_Query(50, 50), 80, 80, 50);
|
||||
}
|
||||
if (Game_Flag_Query(271)) {
|
||||
if (Game_Flag_Query(kFlagDR05BombWillExplode)) {
|
||||
Item_Remove_From_World(78);
|
||||
Game_Flag_Reset(271);
|
||||
Game_Flag_Set(272);
|
||||
Game_Flag_Reset(kFlagDR05BombWillExplode);
|
||||
Game_Flag_Set(kFlagDR05BombExploded);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 30);
|
||||
}
|
||||
}
|
||||
@ -135,39 +143,46 @@ void SceneScriptDR05::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
||||
}
|
||||
|
||||
void SceneScriptDR05::PlayerWalkedIn() {
|
||||
if (!Game_Flag_Query(511) && !Game_Flag_Query(270) && Game_Flag_Query(272)) {
|
||||
if (!Game_Flag_Query(kFlagDR05ExplodedEntered)
|
||||
&& !Game_Flag_Query(kFlagDR05ChainShot)
|
||||
&& Game_Flag_Query(kFlagDR05BombExploded)
|
||||
) {
|
||||
Item_Remove_From_World(122);
|
||||
}
|
||||
if (Game_Flag_Query(272)) {
|
||||
|
||||
if (Game_Flag_Query(kFlagDR05BombExploded)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, 0, false, 0);
|
||||
if (!Game_Flag_Query(511)) {
|
||||
Game_Flag_Set(511);
|
||||
if (!Game_Flag_Query(kFlagDR05ExplodedEntered)) {
|
||||
Game_Flag_Set(kFlagDR05ExplodedEntered);
|
||||
if (Game_Flag_Query(kFlagSadikIsReplicant)) {
|
||||
Actor_Voice_Over(730, kActorVoiceOver);
|
||||
Actor_Voice_Over(740, kActorVoiceOver);
|
||||
Actor_Voice_Over(750, kActorVoiceOver);
|
||||
Actor_Voice_Over(760, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueExpertBomber, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueExpertBomber, true, -1);
|
||||
} else {
|
||||
Actor_Voice_Over(670, kActorVoiceOver);
|
||||
Actor_Voice_Over(680, kActorVoiceOver);
|
||||
Actor_Voice_Over(700, kActorVoiceOver);
|
||||
Actor_Voice_Over(710, kActorVoiceOver);
|
||||
Actor_Voice_Over(720, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueAmateurBomber, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueAmateurBomber, true, -1);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, 0, true, 0);
|
||||
}
|
||||
if (!Game_Flag_Query(274) && !Actor_Query_Goal_Number(kActorMoraji)) {
|
||||
|
||||
if (!Game_Flag_Query(kFlagDR05MorajiTalk)
|
||||
&& !Actor_Query_Goal_Number(kActorMoraji)
|
||||
) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorMoraji, true);
|
||||
Actor_Says(kActorMcCoy, 1010, 13);
|
||||
Actor_Face_Item(kActorMcCoy, 78, true);
|
||||
Player_Set_Combat_Mode(true);
|
||||
Actor_Says(kActorMoraji, 60, 12);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 0);
|
||||
Game_Flag_Set(274);
|
||||
Game_Flag_Set(kFlagDR05MorajiTalk);
|
||||
//return true;
|
||||
}
|
||||
//return false;
|
||||
|
@ -25,19 +25,21 @@
|
||||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptDR06::InitializeScene() {
|
||||
if (Game_Flag_Query(230)) {
|
||||
if (Game_Flag_Query(kFlagDR04toDR06)) {
|
||||
Setup_Scene_Information(-733.57f, 136.6f, -968.64f, 0);
|
||||
} else {
|
||||
Setup_Scene_Information(-707.57f, 136.6f, -1132.64f, 472);
|
||||
}
|
||||
Scene_Exit_Add_2D_Exit(0, 601, 11, 639, 479, 1);
|
||||
if (Global_Variable_Query(kVariableChapter) > 3 && Game_Flag_Query(715)) {
|
||||
if (Global_Variable_Query(kVariableChapter) > 3
|
||||
&& Game_Flag_Query(715)
|
||||
) {
|
||||
Scene_Exit_Add_2D_Exit(1, 0, 272, 46, 477, 2);
|
||||
}
|
||||
Ambient_Sounds_Add_Looping_Sound(383, 25, 0, 1);
|
||||
Ambient_Sounds_Add_Sound(73, 5, 60, 20, 20, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(74, 5, 60, 20, 20, -100, 100, -101, -101, 0, 0);
|
||||
if (Game_Flag_Query(268)) {
|
||||
if (Game_Flag_Query(kFlagDR06JesterActive)) {
|
||||
Overlay_Play("DR06over", 1, 1, 0, 0);
|
||||
Ambient_Sounds_Add_Looping_Sound(300, 47, -75, 0);
|
||||
} else {
|
||||
@ -67,79 +69,86 @@ bool SceneScriptDR06::MouseClick(int x, int y) {
|
||||
|
||||
bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
if (Object_Query_Click("BOX16", objectName)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -743.0f, 136.6f, -1091.0f, 0, 1, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -743.0f, 136.6f, -1091.0f, 0, true, false, 0);
|
||||
Actor_Face_Object(kActorMcCoy, "BOX16", true);
|
||||
if (!Game_Flag_Query(268)) {
|
||||
if (!Game_Flag_Query(kFlagDR06JesterActive)) {
|
||||
Overlay_Play("DR06over", 1, 1, 1, 0);
|
||||
Ambient_Sounds_Add_Looping_Sound(300, 47, -75, 0);
|
||||
Game_Flag_Set(268);
|
||||
return true;
|
||||
Game_Flag_Set(kFlagDR06JesterActive);
|
||||
} else {
|
||||
Overlay_Play("DR06over", 0, 1, 1, 0);
|
||||
Ambient_Sounds_Remove_Looping_Sound(300, false);
|
||||
Game_Flag_Reset(kFlagDR06JesterActive);
|
||||
}
|
||||
Overlay_Play("DR06over", 0, 1, 1, 0);
|
||||
Ambient_Sounds_Remove_Looping_Sound(300, false);
|
||||
Game_Flag_Reset(268);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Object_Query_Click("X2_MON01A04", objectName)) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueAnsweringMachineMessage)) {
|
||||
Actor_Face_Object(kActorMcCoy, "X2_MON01A04", true);
|
||||
Actor_Says(kActorMcCoy, 8570, 13);
|
||||
} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -684.94f, 136.6f, -1136.12f, 0, 1, false, 0)) {
|
||||
Actor_Face_Object(kActorMcCoy, "X2_MON01A04", true);
|
||||
Actor_Says(kActorAnsweringMachine, 10, 3);
|
||||
Actor_Says(kActorAnsweringMachine, 20, 3);
|
||||
Actor_Says(kActorAnsweringMachine, 30, 3);
|
||||
Actor_Says(kActorMcCoy, 1025, 13);
|
||||
Actor_Says(kActorSebastian, 0, 3);
|
||||
Actor_Says(kActorSebastian, 10, 3);
|
||||
Actor_Says(kActorSebastian, 20, 3);
|
||||
Actor_Says(kActorSebastian, 30, 3);
|
||||
Actor_Says(kActorSebastian, 40, 3);
|
||||
Actor_Says(kActorSebastian, 50, 3);
|
||||
Actor_Says(kActorAnsweringMachine, 40, 3);
|
||||
Actor_Says(kActorMcCoy, 1030, 13);
|
||||
Actor_Says(kActorAnsweringMachine, 50, 3);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueAnsweringMachineMessage, 1, kActorAnsweringMachine);
|
||||
} else {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -684.94f, 136.6f, -1136.12f, 0, true, false, 0)) {
|
||||
Actor_Face_Object(kActorMcCoy, "X2_MON01A04", true);
|
||||
Actor_Says(kActorAnsweringMachine, 10, 3);
|
||||
Actor_Says(kActorAnsweringMachine, 20, 3);
|
||||
Actor_Says(kActorAnsweringMachine, 30, 3);
|
||||
Actor_Says(kActorMcCoy, 1025, 13);
|
||||
Actor_Says(kActorSebastian, 0, 3);
|
||||
Actor_Says(kActorSebastian, 10, 3);
|
||||
Actor_Says(kActorSebastian, 20, 3);
|
||||
Actor_Says(kActorSebastian, 30, 3);
|
||||
Actor_Says(kActorSebastian, 40, 3);
|
||||
Actor_Says(kActorSebastian, 50, 3);
|
||||
Actor_Says(kActorAnsweringMachine, 40, 3);
|
||||
Actor_Says(kActorMcCoy, 1030, 13);
|
||||
Actor_Says(kActorAnsweringMachine, 50, 3);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueAnsweringMachineMessage, true, kActorAnsweringMachine);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Object_Query_Click("X2_MON01D01", objectName)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -645.34f, 136.6f, -1047.37f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -645.34f, 136.6f, -1047.37f, 0, true, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 329, false);
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueFolder) && Actor_Clue_Query(kActorMcCoy, kClueGuzzaFramedMcCoy) && !Game_Flag_Query(670)) {
|
||||
if ( Actor_Clue_Query(kActorMcCoy, kClueFolder)
|
||||
&& Actor_Clue_Query(kActorMcCoy, kClueGuzzaFramedMcCoy)
|
||||
&& !Game_Flag_Query(670)
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorMcCoy, 350);
|
||||
Game_Flag_Set(670);
|
||||
} else if (Game_Flag_Query(280)) {
|
||||
Actor_Says(kActorMcCoy, 8570, 13);
|
||||
} else {
|
||||
} else if (!Game_Flag_Query(kFlagDR06VidphoneChecked)) {
|
||||
Actor_Voice_Over(770, kActorVoiceOver);
|
||||
Actor_Voice_Over(780, kActorVoiceOver);
|
||||
Actor_Voice_Over(790, kActorVoiceOver);
|
||||
Actor_Voice_Over(800, kActorVoiceOver);
|
||||
Game_Flag_Set(280);
|
||||
Game_Flag_Set(kFlagDR06VidphoneChecked);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 8570, 13);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (Object_Query_Click("X2_KEYBRD02", objectName) && !Game_Flag_Query(278)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -655.57f, 136.6f, -1092.64f, 0, 1, false, 0);
|
||||
|
||||
if ( Object_Query_Click("X2_KEYBRD02", objectName) // a bug? there is no X2_KEYBRD02 only X2KEYBRD02
|
||||
&& !Game_Flag_Query(kFlagDR06KeyboardChecked)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -655.57f, 136.6f, -1092.64f, 0, true, false, 0);
|
||||
Actor_Face_Object(kActorMcCoy, "X2_KEYBRD02", true);
|
||||
Actor_Voice_Over(830, kActorVoiceOver);
|
||||
Actor_Voice_Over(840, kActorVoiceOver);
|
||||
Game_Flag_Set(278);
|
||||
Game_Flag_Set(kFlagDR06KeyboardChecked);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Object_Query_Click("X2_TORSO04HIRES", objectName)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -700.0f, 136.6f, -1133.0f, 4, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -700.0f, 136.6f, -1133.0f, 4, true, false, 0)) {
|
||||
Actor_Face_Object(kActorMcCoy, "x2_TORSO04HIRES", true);
|
||||
if (Global_Variable_Query(39) > 12) {
|
||||
return true;
|
||||
}
|
||||
if (Game_Flag_Query(548)) {
|
||||
Overlay_Remove("DR06ovr2");
|
||||
Game_Flag_Reset(548);
|
||||
Sound_Play(161, 100, 0, 0, 50);
|
||||
} else {
|
||||
|
||||
if (!Game_Flag_Query(548)) {
|
||||
Overlay_Play("DR06ovr2", 0, 1, 0, 0);
|
||||
Game_Flag_Set(548);
|
||||
Sound_Play(160, 100, 0, 0, 50);
|
||||
@ -149,12 +158,17 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
Actor_Voice_Over(860, kActorVoiceOver);
|
||||
Actor_Voice_Over(870, kActorVoiceOver);
|
||||
Actor_Voice_Over(880, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueEnvelope, 1, kActorLance);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueEnvelope, true, kActorLance);
|
||||
if (Query_Difficulty_Level() != 0) {
|
||||
Global_Variable_Increment(2, 200);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Overlay_Remove("DR06ovr2");
|
||||
Game_Flag_Reset(548);
|
||||
Sound_Play(161, 100, 0, 0, 50);
|
||||
}
|
||||
|
||||
Global_Variable_Increment(39, 1);
|
||||
if (Global_Variable_Query(39) > 12) {
|
||||
Sound_Play(204, 100, 0, 0, 50);
|
||||
@ -163,7 +177,8 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
Actor_Face_Object(kActorMcCoy, "X2_MON01D01", true);
|
||||
|
||||
Actor_Face_Object(kActorMcCoy, "X2_MON01D01", true); //a bug? or why?
|
||||
Actor_Says(kActorMcCoy, 8525, 13);
|
||||
return true;
|
||||
}
|
||||
@ -178,14 +193,14 @@ bool SceneScriptDR06::ClickedOnItem(int itemId, bool a2) {
|
||||
|
||||
bool SceneScriptDR06::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -733.0f, 136.6f, -980.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(231);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -733.0f, 136.6f, -980.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagDR06toDR04);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR04);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -707.57f, 136.6f, -1132.64f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -707.57f, 136.6f, -1132.64f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(552);
|
||||
Set_Enter(kSetUG16, kSceneUG16);
|
||||
}
|
||||
@ -205,10 +220,10 @@ void SceneScriptDR06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
||||
}
|
||||
|
||||
void SceneScriptDR06::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(230)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -729.57f, 136.6f, -1016.0f, 0, 0, false, 0);
|
||||
if (Game_Flag_Query(kFlagDR04toDR06)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -729.57f, 136.6f, -1016.0f, 0, false, false, 0);
|
||||
}
|
||||
Game_Flag_Reset(230);
|
||||
Game_Flag_Reset(kFlagDR04toDR06);
|
||||
Game_Flag_Reset(551);
|
||||
}
|
||||
|
||||
|
@ -131,11 +131,11 @@ bool SceneScriptHC01::ClickedOnItem(int itemId, bool a2) {
|
||||
Delay(1500);
|
||||
Item_Pickup_Spin_Effect(984, 330, 384);
|
||||
if (Game_Flag_Query(374)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy1, 1, kActorIzo);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy1, true, kActorIzo);
|
||||
} else {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy2, 1, kActorIzo);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy2, true, kActorIzo);
|
||||
}
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChinaBar, 1, kActorIzo);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChinaBar, true, kActorIzo);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -147,7 +147,7 @@ bool SceneScriptHC01::ClickedOnExit(int exitId) {
|
||||
Music_Adjust(12, 0, 2);
|
||||
Game_Flag_Set(kFlagHC01toAR01);
|
||||
Set_Enter(kSetAR01_AR02, kSceneAR01);
|
||||
Game_Flag_Reset(479);
|
||||
Game_Flag_Reset(kFlagMcCoyAtHCxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
}
|
||||
return true;
|
||||
@ -279,7 +279,7 @@ void SceneScriptHC01::sub_402384() {
|
||||
}
|
||||
if (answer == 1010) {
|
||||
Dialogue_Menu_Remove_From_List(1010);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueIzoInterview, 0, kActorIzo);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueIzoInterview, false, kActorIzo);
|
||||
Actor_Says(kActorMcCoy, 1070, 13);
|
||||
Actor_Says(kActorIzo, 200, 17);
|
||||
Actor_Says(kActorIzo, 210, 12);
|
||||
|
@ -104,10 +104,10 @@ bool SceneScriptHC02::ClickedOnActor(int actorId) {
|
||||
Actor_Says(kActorMcCoy, 4545, 11);
|
||||
Actor_Says(kActorHawkersBarkeep, 120, 12);
|
||||
Actor_Says(kActorHawkersBarkeep, 180, 13);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChinaBarSecurityDisc, 1, kActorHawkersBarkeep);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChinaBarSecurityDisc, true, kActorHawkersBarkeep);
|
||||
Item_Pickup_Spin_Effect(975, 229, 215);
|
||||
} else if (Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview1) && !Actor_Clue_Query(kActorMcCoy, kClueFlaskOfAbsinthe) && (Global_Variable_Query(2) > 20 || Query_Difficulty_Level() == 0)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueFlaskOfAbsinthe, 1, kActorHawkersBarkeep);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueFlaskOfAbsinthe, true, kActorHawkersBarkeep);
|
||||
Actor_Says(kActorMcCoy, 1230, 13);
|
||||
Actor_Says(kActorHawkersBarkeep, 20, 12);
|
||||
Actor_Says(kActorMcCoy, 1235, 13);
|
||||
@ -124,7 +124,9 @@ bool SceneScriptHC02::ClickedOnActor(int actorId) {
|
||||
}
|
||||
Actor_Says(kActorMcCoy, 1245, 13);
|
||||
} else {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueMaggieBracelet) && !Game_Flag_Query(405)) {
|
||||
if ( Actor_Clue_Query(kActorMcCoy, kClueMaggieBracelet)
|
||||
&& !Game_Flag_Query(405)
|
||||
) {
|
||||
Actor_Says(kActorHawkersBarkeep, 80, 16);
|
||||
Actor_Says(kActorMcCoy, 1265, 13);
|
||||
Actor_Says(kActorHawkersBarkeep, 90, 13);
|
||||
|
@ -117,11 +117,11 @@ bool SceneScriptHC03::ClickedOnItem(int itemId, bool a2) {
|
||||
Delay(1500);
|
||||
Item_Pickup_Spin_Effect(984, 58, 435);
|
||||
if (Game_Flag_Query(374)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy1, 1, kActorIzo);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy1, true, kActorIzo);
|
||||
} else {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy2, 1, kActorIzo);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy2, true, kActorIzo);
|
||||
}
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChinaBar, 1, kActorIzo);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChinaBar, true, kActorIzo);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -139,7 +139,7 @@ bool SceneScriptHC03::ClickedOnExit(int exitId) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 628.0f, 2.04f, -123.0f, 0, 1, false, 0)) {
|
||||
if (Game_Flag_Query(388)) {
|
||||
Game_Flag_Set(kFlagHC03toUG02);
|
||||
Game_Flag_Reset(479);
|
||||
Game_Flag_Reset(kFlagMcCoyAtHCxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtUGxx);
|
||||
Game_Flag_Set(388);
|
||||
Music_Stop(2);
|
||||
|
@ -111,7 +111,7 @@ bool SceneScriptHC04::ClickedOnExit(int exitId) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -108.0f, 0.14f, -639.0f, 0, 1, false, 0)) {
|
||||
Music_Stop(2);
|
||||
Game_Flag_Set(kFlagHC04toRC03);
|
||||
Game_Flag_Reset(479);
|
||||
Game_Flag_Reset(kFlagMcCoyAtHCxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Set_Enter(kSetRC03, kSceneRC03);
|
||||
}
|
||||
@ -220,7 +220,7 @@ void SceneScriptHC04::sub_401B90() {
|
||||
Actor_Says(kActorIsabella, 320, 3);
|
||||
Actor_Says(kActorMcCoy, 1395, 3);
|
||||
Actor_Says(kActorIsabella, 330, 3);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueStolenCheese, 0, kActorIsabella);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueStolenCheese, false, kActorIsabella);
|
||||
break;
|
||||
case 390:
|
||||
Actor_Says(kActorMcCoy, 1310, 3);
|
||||
|
@ -438,7 +438,7 @@ void SceneScriptHF01::sub_4026B4() {
|
||||
Actor_Says(kActorMurray, 220, 13);
|
||||
Actor_Says(kActorMia, 140, 12);
|
||||
Actor_Says(kActorMurray, 230, 13);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueSpecialIngredient, 0, kActorMurray);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueSpecialIngredient, false, kActorMurray);
|
||||
break;
|
||||
case 470:
|
||||
Actor_Says(kActorMcCoy, 1495, 14);
|
||||
|
@ -119,7 +119,7 @@ void SceneScriptHF03::sub_401C80() {
|
||||
Actor_Says(kActorLucy, 220, 13);
|
||||
Actor_Says(kActorMcCoy, 1660, 15);
|
||||
Actor_Says(kActorLucy, 230, 14);
|
||||
Actor_Clue_Acquire(kActorLucy, kClueMcCoyHelpedLucy, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorLucy, kClueMcCoyHelpedLucy, true, kActorMcCoy);
|
||||
if (Game_Flag_Query(kFlagLucyIsReplicant)) {
|
||||
Actor_Set_Goal_Number(kActorLucy, 212);
|
||||
} else {
|
||||
@ -140,7 +140,7 @@ void SceneScriptHF03::sub_401C80() {
|
||||
Actor_Says(kActorLucy, 300, 16);
|
||||
Actor_Says(kActorMcCoy, 1675, 12);
|
||||
Actor_Says(kActorLucy, 310, 13);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLucyInterview, 0, kActorLucy);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLucyInterview, false, kActorLucy);
|
||||
break;
|
||||
case 880:
|
||||
Actor_Says(kActorMcCoy, 1650, 14);
|
||||
|
@ -53,7 +53,9 @@ void SceneScriptHF04::SceneLoaded() {
|
||||
Unobstacle_Object("HIDE_WALL_B", true);
|
||||
}
|
||||
if (Actor_Query_Goal_Number(kActorLucy) == 213) {
|
||||
if (Actor_Clue_Query(kActorLucy, kClueMcCoyHelpedLucy) && Global_Variable_Query(40) != 3) {
|
||||
if (Actor_Clue_Query(kActorLucy, kClueMcCoyHelpedLucy)
|
||||
&& Global_Variable_Query(40) != 3
|
||||
) {
|
||||
Game_Flag_Set(593);
|
||||
} else {
|
||||
Actor_Set_Goal_Number(kActorLucy, 230);
|
||||
|
@ -274,7 +274,7 @@ void SceneScriptHF05::PlayerWalkedIn() {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 399.0f, 40.63f, -85.0f, 0, 0, false, 0);
|
||||
} else if (Game_Flag_Query(358)) {
|
||||
Actor_Set_At_XYZ(kActorMcCoy, 346.0f, 4.63f, -151.0f, 603);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, kAnimationModeIdle);
|
||||
}
|
||||
if (Actor_Query_In_Set(kActorCrazylegs, kSetHF05)) {
|
||||
if (Game_Flag_Query(562)) {
|
||||
@ -569,7 +569,7 @@ void SceneScriptHF05::sub_403A34(int actorId) {
|
||||
Loop_Actor_Walk_To_Actor(kActorCrazylegs, kActorMcCoy, 28, 0, false);
|
||||
Item_Pickup_Spin_Effect(986, 315, 327);
|
||||
Actor_Says(kActorCrazylegs, 80, 23);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueSpinnerKeys, 1, kActorCrazylegs);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueSpinnerKeys, true, kActorCrazylegs);
|
||||
Actor_Says(kActorCrazylegs, 90, 15);
|
||||
Actor_Says(kActorMcCoy, 1735, 17);
|
||||
Actor_Says(kActorCrazylegs, 100, 16);
|
||||
|
@ -122,7 +122,7 @@ bool SceneScriptHF06::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 170.0f, 367.93f, 497.0f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 730, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 0, kAnimationModeIdle);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(530);
|
||||
@ -166,7 +166,7 @@ void SceneScriptHF06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
||||
Actor_Voice_Over(1030, kActorVoiceOver);
|
||||
Actor_Voice_Over(1040, kActorVoiceOver);
|
||||
Actor_Voice_Over(1050, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBomb, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBomb, true, -1);
|
||||
}
|
||||
if (Actor_Query_In_Set(kActorDektora, kSetHF06)) {
|
||||
Actor_Set_Targetable(kActorDektora, false);
|
||||
@ -199,7 +199,7 @@ void SceneScriptHF06::PlayerWalkedIn() {
|
||||
}
|
||||
}
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 1, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
if (Game_Flag_Query(662) && !Game_Flag_Query(559)) {
|
||||
sub_401EF4();
|
||||
|
@ -78,7 +78,7 @@ bool SceneScriptHF07::ClickedOnExit(int exitId) {
|
||||
if (!Game_Flag_Query(662)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 0, false);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 30, true, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 30, true, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
}
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
@ -128,7 +128,7 @@ void SceneScriptHF07::PlayerWalkedIn() {
|
||||
} else if (Game_Flag_Query(359)) {
|
||||
Actor_Set_At_XYZ(kActorMcCoy, 267.72f, 329.43f, -86.75f, 940);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 30, false, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 30, false, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
}
|
||||
Game_Flag_Reset(359);
|
||||
|
@ -74,7 +74,7 @@ bool SceneScriptKP05::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == 118) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1058.0f, 0.0f, 852.0f, 0, 1, false, 0)) {
|
||||
Actor_Face_Item(kActorMcCoy, 118, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePowerSource, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePowerSource, true, -1);
|
||||
Item_Remove_From_World(118);
|
||||
Item_Pickup_Spin_Effect(960, 58, 321);
|
||||
}
|
||||
|
@ -80,7 +80,7 @@ bool SceneScriptKP06::ClickedOnActor(int actorId) {
|
||||
} else if (Actor_Clue_Query(kActorMcCoy, kCluePowerSource) ) {
|
||||
Actor_Says(kActorSadik, 280, 3);
|
||||
Actor_Says(kActorSadik, 290, 3);
|
||||
Actor_Clue_Acquire(kActorSadik, kCluePowerSource, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorSadik, kCluePowerSource, true, kActorMcCoy);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 2320, 3);
|
||||
Actor_Says(kActorMcCoy, 2325, 3);
|
||||
@ -125,7 +125,7 @@ bool SceneScriptKP06::ClickedOnExit(int exitId) {
|
||||
} else if (Actor_Clue_Query(kActorMcCoy, kCluePowerSource) ) {
|
||||
Actor_Says(kActorSadik, 280, 3);
|
||||
Actor_Says(kActorSadik, 290, 3);
|
||||
Actor_Clue_Acquire(kActorSadik, kCluePowerSource, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorSadik, kCluePowerSource, true, kActorMcCoy);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -731.0f, 8.26f, -657.0f, 0, 0, true, 0);
|
||||
Player_Set_Combat_Mode(false);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
|
@ -61,7 +61,7 @@ void SceneScriptMA01::InitializeScene() {
|
||||
Game_Flag_Reset(kFlagMA06toMA01);
|
||||
} else {
|
||||
Actor_Set_Invisible(kActorMcCoy, true);
|
||||
Game_Flag_Set(273);
|
||||
Game_Flag_Set(kFlagArrivedFromSpinner2);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kMA01LoopInshotRoof, false);
|
||||
Scene_Loop_Set_Default(kMA01LoopMain);
|
||||
}
|
||||
@ -226,12 +226,18 @@ void SceneScriptMA01::SceneFrameAdvanced(int frame) {
|
||||
if (frame == 58) {
|
||||
Sound_Play(122, 17, 20, 20, 50);
|
||||
}
|
||||
if ((frame == 75 || frame == 196) && Game_Flag_Query(273)) {
|
||||
if ((frame == 75
|
||||
|| frame == 196
|
||||
)
|
||||
&& Game_Flag_Query(kFlagArrivedFromSpinner2)
|
||||
) {
|
||||
Actor_Face_Heading(kActorMcCoy, 736, false);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 42);
|
||||
Game_Flag_Reset(273);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner2);
|
||||
} else {
|
||||
if (frame == 196 && !Game_Flag_Query(273)) {
|
||||
if ( frame == 196
|
||||
&& !Game_Flag_Query(kFlagArrivedFromSpinner2)
|
||||
) {
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 41);
|
||||
//return true;
|
||||
return;
|
||||
|
@ -71,11 +71,11 @@ void SceneScriptNR01::InitializeScene() {
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagSpinnerAtHF01);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagSpinnerAtNR01) && !Game_Flag_Query(kFlagArrivedFromSpinner)) {
|
||||
if (Game_Flag_Query(kFlagSpinnerAtNR01) && !Game_Flag_Query(kFlagArrivedFromSpinner1)) {
|
||||
Scene_Loop_Start_Special(0, 0, 0);
|
||||
Scene_Loop_Set_Default(1);
|
||||
Game_Flag_Set(kFlagArrivedFromSpinner);
|
||||
} else if (Game_Flag_Query(kFlagSpinnerAtNR01) && Game_Flag_Query(kFlagArrivedFromSpinner)) {
|
||||
Game_Flag_Set(kFlagArrivedFromSpinner1);
|
||||
} else if (Game_Flag_Query(kFlagSpinnerAtNR01) && Game_Flag_Query(kFlagArrivedFromSpinner1)) {
|
||||
Scene_Loop_Set_Default(1);
|
||||
} else {
|
||||
Scene_Loop_Set_Default(4);
|
||||
@ -124,7 +124,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -281.0f, 31.93f, -1061.0f, 0, true, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 45, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, kAnimationModeIdle);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(343);
|
||||
@ -155,7 +155,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtPS01);
|
||||
Set_Enter(kSetPS01, kScenePS01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
@ -163,7 +163,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
||||
case kSpinnerDestinationMcCoysApartment:
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtMA01);
|
||||
Set_Enter(kSetMA01, kSceneMA01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
@ -171,7 +171,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
||||
case kSpinnerDestinationRuncitersAnimals:
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
Set_Enter(kSetRC01, kSceneRC01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
@ -179,7 +179,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
||||
case kSpinnerDestinationChinatown:
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtCT01);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
@ -187,7 +187,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
||||
case kSpinnerDestinationAnimoidRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtAR01);
|
||||
Set_Enter(kSetAR01_AR02, kSceneAR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
@ -195,7 +195,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
||||
case kSpinnerDestinationTyrellBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtTB02);
|
||||
Set_Enter(kSetTB02_TB03, kSceneTB02);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
@ -203,7 +203,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
||||
case kSpinnerDestinationDNARow:
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtDR01);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
@ -211,7 +211,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
||||
case kSpinnerDestinationBradburyBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtBB01);
|
||||
Set_Enter(kSetBB01, kSceneBB01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
@ -226,7 +226,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
||||
default:
|
||||
Player_Loses_Control();
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagArrivedFromSpinner);
|
||||
Game_Flag_Set(kFlagArrivedFromSpinner1);
|
||||
Player_Gains_Control();
|
||||
break;
|
||||
}
|
||||
@ -312,7 +312,7 @@ void SceneScriptNR01::PlayerWalkedIn() {
|
||||
Game_Flag_Reset(534);
|
||||
} else {
|
||||
if (Game_Flag_Query(342)) {
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, kAnimationModeIdle);
|
||||
Game_Flag_Reset(342);
|
||||
if (Actor_Query_Goal_Number(kActorSteele) == 230) {
|
||||
Actor_Face_Actor(kActorSteele, kActorMcCoy, true);
|
||||
|
@ -109,12 +109,12 @@ bool SceneScriptNR02::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == 89) {
|
||||
Item_Remove_From_World(89);
|
||||
Item_Pickup_Spin_Effect(953, 214, 380);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGordosLighter1, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGordosLighter1, true, -1);
|
||||
}
|
||||
if (itemId == 90) {
|
||||
Item_Remove_From_World(90);
|
||||
Item_Pickup_Spin_Effect(954, 214, 380);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGordosLighter2, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGordosLighter2, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -88,7 +88,7 @@ bool SceneScriptNR04::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
} else if (Actor_Clue_Query(kActorMcCoy, kClueCollectionReceipt)) {
|
||||
Actor_Says(kActorMcCoy, 8580, 3);
|
||||
} else {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCollectionReceipt, 0, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCollectionReceipt, false, -1);
|
||||
Item_Pickup_Spin_Effect(961, 247, 141);
|
||||
Actor_Voice_Over(1560, kActorVoiceOver);
|
||||
Actor_Voice_Over(1570, kActorVoiceOver);
|
||||
@ -109,7 +109,7 @@ bool SceneScriptNR04::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
Item_Pickup_Spin_Effect(975, 358, 160);
|
||||
Actor_Voice_Over(1620, kActorVoiceOver);
|
||||
Actor_Voice_Over(1630, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQsClub, 0, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQsClub, false, -1);
|
||||
Actor_Set_Goal_Number(kActorEarlyQ, 201);
|
||||
}
|
||||
return false;
|
||||
@ -190,7 +190,7 @@ void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
||||
//return true;
|
||||
break;
|
||||
case 213:
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDektorasDressingRoom, 0, kActorEarlyQ);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDektorasDressingRoom, false, kActorEarlyQ);
|
||||
Item_Pickup_Spin_Effect(984, 200, 160);
|
||||
Actor_Says(kActorEarlyQ, 200, 30);
|
||||
Actor_Says(kActorEarlyQ, 210, 30);
|
||||
@ -223,7 +223,7 @@ void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
||||
Actor_Change_Animation_Mode(kActorEarlyQ, 85);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorEarlyQ, true);
|
||||
Actor_Set_Goal_Number(kActorEarlyQ, 208);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQInterview, 0, kActorEarlyQ);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQInterview, false, kActorEarlyQ);
|
||||
//return true;
|
||||
break;
|
||||
case 204:
|
||||
|
@ -91,7 +91,7 @@ bool SceneScriptNR06::ClickedOnExit(int exitId) {
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -137.0f, -71.88f, -243.0f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 95, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 8, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 8, 1, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -36.0f, 0.37f, -373.0f, 0, 0, false, 0);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
@ -124,7 +124,7 @@ void SceneScriptNR06::PlayerWalkedIn() {
|
||||
} else {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -81.72f, 0.12f, -323.49f, 0, 0, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 600, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 8, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 8, 0, kAnimationModeIdle);
|
||||
Game_Flag_Reset(440);
|
||||
}
|
||||
//return false;
|
||||
|
@ -217,7 +217,7 @@ void SceneScriptNR07::sub_401C60() {
|
||||
Actor_Face_Object(kActorMcCoy, "VASE", true);
|
||||
if (Actor_Query_Is_In_Current_Set(kActorDektora)) {
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueDektoraInterview3)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview3, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview3, true, -1);
|
||||
int v0 = Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy);
|
||||
if (v0 > 50) {
|
||||
Actor_Modify_Friendliness_To_Other(kActorDektora, kActorMcCoy, 2);
|
||||
@ -233,7 +233,7 @@ void SceneScriptNR07::sub_401C60() {
|
||||
} else if (Actor_Clue_Query(kActorMcCoy, kClueDektorasCard)) {
|
||||
Actor_Says(kActorMcCoy, 8585, 14);
|
||||
} else {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDektorasCard, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDektorasCard, true, -1);
|
||||
Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "VASE", 100, true, false);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 23);
|
||||
Item_Pickup_Spin_Effect(935, 526, 268);
|
||||
@ -243,7 +243,7 @@ void SceneScriptNR07::sub_401C60() {
|
||||
}
|
||||
|
||||
void SceneScriptNR07::sub_401EF4() {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview2, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview2, true, -1);
|
||||
Actor_Says(kActorMcCoy, 3625, 19);
|
||||
Actor_Says(kActorDektora, 570, 30);
|
||||
Actor_Says_With_Pause(kActorDektora, 580, 1.0f, 31);
|
||||
@ -255,7 +255,7 @@ void SceneScriptNR07::sub_401EF4() {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
|
||||
Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
|
||||
Game_Flag_Set(638);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyBelt, 1, kActorDektora);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyBelt, true, kActorDektora);
|
||||
int v0 = Actor_Query_Friendliness_To_Other(kActorDektora, kActorMcCoy);
|
||||
if (!Game_Flag_Query(kFlagDektoraIsReplicant) && v0 < 40) {
|
||||
sub_4018D4();
|
||||
@ -288,7 +288,7 @@ void SceneScriptNR07::sub_4020F0() {
|
||||
}
|
||||
|
||||
void SceneScriptNR07::sub_402284() {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview1, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview1, true, -1);
|
||||
Actor_Start_Speech_Sample(kActorMcCoy, 3660);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -109.0f, -73.0f, -89.0f, 0, 0, false, 0);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
|
||||
|
@ -104,7 +104,7 @@ bool SceneScriptNR08::ClickedOnExit(int exitId) {
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -724.7f, 0.0f, 384.24f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 505, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, kAnimationModeIdle);
|
||||
Game_Flag_Set(440);
|
||||
Set_Enter(kSetNR06, kSceneNR06);
|
||||
}
|
||||
@ -114,7 +114,7 @@ bool SceneScriptNR08::ClickedOnExit(int exitId) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1663.33f, 0.65f, 342.84f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 831, false);
|
||||
Footstep_Sound_Override_On(2);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 1, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Game_Flag_Set(614);
|
||||
Set_Enter(kSetNR09, kSceneNR09);
|
||||
@ -179,7 +179,7 @@ void SceneScriptNR08::PlayerWalkedIn() {
|
||||
}
|
||||
if (Actor_Query_Goal_Number(kActorDektora) == 245) {
|
||||
Actor_Face_Heading(kActorDektora, 790, false);
|
||||
Loop_Actor_Travel_Stairs(kActorDektora, 8, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorDektora, 8, 1, kAnimationModeIdle);
|
||||
Actor_Set_Goal_Number(kActorDektora, 246);
|
||||
}
|
||||
if (Actor_Query_Goal_Number(kActorSteele) == 231) {
|
||||
|
@ -146,7 +146,7 @@ bool SceneScriptNR11::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorDektora, -135.0f, 0.33f, -267.0f, 0, 0, false, 0);
|
||||
Actor_Face_Actor(kActorDektora, kActorMcCoy, true);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview4, 1, kActorDektora);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDektoraInterview4, true, kActorDektora);
|
||||
Actor_Says(kActorDektora, 990, 13);
|
||||
Actor_Says(kActorDektora, 1000, 14);
|
||||
Loop_Actor_Walk_To_Actor(kActorDektora, kActorMcCoy, 108, 0, false);
|
||||
|
@ -44,7 +44,7 @@ void SceneScriptPS01::InitializeScene() {
|
||||
}
|
||||
} else {
|
||||
Actor_Set_Invisible(kActorMcCoy, true);
|
||||
Game_Flag_Set(273);
|
||||
Game_Flag_Set(kFlagArrivedFromSpinner2);
|
||||
Scene_Loop_Start_Special(0, 0, 0);
|
||||
Scene_Loop_Set_Default(1);
|
||||
Player_Loses_Control();
|
||||
@ -163,7 +163,7 @@ bool SceneScriptPS01::ClickedOnExit(int exitId) {
|
||||
default:
|
||||
Actor_Face_Heading(kActorMcCoy, 870, false);
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(273);
|
||||
Game_Flag_Set(kFlagArrivedFromSpinner2);
|
||||
Player_Loses_Control();
|
||||
Scene_Loop_Start_Special(2, 3, 1);
|
||||
break;
|
||||
@ -200,7 +200,7 @@ void SceneScriptPS01::SceneFrameAdvanced(int frame) {
|
||||
if (frame == 275) {
|
||||
Sound_Play(117, 40, 0, 0, 50);
|
||||
}
|
||||
if (!Game_Flag_Query(273)) {
|
||||
if (!Game_Flag_Query(kFlagArrivedFromSpinner2)) {
|
||||
switch (frame) {
|
||||
case 196:
|
||||
Actor_Face_Heading(kActorMcCoy, 870, false);
|
||||
@ -224,14 +224,14 @@ void SceneScriptPS01::SceneFrameAdvanced(int frame) {
|
||||
return;
|
||||
}
|
||||
if (frame == 119) {
|
||||
Game_Flag_Reset(273);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner2);
|
||||
Player_Gains_Control();
|
||||
//return true;
|
||||
return;
|
||||
}
|
||||
if (frame > 195) {
|
||||
if (frame == 239) {
|
||||
Game_Flag_Reset(273);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner2);
|
||||
Player_Gains_Control();
|
||||
}
|
||||
//return true;
|
||||
|
@ -29,9 +29,9 @@ void SceneScriptPS03::InitializeScene() {
|
||||
Actor_Set_At_XYZ(kActorMcCoy, -674.0f, -354.0f, 550.0f, 900);
|
||||
Setup_Scene_Information(-674.0f, -354.62f, 550.0f, 900);
|
||||
Game_Flag_Reset(kFlagPS04toPS03);
|
||||
} else if (Game_Flag_Query(135)) {
|
||||
} else if (Game_Flag_Query(kFlagPS14toPS03)) {
|
||||
Setup_Scene_Information(-875.0f, -354.62f, -1241.0f, 450);
|
||||
Game_Flag_Reset(135);
|
||||
Game_Flag_Reset(kFlagPS14toPS03);
|
||||
} else {
|
||||
Setup_Scene_Information(-569.54f, -354.62f, -1076.15f, 475);
|
||||
Game_Flag_Reset(kFlagPS02toPS03);
|
||||
@ -88,16 +88,16 @@ bool SceneScriptPS03::ClickedOnExit(int exitId) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Set_Enter(kSetPS02, kScenePS02);
|
||||
Game_Flag_Reset(478);
|
||||
Game_Flag_Reset(kFlagMcCoyAtPS03);
|
||||
if (Global_Variable_Query(kVariableChapter) < 4) {
|
||||
Actor_Set_Goal_Number(kActorGuzza, 100);
|
||||
Actor_Set_Goal_Number(kActorGuzza, kGoalGuzzaLeaveOffice);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -875.0f, -354.0f, -1241.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(134);
|
||||
Game_Flag_Set(kFlagPS03toPS14);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Set_Enter(kSetPS14, kScenePS14);
|
||||
@ -118,8 +118,8 @@ void SceneScriptPS03::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
||||
}
|
||||
|
||||
void SceneScriptPS03::PlayerWalkedIn() {
|
||||
if (!Game_Flag_Query(478)) {
|
||||
Game_Flag_Set(478);
|
||||
if (!Game_Flag_Query(kFlagMcCoyAtPS03)) {
|
||||
Game_Flag_Set(kFlagMcCoyAtPS03);
|
||||
//return true;
|
||||
}
|
||||
//return false;
|
||||
|
@ -56,10 +56,15 @@ void SceneScriptPS04::SceneLoaded() {
|
||||
Unobstacle_Object("B.DOOR", true);
|
||||
Unobstacle_Object("B.CHAIR01", true);
|
||||
Unclickable_Object("CHAIR07");
|
||||
if (Global_Variable_Query(kVariableChapter) == 2 && !Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm) && !Game_Flag_Query(727)) {
|
||||
Item_Add_To_World(111, 958, 64, -643.5f, -318.82f, 1148.87f, 525, 16, 12, false, true, false, true);
|
||||
Game_Flag_Set(727);
|
||||
|
||||
if ( Global_Variable_Query(kVariableChapter) == 2
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)
|
||||
&& !Game_Flag_Query(kFlagPS04WeaponsOrderForm)
|
||||
) {
|
||||
Item_Add_To_World(kItemWeaponsOrderForm, 958, 64, -643.5f, -318.82f, 1148.87f, 525, 16, 12, false, true, false, true);
|
||||
Game_Flag_Set(kFlagPS04WeaponsOrderForm);
|
||||
}
|
||||
|
||||
if (Actor_Query_Is_In_Current_Set(kActorGuzza)) {
|
||||
Actor_Change_Animation_Mode(kActorGuzza, 53);
|
||||
}
|
||||
@ -75,10 +80,10 @@ bool SceneScriptPS04::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
|
||||
bool SceneScriptPS04::ClickedOnActor(int actorId) {
|
||||
if (actorId == kActorGuzza) {
|
||||
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorGuzza, 36, 1, false)) {
|
||||
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorGuzza, 36, true, false)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
|
||||
Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
|
||||
sub_4017E4();
|
||||
dialogueWithGuzza();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -86,20 +91,22 @@ bool SceneScriptPS04::ClickedOnActor(int actorId) {
|
||||
}
|
||||
|
||||
bool SceneScriptPS04::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == 111 && Actor_Query_Is_In_Current_Set(kActorGuzza)) {
|
||||
if (itemId == kItemWeaponsOrderForm
|
||||
&& Actor_Query_Is_In_Current_Set(kActorGuzza)
|
||||
) {
|
||||
Actor_Says(kActorGuzza, 560, 30);
|
||||
} else if (!Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)) {
|
||||
Item_Remove_From_World(111);
|
||||
Item_Remove_From_World(kItemWeaponsOrderForm);
|
||||
Item_Pickup_Spin_Effect(958, 464, 362);
|
||||
Actor_Says(kActorMcCoy, 4485, 3);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm, 1, kActorMcCoy);
|
||||
Actor_Says(kActorMcCoy, 4485, kAnimationModeTalk);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm, true, kActorMcCoy);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool SceneScriptPS04::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -668.0f, -350.85f, 962.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -668.0f, -350.85f, 962.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagPS04toPS03);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
@ -134,27 +141,56 @@ void SceneScriptPS04::PlayerWalkedOut() {
|
||||
void SceneScriptPS04::DialogueQueueFlushed(int a1) {
|
||||
}
|
||||
|
||||
void SceneScriptPS04::sub_4017E4() {
|
||||
void SceneScriptPS04::dialogueWithGuzza() {
|
||||
Dialogue_Menu_Clear_List();
|
||||
if (Global_Variable_Query(kVariableChapter) > 1) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueAttemptedFileAccess)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(110, 5, 7, 4);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(110, 5, 7, 4); // REQUEST TYRELL MEETING
|
||||
}
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(120, 1, -1, -1);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(120, 1, -1, -1); // MONEY
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueHoldensBadge)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(150, 7, 6, 5);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(150, 7, 6, 5); // HOLDEN'S BADGE
|
||||
}
|
||||
}
|
||||
if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(140, 3, -1, -1);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(140, 3, -1, -1); // CONFESS TO SHOOTING
|
||||
}
|
||||
DM_Add_To_List(130, 1, 1, 1);
|
||||
Dialogue_Menu_Add_DONE_To_List(160);
|
||||
DM_Add_To_List(130, 1, 1, 1); // REPORT IN
|
||||
Dialogue_Menu_Add_DONE_To_List(160); // DONE
|
||||
|
||||
Dialogue_Menu_Appear(320, 240);
|
||||
int answer = Dialogue_Menu_Query_Input();
|
||||
Dialogue_Menu_Disappear();
|
||||
|
||||
switch (answer) {
|
||||
case 130:
|
||||
case 110: // REQUEST TYRELL MEETING
|
||||
Actor_Says(kActorMcCoy, 3990, 19);
|
||||
Actor_Says(kActorMcCoy, 3995, 17);
|
||||
Actor_Says(kActorGuzza, 440, 31);
|
||||
Actor_Says(kActorMcCoy, 4035, 13);
|
||||
Actor_Says(kActorGuzza, 450, 34);
|
||||
Actor_Says(kActorGuzza, 460, 33);
|
||||
Actor_Says(kActorMcCoy, 4040, 17);
|
||||
Game_Flag_Set(625);
|
||||
break;
|
||||
|
||||
case 120: // MONEY
|
||||
Actor_Says(kActorMcCoy, 4000, 18);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGuzzasCash, true, kActorGuzza);
|
||||
Actor_Says(kActorGuzza, 520, 33);
|
||||
Actor_Says(kActorMcCoy, 4055, 13);
|
||||
Actor_Says(kActorGuzza, 530, 31);
|
||||
Actor_Says(kActorMcCoy, 4060, 13);
|
||||
Actor_Says(kActorGuzza, 540, 31);
|
||||
Actor_Says(kActorGuzza, 550, 32);
|
||||
Actor_Says(kActorMcCoy, 4065, 18);
|
||||
Actor_Says(kActorGuzza, 560, 34);
|
||||
if (Query_Difficulty_Level() != 0) {
|
||||
Global_Variable_Increment(2, 100);
|
||||
}
|
||||
break;
|
||||
|
||||
case 130: // REPORT IN
|
||||
if ( Game_Flag_Query(kFlagZubenRetired)
|
||||
&& !Game_Flag_Query(kFlagGuzzaTalkZubenRetired)
|
||||
) {
|
||||
@ -166,7 +202,7 @@ void SceneScriptPS04::sub_4017E4() {
|
||||
Actor_Says(kActorMcCoy, 3925, 18);
|
||||
Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
|
||||
Actor_Says(kActorGuzza, 170, 33);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.0f, -354.85f, 1042.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.0f, -354.85f, 1042.0f, 0, false, false, 0);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
|
||||
Actor_Says(kActorMcCoy, 3930, 13);
|
||||
Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
|
||||
@ -246,32 +282,8 @@ void SceneScriptPS04::sub_4017E4() {
|
||||
Actor_Says(kActorMcCoy, 3915, 13);
|
||||
}
|
||||
break;
|
||||
case 110:
|
||||
Actor_Says(kActorMcCoy, 3990, 19);
|
||||
Actor_Says(kActorMcCoy, 3995, 17);
|
||||
Actor_Says(kActorGuzza, 440, 31);
|
||||
Actor_Says(kActorMcCoy, 4035, 13);
|
||||
Actor_Says(kActorGuzza, 450, 34);
|
||||
Actor_Says(kActorGuzza, 460, 33);
|
||||
Actor_Says(kActorMcCoy, 4040, 17);
|
||||
Game_Flag_Set(625);
|
||||
break;
|
||||
case 120:
|
||||
Actor_Says(kActorMcCoy, 4000, 18);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGuzzasCash, 1, kActorGuzza);
|
||||
Actor_Says(kActorGuzza, 520, 33);
|
||||
Actor_Says(kActorMcCoy, 4055, 13);
|
||||
Actor_Says(kActorGuzza, 530, 31);
|
||||
Actor_Says(kActorMcCoy, 4060, 13);
|
||||
Actor_Says(kActorGuzza, 540, 31);
|
||||
Actor_Says(kActorGuzza, 550, 32);
|
||||
Actor_Says(kActorMcCoy, 4065, 18);
|
||||
Actor_Says(kActorGuzza, 560, 34);
|
||||
if (Query_Difficulty_Level() != 0) {
|
||||
Global_Variable_Increment(2, 100);
|
||||
}
|
||||
break;
|
||||
case 140:
|
||||
|
||||
case 140: // CONFESS TO SHOOTING
|
||||
Actor_Says(kActorMcCoy, 4010, 12);
|
||||
Actor_Says(kActorGuzza, 600, 31);
|
||||
Actor_Says(kActorMcCoy, 4080, 18);
|
||||
@ -284,10 +296,10 @@ void SceneScriptPS04::sub_4017E4() {
|
||||
Actor_Says(kActorGuzza, 710, 31);
|
||||
Actor_Says(kActorGuzza, 720, 34);
|
||||
Actor_Says(kActorMcCoy, 4105, 18);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -668.0f, -350.85f, 962.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -668.0f, -350.85f, 962.0f, 0, false, false, 0);
|
||||
Actor_Says(kActorGuzza, 730, 32);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorGuzza, true);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.0f, -354.85f, 1042.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -716.0f, -354.85f, 1042.0f, 0, false, false, 0);
|
||||
Actor_Face_Actor(kActorGuzza, kActorMcCoy, true);
|
||||
Actor_Says(kActorGuzza, 740, 31);
|
||||
Actor_Says(kActorGuzza, 750, 32);
|
||||
@ -297,7 +309,8 @@ void SceneScriptPS04::sub_4017E4() {
|
||||
Actor_Says(kActorGuzza, 770, 32);
|
||||
Actor_Says(kActorGuzza, 780, 31);
|
||||
break;
|
||||
case 150:
|
||||
|
||||
case 150: // HOLDEN'S BADGE
|
||||
Actor_Says(kActorMcCoy, 4015, 16);
|
||||
Actor_Says(kActorGuzza, 630, 34);
|
||||
Actor_Says(kActorMcCoy, 4085, 19);
|
||||
@ -309,9 +322,9 @@ void SceneScriptPS04::sub_4017E4() {
|
||||
Actor_Says(kActorGuzza, 680, 32);
|
||||
Actor_Says(kActorGuzza, 690, 31);
|
||||
break;
|
||||
default:
|
||||
//TODO: what is this for?
|
||||
//answer != 160;
|
||||
|
||||
case 160: // DONE
|
||||
// nothing here
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -71,19 +71,19 @@ bool SceneScriptPS06::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
Actor_Voice_Over(3810, kActorVoiceOver);
|
||||
Actor_Voice_Over(3820, kActorVoiceOver);
|
||||
Actor_Voice_Over(3830, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCarRegistration1, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCarRegistration1, true, -1);
|
||||
} else if (Game_Flag_Query(kFlagGordoIsReplicant)) {
|
||||
Actor_Voice_Over(3840, kActorVoiceOver);
|
||||
Actor_Voice_Over(3850, kActorVoiceOver);
|
||||
Actor_Voice_Over(3860, kActorVoiceOver);
|
||||
Actor_Voice_Over(3870, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCarRegistration2, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCarRegistration2, true, -1);
|
||||
} else {
|
||||
Actor_Voice_Over(3880, kActorVoiceOver);
|
||||
Actor_Voice_Over(3890, kActorVoiceOver);
|
||||
Actor_Voice_Over(3900, kActorVoiceOver);
|
||||
Actor_Voice_Over(3910, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCarRegistration3, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCarRegistration3, true, -1);
|
||||
}
|
||||
Actor_Clues_Transfer_New_To_Mainframe(kActorMcCoy);
|
||||
Actor_Clues_Transfer_New_From_Mainframe(kActorMcCoy);
|
||||
|
@ -68,10 +68,18 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
|
||||
if (actorId == kActorKlein) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorKlein, true);
|
||||
Actor_Set_Goal_Number(kActorKlein, 3);
|
||||
|
||||
if (!Game_Flag_Query(kFlagKleinTalkClues)) {
|
||||
Actor_Says(kActorMcCoy, 4115, 13);
|
||||
}
|
||||
if (!Game_Flag_Query(kFlagKleinTalkClues) && (Game_Flag_Query(kFlagMcCoyHasShellCasings) || Game_Flag_Query(kFlagMcCoyHasOfficersStatement) || Game_Flag_Query(kFlagMcCoyHasPaintTransfer) || Game_Flag_Query(kFlagMcCoyHasChromeDebris))) {
|
||||
|
||||
if (!Game_Flag_Query(kFlagKleinTalkClues)
|
||||
&& (Game_Flag_Query(kFlagMcCoyHasShellCasings)
|
||||
|| Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
|
||||
|| Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
|
||||
|| Game_Flag_Query(kFlagMcCoyHasChromeDebris)
|
||||
)
|
||||
) {
|
||||
Actor_Face_Actor(kActorKlein, kActorMcCoy, true);
|
||||
Actor_Says(kActorKlein, 30, 12);
|
||||
Game_Flag_Set(kFlagKleinTalkClues);
|
||||
@ -80,9 +88,12 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
|
||||
Actor_Says(kActorMcCoy, 4130, 18);
|
||||
}
|
||||
}
|
||||
if (Game_Flag_Query(kFlagMcCoyHasShellCasings) && !Game_Flag_Query(kFlagKleinTalkShellCasings)) {
|
||||
|
||||
if ( Game_Flag_Query(kFlagMcCoyHasShellCasings)
|
||||
&& !Game_Flag_Query(kFlagKleinTalkShellCasings)
|
||||
) {
|
||||
Game_Flag_Set(kFlagKleinTalkShellCasings);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLabShellCasings, 0, kActorKlein);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLabShellCasings, false, kActorKlein);
|
||||
Actor_Says(kActorKlein, 50, 16);
|
||||
Actor_Says(kActorMcCoy, 4135, 13);
|
||||
Actor_Says(kActorKlein, 60, 15);
|
||||
@ -93,9 +104,12 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
|
||||
Actor_Set_Goal_Number(kActorKlein, 1);
|
||||
return true;
|
||||
}
|
||||
if (Game_Flag_Query(kFlagMcCoyHasOfficersStatement) && !Game_Flag_Query(kFlagKleinTalkOfficersStatement)) {
|
||||
|
||||
if ( Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
|
||||
&& !Game_Flag_Query(kFlagKleinTalkOfficersStatement)
|
||||
) {
|
||||
Game_Flag_Set(kFlagKleinTalkOfficersStatement);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLabCorpses, 0, kActorKlein);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLabCorpses, false, kActorKlein);
|
||||
Actor_Says(kActorKlein, 100, 13);
|
||||
Actor_Says(kActorMcCoy, 4145, 13);
|
||||
Actor_Says(kActorKlein, 110, 12);
|
||||
@ -113,9 +127,12 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
|
||||
Actor_Set_Goal_Number(kActorKlein, 1);
|
||||
return true;
|
||||
}
|
||||
if (Game_Flag_Query(kFlagMcCoyHasPaintTransfer) && !Game_Flag_Query(kFlagKleinTalkPaintTransfer)) {
|
||||
|
||||
if ( Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
|
||||
&& !Game_Flag_Query(kFlagKleinTalkPaintTransfer)
|
||||
) {
|
||||
Game_Flag_Set(kFlagKleinTalkPaintTransfer);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLabPaintTransfer, 0, kActorKlein);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLabPaintTransfer, false, kActorKlein);
|
||||
Actor_Says(kActorKlein, 170, 14);
|
||||
Actor_Says(kActorMcCoy, 4180, 13);
|
||||
Actor_Says(kActorKlein, 180, 12);
|
||||
@ -127,7 +144,10 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
|
||||
Actor_Set_Goal_Number(kActorKlein, 1);
|
||||
return true;
|
||||
}
|
||||
if (Game_Flag_Query(kFlagMcCoyHasChromeDebris) && !Game_Flag_Query(kFlagKleinTalkChromeDebris)) {
|
||||
|
||||
if ( Game_Flag_Query(kFlagMcCoyHasChromeDebris)
|
||||
&& !Game_Flag_Query(kFlagKleinTalkChromeDebris)
|
||||
) {
|
||||
Game_Flag_Set(kFlagKleinTalkChromeDebris);
|
||||
Actor_Says(kActorKlein, 220, 12);
|
||||
Actor_Says(kActorMcCoy, 4190, 13);
|
||||
|
@ -285,9 +285,9 @@ void SceneScriptPS09::dialogueWithGregorian() {
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB1)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB2)
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(170, 5, 5, 3);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(180, -1, 5, 5);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(200, -1, 3, 6);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(170, 5, 5, 3); // PROTEST
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(180, -1, 5, 5); // CARS
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(200, -1, 3, 6); // VOIGT-KAMPFF
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueGrigoriansNote)
|
||||
&& (Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewA)
|
||||
@ -295,14 +295,16 @@ void SceneScriptPS09::dialogueWithGregorian() {
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueGrigorianInterviewB2)
|
||||
)
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(190, 5, 6, -1);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(190, 5, 6, -1); // NOTE
|
||||
}
|
||||
Dialogue_Menu_Add_To_List(210);
|
||||
Dialogue_Menu_Add_To_List(210); // DONE
|
||||
|
||||
Dialogue_Menu_Appear(320, 240);
|
||||
int answer = Dialogue_Menu_Query_Input();
|
||||
Dialogue_Menu_Disappear();
|
||||
|
||||
switch (answer) {
|
||||
case 170:
|
||||
case 170: // PROTEST
|
||||
Actor_Says(kActorMcCoy, 4270, 13);
|
||||
Actor_Says(kActorMcCoy, 4250, 18);
|
||||
Actor_Says(kActorGrigorian, 50, 13);
|
||||
@ -334,7 +336,8 @@ void SceneScriptPS09::dialogueWithGregorian() {
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 180:
|
||||
|
||||
case 180: // CARS
|
||||
Actor_Says(kActorMcCoy, 4270, 18);
|
||||
Actor_Says(kActorMcCoy, 4255, 3);
|
||||
Actor_Says(kActorGrigorian, 210, 12);
|
||||
@ -378,7 +381,8 @@ void SceneScriptPS09::dialogueWithGregorian() {
|
||||
Actor_Says(kActorMcCoy, 4375, 18);
|
||||
}
|
||||
break;
|
||||
case 190:
|
||||
|
||||
case 190: // NOTE
|
||||
Actor_Says(kActorMcCoy, 4270, 18);
|
||||
Actor_Says(kActorMcCoy, 4260, 3);
|
||||
Actor_Says(kActorGrigorian, 360, 16);
|
||||
@ -391,7 +395,8 @@ void SceneScriptPS09::dialogueWithGregorian() {
|
||||
Actor_Says(kActorGrigorian, 390, 12);
|
||||
Actor_Modify_Friendliness_To_Other(kActorGrigorian, kActorMcCoy, -5);
|
||||
break;
|
||||
case 200:
|
||||
|
||||
case 200: // VOIGT-KAMPFF
|
||||
Actor_Says(kActorMcCoy, 4265, 14);
|
||||
Actor_Says(kActorGrigorian, 400, 13);
|
||||
Actor_Says(kActorMcCoy, 4400, 13);
|
||||
@ -401,7 +406,8 @@ void SceneScriptPS09::dialogueWithGregorian() {
|
||||
Voight_Kampff_Activate(kActorGrigorian, 20);
|
||||
Actor_Modify_Friendliness_To_Other(kActorGrigorian, kActorMcCoy, -10);
|
||||
break;
|
||||
case 210:
|
||||
|
||||
case 210: // DONE
|
||||
Actor_Says(kActorMcCoy, 8600, 18);
|
||||
Actor_Says(kActorGrigorian, 20, 15);
|
||||
break;
|
||||
|
@ -25,9 +25,9 @@
|
||||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptPS14::InitializeScene() {
|
||||
if (Game_Flag_Query(134)) {
|
||||
if (Game_Flag_Query(kFlagPS03toPS14)) {
|
||||
Setup_Scene_Information(-1119.61f, 508.14f, -1208.22f, 315);
|
||||
Game_Flag_Reset(134);
|
||||
Game_Flag_Reset(kFlagPS03toPS14);
|
||||
} else {
|
||||
Setup_Scene_Information(-785.45f, 508.14f, -1652.0f, 315);
|
||||
}
|
||||
@ -69,7 +69,7 @@ bool SceneScriptPS14::ClickedOnExit(int exitId) {
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -2101.0f, 508.14f, -1361.0f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 819, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, kAnimationModeIdle);
|
||||
if (Global_Variable_Query(kVariableChapter) == 4 && Game_Flag_Query(671)) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueBriefcase)) {
|
||||
Game_Flag_Set(666);
|
||||
@ -80,9 +80,9 @@ bool SceneScriptPS14::ClickedOnExit(int exitId) {
|
||||
} else if (Global_Variable_Query(kVariableChapter) > 3) {
|
||||
Actor_Says(kActorMcCoy, 8522, 12);
|
||||
Actor_Face_Heading(kActorMcCoy, 307, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, false, kAnimationModeIdle);
|
||||
} else {
|
||||
Game_Flag_Set(135);
|
||||
Game_Flag_Set(kFlagPS14toPS03);
|
||||
Set_Enter(kSetPS03, kScenePS03);
|
||||
}
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ void SceneScriptPS15::InitializeScene() {
|
||||
void SceneScriptPS15::SceneLoaded() {
|
||||
Obstacle_Object("E.ARCH", true);
|
||||
if (Global_Variable_Query(kVariableChapter) == 2) {
|
||||
Item_Add_To_World(110, 983, 101, -208.0f, -113.43f, 30.28f, 750, 16, 12, false, true, false, true);
|
||||
Item_Add_To_World(kItemWeaponsCrate, 983, 101, -208.0f, -113.43f, 30.28f, 750, 16, 12, false, true, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -56,9 +56,13 @@ bool SceneScriptPS15::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
}
|
||||
|
||||
bool SceneScriptPS15::ClickedOnActor(int actorId) {
|
||||
if (actorId == 34) {
|
||||
if ((Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm) || Actor_Clue_Query(kActorMcCoy, kCluePoliceIssueWeapons)) && !Actor_Clue_Query(kActorMcCoy, kClueShippingForm)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -256.0f, -113.43f, 43.51f, 0, 1, false, 0)) {
|
||||
if (actorId == kActorSergeantWalls) {
|
||||
if ((Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kCluePoliceIssueWeapons)
|
||||
)
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueShippingForm)
|
||||
) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -256.0f, -113.43f, 43.51f, 0, true, false, 0)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorSergeantWalls, true);
|
||||
Actor_Face_Actor(kActorSergeantWalls, kActorMcCoy, true);
|
||||
Actor_Says(kActorMcCoy, 4470, 17);
|
||||
@ -68,9 +72,9 @@ bool SceneScriptPS15::ClickedOnActor(int actorId) {
|
||||
Actor_Says(kActorSergeantWalls, 140, 16);
|
||||
Item_Pickup_Spin_Effect(965, 211, 239);
|
||||
Actor_Says(kActorSergeantWalls, 150, 14);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueShippingForm, 1, kActorSergeantWalls);
|
||||
if (!Game_Flag_Query(727)) {
|
||||
Item_Remove_From_World(111);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueShippingForm, true, kActorSergeantWalls);
|
||||
if (!Game_Flag_Query(kFlagPS04WeaponsOrderForm)) {
|
||||
Item_Remove_From_World(kItemWeaponsOrderForm);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -84,8 +88,10 @@ bool SceneScriptPS15::ClickedOnActor(int actorId) {
|
||||
}
|
||||
|
||||
bool SceneScriptPS15::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == 110) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm) && Actor_Clue_Query(kActorMcCoy, kCluePoliceIssueWeapons)) {
|
||||
if (itemId == kItemWeaponsCrate) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)
|
||||
&& Actor_Clue_Query(kActorMcCoy, kCluePoliceIssueWeapons)
|
||||
) {
|
||||
Actor_Says(kActorMcCoy, 8570, 14);
|
||||
} else {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorSergeantWalls, true);
|
||||
@ -94,8 +100,8 @@ bool SceneScriptPS15::ClickedOnItem(int itemId, bool a2) {
|
||||
Actor_Says(kActorSergeantWalls, 160, 14);
|
||||
Actor_Says(kActorMcCoy, 4490, 12);
|
||||
Actor_Says(kActorSergeantWalls, 170, 13);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePoliceIssueWeapons, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsOrderForm, true, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePoliceIssueWeapons, true, kActorMcCoy);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -104,20 +110,21 @@ bool SceneScriptPS15::ClickedOnItem(int itemId, bool a2) {
|
||||
|
||||
bool SceneScriptPS15::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -360.0f, -113.43f, 50.0f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -360.0f, -113.43f, 50.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagPS15toPS05);
|
||||
Set_Enter(kSetPS05, kScenePS05);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -183.58f, -113.43f, 91.7f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -183.58f, -113.43f, 91.7f, 0, true, false, 0)) {
|
||||
Actor_Says(kActorMcCoy, 4440, 18);
|
||||
Actor_Says(kActorSergeantWalls, 150, 17);
|
||||
Sound_Play(155, 90, 0, 0, 50);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Set_Enter(kSetPS10_PS11_PS12_PS13, kScenePS10);
|
||||
}
|
||||
@ -137,7 +144,7 @@ void SceneScriptPS15::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
||||
}
|
||||
|
||||
void SceneScriptPS15::PlayerWalkedIn() {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -326.93f, -113.43f, 101.42f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -326.93f, -113.43f, 101.42f, 0, false, false, 0);
|
||||
if (!Game_Flag_Query(kFlagPS15Entered)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorSergeantWalls, true);
|
||||
Actor_Face_Actor(kActorSergeantWalls, kActorMcCoy, true);
|
||||
|
@ -309,7 +309,7 @@ bool SceneScriptRC01::ClickedOnActor(int actorId) {
|
||||
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorOfficerLeary, 36, true, false)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorOfficerLeary, true);
|
||||
Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
|
||||
if (Actor_Query_Goal_Number(kActorOfficerLeary) == kGoalOfficerLearyCrowdInterrogation) {
|
||||
if (Actor_Query_Goal_Number(kActorOfficerLeary) == kGoalOfficerLearyRC01WalkToCrowd) {
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyDefault);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagGotOfficersStatement)) {
|
||||
@ -583,7 +583,7 @@ void SceneScriptRC01::interrogateCrowd() {
|
||||
Actor_Says(kActorMcCoy, 4500, 14);
|
||||
I_Sez("MG: We don't want any of that abstract art oozing out onto the street.");
|
||||
Actor_Says(kActorOfficerLeary, 10, 14);
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyCrowdInterrogation);
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyRC01WalkToCrowd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -123,7 +123,7 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
|
||||
Actor_Says(kActorRunciter, 30, 23);
|
||||
Actor_Says(kActorMcCoy, 4555, 18);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRuncitersVideo, 1, kActorRunciter);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRuncitersVideo, true, kActorRunciter);
|
||||
Unclickable_Object("SCRTY CA03");
|
||||
AI_Movement_Track_Unpause(kActorRunciter);
|
||||
return true;
|
||||
@ -138,19 +138,21 @@ bool SceneScriptRC02::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
|
||||
void SceneScriptRC02::dialogueWithRunciter() {
|
||||
Dialogue_Menu_Clear_List();
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(0, 5, 6, 2);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(10, 5, 4, 8);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(0, 5, 6, 2); // MOTIVES
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(10, 5, 4, 8); // LUCY
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewB1)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewB2)
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(20, 6, 4, 5);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(20, 6, 4, 5); // REFERENCE
|
||||
}
|
||||
Dialogue_Menu_Add_DONE_To_List(30);
|
||||
Dialogue_Menu_Add_DONE_To_List(30); // DONE
|
||||
|
||||
Dialogue_Menu_Appear(320, 240);
|
||||
int answer = Dialogue_Menu_Query_Input();
|
||||
Dialogue_Menu_Disappear();
|
||||
|
||||
switch (answer) {
|
||||
case 0:
|
||||
case 0: // MOTIVES
|
||||
Actor_Says(kActorMcCoy, 4580, 13);
|
||||
Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
|
||||
Actor_Says(kActorRunciter, 110, 18);
|
||||
@ -160,17 +162,18 @@ void SceneScriptRC02::dialogueWithRunciter() {
|
||||
Actor_Says(kActorRunciter, 140, 16);
|
||||
Game_Flag_Set(kFlagRC02TalkedToRunciter);
|
||||
break;
|
||||
case 10:
|
||||
|
||||
case 10: // LUCY
|
||||
Actor_Says(kActorMcCoy, 4585, 13);
|
||||
Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
|
||||
if (Game_Flag_Query(kFlagLucyIsReplicant)) {
|
||||
Actor_Says(kActorRunciter, 250, 13);
|
||||
Actor_Says(kActorRunciter, 270, 13);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewB1, 1, kActorRunciter);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewB1, true, kActorRunciter);
|
||||
} else {
|
||||
Actor_Says(kActorRunciter, 260, 14);
|
||||
Actor_Says(kActorRunciter, 270, 13);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewB2, 1, kActorRunciter);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewB2, true, kActorRunciter);
|
||||
}
|
||||
Actor_Says(kActorMcCoy, 4645, 13);
|
||||
Actor_Says(kActorRunciter, 280, 13);
|
||||
@ -184,25 +187,27 @@ void SceneScriptRC02::dialogueWithRunciter() {
|
||||
Scene_Exit_Add_2D_Exit(kRC02ExitRC51, 265, 58, 346, 154, 0);
|
||||
Game_Flag_Set(kFlagRC02LucyDeskAvailable);
|
||||
break;
|
||||
case 20:
|
||||
|
||||
case 20: // REFERENCE
|
||||
Actor_Says(kActorMcCoy, 4590, 19);
|
||||
Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
|
||||
Actor_Says(kActorRunciter, 360, 13);
|
||||
Loop_Actor_Walk_To_Waypoint(kActorRunciter, 89, 0, 0, false);
|
||||
Loop_Actor_Walk_To_Waypoint(kActorRunciter, 102, 0, 0, false);
|
||||
Loop_Actor_Walk_To_Waypoint(kActorRunciter, 89, 0, false, false);
|
||||
Loop_Actor_Walk_To_Waypoint(kActorRunciter, 102, 0, false, false);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorRunciter, true);
|
||||
Actor_Face_Heading(kActorRunciter, 539, false);
|
||||
Delay(2000);
|
||||
Loop_Actor_Walk_To_Waypoint(kActorRunciter, 89, 0, 0, false);
|
||||
Loop_Actor_Walk_To_Waypoint(kActorRunciter, 89, 0, false, false);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorRunciter, true);
|
||||
Loop_Actor_Walk_To_Actor(kActorRunciter, kActorMcCoy, 24, 0, false);
|
||||
Loop_Actor_Walk_To_Actor(kActorRunciter, kActorMcCoy, 24, false, false);
|
||||
Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorRunciter, true);
|
||||
Item_Pickup_Spin_Effect(964, 357, 228);
|
||||
Actor_Says(kActorRunciter, 1700, 13);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueReferenceLetter, 1, kActorRunciter);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueReferenceLetter, true, kActorRunciter);
|
||||
break;
|
||||
case 30:
|
||||
|
||||
case 30: // DONE
|
||||
Actor_Says(kActorMcCoy, 4595, 14);
|
||||
break;
|
||||
}
|
||||
@ -264,7 +269,7 @@ bool SceneScriptRC02::ClickedOnActor(int actorId) {
|
||||
Actor_Says(kActorMcCoy, 4570, 18);
|
||||
Actor_Says(kActorRunciter, 70, 13);
|
||||
Game_Flag_Set(kFlagRunciterInterviewA);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewA, 1, kActorRunciter);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewA, true, kActorRunciter);
|
||||
AI_Movement_Track_Unpause(kActorRunciter);
|
||||
return true;
|
||||
}
|
||||
@ -309,7 +314,7 @@ bool SceneScriptRC02::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == kItemShellCasingA || itemId == kItemShellCasingB || itemId == kItemShellCasingC) {
|
||||
if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemShellCasingA, 24, 1, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemShellCasingA, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueShellCasings, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueShellCasings, true, -1);
|
||||
Game_Flag_Set(kFlagShellCasingsTaken);
|
||||
Item_Remove_From_World(kItemShellCasingA);
|
||||
Item_Remove_From_World(kItemShellCasingB);
|
||||
@ -366,8 +371,8 @@ void SceneScriptRC02::PlayerWalkedIn() {
|
||||
Actor_Voice_Over(1970, kActorVoiceOver);
|
||||
Actor_Voice_Over(1980, kActorVoiceOver);
|
||||
Actor_Voice_Over(1990, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLimpingFootprints, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGracefulFootprints, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLimpingFootprints, true, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGracefulFootprints, true, -1);
|
||||
Game_Flag_Set(kFlagRC02Discovered);
|
||||
}
|
||||
if (Actor_Query_Which_Set_In(kActorRunciter) == kSetRC02_RC51 && Actor_Query_Goal_Number(kActorRunciter) < 300) {
|
||||
|
@ -24,8 +24,6 @@
|
||||
|
||||
namespace BladeRunner {
|
||||
|
||||
|
||||
|
||||
void SceneScriptRC03::InitializeScene() {
|
||||
if (Game_Flag_Query(kFlagRC01toRC03)) {
|
||||
Setup_Scene_Information(298.0f, -4.0f, 405.0f, 800);
|
||||
@ -78,7 +76,9 @@ void SceneScriptRC03::InitializeScene() {
|
||||
Ambient_Sounds_Add_Sound(193, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(194, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(195, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
|
||||
if (Game_Flag_Query(kFlagHC04toRC03) && Actor_Query_Goal_Number(kActorIzo) != 102) {
|
||||
if (Game_Flag_Query(kFlagHC04toRC03)
|
||||
&& Actor_Query_Goal_Number(kActorIzo) != 102
|
||||
) {
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
|
||||
}
|
||||
Scene_Loop_Set_Default(1);
|
||||
@ -138,9 +138,9 @@ bool SceneScriptRC03::ClickedOnItem(int itemId, bool a2) {
|
||||
|
||||
bool SceneScriptRC03::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 298.0f, -4.0f, 405.0f, 0, 1, false, 0)) {
|
||||
if (Game_Flag_Query(289)) {
|
||||
Game_Flag_Set(702);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 298.0f, -4.0f, 405.0f, 0, true, false, 0)) {
|
||||
if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
|
||||
Game_Flag_Set(kFlagRC04Locked);
|
||||
}
|
||||
Game_Flag_Set(kFlagRC03toRC01);
|
||||
Set_Enter(kSetRC01, kSceneRC01);
|
||||
@ -149,9 +149,9 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
|
||||
return true;
|
||||
}
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -469.0f, -4.0f, 279.0f, 0, 1, false, 0)) {
|
||||
if (Game_Flag_Query(289)) {
|
||||
Game_Flag_Set(702);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -469.0f, -4.0f, 279.0f, 0, true, false, 0)) {
|
||||
if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
|
||||
Game_Flag_Set(kFlagRC04Locked);
|
||||
}
|
||||
Game_Flag_Set(kFlagRC03toAR02);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
@ -161,12 +161,12 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
|
||||
return true;
|
||||
}
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 147.51f, -4.0f, 166.48f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 147.51f, -4.0f, 166.48f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagRC03toUG01);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtUGxx);
|
||||
if (Game_Flag_Query(289)) {
|
||||
Game_Flag_Set(702);
|
||||
if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
|
||||
Game_Flag_Set(kFlagRC04Locked);
|
||||
}
|
||||
Set_Enter(kSetUG01, kSceneUG01);
|
||||
Actor_Set_Goal_Number(kActorDektora, 100);
|
||||
@ -174,12 +174,12 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
|
||||
return true;
|
||||
}
|
||||
if (exitId == 3) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -487.0f, 1.0f, 116.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -487.0f, 1.0f, 116.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagRC03toHC04);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(479);
|
||||
if (Game_Flag_Query(289)) {
|
||||
Game_Flag_Set(702);
|
||||
Game_Flag_Set(kFlagMcCoyAtHCxx);
|
||||
if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
|
||||
Game_Flag_Set(kFlagRC04Locked);
|
||||
}
|
||||
Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC04);
|
||||
Actor_Set_Goal_Number(kActorDektora, 100);
|
||||
@ -187,8 +187,11 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
|
||||
return true;
|
||||
}
|
||||
if (exitId == 4) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -22.0f, 1.0f, -63.0f, 0, 1, false, 0)) {
|
||||
if (Global_Variable_Query(kVariableChapter) == 3 || Global_Variable_Query(kVariableChapter) == 5 || Game_Flag_Query(702)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -22.0f, 1.0f, -63.0f, 0, true, false, 0)) {
|
||||
if (Global_Variable_Query(kVariableChapter) == 3
|
||||
|| Global_Variable_Query(kVariableChapter) == 5
|
||||
|| Game_Flag_Query(kFlagRC04Locked)
|
||||
) {
|
||||
Actor_Says(kActorMcCoy, 8522, 14);
|
||||
} else {
|
||||
Game_Flag_Set(kFlagRC03toRC04);
|
||||
@ -253,7 +256,7 @@ void SceneScriptRC03::PlayerWalkedIn() {
|
||||
Actor_Set_Goal_Number(kActorSteele, 100);
|
||||
}
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 20);
|
||||
Loop_Actor_Walk_To_XYZ(kActorIzo, 180.0f, -4.0f, 184.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorIzo, 180.0f, -4.0f, 184.0f, 0, false, false, 0);
|
||||
Actor_Change_Animation_Mode(kActorIzo, 6);
|
||||
if (!Game_Flag_Query(kFlagIzoIsReplicant)) {
|
||||
Actor_Set_Goal_Number(kActorSteele, 100);
|
||||
@ -297,7 +300,7 @@ void SceneScriptRC03::PlayerWalkedOut() {
|
||||
if (Actor_Query_Goal_Number(kActorIzo) == 199) {
|
||||
Actor_Set_Goal_Number(kActorIzo, 198);
|
||||
}
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
}
|
||||
|
||||
|
@ -28,11 +28,11 @@ void SceneScriptRC04::InitializeScene() {
|
||||
Setup_Scene_Information(45.0f, 0.15f, 68.0f, 1018);
|
||||
Game_Flag_Reset(kFlagRC03toRC04);
|
||||
Scene_Exit_Add_2D_Exit(0, 225, 47, 359, 248, 0);
|
||||
if (!Game_Flag_Query(289)) {
|
||||
if (!Game_Flag_Query(kFlagRC04McCoyShotBob)) {
|
||||
Actor_Put_In_Set(kActorBulletBob, kSetRC04);
|
||||
Actor_Set_At_XYZ(kActorBulletBob, -60.0f, -11.0f, 62.0f, 12);
|
||||
}
|
||||
if (Game_Flag_Query(289)) {
|
||||
if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
|
||||
Actor_Change_Animation_Mode(kActorBulletBob, 88);
|
||||
}
|
||||
Ambient_Sounds_Add_Looping_Sound(381, 100, 1, 1);
|
||||
@ -59,34 +59,44 @@ bool SceneScriptRC04::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void SceneScriptRC04::sub_401DF4() {
|
||||
void SceneScriptRC04::dialogueWithBulletBob() {
|
||||
Dialogue_Menu_Clear_List();
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueLabShellCasings) && !Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(580, -1, 4, 9);
|
||||
if ( Actor_Clue_Query(kActorMcCoy, kClueLabShellCasings)
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles)
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(580, -1, 4, 9); // WEAPONS
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueShellCasings) && !Actor_Clue_Query(kActorMcCoy, kClueLabShellCasings) && !Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(590, 6, 5, 3);
|
||||
if ( Actor_Clue_Query(kActorMcCoy, kClueShellCasings)
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueLabShellCasings)
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles)
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(590, 6, 5, 3); // SHELL CASINGS
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueHasanInterview)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(600, -1, 3, 7);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(1310, -1, 2, 8);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(600, -1, 3, 7); // HASAN
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(1310, -1, 2, 8); // VOIGT-KAMPFF
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles) && !Actor_Clue_Query(kActorMcCoy, kClueGogglesReplicantIssue)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(610, 4, 5, 6);
|
||||
if ( Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles)
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueGogglesReplicantIssue)
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(610, 4, 5, 6); // GOGGLES
|
||||
}
|
||||
if (!Game_Flag_Query(305)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(1280, 1, 2, 3);
|
||||
if (!Game_Flag_Query(kFlagRC04BobTalkAmmo)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(1280, 1, 2, 3); // AMMO
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueHoldensBadge) && !Actor_Clue_Query(kActorBulletBob, kClueHoldensBadge)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(620, 1, -1, -1);
|
||||
if ( Actor_Clue_Query(kActorMcCoy, kClueHoldensBadge)
|
||||
&& !Actor_Clue_Query(kActorBulletBob, kClueHoldensBadge)
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(620, 1, -1, -1); // HOLDEN'S BADGE
|
||||
}
|
||||
Dialogue_Menu_Add_DONE_To_List(630);
|
||||
Dialogue_Menu_Add_DONE_To_List(630); // DONE
|
||||
|
||||
Dialogue_Menu_Appear(320, 240);
|
||||
int answer = Dialogue_Menu_Query_Input();
|
||||
Dialogue_Menu_Disappear();
|
||||
|
||||
switch (answer) {
|
||||
case 580:
|
||||
case 580: // WEAPONS
|
||||
Actor_Says(kActorMcCoy, 4955, 30);
|
||||
Actor_Says(kActorBulletBob, 210, 37);
|
||||
Actor_Says(kActorBulletBob, 220, 37);
|
||||
@ -113,7 +123,7 @@ void SceneScriptRC04::sub_401DF4() {
|
||||
Actor_Says(kActorBulletBob, 380, 37);
|
||||
Actor_Says(kActorBulletBob, 390, 11);
|
||||
Actor_Says(kActorBulletBob, 400, 37);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorMcCoy);
|
||||
} else {
|
||||
Actor_Says(kActorBulletBob, 410, 11);
|
||||
Actor_Says(kActorBulletBob, 420, 37);
|
||||
@ -123,10 +133,11 @@ void SceneScriptRC04::sub_401DF4() {
|
||||
Actor_Says(kActorBulletBob, 450, 32);
|
||||
Actor_Says(kActorMcCoy, 5030, 16);
|
||||
Actor_Says(kActorBulletBob, 460, 37);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, true, kActorMcCoy);
|
||||
}
|
||||
return;
|
||||
case 590:
|
||||
|
||||
case 590: // SHELL CASINGS
|
||||
Actor_Says(kActorMcCoy, 4960, 13);
|
||||
Actor_Says(kActorBulletBob, 250, 30);
|
||||
Actor_Says(kActorBulletBob, 260, 33);
|
||||
@ -151,7 +162,7 @@ void SceneScriptRC04::sub_401DF4() {
|
||||
Actor_Says(kActorBulletBob, 380, 33);
|
||||
Actor_Says(kActorBulletBob, 390, 37);
|
||||
Actor_Says(kActorBulletBob, 400, 32);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorMcCoy);
|
||||
} else {
|
||||
Actor_Says(kActorBulletBob, 410, 32);
|
||||
Actor_Says(kActorBulletBob, 420, 30);
|
||||
@ -161,10 +172,11 @@ void SceneScriptRC04::sub_401DF4() {
|
||||
Actor_Says(kActorBulletBob, 450, 37);
|
||||
Actor_Says(kActorMcCoy, 5030, 16);
|
||||
Actor_Says(kActorBulletBob, 460, 30);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview2, true, kActorMcCoy);
|
||||
}
|
||||
break;
|
||||
case 600:
|
||||
|
||||
case 600: // HASAN
|
||||
Actor_Says(kActorMcCoy, 4965, 11);
|
||||
Actor_Says(kActorBulletBob, 470, 11);
|
||||
Actor_Says(kActorMcCoy, 5035, 15);
|
||||
@ -179,7 +191,8 @@ void SceneScriptRC04::sub_401DF4() {
|
||||
Actor_Says(kActorBulletBob, 550, 11);
|
||||
Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, -6);
|
||||
break;
|
||||
case 610:
|
||||
|
||||
case 610: // GOGGLES
|
||||
Actor_Says(kActorMcCoy, 4970, 16);
|
||||
if (Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) < 50) {
|
||||
Actor_Says(kActorBulletBob, 700, 11);
|
||||
@ -189,7 +202,7 @@ void SceneScriptRC04::sub_401DF4() {
|
||||
Actor_Says(kActorBulletBob, 720, 30);
|
||||
Actor_Says(kActorMcCoy, 5080, 11);
|
||||
Actor_Says(kActorBulletBob, 730, 37);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBobInterview1, true, kActorMcCoy);
|
||||
} else {
|
||||
Actor_Says(kActorBulletBob, 560, 37);
|
||||
Actor_Says(kActorMcCoy, 5070, 13);
|
||||
@ -206,24 +219,48 @@ void SceneScriptRC04::sub_401DF4() {
|
||||
Actor_Says(kActorBulletBob, 650, 35);
|
||||
Actor_Says(kActorBulletBob, 660, 30);
|
||||
Actor_Says(kActorMcCoy, 5060, 13);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGogglesReplicantIssue, 1, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueGogglesReplicantIssue, true, kActorMcCoy);
|
||||
}
|
||||
break;
|
||||
case 1280:
|
||||
|
||||
case 620: // HOLDEN'S BADGE
|
||||
Actor_Says(kActorMcCoy, 4985, 11);
|
||||
Actor_Says(kActorBulletBob, 850, 35);
|
||||
Actor_Says(kActorMcCoy, 5105, 13);
|
||||
Actor_Says(kActorMcCoy, 5110, 11);
|
||||
Actor_Says(kActorBulletBob, 860, 30);
|
||||
Actor_Says(kActorMcCoy, 5115, 16);
|
||||
Actor_Says(kActorBulletBob, 870, 31);
|
||||
Actor_Says(kActorMcCoy, 5120, 15);
|
||||
Actor_Says(kActorBulletBob, 880, 34);
|
||||
Actor_Clue_Acquire(kActorBulletBob, kClueHoldensBadge, true, kActorMcCoy);
|
||||
Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, 8);
|
||||
if (Query_Difficulty_Level() != 0) {
|
||||
Global_Variable_Increment(kVariableChinyen, 60);
|
||||
}
|
||||
break;
|
||||
|
||||
case 630: // DONE
|
||||
Actor_Says(kActorMcCoy, 1315, 12);
|
||||
break;
|
||||
|
||||
case 1280: // AMMO
|
||||
Actor_Says(kActorMcCoy, 9040, 16);
|
||||
if (!Game_Flag_Query(305)) {
|
||||
if (!Game_Flag_Query(kFlagRC04BobTalkAmmo)) {
|
||||
Actor_Says(kActorBulletBob, 2080, 30);
|
||||
Actor_Says(kActorBulletBob, 2090, 37);
|
||||
Actor_Says(kActorMcCoy, 9045, 14);
|
||||
Actor_Says(kActorBulletBob, 2100, 32);
|
||||
Actor_Says(kActorBulletBob, 2110, 37);
|
||||
Game_Flag_Set(305);
|
||||
Game_Flag_Set(kFlagRC04BobTalkAmmo);
|
||||
}
|
||||
Actor_Says(kActorBulletBob, 2120, 31);
|
||||
if (Global_Variable_Query(2) > 40 || Query_Difficulty_Level() == 0) {
|
||||
if (Global_Variable_Query(kVariableChinyen) > 40
|
||||
|| Query_Difficulty_Level() == 0
|
||||
) {
|
||||
Actor_Says(kActorMcCoy, 4940, 13);
|
||||
if (Query_Difficulty_Level() != 0) {
|
||||
Global_Variable_Decrement(2, 40);
|
||||
Global_Variable_Decrement(kVariableChinyen, 40);
|
||||
}
|
||||
Item_Pickup_Spin_Effect(995, 405, 192);
|
||||
Give_McCoy_Ammo(1, 24);
|
||||
@ -232,7 +269,8 @@ void SceneScriptRC04::sub_401DF4() {
|
||||
Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, -2);
|
||||
}
|
||||
break;
|
||||
case 1310:
|
||||
|
||||
case 1310: // VOIGT-KAMPFF
|
||||
Actor_Says(kActorMcCoy, 4980, 11);
|
||||
if (Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) > 49) {
|
||||
Actor_Says(kActorBulletBob, 740, 37);
|
||||
@ -262,25 +300,6 @@ void SceneScriptRC04::sub_401DF4() {
|
||||
Actor_Says(kActorBulletBob, 840, 34);
|
||||
}
|
||||
break;
|
||||
case 620:
|
||||
Actor_Says(kActorMcCoy, 4985, 11);
|
||||
Actor_Says(kActorBulletBob, 850, 35);
|
||||
Actor_Says(kActorMcCoy, 5105, 13);
|
||||
Actor_Says(kActorMcCoy, 5110, 11);
|
||||
Actor_Says(kActorBulletBob, 860, 30);
|
||||
Actor_Says(kActorMcCoy, 5115, 16);
|
||||
Actor_Says(kActorBulletBob, 870, 31);
|
||||
Actor_Says(kActorMcCoy, 5120, 15);
|
||||
Actor_Says(kActorBulletBob, 880, 34);
|
||||
Actor_Clue_Acquire(kActorBulletBob, kClueHoldensBadge, 1, kActorMcCoy);
|
||||
Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, 8);
|
||||
if (Query_Difficulty_Level() != 0) {
|
||||
Global_Variable_Increment(2, 60);
|
||||
}
|
||||
break;
|
||||
case 630:
|
||||
Actor_Says(kActorMcCoy, 1315, 12);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -288,78 +307,100 @@ bool SceneScriptRC04::ClickedOnActor(int actorId) {
|
||||
if (Player_Query_Combat_Mode()) {
|
||||
return false;
|
||||
}
|
||||
if (actorId == 14 && Global_Variable_Query(kVariableChapter) == 2 && !Game_Flag_Query(289)) {
|
||||
Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 104, 0, 0, false);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorBulletBob, true);
|
||||
if (Game_Flag_Query(287) && !Game_Flag_Query(292) && Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) > 45) {
|
||||
Actor_Says(kActorBulletBob, 30, 30);
|
||||
Actor_Says(kActorMcCoy, 4875, 13);
|
||||
Actor_Says(kActorBulletBob, 80, 31);
|
||||
Actor_Says(kActorMcCoy, 4900, 15);
|
||||
Actor_Says(kActorBulletBob, 90, 33);
|
||||
Actor_Says(kActorBulletBob, 100, 34);
|
||||
Actor_Says(kActorMcCoy, 4905, 15);
|
||||
Game_Flag_Set(292);
|
||||
} else if (Game_Flag_Query(287) && !Game_Flag_Query(290) && Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) < 45) {
|
||||
Actor_Says(kActorBulletBob, 40, 30);
|
||||
Actor_Says(kActorMcCoy, 4880, 13);
|
||||
Actor_Says(kActorBulletBob, 50, 35);
|
||||
Actor_Says(kActorMcCoy, 4875, 16);
|
||||
Actor_Says(kActorBulletBob, 60, 36);
|
||||
Actor_Says(kActorMcCoy, 4890, 13);
|
||||
Actor_Says(kActorBulletBob, 70, 33);
|
||||
Actor_Says(kActorMcCoy, 4895, 16);
|
||||
Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, -5);
|
||||
Game_Flag_Set(290);
|
||||
} else if (Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) > 51 && !Game_Flag_Query(717)) {
|
||||
Actor_Says(kActorBulletBob, 1870, 30);
|
||||
Actor_Says(kActorBulletBob, 1880, 30);
|
||||
Actor_Says(kActorMcCoy, 8960, 13);
|
||||
Actor_Says(kActorBulletBob, 1890, 36);
|
||||
Actor_Says(kActorBulletBob, 1900, 35);
|
||||
Actor_Says(kActorMcCoy, 8965, 16);
|
||||
Actor_Says(kActorBulletBob, 1920, 36);
|
||||
Actor_Says(kActorBulletBob, 1930, 33);
|
||||
Actor_Says(kActorBulletBob, 1940, 36);
|
||||
Actor_Says(kActorBulletBob, 1950, 30);
|
||||
Actor_Says(kActorMcCoy, 8970, 13);
|
||||
Actor_Says(kActorBulletBob, 1960, 33);
|
||||
Actor_Says(kActorBulletBob, 1970, 30);
|
||||
Actor_Says(kActorBulletBob, 1980, 36);
|
||||
Delay(1000);
|
||||
Actor_Says(kActorBulletBob, 2010, 35);
|
||||
if (Global_Variable_Query(2) > 50 || Query_Difficulty_Level() == 0) {
|
||||
Actor_Says(kActorMcCoy, 8975, 16);
|
||||
if (Query_Difficulty_Level() != 0) {
|
||||
Global_Variable_Decrement(2, 50);
|
||||
|
||||
if (actorId == kActorBulletBob) {
|
||||
if ( Global_Variable_Query(kVariableChapter) == 2
|
||||
&& !Game_Flag_Query(kFlagRC04McCoyShotBob)
|
||||
) {
|
||||
Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 104, 0, false, false);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorBulletBob, true);
|
||||
if ( Game_Flag_Query(kFlagRC04Entered)
|
||||
&& !Game_Flag_Query(kFlagRC04BobTalk2)
|
||||
&& Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) > 45
|
||||
) {
|
||||
Actor_Says(kActorBulletBob, 30, 30);
|
||||
Actor_Says(kActorMcCoy, 4875, 13);
|
||||
Actor_Says(kActorBulletBob, 80, 31);
|
||||
Actor_Says(kActorMcCoy, 4900, 15);
|
||||
Actor_Says(kActorBulletBob, 90, 33);
|
||||
Actor_Says(kActorBulletBob, 100, 34);
|
||||
Actor_Says(kActorMcCoy, 4905, 15);
|
||||
Game_Flag_Set(kFlagRC04BobTalk2);
|
||||
} else if ( Game_Flag_Query(kFlagRC04Entered)
|
||||
&& !Game_Flag_Query(kFlagRC04BobTalk1)
|
||||
&& Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) < 45
|
||||
) {
|
||||
Actor_Says(kActorBulletBob, 40, 30);
|
||||
Actor_Says(kActorMcCoy, 4880, 13);
|
||||
Actor_Says(kActorBulletBob, 50, 35);
|
||||
Actor_Says(kActorMcCoy, 4875, 16);
|
||||
Actor_Says(kActorBulletBob, 60, 36);
|
||||
Actor_Says(kActorMcCoy, 4890, 13);
|
||||
Actor_Says(kActorBulletBob, 70, 33);
|
||||
Actor_Says(kActorMcCoy, 4895, 16);
|
||||
Actor_Modify_Friendliness_To_Other(kActorBulletBob, kActorMcCoy, -5);
|
||||
Game_Flag_Set(kFlagRC04BobTalk1);
|
||||
} else if ( Actor_Query_Friendliness_To_Other(kActorBulletBob, kActorMcCoy) > 51
|
||||
&& !Game_Flag_Query(kFlagRC04BobTalk3)
|
||||
) {
|
||||
Actor_Says(kActorBulletBob, 1870, 30);
|
||||
Actor_Says(kActorBulletBob, 1880, 30);
|
||||
Actor_Says(kActorMcCoy, 8960, 13);
|
||||
Actor_Says(kActorBulletBob, 1890, 36);
|
||||
Actor_Says(kActorBulletBob, 1900, 35);
|
||||
Actor_Says(kActorMcCoy, 8965, 16);
|
||||
Actor_Says(kActorBulletBob, 1920, 36);
|
||||
Actor_Says(kActorBulletBob, 1930, 33);
|
||||
Actor_Says(kActorBulletBob, 1940, 36);
|
||||
Actor_Says(kActorBulletBob, 1950, 30);
|
||||
Actor_Says(kActorMcCoy, 8970, 13);
|
||||
Actor_Says(kActorBulletBob, 1960, 33);
|
||||
Actor_Says(kActorBulletBob, 1970, 30);
|
||||
Actor_Says(kActorBulletBob, 1980, 36);
|
||||
Delay(1000);
|
||||
Actor_Says(kActorBulletBob, 2010, 35);
|
||||
if (Global_Variable_Query(kVariableChinyen) > 50
|
||||
|| Query_Difficulty_Level() == 0
|
||||
) {
|
||||
Actor_Says(kActorMcCoy, 8975, 16);
|
||||
if (Query_Difficulty_Level() != 0) {
|
||||
Global_Variable_Decrement(kVariableChinyen, 50);
|
||||
}
|
||||
Delay(3000);
|
||||
Item_Pickup_Spin_Effect(941, 405, 192);
|
||||
Actor_Says(kActorBulletBob, 2030, 30);
|
||||
Game_Flag_Set(kFlagKIAPrivacyAddon);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 8980, 16);
|
||||
Actor_Says(kActorBulletBob, 2040, 30);
|
||||
Actor_Says(kActorMcCoy, 8985, 15);
|
||||
Actor_Says(kActorBulletBob, 2050, 33);
|
||||
}
|
||||
Delay(3000);
|
||||
Item_Pickup_Spin_Effect(941, 405, 192);
|
||||
Actor_Says(kActorBulletBob, 2030, 30);
|
||||
Game_Flag_Set(kFlagKIAPrivacyAddon);
|
||||
Game_Flag_Set(kFlagRC04BobTalk3);
|
||||
} else if ( Actor_Clue_Query(kActorMcCoy, kClueLabShellCasings)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueShellCasings)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueHoldensBadge)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueHasanInterview)
|
||||
|| !Game_Flag_Query(kFlagRC04BobTalkAmmo)
|
||||
) {
|
||||
dialogueWithBulletBob();
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 8980, 16);
|
||||
Actor_Says(kActorBulletBob, 2040, 30);
|
||||
Actor_Says(kActorMcCoy, 8985, 15);
|
||||
Actor_Says(kActorBulletBob, 2050, 33);
|
||||
Actor_Says(kActorBulletBob, 1820, 30);
|
||||
}
|
||||
Game_Flag_Set(717);
|
||||
} else if (Actor_Clue_Query(kActorMcCoy, kClueLabShellCasings) || Actor_Clue_Query(kActorMcCoy, kClueShellCasings) || Actor_Clue_Query(kActorMcCoy, kClueRadiationGoggles) || Actor_Clue_Query(kActorMcCoy, kClueHoldensBadge) || Actor_Clue_Query(kActorMcCoy, kClueHasanInterview) || !Game_Flag_Query(305)) {
|
||||
sub_401DF4();
|
||||
} else {
|
||||
Actor_Says(kActorBulletBob, 1820, 30);
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (actorId == 14 && Game_Flag_Query(289)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorBulletBob, true);
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueVKBobGorskyReplicant)) {
|
||||
Actor_Says(kActorMcCoy, 8590, -1);
|
||||
} else {
|
||||
Actor_Voice_Over(2100, kActorVoiceOver);
|
||||
Actor_Voice_Over(2110, kActorVoiceOver);
|
||||
|
||||
if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorBulletBob, true);
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueVKBobGorskyReplicant)) {
|
||||
Actor_Says(kActorMcCoy, 8590, -1);
|
||||
} else {
|
||||
Actor_Voice_Over(2100, kActorVoiceOver);
|
||||
Actor_Voice_Over(2110, kActorVoiceOver);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -390,28 +431,39 @@ void SceneScriptRC04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
||||
}
|
||||
|
||||
void SceneScriptRC04::PlayerWalkedIn() {
|
||||
Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 103, 0, 0, false);
|
||||
if (Global_Variable_Query(kVariableChapter) != 2 || Game_Flag_Query(287) || Player_Query_Combat_Mode()) {
|
||||
if (Global_Variable_Query(kVariableChapter) == 4 && !Game_Flag_Query(289) && !Game_Flag_Query(306)) {
|
||||
Actor_Says(kActorDispatcher, 40, 3);
|
||||
Actor_Says(kActorBulletBob, 890, 37);
|
||||
Actor_Set_Goal_Number(kActorBulletBob, 2);
|
||||
}
|
||||
Game_Flag_Set(287);
|
||||
} else {
|
||||
Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 103, 0, false, false);
|
||||
|
||||
if ( Global_Variable_Query(kVariableChapter) == 2
|
||||
&& !Game_Flag_Query(kFlagRC04Entered)
|
||||
&& !Player_Query_Combat_Mode()
|
||||
) {
|
||||
Actor_Says(kActorBulletBob, 0, 31);
|
||||
Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 104, 0, 0, false);
|
||||
Loop_Actor_Walk_To_Waypoint(kActorMcCoy, 104, 0, false, false);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorBulletBob, true);
|
||||
Actor_Says(kActorMcCoy, 4865, 13);
|
||||
Actor_Says(kActorBulletBob, 10, 32);
|
||||
Actor_Says(kActorMcCoy, 4870, 16);
|
||||
Actor_Says(kActorBulletBob, 20, 31);
|
||||
Game_Flag_Set(287);
|
||||
Game_Flag_Set(kFlagRC04Entered);
|
||||
return; //true;
|
||||
}
|
||||
|
||||
if ( Global_Variable_Query(kVariableChapter) == 4
|
||||
&& !Game_Flag_Query(kFlagRC04McCoyShotBob)
|
||||
&& !Game_Flag_Query(kFlagNotUsed306)
|
||||
) {
|
||||
Actor_Says(kActorDispatcher, 40, 3);
|
||||
Actor_Says(kActorBulletBob, 890, 37);
|
||||
Actor_Set_Goal_Number(kActorBulletBob, 2);
|
||||
}
|
||||
|
||||
Game_Flag_Set(kFlagRC04Entered);
|
||||
|
||||
//return false;
|
||||
}
|
||||
|
||||
void SceneScriptRC04::PlayerWalkedOut() {
|
||||
Game_Flag_Reset(303);
|
||||
Game_Flag_Reset(kFlagRC04McCoyWarned);
|
||||
}
|
||||
|
||||
void SceneScriptRC04::DialogueQueueFlushed(int a1) {
|
||||
|
@ -53,7 +53,7 @@ void SceneScriptRC51::SceneLoaded() {
|
||||
if (!Game_Flag_Query(kFlagCandyTaken)) {
|
||||
Item_Add_To_World(kItemCandy, 933, kSetRC02_RC51, 67.28f, -1193.38f, 108011.27f, 0, 6, 6, false, true, false, true);
|
||||
}
|
||||
if (!Game_Flag_Query(kFlagDogTaken)) {
|
||||
if (!Game_Flag_Query(kFlagToyDogTaken)) {
|
||||
Item_Add_To_World(kItemToyDog, 971, kSetRC02_RC51, -69.65f, -1238.89f, 107995.24f, 256, 18, 18, false, true, false, true);
|
||||
}
|
||||
}
|
||||
@ -76,42 +76,52 @@ bool SceneScriptRC51::ClickedOnActor(int actorId) {
|
||||
}
|
||||
|
||||
bool SceneScriptRC51::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == kItemChopstickWrapper && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 17.97f, -1238.89f, 108053.5f, 0, false, false, 0)) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemChopstickWrapper, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChopstickWrapper, 1, -1);
|
||||
Item_Remove_From_World(kItemChopstickWrapper);
|
||||
Item_Pickup_Spin_Effect(937, 437, 407);
|
||||
Actor_Voice_Over(2010, kActorVoiceOver);
|
||||
Game_Flag_Set(kFlagChopstickWrapperTaken);
|
||||
return true;
|
||||
if (itemId == kItemChopstickWrapper) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 17.97f, -1238.89f, 108053.5f, 0, false, false, 0)) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemChopstickWrapper, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChopstickWrapper, true, -1);
|
||||
Item_Remove_From_World(kItemChopstickWrapper);
|
||||
Item_Pickup_Spin_Effect(937, 437, 407);
|
||||
Actor_Voice_Over(2010, kActorVoiceOver);
|
||||
Game_Flag_Set(kFlagChopstickWrapperTaken);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (itemId == kItemCandy && !Loop_Actor_Walk_To_Item(kActorMcCoy, kItemCandy, 36, true, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemCandy, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCandy, 1, -1);
|
||||
Item_Remove_From_World(kItemCandy);
|
||||
Item_Pickup_Spin_Effect(933, 445, 230);
|
||||
Actor_Says(kActorMcCoy, 8735, 3);
|
||||
Actor_Says(kActorMcCoy, 8529, 3);
|
||||
Game_Flag_Set(kFlagCandyTaken);
|
||||
return true;
|
||||
|
||||
if (itemId == kItemCandy) {
|
||||
if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemCandy, 36, true, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemCandy, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCandy, true, -1);
|
||||
Item_Remove_From_World(kItemCandy);
|
||||
Item_Pickup_Spin_Effect(933, 445, 230);
|
||||
Actor_Says(kActorMcCoy, 8735, 3);
|
||||
Actor_Says(kActorMcCoy, 8529, 3);
|
||||
Game_Flag_Set(kFlagCandyTaken);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (itemId == kItemToyDog && !Loop_Actor_Walk_To_Item(kActorMcCoy, kItemToyDog, 36, true, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemToyDog, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueToyDog, 1, -1);
|
||||
Item_Remove_From_World(kItemToyDog);
|
||||
Item_Pickup_Spin_Effect(971, 55, 376);
|
||||
Actor_Says(kActorMcCoy, 8525, 3);
|
||||
Actor_Says(kActorMcCoy, 8740, 3);
|
||||
Game_Flag_Set(kFlagDogTaken);
|
||||
return true;
|
||||
|
||||
if (itemId == kItemToyDog) {
|
||||
if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemToyDog, 36, true, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemToyDog, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueToyDog, true, -1);
|
||||
Item_Remove_From_World(kItemToyDog);
|
||||
Item_Pickup_Spin_Effect(971, 55, 376);
|
||||
Actor_Says(kActorMcCoy, 8525, 3);
|
||||
Actor_Says(kActorMcCoy, 8740, 3);
|
||||
Game_Flag_Set(kFlagToyDogTaken);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool SceneScriptRC51::ClickedOnExit(int exitId) {
|
||||
if (exitId == kRC51ExitRC02 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, -8.87f, -1238.89f, 108173.27f, 0, true, false, 0)) {
|
||||
Set_Enter(kSetRC02_RC51, kSceneRC02);
|
||||
return true;
|
||||
if (exitId == kRC51ExitRC02) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -8.87f, -1238.89f, 108173.27f, 0, true, false, 0)) {
|
||||
Set_Enter(kSetRC02_RC51, kSceneRC02);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ void SceneScriptTB02::InitializeScene() {
|
||||
} else if (Game_Flag_Query(kFlagTB07toTB02)) {
|
||||
Setup_Scene_Information(-32.0f, 0.0f, 1578.0f, 639);
|
||||
} else {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Outtake_Play(kOuttakeTyrellBuildingFly, false, -1);
|
||||
Setup_Scene_Information(-304.0f, -81.46f, 1434.0f, 250);
|
||||
@ -63,7 +63,9 @@ void SceneScriptTB02::InitializeScene() {
|
||||
Ambient_Sounds_Add_Sound(194, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(195, 5, 70, 12, 12, -100, 100, -101, -101, 0, 0);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagSpinnerAtTB02) && Global_Variable_Query(kVariableChapter) < 4) {
|
||||
if (Game_Flag_Query(kFlagSpinnerAtTB02)
|
||||
&& Global_Variable_Query(kVariableChapter) < 4
|
||||
) {
|
||||
Scene_Exit_Add_2D_Exit(2, 67, 0, 233, 362, 3);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagTB03toTB02)) {
|
||||
@ -96,12 +98,14 @@ bool SceneScriptTB02::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
}
|
||||
|
||||
bool SceneScriptTB02::ClickedOnActor(int actorId) {
|
||||
if (actorId == 17) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.35f, 0.15f, 1564.2f, 0, 1, false, 0)) {
|
||||
if (actorId == kActorTyrellGuard) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.35f, 0.15f, 1564.2f, 0, true, false, 0)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorTyrellGuard, true);
|
||||
int v1 = Global_Variable_Query(kVariableChapter);
|
||||
if (v1 == 2) {
|
||||
if (Game_Flag_Query(450) && !Game_Flag_Query(451)) {
|
||||
int chapter = Global_Variable_Query(kVariableChapter);
|
||||
if (chapter == 2) {
|
||||
if ( Game_Flag_Query(kFlagTB02ElevatorToTB05)
|
||||
&& !Game_Flag_Query(kFlagTB05Entered)
|
||||
) {
|
||||
Actor_Says(kActorMcCoy, 5150, 18);
|
||||
Actor_Says(kActorTyrellGuard, 60, 12);
|
||||
Actor_Says(kActorTyrellGuard, 70, 13);
|
||||
@ -109,15 +113,19 @@ bool SceneScriptTB02::ClickedOnActor(int actorId) {
|
||||
Actor_Modify_Friendliness_To_Other(kActorTyrellGuard, kActorMcCoy, -1);
|
||||
return true;
|
||||
}
|
||||
if (!Game_Flag_Query(450) && !Game_Flag_Query(451)) {
|
||||
Game_Flag_Set(450);
|
||||
|
||||
if (!Game_Flag_Query(kFlagTB02ElevatorToTB05)
|
||||
&& !Game_Flag_Query(kFlagTB05Entered)
|
||||
) {
|
||||
Game_Flag_Set(kFlagTB02ElevatorToTB05);
|
||||
Actor_Says(kActorMcCoy, 5160, 18);
|
||||
Actor_Says(kActorTyrellGuard, 80, 14);
|
||||
Scene_Exit_Add_2D_Exit(1, 430, 235, 487, 396, 0);
|
||||
return true;
|
||||
}
|
||||
if (Game_Flag_Query(451)) {
|
||||
sub_402644();
|
||||
|
||||
if (Game_Flag_Query(kFlagTB05Entered)) {
|
||||
dialogueWithTyrellGuard();
|
||||
} else {
|
||||
Actor_Face_Actor(kActorTyrellGuard, kActorMcCoy, true);
|
||||
Actor_Says(kActorMcCoy, 5150, 18);
|
||||
@ -129,7 +137,8 @@ bool SceneScriptTB02::ClickedOnActor(int actorId) {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (v1 == 3) {
|
||||
|
||||
if (chapter == 3) {
|
||||
Actor_Says(kActorMcCoy, 5235, 18);
|
||||
Actor_Says(kActorTyrellGuard, 280, 13);
|
||||
Actor_Says(kActorTyrellGuard, 290, 12);
|
||||
@ -137,7 +146,8 @@ bool SceneScriptTB02::ClickedOnActor(int actorId) {
|
||||
Actor_Says(kActorTyrellGuard, 300, 12);
|
||||
return false;
|
||||
}
|
||||
if (v1 == 4) {
|
||||
|
||||
if (chapter == 4) {
|
||||
if (Actor_Query_Goal_Number(kActorTyrellGuard) == 300) {
|
||||
Actor_Set_Goal_Number(kActorTyrellGuard, 301);
|
||||
}
|
||||
@ -157,7 +167,7 @@ bool SceneScriptTB02::ClickedOnExit(int exitId) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagTB02toTB03);
|
||||
Game_Flag_Reset(450);
|
||||
Game_Flag_Reset(kFlagTB02ElevatorToTB05);
|
||||
Set_Enter(kSetTB02_TB03, kSceneTB03);
|
||||
Async_Actor_Walk_To_XYZ(kActorMcCoy, -152.0f, 0.0f, 1890.0f, 0, false);
|
||||
}
|
||||
@ -168,7 +178,7 @@ bool SceneScriptTB02::ClickedOnExit(int exitId) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
if (Global_Variable_Query(kVariableChapter) < 4) {
|
||||
Game_Flag_Set(451);
|
||||
Game_Flag_Set(kFlagTB05Entered);
|
||||
Game_Flag_Set(kFlagTB02toTB05);
|
||||
Set_Enter(kSetTB05, kSceneTB05);
|
||||
} else {
|
||||
@ -180,7 +190,7 @@ bool SceneScriptTB02::ClickedOnExit(int exitId) {
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -192.0f, 0.0f, 1430.0f, 0, true, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 800, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 9, false, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 9, false, kAnimationModeIdle);
|
||||
if (Actor_Query_Goal_Number(kActorTyrellGuard) == 300) {
|
||||
Actor_Set_Goal_Number(kActorTyrellGuard, 301);
|
||||
} else {
|
||||
@ -191,7 +201,7 @@ bool SceneScriptTB02::ClickedOnExit(int exitId) {
|
||||
Game_Flag_Reset(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Reset(450);
|
||||
Game_Flag_Reset(kFlagTB02ElevatorToTB05);
|
||||
switch (Spinner_Interface_Choose_Dest(-1, false)) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
@ -290,8 +300,8 @@ void SceneScriptTB02::PlayerWalkedIn() {
|
||||
}
|
||||
Music_Play(1, 50, 0, 2, -1, 0, 0);
|
||||
} else {
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 1, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 0.79f, 1470.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 9, true, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 0.79f, 1470.0f, 0, false, false, 0);
|
||||
}
|
||||
int chapter = Global_Variable_Query(kVariableChapter);
|
||||
if (chapter > 4) {
|
||||
@ -299,7 +309,7 @@ void SceneScriptTB02::PlayerWalkedIn() {
|
||||
return;
|
||||
}
|
||||
if (chapter == 2) {
|
||||
if (!Game_Flag_Query(453)) {
|
||||
if (!Game_Flag_Query(kFlagTB02GuardTalk1)) {
|
||||
Player_Loses_Control();
|
||||
Actor_Says(kActorMcCoy, 5125, 18);
|
||||
Actor_Says(kActorTyrellGuard, 0, 50);
|
||||
@ -310,45 +320,55 @@ void SceneScriptTB02::PlayerWalkedIn() {
|
||||
Actor_Says(kActorMcCoy, 5140, 17);
|
||||
Actor_Says(kActorTyrellGuard, 30, 14);
|
||||
Actor_Says(kActorTyrellGuard, 40, 13);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 0.0f, 1586.0f, 12, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -112.0f, 0.0f, 1586.0f, 12, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 0.0f, 1586.0f, 12, false, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -112.0f, 0.0f, 1586.0f, 12, false, false, 0);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorTyrellGuard, true);
|
||||
Actor_Face_Actor(kActorTyrellGuard, kActorMcCoy, true);
|
||||
Actor_Says(kActorMcCoy, 5145, 13);
|
||||
Actor_Says(kActorTyrellGuard, 50, 15);
|
||||
Actor_Face_Heading(kActorTyrellGuard, 788, false);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSecurity, 1, -1);
|
||||
Game_Flag_Set(453);
|
||||
Game_Flag_Set(450);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSecurity, true, -1);
|
||||
Game_Flag_Set(kFlagTB02GuardTalk1);
|
||||
Game_Flag_Set(kFlagTB02ElevatorToTB05);
|
||||
Player_Gains_Control();
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -138.17f, 0.15f, 1578.32f, 0, 1, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -138.17f, 0.15f, 1578.32f, 0, true, false, 0);
|
||||
}
|
||||
if (Game_Flag_Query(450)) {
|
||||
|
||||
if (Game_Flag_Query(kFlagTB02ElevatorToTB05)) {
|
||||
Scene_Exit_Add_2D_Exit(1, 430, 235, 487, 396, 0);
|
||||
}
|
||||
if (Game_Flag_Query(451) && !Game_Flag_Query(450)) {
|
||||
|
||||
if ( Game_Flag_Query(kFlagTB05Entered)
|
||||
&& !Game_Flag_Query(kFlagTB02ElevatorToTB05)
|
||||
) {
|
||||
Actor_Says(kActorTyrellGuard, 90, 18);
|
||||
Game_Flag_Set(450);
|
||||
Game_Flag_Set(kFlagTB02ElevatorToTB05);
|
||||
Scene_Exit_Add_2D_Exit(1, 430, 235, 487, 396, 0);
|
||||
}
|
||||
if (Game_Flag_Query(451) && !Game_Flag_Query(456)) {
|
||||
Loop_Actor_Walk_To_Actor(kActorSteele, kActorMcCoy, 36, 1, false);
|
||||
|
||||
if ( Game_Flag_Query(kFlagTB05Entered)
|
||||
&& !Game_Flag_Query(kFlagTB02SteeleTalk)
|
||||
) {
|
||||
Loop_Actor_Walk_To_Actor(kActorSteele, kActorMcCoy, 36, true, false);
|
||||
Actor_Says(kActorSteele, 2220, 14);
|
||||
Actor_Says(kActorMcCoy, 5245, 13);
|
||||
Actor_Says(kActorSteele, 2230, 12);
|
||||
Actor_Says(kActorSteele, 2240, 13);
|
||||
sub_402B50();
|
||||
dialogueWithSteele();
|
||||
//return true;
|
||||
}
|
||||
//return false;
|
||||
return;
|
||||
}
|
||||
if (chapter == 3 && !Game_Flag_Query(455)) {
|
||||
|
||||
if ( chapter == 3
|
||||
&& !Game_Flag_Query(kFlagTB02GuardTalk2)
|
||||
) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -131.28f, 0.79f, 1448.25f, 12, 1, false, 0);
|
||||
Actor_Says(kActorTyrellGuard, 260, 15);
|
||||
Actor_Says(kActorMcCoy, 5225, 16);
|
||||
Actor_Says(kActorTyrellGuard, 270, 14);
|
||||
Game_Flag_Set(455);
|
||||
Game_Flag_Set(kFlagTB02GuardTalk2);
|
||||
Actor_Modify_Friendliness_To_Other(kActorTyrellGuard, kActorMcCoy, -1);
|
||||
}
|
||||
//return false;
|
||||
@ -362,53 +382,37 @@ void SceneScriptTB02::PlayerWalkedOut() {
|
||||
void SceneScriptTB02::DialogueQueueFlushed(int a1) {
|
||||
}
|
||||
|
||||
void SceneScriptTB02::sub_402644() {
|
||||
void SceneScriptTB02::dialogueWithTyrellGuard() {
|
||||
Dialogue_Menu_Clear_List();
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(700, 4, 5, 6);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(700, 4, 5, 6); // VICTIM
|
||||
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueDragonflyEarring)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(710, 5, 5, 4);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(710, 5, 5, 4); // EARRING
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueVictimInformation) || Actor_Clue_Query(kActorMcCoy, kClueAttemptedFileAccess)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(720, 3, 5, 5);
|
||||
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueVictimInformation)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueAttemptedFileAccess)
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(720, 3, 5, 5); // TYRELL
|
||||
}
|
||||
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueAttemptedFileAccess)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(730, 3, 4, 8);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(730, 3, 4, 8); // SECURITY
|
||||
}
|
||||
Dialogue_Menu_Add_DONE_To_List(100);
|
||||
|
||||
Dialogue_Menu_Add_DONE_To_List(100); // DONE
|
||||
|
||||
Dialogue_Menu_Appear(320, 240);
|
||||
int answer = Dialogue_Menu_Query_Input();
|
||||
Dialogue_Menu_Disappear();
|
||||
|
||||
switch (answer) {
|
||||
case 100:
|
||||
case 100: // DONE
|
||||
Actor_Says(kActorMcCoy, 5145, 13);
|
||||
Actor_Says(kActorTyrellGuard, 50, 15);
|
||||
break;
|
||||
case 730:
|
||||
Actor_Says(kActorMcCoy, 5180, 16);
|
||||
Actor_Says(kActorTyrellGuard, 240, 12);
|
||||
Actor_Says(kActorMcCoy, 5215, 18);
|
||||
Actor_Says(kActorTyrellGuard, 250, 13);
|
||||
Actor_Says(kActorMcCoy, 5220, 16);
|
||||
break;
|
||||
case 720:
|
||||
Actor_Says(kActorMcCoy, 5175, 12);
|
||||
Actor_Says(kActorTyrellGuard, 210, 14);
|
||||
Actor_Says(kActorMcCoy, 5200, 13);
|
||||
Actor_Says(kActorTyrellGuard, 220, 13);
|
||||
Actor_Says(kActorMcCoy, 5205, 15);
|
||||
Actor_Says(kActorTyrellGuard, 230, 12);
|
||||
Actor_Says(kActorMcCoy, 5210, 12);
|
||||
break;
|
||||
case 710:
|
||||
Actor_Says(kActorMcCoy, 5170, 12);
|
||||
Actor_Says(kActorTyrellGuard, 180, 12);
|
||||
Actor_Says(kActorTyrellGuard, 190, 14);
|
||||
if (Game_Flag_Query(102)) {
|
||||
Actor_Says(kActorMcCoy, 5195, 13);
|
||||
Actor_Says(kActorTyrellGuard, 200, 13);
|
||||
}
|
||||
break;
|
||||
case 700:
|
||||
|
||||
case 700: // VICTIM
|
||||
Actor_Says(kActorMcCoy, 5165, 11);
|
||||
Actor_Says(kActorTyrellGuard, 100, 13);
|
||||
Actor_Says(kActorTyrellGuard, 110, 12);
|
||||
@ -419,21 +423,57 @@ void SceneScriptTB02::sub_402644() {
|
||||
Actor_Says(kActorTyrellGuard, 140, 13);
|
||||
Actor_Says(kActorTyrellGuard, 150, 14);
|
||||
Actor_Says(kActorTyrellGuard, 170, 12);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueVictimInformation, 1, kActorTyrellGuard);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueVictimInformation, true, kActorTyrellGuard);
|
||||
break;
|
||||
|
||||
case 710: // EARRING
|
||||
Actor_Says(kActorMcCoy, 5170, 12);
|
||||
Actor_Says(kActorTyrellGuard, 180, 12);
|
||||
Actor_Says(kActorTyrellGuard, 190, 14);
|
||||
if (Game_Flag_Query(kFlagTB06Visited)) {
|
||||
Actor_Says(kActorMcCoy, 5195, 13);
|
||||
Actor_Says(kActorTyrellGuard, 200, 13);
|
||||
}
|
||||
break;
|
||||
|
||||
case 720: // TYRELL
|
||||
Actor_Says(kActorMcCoy, 5175, 12);
|
||||
Actor_Says(kActorTyrellGuard, 210, 14);
|
||||
Actor_Says(kActorMcCoy, 5200, 13);
|
||||
Actor_Says(kActorTyrellGuard, 220, 13);
|
||||
Actor_Says(kActorMcCoy, 5205, 15);
|
||||
Actor_Says(kActorTyrellGuard, 230, 12);
|
||||
Actor_Says(kActorMcCoy, 5210, 12);
|
||||
break;
|
||||
|
||||
case 730: // SECURITY
|
||||
Actor_Says(kActorMcCoy, 5180, 16);
|
||||
Actor_Says(kActorTyrellGuard, 240, 12);
|
||||
Actor_Says(kActorMcCoy, 5215, 18);
|
||||
Actor_Says(kActorTyrellGuard, 250, 13);
|
||||
Actor_Says(kActorMcCoy, 5220, 16);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void SceneScriptTB02::sub_402B50() {
|
||||
void SceneScriptTB02::dialogueWithSteele() {
|
||||
Dialogue_Menu_Clear_List();
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(740, 4, 5, 6);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(750, 3, 5, 5);
|
||||
Dialogue_Menu_Add_DONE_To_List(100);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(740, 4, 5, 6); // HER CASE
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(750, 3, 5, 5); // MURDER
|
||||
Dialogue_Menu_Add_DONE_To_List(100); // DONE
|
||||
|
||||
Dialogue_Menu_Appear(320, 240);
|
||||
int answer = Dialogue_Menu_Query_Input();
|
||||
Dialogue_Menu_Disappear();
|
||||
|
||||
switch (answer) {
|
||||
case 740:
|
||||
case 100: // DONE
|
||||
Actor_Says(kActorSteele, 2350, 13);
|
||||
Actor_Modify_Friendliness_To_Other(kActorSteele, kActorMcCoy, -5);
|
||||
Game_Flag_Set(kFlagTB02SteeleTalk);
|
||||
break;
|
||||
|
||||
case 740: // HER CASE
|
||||
Actor_Says(kActorMcCoy, 5250, 15);
|
||||
if (Game_Flag_Query(kFlagSadikIsReplicant)) {
|
||||
Actor_Says(kActorSteele, 2250, 12);
|
||||
@ -443,9 +483,9 @@ void SceneScriptTB02::sub_402B50() {
|
||||
Actor_Says(kActorSteele, 2280, 13);
|
||||
Actor_Says(kActorMcCoy, 5270, 16);
|
||||
Actor_Says(kActorSteele, 2290, 14);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCrystalsCase, 1, kActorSteele);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCrystalsCase, true, kActorSteele);
|
||||
Actor_Modify_Friendliness_To_Other(kActorSteele, kActorMcCoy, 1);
|
||||
Game_Flag_Set(456);
|
||||
Game_Flag_Set(kFlagTB02SteeleTalk);
|
||||
} else {
|
||||
Actor_Says(kActorSteele, 2300, 12);
|
||||
Actor_Says(kActorSteele, 2310, 15);
|
||||
@ -453,19 +493,15 @@ void SceneScriptTB02::sub_402B50() {
|
||||
Actor_Says(kActorSteele, 2320, 12);
|
||||
Actor_Says(kActorMcCoy, 5280, 13);
|
||||
Actor_Modify_Friendliness_To_Other(kActorSteele, kActorMcCoy, 1);
|
||||
Game_Flag_Set(456);
|
||||
Game_Flag_Set(kFlagTB02SteeleTalk);
|
||||
}
|
||||
break;
|
||||
case 750:
|
||||
|
||||
case 750: // MURDER
|
||||
Actor_Says(kActorMcCoy, 5255, 11);
|
||||
Actor_Says(kActorSteele, 2330, 13);
|
||||
Actor_Says(kActorSteele, 2340, 14);
|
||||
Game_Flag_Set(456);
|
||||
break;
|
||||
case 100:
|
||||
Actor_Says(kActorSteele, 2350, 13);
|
||||
Actor_Modify_Friendliness_To_Other(kActorSteele, kActorMcCoy, -5);
|
||||
Game_Flag_Set(456);
|
||||
Game_Flag_Set(kFlagTB02SteeleTalk);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ namespace BladeRunner {
|
||||
void SceneScriptTB05::InitializeScene() {
|
||||
if (Game_Flag_Query(kFlagTB06toTB05)) {
|
||||
Setup_Scene_Information(23.0f, 151.53f, -205.0f, 450);
|
||||
Game_Flag_Set(102);
|
||||
Game_Flag_Set(kFlagTB06Visited);
|
||||
Game_Flag_Reset(kFlagTB06toTB05);
|
||||
} else {
|
||||
Setup_Scene_Information(14.0f, 151.53f, -77.0f, 6);
|
||||
@ -52,10 +52,15 @@ void SceneScriptTB05::SceneLoaded() {
|
||||
Clickable_Object("MONITOR05");
|
||||
Unclickable_Object("SMUDGE_GLASS01");
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueDragonflyEarring)) {
|
||||
Item_Add_To_World(76, 940, 72, 76.16f, 147.36f, -235.15f, 0, 6, 6, false, true, false, true);
|
||||
Item_Add_To_World(kItemDragonflyEarring, 940, 72, 76.16f, 147.36f, -235.15f, 0, 6, 6, false, true, false, true);
|
||||
}
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueTyrellSalesPamphlet1) && !Actor_Clue_Query(kActorMcCoy, kClueTyrellSalesPamphlet2) && (Game_Flag_Query(kFlagGordoIsReplicant) || Game_Flag_Query(kFlagLucyIsReplicant))) {
|
||||
Item_Add_To_World(119, 972, 72, 129.01f, 147.12f, -162.98f, 0, 8, 8, false, true, false, true);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueTyrellSalesPamphlet1)
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueTyrellSalesPamphlet2)
|
||||
&& (Game_Flag_Query(kFlagGordoIsReplicant)
|
||||
|| Game_Flag_Query(kFlagLucyIsReplicant)
|
||||
)
|
||||
) {
|
||||
Item_Add_To_World(kItemTyrellSalesPamphlet, 972, 72, 129.01f, 147.12f, -162.98f, 0, 8, 8, false, true, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -64,54 +69,69 @@ bool SceneScriptTB05::MouseClick(int x, int y) {
|
||||
}
|
||||
|
||||
bool SceneScriptTB05::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
if (Object_Query_Click("MONITOR05", objectName) && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 122.54f, 147.12f, -197.17f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 38, false);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueDNAMarcus) && !Game_Flag_Query(99)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueAttemptedFileAccess, 1, -1);
|
||||
Actor_Voice_Over(2170, kActorVoiceOver);
|
||||
Actor_Voice_Over(2180, kActorVoiceOver);
|
||||
Actor_Voice_Over(2190, kActorVoiceOver);
|
||||
Actor_Voice_Over(2200, kActorVoiceOver);
|
||||
Game_Flag_Set(99);
|
||||
return true;
|
||||
}
|
||||
if (Game_Flag_Query(99) && !Game_Flag_Query(100) && !Actor_Clue_Query(kActorMcCoy, kClueDNAMarcus)) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueDogCollar1) || Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDNAMarcus, 1, -1);
|
||||
Actor_Voice_Over(2230, kActorVoiceOver);
|
||||
Item_Pickup_Spin_Effect(941, 352, 333);
|
||||
Actor_Voice_Over(2240, kActorVoiceOver);
|
||||
Actor_Voice_Over(2250, kActorVoiceOver);
|
||||
Actor_Voice_Over(2260, kActorVoiceOver);
|
||||
Game_Flag_Set(100);
|
||||
Game_Flag_Set(101);
|
||||
} else {
|
||||
Actor_Voice_Over(2270, kActorVoiceOver);
|
||||
Game_Flag_Set(100);
|
||||
if (Object_Query_Click("MONITOR05", objectName)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 122.54f, 147.12f, -197.17f, 0, true, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 38, false);
|
||||
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueDNAMarcus)
|
||||
&& !Game_Flag_Query(kFlagTB05MonitorIntro)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueAttemptedFileAccess, true, -1);
|
||||
Actor_Voice_Over(2170, kActorVoiceOver);
|
||||
Actor_Voice_Over(2180, kActorVoiceOver);
|
||||
Actor_Voice_Over(2190, kActorVoiceOver);
|
||||
Actor_Voice_Over(2200, kActorVoiceOver);
|
||||
Game_Flag_Set(kFlagTB05MonitorIntro);
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (Game_Flag_Query(100) && !Game_Flag_Query(101)) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueDogCollar1) || Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDNAMarcus, 1, -1);
|
||||
Actor_Voice_Over(2230, kActorVoiceOver);
|
||||
Item_Pickup_Spin_Effect(941, 352, 333);
|
||||
Actor_Voice_Over(2240, kActorVoiceOver);
|
||||
Actor_Voice_Over(2250, kActorVoiceOver);
|
||||
Actor_Voice_Over(2260, kActorVoiceOver);
|
||||
Game_Flag_Set(101);
|
||||
} else {
|
||||
Actor_Voice_Over(2280, kActorVoiceOver);
|
||||
Actor_Voice_Over(2290, kActorVoiceOver);
|
||||
Game_Flag_Set(101);
|
||||
|
||||
if ( Game_Flag_Query(kFlagTB05MonitorIntro)
|
||||
&& !Game_Flag_Query(kFlagTB05MonitorUnlockAttempt)
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueDNAMarcus)
|
||||
) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueDogCollar1)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)
|
||||
) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDNAMarcus, true, -1);
|
||||
Actor_Voice_Over(2230, kActorVoiceOver);
|
||||
Item_Pickup_Spin_Effect(941, 352, 333);
|
||||
Actor_Voice_Over(2240, kActorVoiceOver);
|
||||
Actor_Voice_Over(2250, kActorVoiceOver);
|
||||
Actor_Voice_Over(2260, kActorVoiceOver);
|
||||
Game_Flag_Set(kFlagTB05MonitorUnlockAttempt);
|
||||
Game_Flag_Set(kFlagTB05MonitorDone);
|
||||
} else {
|
||||
Actor_Voice_Over(2270, kActorVoiceOver);
|
||||
Game_Flag_Set(kFlagTB05MonitorUnlockAttempt);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( Game_Flag_Query(kFlagTB05MonitorUnlockAttempt)
|
||||
&& !Game_Flag_Query(kFlagTB05MonitorDone)
|
||||
) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueDogCollar1)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)
|
||||
) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDNAMarcus, true, -1);
|
||||
Actor_Voice_Over(2230, kActorVoiceOver);
|
||||
Item_Pickup_Spin_Effect(941, 352, 333);
|
||||
Actor_Voice_Over(2240, kActorVoiceOver);
|
||||
Actor_Voice_Over(2250, kActorVoiceOver);
|
||||
Actor_Voice_Over(2260, kActorVoiceOver);
|
||||
Game_Flag_Set(kFlagTB05MonitorDone);
|
||||
} else {
|
||||
Actor_Voice_Over(2280, kActorVoiceOver);
|
||||
Actor_Voice_Over(2290, kActorVoiceOver);
|
||||
Game_Flag_Set(kFlagTB05MonitorDone);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Game_Flag_Query(kFlagTB05MonitorDone)) {
|
||||
Actor_Voice_Over(3700, kActorVoiceOver);
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (Game_Flag_Query(101)) {
|
||||
Actor_Voice_Over(3700, kActorVoiceOver);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -121,27 +141,32 @@ bool SceneScriptTB05::ClickedOnActor(int actorId) {
|
||||
}
|
||||
|
||||
bool SceneScriptTB05::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == 76 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 54.0f, 147.12f, -209.0f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 126, false);
|
||||
Item_Remove_From_World(76);
|
||||
Item_Pickup_Spin_Effect(940, 295, 408);
|
||||
Actor_Voice_Over(2140, kActorVoiceOver);
|
||||
Actor_Voice_Over(2150, kActorVoiceOver);
|
||||
Actor_Voice_Over(2160, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyEarring, 1, -1);
|
||||
return true;
|
||||
if (itemId == kItemDragonflyEarring) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 54.0f, 147.12f, -209.0f, 0, true, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 126, false);
|
||||
Item_Remove_From_World(kItemDragonflyEarring);
|
||||
Item_Pickup_Spin_Effect(940, 295, 408);
|
||||
Actor_Voice_Over(2140, kActorVoiceOver);
|
||||
Actor_Voice_Over(2150, kActorVoiceOver);
|
||||
Actor_Voice_Over(2160, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyEarring, true, -1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (itemId == 119 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, 107.89f, 147.12f, -156.26f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 126, false);
|
||||
Item_Remove_From_World(119);
|
||||
Item_Pickup_Spin_Effect(972, 449, 431);
|
||||
Actor_Voice_Over(4280, kActorVoiceOver);
|
||||
if (Game_Flag_Query(kFlagGordoIsReplicant)) {
|
||||
Actor_Voice_Over(4290, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSalesPamphlet1, 1, -1);
|
||||
} else {
|
||||
Actor_Voice_Over(4300, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSalesPamphlet2, 1, -1);
|
||||
|
||||
if (itemId == kItemTyrellSalesPamphlet) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 107.89f, 147.12f, -156.26f, 0, true, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 126, false);
|
||||
Item_Remove_From_World(kItemTyrellSalesPamphlet);
|
||||
Item_Pickup_Spin_Effect(972, 449, 431);
|
||||
Actor_Voice_Over(4280, kActorVoiceOver);
|
||||
if (Game_Flag_Query(kFlagGordoIsReplicant)) {
|
||||
Actor_Voice_Over(4290, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSalesPamphlet1, true, -1);
|
||||
} else {
|
||||
Actor_Voice_Over(4300, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueTyrellSalesPamphlet2, true, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@ -149,7 +174,7 @@ bool SceneScriptTB05::ClickedOnItem(int itemId, bool a2) {
|
||||
|
||||
bool SceneScriptTB05::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 151.53f, -205.0f, 12, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 151.53f, -205.0f, 12, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagTB05toTB06);
|
||||
Set_Enter(kSetTB06, kSceneTB06);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 2, 1);
|
||||
@ -157,7 +182,7 @@ bool SceneScriptTB05::ClickedOnExit(int exitId) {
|
||||
return true;
|
||||
}
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.0f, 147.12f, 123.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 14.0f, 147.12f, 123.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagTB05toTB02);
|
||||
Set_Enter(kSetTB02_TB03, kSceneTB02);
|
||||
}
|
||||
|
@ -30,17 +30,15 @@ void SceneScriptTB06::InitializeScene() {
|
||||
Ambient_Sounds_Add_Looping_Sound(236, 50, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(237, 50, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(285, 66, 0, 1);
|
||||
if (Game_Flag_Query(103)) {
|
||||
Scene_Loop_Set_Default(0);
|
||||
//return false;
|
||||
return;
|
||||
} else {
|
||||
if (!Game_Flag_Query(kFlagNotUsed103)) {
|
||||
Actor_Put_In_Set(kActorMarcus, kSetTB06);
|
||||
Actor_Set_At_XYZ(kActorMarcus, 135.0f, 151.0f, -671.0f, 800);
|
||||
Actor_Retired_Here(kActorMarcus, 60, 32, 1, -1);
|
||||
//return true;
|
||||
return;
|
||||
}
|
||||
Scene_Loop_Set_Default(0);
|
||||
//return false;
|
||||
}
|
||||
|
||||
void SceneScriptTB06::SceneLoaded() {
|
||||
@ -48,16 +46,21 @@ void SceneScriptTB06::SceneLoaded() {
|
||||
Unobstacle_Object("GLASS01", true);
|
||||
Clickable_Object("DOOR");
|
||||
Unclickable_Object("SMUDGE_GLASS01");
|
||||
if (!Game_Flag_Query(519) && Actor_Query_Goal_Number(kActorPhotographer) != 199) {
|
||||
Item_Add_To_World(84, 942, 73, 36.54f, 149.48f, -565.67f, 0, 6, 6, false, true, false, true);
|
||||
|
||||
if (!Game_Flag_Query(kFlagTB06DogCollarTaken)
|
||||
&& Actor_Query_Goal_Number(kActorPhotographer) != 199
|
||||
) {
|
||||
Item_Add_To_World(kItemDogCollar, 942, 73, 36.54f, 149.48f, -565.67f, 0, 6, 6, false, true, false, true);
|
||||
}
|
||||
if (!Game_Flag_Query(520)) {
|
||||
Item_Add_To_World(108, 955, 73, 18.0f, 149.65f, -599.0f, 0, 6, 6, false, true, false, true);
|
||||
|
||||
if (!Game_Flag_Query(kFlagTB06KitchenBoxTaken)) {
|
||||
Item_Add_To_World(kItemKitchenBox, 955, 73, 18.0f, 149.65f, -599.0f, 0, 6, 6, false, true, false, true);
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorPhotographer) != 199) {
|
||||
Item_Add_To_World(103, 978, 73, -46.82f, 149.6f, -666.88f, 0, 12, 12, false, true, false, true);
|
||||
Item_Add_To_World(104, 979, 73, -30.27f, 149.6f, -610.7f, 0, 15, 45, false, true, false, true);
|
||||
Item_Add_To_World(105, 980, 73, 9.87f, 149.6f, -683.5f, 0, 12, 12, false, true, false, true);
|
||||
Item_Add_To_World(kItemDeadDogA, 978, 73, -46.82f, 149.6f, -666.88f, 0, 12, 12, false, true, false, true);
|
||||
Item_Add_To_World(kItemDeadDogB, 979, 73, -30.27f, 149.6f, -610.7f, 0, 15, 45, false, true, false, true);
|
||||
Item_Add_To_World(kItemDeadDogC, 980, 73, 9.87f, 149.6f, -683.5f, 0, 12, 12, false, true, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -70,66 +73,80 @@ bool SceneScriptTB06::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
}
|
||||
|
||||
bool SceneScriptTB06::ClickedOnActor(int actorId) {
|
||||
if (actorId == 21 && !Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorMarcus, 24, 1, false)) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueDetonatorWire)) {
|
||||
if (actorId == kActorMarcus) {
|
||||
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorMarcus, 24, true, false)) {
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueDetonatorWire)) {
|
||||
Actor_Voice_Over(2300, kActorVoiceOver);
|
||||
Actor_Voice_Over(2310, kActorVoiceOver);
|
||||
Item_Pickup_Spin_Effect(974, 66, 397);
|
||||
Actor_Voice_Over(2320, kActorVoiceOver);
|
||||
if (Game_Flag_Query(kFlagSadikIsReplicant)) {
|
||||
Actor_Voice_Over(2330, kActorVoiceOver);
|
||||
Actor_Voice_Over(2340, kActorVoiceOver);
|
||||
}
|
||||
Actor_Voice_Over(2350, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDetonatorWire, true, -1);
|
||||
return true;
|
||||
}
|
||||
Actor_Says(kActorMcCoy, 8665, 13);
|
||||
return false;
|
||||
}
|
||||
Actor_Voice_Over(2300, kActorVoiceOver);
|
||||
Actor_Voice_Over(2310, kActorVoiceOver);
|
||||
Item_Pickup_Spin_Effect(974, 66, 397);
|
||||
Actor_Voice_Over(2320, kActorVoiceOver);
|
||||
if (Game_Flag_Query(kFlagSadikIsReplicant)) {
|
||||
Actor_Voice_Over(2330, kActorVoiceOver);
|
||||
Actor_Voice_Over(2340, kActorVoiceOver);
|
||||
}
|
||||
Actor_Voice_Over(2350, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDetonatorWire, 1, -1);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool SceneScriptTB06::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == 84 && !Loop_Actor_Walk_To_Item(kActorMcCoy, 84, 12, 1, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, 84, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDogCollar1, 1, -1);
|
||||
Item_Pickup_Spin_Effect(942, 341, 368);
|
||||
Item_Remove_From_World(84);
|
||||
Actor_Voice_Over(4160, kActorVoiceOver);
|
||||
Game_Flag_Set(519);
|
||||
return true;
|
||||
if (itemId == kItemDogCollar) {
|
||||
if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemDogCollar, 12, true, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemDogCollar, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDogCollar1, true, -1);
|
||||
Item_Pickup_Spin_Effect(942, 341, 368);
|
||||
Item_Remove_From_World(kItemDogCollar);
|
||||
Actor_Voice_Over(4160, kActorVoiceOver);
|
||||
Game_Flag_Set(kFlagTB06DogCollarTaken);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (itemId == 108 && !Loop_Actor_Walk_To_Item(kActorMcCoy, 108, 12, 1, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, 108, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueKingstonKitchenBox1, 1, -1);
|
||||
Item_Remove_From_World(108);
|
||||
Item_Pickup_Spin_Effect(955, 390, 368);
|
||||
Actor_Says(kActorMcCoy, 8775, 3);
|
||||
Game_Flag_Set(520);
|
||||
return true;
|
||||
if (itemId == kItemKitchenBox) {
|
||||
if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemKitchenBox, 12, true, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemKitchenBox, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueKingstonKitchenBox1, true, -1);
|
||||
Item_Remove_From_World(kItemKitchenBox);
|
||||
Item_Pickup_Spin_Effect(955, 390, 368);
|
||||
Actor_Says(kActorMcCoy, 8775, kAnimationModeTalk);
|
||||
Game_Flag_Set(kFlagTB06KitchenBoxTaken);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (itemId == 82 && !Loop_Actor_Walk_To_Item(kActorMcCoy, 82, 12, 1, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, 82, true);
|
||||
Actor_Says(kActorMcCoy, 5285, 3);
|
||||
return true;
|
||||
if (itemId == kItemChopstickWrapper) { // this item is not here, it is in RC51
|
||||
if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemChopstickWrapper, 12, true, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemChopstickWrapper, true);
|
||||
Actor_Says(kActorMcCoy, 5285, kAnimationModeTalk);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if ((itemId == 103 || itemId == 104 || itemId == 105) && !Loop_Actor_Walk_To_Item(kActorMcCoy, 103, 24, 1, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, 103, true);
|
||||
Actor_Voice_Over(2380, kActorVoiceOver);
|
||||
Actor_Voice_Over(2390, kActorVoiceOver);
|
||||
Actor_Voice_Over(2400, kActorVoiceOver);
|
||||
return true;
|
||||
|
||||
if (itemId == kItemDeadDogA
|
||||
|| itemId == kItemDeadDogB
|
||||
|| itemId == kItemDeadDogC
|
||||
) {
|
||||
if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemDeadDogA, 24, true, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemDeadDogA, true);
|
||||
Actor_Voice_Over(2380, kActorVoiceOver);
|
||||
Actor_Voice_Over(2390, kActorVoiceOver);
|
||||
Actor_Voice_Over(2400, kActorVoiceOver);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool SceneScriptTB06::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -16.0f, 149.0f, -427.0f, 12, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -16.0f, 149.0f, -427.0f, 12, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagTB06toTB05);
|
||||
Set_Enter(kSetTB05, kSceneTB05);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 2, 1);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 2, true);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -154,26 +171,28 @@ void SceneScriptTB06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
||||
}
|
||||
|
||||
void SceneScriptTB06::PlayerWalkedIn() {
|
||||
if (!Game_Flag_Query(102) && !Game_Flag_Query(483)) {
|
||||
if (!Game_Flag_Query(kFlagTB06Visited)
|
||||
&& !Game_Flag_Query(kFlagTB06Introduction)
|
||||
) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorMarcus, true);
|
||||
Actor_Says(kActorMcCoy, 5290, 3);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 149.0f, -631.0f, 0, 0, false, 0);
|
||||
Actor_Says(kActorMcCoy, 5290, kAnimationModeTalk);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 149.0f, -631.0f, 0, false, false, 0);
|
||||
AI_Movement_Track_Pause(kActorPhotographer);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorPhotographer, true);
|
||||
Actor_Face_Actor(kActorPhotographer, kActorMcCoy, true);
|
||||
Actor_Says(kActorPhotographer, 0, 3);
|
||||
Actor_Says(kActorMcCoy, 5295, 3);
|
||||
Actor_Says(kActorPhotographer, 0, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 5295, kAnimationModeTalk);
|
||||
Actor_Face_Actor(kActorPhotographer, kActorMarcus, true);
|
||||
Actor_Says(kActorPhotographer, 10, 3);
|
||||
Actor_Says(kActorPhotographer, 10, kAnimationModeTalk);
|
||||
AI_Movement_Track_Unpause(kActorPhotographer);
|
||||
Game_Flag_Set(483);
|
||||
Game_Flag_Set(kFlagTB06Introduction);
|
||||
//return true;
|
||||
return;
|
||||
}
|
||||
if (Game_Flag_Query(103)) {
|
||||
Item_Remove_From_World(84);
|
||||
Item_Remove_From_World(82);
|
||||
Item_Remove_From_World(98);
|
||||
if (Game_Flag_Query(kFlagNotUsed103)) {
|
||||
Item_Remove_From_World(kItemDogCollar);
|
||||
Item_Remove_From_World(kItemChopstickWrapper);
|
||||
Item_Remove_From_World(kItemToyDog); // why? some unused branch
|
||||
//return true;
|
||||
return;
|
||||
}
|
||||
@ -182,7 +201,7 @@ void SceneScriptTB06::PlayerWalkedIn() {
|
||||
}
|
||||
|
||||
void SceneScriptTB06::PlayerWalkedOut() {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
}
|
||||
|
||||
|
@ -69,7 +69,7 @@ bool SceneScriptTB07::ClickedOnItem(int itemId, bool a2) {
|
||||
Actor_Face_Item(kActorMcCoy, itemId, true);
|
||||
if (itemId == 83) {
|
||||
Item_Pickup_Spin_Effect(941, 331, 296);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDNATyrell, 0, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDNATyrell, false, -1);
|
||||
}
|
||||
Item_Remove_From_World(itemId);
|
||||
}
|
||||
@ -92,7 +92,7 @@ bool SceneScriptTB07::ClickedOnExit(int exitId) {
|
||||
Game_Flag_Reset(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Reset(450);
|
||||
Game_Flag_Reset(kFlagTB02ElevatorToTB05);
|
||||
switch (Spinner_Interface_Choose_Dest(-1, false)) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
@ -282,8 +282,8 @@ void SceneScriptTB07::sub_401B0C() {
|
||||
Actor_Says_With_Pause(kActorMcCoy, 5450, 1.0f, 15);
|
||||
Actor_Says(kActorMcCoy, 5455, 12);
|
||||
Actor_Says(kActorTyrell, 100, 14);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRachaelInterview, 0, kActorRachael);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueTyrellInterview, 0, kActorTyrell);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRachaelInterview, false, kActorRachael);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueTyrellInterview, false, kActorTyrell);
|
||||
Loop_Actor_Walk_To_XYZ(kActorTyrell, -260.15f, 12.0f, -19.16f, 0, 0, false, 0);
|
||||
}
|
||||
|
||||
|
@ -97,7 +97,7 @@ bool SceneScriptUG02::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
Actor_Voice_Over(2450, kActorVoiceOver);
|
||||
Actor_Voice_Over(2460, kActorVoiceOver);
|
||||
Game_Flag_Set(449);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsCache, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueWeaponsCache, true, -1);
|
||||
return true;
|
||||
}
|
||||
if (Global_Variable_Query(kVariableChapter) <= 3) {
|
||||
@ -109,7 +109,7 @@ bool SceneScriptUG02::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
Actor_Voice_Over(2480, kActorVoiceOver);
|
||||
Actor_Voice_Over(2490, kActorVoiceOver);
|
||||
Actor_Voice_Over(2500, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueIzosStashRaided, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueIzosStashRaided, true, -1);
|
||||
} else if (!Actor_Clue_Query(kActorMcCoy, kClueWeaponsCache)) {
|
||||
Actor_Voice_Over(2510, kActorVoiceOver);
|
||||
Actor_Voice_Over(2520, kActorVoiceOver);
|
||||
@ -134,7 +134,7 @@ bool SceneScriptUG02::ClickedOnActor(int actorId) {
|
||||
bool SceneScriptUG02::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == 88) {
|
||||
Actor_Face_Item(kActorMcCoy, 88, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRadiationGoggles, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRadiationGoggles, true, -1);
|
||||
Game_Flag_Set(656);
|
||||
Item_Remove_From_World(88);
|
||||
Item_Pickup_Spin_Effect(963, 426, 316);
|
||||
@ -150,7 +150,7 @@ bool SceneScriptUG02::ClickedOnExit(int exitId) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -202.0f, 120.16f, -74.0f, 0, 1, v2, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 270, false);
|
||||
Footstep_Sound_Override_On(2);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 0, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
int v3 = Player_Query_Combat_Mode();
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -96.57f, 74.87f, -271.28f, 0, 0, v3, 0);
|
||||
@ -175,7 +175,7 @@ bool SceneScriptUG02::ClickedOnExit(int exitId) {
|
||||
Loop_Actor_Travel_Ladder(kActorMcCoy, 9, 1, 0);
|
||||
Game_Flag_Set(kFlagUG02toHC03);
|
||||
Game_Flag_Reset(kFlagMcCoyAtUGxx);
|
||||
Game_Flag_Set(479);
|
||||
Game_Flag_Set(kFlagMcCoyAtHCxx);
|
||||
if (!Game_Flag_Query(403)) {
|
||||
Game_Flag_Set(388);
|
||||
Game_Flag_Set(403);
|
||||
@ -204,7 +204,7 @@ void SceneScriptUG02::PlayerWalkedIn() {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -148.0f, 84.13f, -67.0f, 0, 0, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 761, false);
|
||||
Footstep_Sound_Override_On(2);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, true, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, true, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Game_Flag_Reset(kFlagUG01toUG02);
|
||||
Game_Flag_Set(498);
|
||||
@ -237,7 +237,7 @@ bool SceneScriptUG02::sub_402354() {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -365.0f, 155.65f, -19.0f, 0, 0, v0, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 318, false);
|
||||
Footstep_Sound_Override_On(2);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 0, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Game_Flag_Set(498);
|
||||
return false;
|
||||
@ -245,7 +245,7 @@ bool SceneScriptUG02::sub_402354() {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.75f, 120.16f, 1.01f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 830, false);
|
||||
Footstep_Sound_Override_On(2);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Game_Flag_Reset(498);
|
||||
return false;
|
||||
|
@ -83,7 +83,7 @@ bool SceneScriptUG03::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
Actor_Voice_Over(2570, kActorVoiceOver);
|
||||
Actor_Voice_Over(2580, kActorVoiceOver);
|
||||
Actor_Voice_Over(2590, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueScaryChair, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueScaryChair, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -119,7 +119,7 @@ bool SceneScriptUG05::ClickedOnExit(int exitId) {
|
||||
Set_Enter(kSetHF07, kSceneHF07);
|
||||
} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -156.72f, 3.03f, -1118.17f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 760, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, kAnimationModeIdle);
|
||||
Game_Flag_Set(361);
|
||||
Set_Enter(kSetHF07, kSceneHF07);
|
||||
}
|
||||
@ -204,7 +204,7 @@ void SceneScriptUG05::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(663) && !Game_Flag_Query(368)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -288.35f, 132.77f, -1092.36f, 0, 1, false, 0);
|
||||
} else {
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 2, 0, kAnimationModeIdle);
|
||||
}
|
||||
}
|
||||
if (Game_Flag_Query(663)) {
|
||||
|
@ -102,7 +102,7 @@ bool SceneScriptUG06::ClickedOnExit(int exitId) {
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -90.0f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 0, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 17, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 17, 1, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 153.0f, -446.0f, 0, 0, false, 0);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
@ -130,7 +130,7 @@ void SceneScriptUG06::PlayerWalkedIn() {
|
||||
Game_Flag_Reset(340);
|
||||
}
|
||||
if (Game_Flag_Query(343)) {
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 17, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 17, 0, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -36.91f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(343);
|
||||
}
|
||||
|
@ -95,7 +95,7 @@ bool SceneScriptUG08::ClickedOnExit(int exitId) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -312.0f, -2.0f, 152.0f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 240, false);
|
||||
Footstep_Sound_Override_On(2);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 1, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -118.02f, 93.02f, 52.76f, 0, 0, false, 0);
|
||||
Player_Loses_Control();
|
||||
@ -128,7 +128,7 @@ void SceneScriptUG08::PlayerWalkedIn() {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -180.0f, 93.18f, 134.0f, 0, 0, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 745, false);
|
||||
Footstep_Sound_Override_On(2);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Player_Gains_Control();
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
|
||||
if ((!Game_Flag_Query(474) && x < 120.0f) || Game_Flag_Query(474)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 1.15f, -410.8f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 0, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 1, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, 81.83f, -652.0f, 0, 0, false, 0);
|
||||
Game_Flag_Set(337);
|
||||
Set_Enter(kSetUG03, kSceneUG03);
|
||||
@ -214,7 +214,7 @@ void SceneScriptUG10::PlayerWalkedIn() {
|
||||
Game_Flag_Reset(336);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 81.33f, -518.8f, 0, 0, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 506, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 9, 0, kAnimationModeIdle);
|
||||
}
|
||||
if (Game_Flag_Query(474)) {
|
||||
Unobstacle_Object("BOX01 BRIDGE", true);
|
||||
|
@ -72,8 +72,14 @@ void SceneScriptUG13::SceneLoaded() {
|
||||
Clickable_Object("BASKET");
|
||||
Clickable_Object("BOLLARD");
|
||||
Unclickable_Object("BASKET");
|
||||
if (Global_Variable_Query(kVariableChapter) >= 3 && !Actor_Clue_Query(kActorMcCoy, kClueOriginalRequisitionForm) && Game_Flag_Query(kFlagMcCoyKilledHomeless) && (Actor_Clue_Query(kActorMcCoy, kClueShippingForm) || Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm))) {
|
||||
Item_Add_To_World(111, 958, 85, -209.01f, 70.76f, -351.79f, 0, 16, 12, false, true, false, true);
|
||||
if ( Global_Variable_Query(kVariableChapter) >= 3
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueOriginalRequisitionForm)
|
||||
&& Game_Flag_Query(kFlagMcCoyKilledHomeless)
|
||||
&& (Actor_Clue_Query(kActorMcCoy, kClueShippingForm)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)
|
||||
)
|
||||
) {
|
||||
Item_Add_To_World(kItemWeaponsOrderForm, 958, 85, -209.01f, 70.76f, -351.79f, 0, 16, 12, false, true, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -103,40 +109,46 @@ bool SceneScriptUG13::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
}
|
||||
|
||||
bool SceneScriptUG13::ClickedOnActor(int actorId) {
|
||||
if (actorId == 12 && Global_Variable_Query(kVariableChapter) == 4 && !Loop_Actor_Walk_To_XYZ(kActorMcCoy, -248.0f, 44.0f, -390.0f, 12, 1, false, 0)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
|
||||
if (Actor_Query_Goal_Number(kActorTransient) != 6 && Actor_Query_Goal_Number(kActorTransient) != 599) {
|
||||
if (!Game_Flag_Query(554)) {
|
||||
sub_40223C();
|
||||
} else if (!Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview1) || !Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview2)) {
|
||||
sub_402AD4();
|
||||
} else {
|
||||
Actor_Set_Goal_Number(kActorTransient, 391);
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueFlaskOfAbsinthe)) {
|
||||
if (actorId == 12
|
||||
&& Global_Variable_Query(kVariableChapter) == 4
|
||||
) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -248.0f, 44.0f, -390.0f, 12, true, false, 0)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
|
||||
if (Actor_Query_Goal_Number(kActorTransient) != 6 && Actor_Query_Goal_Number(kActorTransient) != 599) {
|
||||
if (!Game_Flag_Query(554)) {
|
||||
sub_40223C();
|
||||
} else if (!Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview1) || !Actor_Clue_Query(kActorMcCoy, kClueHomelessManInterview2)) {
|
||||
sub_402AD4();
|
||||
} else {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
|
||||
Actor_Says(kActorMcCoy, 5600, 14);
|
||||
Actor_Says(kActorTransient, 100, 53);
|
||||
Actor_Says(kActorMcCoy, 5605, 18);
|
||||
Actor_Start_Speech_Sample(kActorTransient, 110);
|
||||
Actor_Set_Goal_Number(kActorTransient, 395);
|
||||
Actor_Set_Goal_Number(kActorTransient, 391);
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueFlaskOfAbsinthe)) {
|
||||
sub_402AD4();
|
||||
} else {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
|
||||
Actor_Says(kActorMcCoy, 5600, 14);
|
||||
Actor_Says(kActorTransient, 100, 53);
|
||||
Actor_Says(kActorMcCoy, 5605, 18);
|
||||
Actor_Start_Speech_Sample(kActorTransient, 110);
|
||||
Actor_Set_Goal_Number(kActorTransient, 395);
|
||||
}
|
||||
}
|
||||
} else if (Random_Query(0, 1) == 1) {
|
||||
Actor_Says(kActorMcCoy, 8590, 16);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 8655, 15);
|
||||
}
|
||||
} else if (Random_Query(0, 1) == 1) {
|
||||
Actor_Says(kActorMcCoy, 8590, 16);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 8655, 15);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool SceneScriptUG13::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == 111 && !Loop_Actor_Walk_To_Item(kActorMcCoy, 111, 36, 1, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, 111, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueOriginalRequisitionForm, 1, -1);
|
||||
Item_Remove_From_World(111);
|
||||
if ( itemId == kItemWeaponsOrderForm
|
||||
&& !Loop_Actor_Walk_To_Item(kActorMcCoy, kItemWeaponsOrderForm, 36, true, false)
|
||||
) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemWeaponsOrderForm, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueOriginalRequisitionForm, true, -1);
|
||||
Item_Remove_From_World(kItemWeaponsOrderForm);
|
||||
Item_Pickup_Spin_Effect(958, 426, 316);
|
||||
Actor_Voice_Over(3950, kActorVoiceOver);
|
||||
Actor_Voice_Over(3960, kActorVoiceOver);
|
||||
@ -172,7 +184,7 @@ bool SceneScriptUG13::ClickedOnExit(int exitId) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -267.0f, 44.0f, -795.0f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 830, false);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 1, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
if (!sub_402AD0()) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0f, 141.9f, -870.0f, 0, 0, false, 0);
|
||||
@ -181,7 +193,7 @@ bool SceneScriptUG13::ClickedOnExit(int exitId) {
|
||||
return true;
|
||||
}
|
||||
Actor_Face_Heading(kActorMcCoy, 325, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
@ -223,7 +235,7 @@ void SceneScriptUG13::PlayerWalkedIn() {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -389.0f, 143.0f, -844.0f, 0, 0, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 325, false);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Game_Flag_Reset(435);
|
||||
} else if (Game_Flag_Query(350)) {
|
||||
@ -277,7 +289,7 @@ void SceneScriptUG13::sub_40223C() {
|
||||
|
||||
void SceneScriptUG13::sub_4023D8() {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHomelessManInterview1, 0, kActorTransient);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHomelessManInterview1, false, kActorTransient);
|
||||
Actor_Modify_Friendliness_To_Other(kActorTransient, kActorMcCoy, -5);
|
||||
Actor_Says(kActorMcCoy, 5575, 16);
|
||||
Actor_Says(kActorTransient, 120, 31);
|
||||
@ -296,7 +308,7 @@ void SceneScriptUG13::sub_4023D8() {
|
||||
}
|
||||
|
||||
void SceneScriptUG13::sub_4025E0() {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHomelessManInterview2, 0, kActorTransient);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHomelessManInterview2, false, kActorTransient);
|
||||
Actor_Modify_Friendliness_To_Other(kActorTransient, kActorMcCoy, -10);
|
||||
Actor_Says(kActorTransient, 220, 30);
|
||||
Actor_Says(kActorMcCoy, 5640, 19);
|
||||
@ -317,7 +329,7 @@ void SceneScriptUG13::sub_402960() {
|
||||
Actor_Says(kActorTransient, 360, 33);
|
||||
Actor_Voice_Over(2710, kActorVoiceOver);
|
||||
Actor_Voice_Over(2730, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHomelessManKid, 0, kActorTransient);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueHomelessManKid, false, kActorTransient);
|
||||
}
|
||||
|
||||
int SceneScriptUG13::sub_402AD0() {
|
||||
@ -342,7 +354,7 @@ void SceneScriptUG13::sub_402AD4() {
|
||||
case 1360:
|
||||
return;
|
||||
case 1350:
|
||||
Actor_Clue_Acquire(kActorTransient, kClueFlaskOfAbsinthe, 0, kActorMcCoy);
|
||||
Actor_Clue_Acquire(kActorTransient, kClueFlaskOfAbsinthe, false, kActorMcCoy);
|
||||
Actor_Says_With_Pause(kActorMcCoy, 5595, 1.0f, 23);
|
||||
Item_Pickup_Spin_Effect(945, 193, 325);
|
||||
Actor_Says(kActorTransient, 290, 33);
|
||||
|
@ -89,7 +89,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
|
||||
}
|
||||
Actor_Face_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, true);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 0, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
}
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -278.0f, 12.97f, -152.0f, 0, 1, false, 0)) {
|
||||
@ -107,7 +107,7 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
|
||||
}
|
||||
Actor_Face_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, true);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
}
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -814.0f, 0, 1, false, 0)) {
|
||||
@ -126,12 +126,12 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
|
||||
}
|
||||
Actor_Face_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, true);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
}
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -108.01f, 0, 1, false, 0)) {
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 1, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 233.0f, 186.04f, -32.0f, 0, 0, false, 0);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
@ -165,7 +165,7 @@ void SceneScriptUG14::PlayerWalkedIn() {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 186.04f, -44.01f, 0, 0, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 10, false);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 0, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 0, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -148.01f, 0, 0, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 807, false);
|
||||
|
@ -89,7 +89,7 @@ bool SceneScriptUG16::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
Actor_Voice_Over(2750, kActorVoiceOver);
|
||||
Actor_Voice_Over(2760, kActorVoiceOver);
|
||||
Actor_Voice_Over(2770, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueFolder, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueFolder, true, -1);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 8523, 12);
|
||||
Actor_Says(kActorMcCoy, 8635, 12);
|
||||
@ -109,7 +109,7 @@ bool SceneScriptUG16::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
Actor_Says(kActorMcCoy, 5725, 14);
|
||||
Delay(1000);
|
||||
Item_Pickup_Spin_Effect(941, 418, 305);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDNALutherLance, 1, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDNALutherLance, true, -1);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -149,7 +149,7 @@ bool SceneScriptUG16::ClickedOnExit(int exitId) {
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -316.78f, -34.88f, -533.27f, 0, 1, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 0, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, kAnimationModeIdle);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(1);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(551);
|
||||
@ -289,7 +289,7 @@ void SceneScriptUG16::sub_401D78() {
|
||||
Actor_Says(kActorMcCoy, 5810, 13);
|
||||
Actor_Says(kActorLance, 220, 14);
|
||||
Actor_Says(kActorLance, 230, 17);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLutherLanceInterview, 1, kActorLuther);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLutherLanceInterview, true, kActorLuther);
|
||||
break;
|
||||
case 1430:
|
||||
Actor_Says(kActorMcCoy, 5745, 13);
|
||||
@ -358,7 +358,7 @@ void SceneScriptUG16::sub_401D78() {
|
||||
Actor_Says(kActorMcCoy, 5855, 13);
|
||||
Actor_Says(kActorLuther, 410, 14);
|
||||
Game_Flag_Set(597);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueFolder, 1, kActorLuther);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueFolder, true, kActorLuther);
|
||||
break;
|
||||
case 1480:
|
||||
Actor_Says(kActorMcCoy, 4595, 14);
|
||||
|
@ -102,7 +102,7 @@ bool SceneScriptUG18::ClickedOnItem(int itemId, bool a2) {
|
||||
Item_Pickup_Spin_Effect(987, 368, 243);
|
||||
Item_Remove_From_World(itemId);
|
||||
Game_Flag_Set(703);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBriefcase, 1, kActorGuzza);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBriefcase, true, kActorGuzza);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -364,7 +364,7 @@ DECLARE_SCRIPT(PS03)
|
||||
END_SCRIPT
|
||||
|
||||
DECLARE_SCRIPT(PS04)
|
||||
void sub_4017E4();
|
||||
void dialogueWithGuzza();
|
||||
END_SCRIPT
|
||||
|
||||
DECLARE_SCRIPT(PS05)
|
||||
@ -420,15 +420,15 @@ DECLARE_SCRIPT(RC03)
|
||||
END_SCRIPT
|
||||
|
||||
DECLARE_SCRIPT(RC04)
|
||||
void sub_401DF4();
|
||||
void dialogueWithBulletBob();
|
||||
END_SCRIPT
|
||||
|
||||
DECLARE_SCRIPT(RC51)
|
||||
END_SCRIPT
|
||||
|
||||
DECLARE_SCRIPT(TB02)
|
||||
void sub_402644();
|
||||
void sub_402B50();
|
||||
void dialogueWithTyrellGuard();
|
||||
void dialogueWithSteele();
|
||||
END_SCRIPT
|
||||
|
||||
DECLARE_SCRIPT(TB03)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user