BLADERUNNER: Fixes for game scripts & cleanup
This commit is contained in:
parent
2fd29c5193
commit
2cc09b6b10
92 changed files with 2769 additions and 1996 deletions
|
@ -442,17 +442,17 @@ enum Flags {
|
|||
kFlagNotUsed0 = 0, // is never checked
|
||||
kFlagRC02Entered = 1,
|
||||
// 2 is never used
|
||||
kFlagGotOfficersStatement = 3,
|
||||
kFlagRC02FirstLeave = 4,
|
||||
kFlagRC01GotOfficersStatement = 3,
|
||||
kFlagRC02Left = 4,
|
||||
// 5 is never used
|
||||
kFlagRunciterInterviewA = 6,
|
||||
kFlagRC02RunciterInterview = 6,
|
||||
// 7 is never used
|
||||
kFlagRC01toRC02 = 8,
|
||||
kFlagRC02toRC01 = 9,
|
||||
kFlagDR01toDR04 = 10,
|
||||
kFlagDR04toDR01 = 11,
|
||||
kFlagKleinTalkShellCasings = 12,
|
||||
kFlagKleinTalkOfficersStatement = 13,
|
||||
kFlagPS07KleinTalkShellCasings = 12,
|
||||
kFlagPS07KleinTalkOfficersStatement = 13,
|
||||
kFlagPS10toPS11 = 14,
|
||||
kFlagPS11toPS10 = 15,
|
||||
kFlagPS11toPS12 = 16,
|
||||
|
@ -471,7 +471,7 @@ enum Flags {
|
|||
kFlagCT01ZubenLeft = 29,
|
||||
kFlagNotUsed30 = 30, // is never set
|
||||
kFlagCT01ZubenGone = 31,
|
||||
kFlagCT01McCoyTalkedToGordo = 32,
|
||||
kFlagCT01GordoTalk = 32,
|
||||
kFlagMA02toMA06 = 33,
|
||||
kFlagMA06ToMA02 = 34,
|
||||
kFlagMA02ToMA04 = 35,
|
||||
|
@ -533,7 +533,7 @@ enum Flags {
|
|||
kFlagCT12toCT11 = 91,
|
||||
// 92 is never used
|
||||
// 93 is never used
|
||||
kFlagWarehouseOpen = 94,
|
||||
kFlagCT05WarehouseOpen = 94,
|
||||
kFlagTB05toTB02 = 95,
|
||||
kFlagTB02toTB05 = 96, // is never checked
|
||||
kFlagTB05toTB06 = 97, // is never checked
|
||||
|
@ -543,14 +543,14 @@ enum Flags {
|
|||
kFlagTB05MonitorDone = 101,
|
||||
kFlagTB06Visited = 102,
|
||||
kFlagNotUsed103 = 103, // is never set
|
||||
kFlagKleinTalkPaintTransfer = 104,
|
||||
kFlagKleinTalkChromeDebris = 105,
|
||||
kFlagIsabellaIntroduced = 106,
|
||||
kFlagPS07KleinTalkPaintTransfer = 104,
|
||||
kFlagPS07KleinTalkChromeDebris = 105,
|
||||
kFlagHC04IsabellaTalk = 106,
|
||||
kFlagHC04toRC03 = 107,
|
||||
kFlagRC03toHC04 = 108,
|
||||
kFlagHC04toHC02 = 109,
|
||||
kFlagHC02toHC04 = 110,
|
||||
kFlagKleinTalkClues = 111,
|
||||
kFlagPS07KleinTalkClues = 111,
|
||||
// 112 is never used
|
||||
// 113 is never used
|
||||
kFlagRC03toRC01 = 114,
|
||||
|
@ -568,7 +568,7 @@ enum Flags {
|
|||
kFlagMcCoyHasOfficersStatement = 126,
|
||||
kFlagMcCoyHasPaintTransfer = 127,
|
||||
kFlagMcCoyHasChromeDebris = 128,
|
||||
kFlagZubenCheckOnMcCoy = 129,
|
||||
kFlagCT01ZubenMcCoyCheck = 129,
|
||||
kFlagPS02toPS01 = 130,
|
||||
kFlagPS02toPS07 = 131,
|
||||
kFlagPS02toPS03 = 132,
|
||||
|
@ -576,52 +576,52 @@ enum Flags {
|
|||
kFlagPS03toPS14 = 134,
|
||||
kFlagPS14toPS03 = 135,
|
||||
kFlagPS05toPS06 = 136,
|
||||
kFlagHomelessTalkedTo = 137,
|
||||
kFlagKleinInsulted = 138,
|
||||
kFlagCT04HomelessTalk = 137,
|
||||
kFlagPS07KleinInsulted = 138,
|
||||
// 139 is never used
|
||||
// 140 is never used
|
||||
kFlagRC51Available = 141,
|
||||
kFlagNotUsed142 = 142, // is never checked
|
||||
// 143 is never used
|
||||
kFlagCT07toCT06 = 144,
|
||||
kFlagZubenPhoto = 145,
|
||||
kFlagCT06ZubenPhoto = 145,
|
||||
kFlagChapter1Ending = 146,
|
||||
kFlagChopstickWrapperTaken = 147,
|
||||
kFlagCandyTaken = 148,
|
||||
kFlagToyDogTaken = 149,
|
||||
kFlagRC51ChopstickWrapperTaken = 147,
|
||||
kFlagRC51CandyTaken = 148,
|
||||
kFlagRC51ToyDogTaken = 149,
|
||||
kFlagNotUsed150 = 150, // has no use
|
||||
kFlagRC03UnlockedToUG01 = 151,
|
||||
kFlagUG15toUG16 = 152,
|
||||
kFlagUG16toUG15 = 153,
|
||||
kFlagUG15toUG16a = 152,
|
||||
kFlagUG16toUG15a = 153,
|
||||
kFlagTB02toTB03 = 154, // is never checked
|
||||
kFlagTB03toTB02 = 155,
|
||||
kFlagKleinInsultedTalk = 156,
|
||||
kFlagPS07KleinInsultedTalk = 156,
|
||||
// 157 is never used
|
||||
kFlagSergeantWallsBuzzInDone = 158,
|
||||
kFlagGuzzaTalkZubenRetired = 159,
|
||||
kFlagGuzzaTalkZubenEscaped = 160,
|
||||
kFlagGuzzaTalk1 = 161,
|
||||
kFlagGuzzaTalk2 = 162,
|
||||
kFlagChromeDebrisTaken = 163,
|
||||
kFlagPS04GuzzaTalkZubenRetired = 159,
|
||||
kFlagPS04GuzzaTalkZubenEscaped = 160,
|
||||
kFlagPS04GuzzaTalk1 = 161,
|
||||
kFlagPS04GuzzaTalk2 = 162,
|
||||
kFlagRC01ChromeDebrisTaken = 163,
|
||||
kFlagIzoArrested = 164,
|
||||
kFlagCrazylegsArrested = 165,
|
||||
kFlagPS09CrazylegsTalk1 = 166,
|
||||
kFlagPS09IzoTalk1 = 167,
|
||||
kFlagPS09IzoTalk2 = 168,
|
||||
kFlagMcCoyKilledHomeless = 169,
|
||||
kFlagHomelessBodyInDumpster = 170,
|
||||
kFlagHomelessBodyFound = 171,
|
||||
kFlagDumpsterEmptied = 172,
|
||||
kFlagHomelessBodyInDumpsterNotChecked = 173, // is never checked
|
||||
kFlagLicensePlaceFound = 174,
|
||||
kFlagCT04HomelessKilledByMcCoy = 169,
|
||||
kFlagCT04HomelessBodyInDumpster = 170,
|
||||
kFlagCT04HomelessBodyFound = 171,
|
||||
kFlagCT04HomelessBodyThrownAway = 172,
|
||||
kFlagCT04HomelessBodyInDumpsterNotChecked = 173, // is never checked
|
||||
kFlagCT04LicensePlaceFound = 174,
|
||||
kFlagPS09CrazylegsTalk2 = 175,
|
||||
kFlagMcCoyAtCTxx = 176,
|
||||
kFlagMcCoyAtDRxx = 177,
|
||||
kFlagMcCoyAtPSxx = 178,
|
||||
kFlagMcCoyAtMAxx = 179,
|
||||
kFlagMcCoyAtARxx = 180,
|
||||
kFlagMcCoyAtNRxx = 181,
|
||||
kFlagMcCoyAtRCxx = 182,
|
||||
kFlagMcCoyInChinaTown = 176,
|
||||
kFlagMcCoyInDNARow = 177,
|
||||
kFlagMcCoyInPoliceStation = 178,
|
||||
kFlagMcCoyInMcCoyApartment = 179,
|
||||
kFlagMcCoyInAnimoidRow = 180,
|
||||
kFlagMcCoyInNightclubRow = 181,
|
||||
kFlagMcCoyInRunciters = 182,
|
||||
|
||||
|
||||
|
||||
|
@ -629,9 +629,9 @@ enum Flags {
|
|||
kFlagRC02TalkedToRunciter = 187,
|
||||
// 188 is never used
|
||||
// 189 is never used
|
||||
kFlagShellCasingsTaken = 190,
|
||||
kFlagRC02ShellCasingsTaken = 190,
|
||||
// 191 is never used
|
||||
kFlagBoughtHowieLeeFood = 192,
|
||||
kFlagCT01BoughtHowieLeeFood = 192,
|
||||
// 193 is never used
|
||||
// 194 is never used
|
||||
// 195 is never used
|
||||
|
@ -696,16 +696,16 @@ enum Flags {
|
|||
kFlagSpinnerAtBB01 = 254,
|
||||
kFlagSpinnerAtNR01 = 255,
|
||||
kFlagSpinnerAtHF01 = 256,
|
||||
kFlagMcCoyAtHFxx = 257,
|
||||
kFlagMcCoyAtBBxx = 258,
|
||||
kFlagMcCoyAtUGxx = 259,
|
||||
kFlagMcCoyInHysteriaHall = 257,
|
||||
kFlagMcCoyInBradburyBuilding = 258,
|
||||
kFlagMcCoyInUnderground = 259,
|
||||
// 260 is never used
|
||||
kFlagMcCoyAtTBxx = 261,
|
||||
kFlagMcCoyInTyrellBuilding = 261,
|
||||
kFlagBB01toBB02 = 262,
|
||||
kFlagBB02toBB01 = 263,
|
||||
kFlagBB01toDR02 = 264,
|
||||
kFlagDR02toBB01 = 265,
|
||||
kFlagMorajiExploded = 266,
|
||||
kFlagDR05JustExploded = 266,
|
||||
kFlagDR03ChewTalk1 = 267,
|
||||
kFlagDR06JesterActive = 268,
|
||||
kFlagDR05BombActivated = 269,
|
||||
|
@ -733,7 +733,7 @@ enum Flags {
|
|||
// 291 is never used
|
||||
kFlagRC04BobTalk2 = 292,
|
||||
kFlagCT02PotTipped = 293,
|
||||
kFlagGaffSpinnerCT12 = 294,
|
||||
kFlagCT12GaffSpinner = 294,
|
||||
kFlagRC04BobShootMcCoy = 295,
|
||||
kFlagRC04McCoyCombatMode = 296,
|
||||
kFlagBB05toBB06 = 297,
|
||||
|
@ -764,17 +764,54 @@ enum Flags {
|
|||
kFlagAR01toHC01 = 322,
|
||||
kFlagHC01toAR01 = 323,
|
||||
kFlagUG01SteamOff = 324,
|
||||
|
||||
kFlagFishDealerTalk = 328,
|
||||
kFlagInsectDealerInterviewed = 329,
|
||||
kFlagHassanTalk = 330,
|
||||
kFlagScorpionsChecked = 331,
|
||||
|
||||
kFlagInsectDealerTalk = 366,
|
||||
kFlagStungByScorpion = 367,
|
||||
kFlagCT04BodyDumped = 325,
|
||||
kFlagBB01Available = 326,
|
||||
// 327 is never used
|
||||
kFlagAR01FishDealerTalk = 328,
|
||||
kFlagAR02InsectDealerInterviewed = 329,
|
||||
kFlagAR02HassanTalk = 330,
|
||||
kFlagAR02ScorpionsChecked = 331,
|
||||
kFlagBB02toBB04 = 332,
|
||||
kFlagBB04toBB02 = 333,
|
||||
kFlagUG03toUG04 = 334, // is never checked
|
||||
kFlagUG04toUG03 = 335,
|
||||
kFlagUG03toUG10 = 336,
|
||||
kFlagUG10toUG03 = 337,
|
||||
kFlagUG04toUG05 = 338, // is never checked
|
||||
kFlagUG05toUG04 = 339,
|
||||
kFlagUG04toUG06 = 340,
|
||||
kFlagUG06toUG04 = 341,
|
||||
kFlagUG06toNR01 = 342,
|
||||
kFlagNR01toUG06 = 343,
|
||||
kFlagUG12toUG14 = 344,
|
||||
kFlagUG14toUG12 = 345, // is never checked
|
||||
kFlagUG14toUG10 = 346,
|
||||
kFlagUG10toUG14 = 347, // is never checked
|
||||
kFlagUG14toUG19 = 348,
|
||||
kFlagUG19toUG14 = 349,
|
||||
kFlagUG15toUG13 = 350,
|
||||
kFlagUG13toUG15 = 351,
|
||||
kFlagUG15toUG17 = 352,
|
||||
kFlagUG17toUG15 = 353,
|
||||
kFlagUG15toUG16b = 354, // is never checked
|
||||
kFlagUG16toUG15b = 355,
|
||||
kFlagUG19toMA07 = 356,
|
||||
kFlagMA07toUG19 = 357,
|
||||
kFlagHF07toHF05 = 358,
|
||||
kFlagHF05toHF07 = 359,
|
||||
kFlagHF07toUG06 = 360,
|
||||
kFlagUG06toHF07 = 361,
|
||||
kFlagBB07toBB06 = 362,
|
||||
kFlagBB06toBB07 = 363,
|
||||
kFlagBB07toBB12 = 364,
|
||||
kFlagBB12toBB07 = 365,
|
||||
kFlagAR02InsectDealerTalk = 366,
|
||||
kFlagAR02StungByScorpion = 367,
|
||||
|
||||
kFlagNotUsed370 = 370, // is never checked
|
||||
|
||||
kFlagAR02DektoraBoughtScorpions = 374,
|
||||
|
||||
kFlagDirectorsCut = 378,
|
||||
|
||||
kFlagHC01toHC02 = 384,
|
||||
|
@ -785,17 +822,20 @@ enum Flags {
|
|||
// 389 is never used
|
||||
// 390 is never used
|
||||
|
||||
KFlagMcCoyAndOfficerLearyTalking = 392,
|
||||
kFlagRC01McCoyAndOfficerLearyTalking = 392,
|
||||
kFlagBB06toBB51 = 393, // is never checked
|
||||
kFlagBB51toBB06a = 394,
|
||||
kFlagBB51toBB06b = 395,
|
||||
|
||||
KFlagMcCoyAndOfficerLearyArtMetaphor = 397,
|
||||
kFlagRC01McCoyAndOfficerLearyArtMetaphor = 397,
|
||||
|
||||
kFlagIzoTalk1 = 400,
|
||||
kFlagIzoTalk2 = 401,
|
||||
kFlagHC01IzoTalk1 = 400,
|
||||
kFlagHC01IzoTalk2 = 401,
|
||||
kFlagHC03Available = 402,
|
||||
kFlagHC03CageOpen = 403,
|
||||
kFlagHawkersBarkeepIntroduction = 404,
|
||||
kFlagHawkersBarkeepBraceletTalk = 405,
|
||||
|
||||
kFlagHC02HawkersBarkeepIntroduction = 404,
|
||||
kFlagHC02HawkersBarkeepBraceletTalk = 405,
|
||||
kFlagUnused406 = 406, // is never checked
|
||||
kFlagUnused407 = 407, // is never checked
|
||||
|
||||
kFlagUG09toCT12 = 432,
|
||||
|
@ -816,34 +856,50 @@ enum Flags {
|
|||
kFlagMcCoyArrested = 465,
|
||||
kFlagUG10GateOpen = 474,
|
||||
kFlagMcCoyAtPS03 = 478, // has no use
|
||||
kFlagMcCoyAtHCxx = 479,
|
||||
kFlagMcCoyInHawkersCircle = 479,
|
||||
kFlagTB06Introduction = 483,
|
||||
kFlagPhotographerToTB06 = 485,
|
||||
kFlagTB06Photographer = 485,
|
||||
kFlagDNARowAvailable = 486,
|
||||
kFlagKIAPrivacyAddon = 487,
|
||||
kFlagDektoraChapter2Started = 489,
|
||||
kFlagCT04HomelessTrashFinish = 492,
|
||||
kFlagBB02ElevatorDown = 493,
|
||||
kFlagBB02Entered = 494,
|
||||
kFlagUG02FromUG01 = 498,
|
||||
kFlagUG02Interactive = 499,
|
||||
|
||||
kFlagAR02DektoraWillBuyScorpions = 504,
|
||||
kFlagDR03ChewTalkExplosion = 505,
|
||||
kFlagDR05ExplodedEntered = 511,
|
||||
kFlagDR05BombExplosionView = 515,
|
||||
kFlagDR05ViewExplosion = 515,
|
||||
kFlagCT07ZubenAttack = 516,
|
||||
kFlagTB06DogCollarTaken = 519,
|
||||
kFlagTB06KitchenBoxTaken = 520,
|
||||
kFlagCT11toDR01 = 531,
|
||||
kFlagGordoTalk1 = 543,
|
||||
kFlagGordoTalk2 = 544,
|
||||
kFlagDR06MannequinHeadOpen = 548,
|
||||
kFlagDR01toCT11 = 558,
|
||||
kFlagKIAPrivacyAddonIntro = 599,
|
||||
kFlagTB07toTB02 = 608,
|
||||
kFlagMcCoySleeping = 647,
|
||||
kFlagPhoneMessageFromClovis = 649,
|
||||
kFlagPhoneMessageFromLucy = 650,
|
||||
kFlagRagiationGooglesTaken = 656,
|
||||
kFlagTB07RachaelTalk = 612,
|
||||
kFlagMA04McCoySleeping = 647,
|
||||
kFlagMA04PhoneMessageFromClovis = 649,
|
||||
kFlagMA04PhoneMessageFromLucy = 650,
|
||||
kFlagUG02RagiationGooglesTaken = 656,
|
||||
|
||||
kFlagDNARowAvailableTalk = 660,
|
||||
kFlagTB07ShadeDown = 661, // is never set
|
||||
kFlagMA07toPS14 = 672,
|
||||
kFlagPS14toMA07 = 673,
|
||||
kFlagChapter2Intro = 678,
|
||||
|
||||
kFlagPS05TV0 = 688,
|
||||
kFlagPS05TV1 = 689,
|
||||
kFlagPS05TV2 = 690,
|
||||
kFlagPS05TV3 = 691,
|
||||
kFlagPS05TV4 = 692,
|
||||
kFlagUG03DeadHomeless = 693,
|
||||
kFlagUG14DeadHomeless = 694,
|
||||
kFlagRC04Locked = 702,
|
||||
kFlagTB06PhotographTalk1 = 707,
|
||||
kFlagUG02AmmoTaken = 708,
|
||||
|
@ -851,6 +907,7 @@ enum Flags {
|
|||
kFlagAR01Entered = 710,
|
||||
kFlagMA04WatchedTV = 711,
|
||||
kFlagMcCoyShotAtZuben = 712,
|
||||
kFlagDR04McCoyShotMoraji = 713,
|
||||
kFlagRC04BobTalk3 = 717,
|
||||
kFlagCT02McCoyFell = 719,
|
||||
kFlagCT02McCoyCombatReady = 720,
|
||||
|
@ -875,6 +932,7 @@ enum Variables {
|
|||
kVariableGenericWalkerCModel = 34,
|
||||
kVariableWalkLoopActor = 37,
|
||||
kVariableWalkLoopRun = 38,
|
||||
kVariableDR06MannequinHeadOpened = 39,
|
||||
kVariableMcCoyDrinks = 42, // is never checked
|
||||
kVariableAffectionTowards = 45, // 0 none, 1 steele, 2 dektora, 3 lucy
|
||||
kVariableDNAEvidences = 48,
|
||||
|
@ -937,6 +995,7 @@ enum AnimationModes {
|
|||
kAnimationModeCombatAttack = 6,
|
||||
kAnimationModeCombatWalk = 7,
|
||||
kAnimationModeCombatRun = 8,
|
||||
// 12 - 17 various talk modes
|
||||
kAnimationModeHit = 21,
|
||||
kAnimationModeCombatHit = 22,
|
||||
kAnimationModeSpinnerGetIn = 41,
|
||||
|
@ -965,37 +1024,37 @@ enum SceneLoopMode {
|
|||
};
|
||||
|
||||
enum Scenes {
|
||||
kSceneAR01 = 0,
|
||||
kSceneAR02 = 1,
|
||||
kSceneBB01 = 2,
|
||||
kSceneBB02 = 3,
|
||||
kSceneBB03 = 4,
|
||||
kSceneBB04 = 5,
|
||||
kSceneBB05 = 6,
|
||||
kSceneBB06 = 7,
|
||||
kSceneAR01 = 0, // Animoid Row - Fish dealer
|
||||
kSceneAR02 = 1, // Animoid Row - Insect dealer
|
||||
kSceneBB01 = 2, // Bradbury building - Outside
|
||||
kSceneBB02 = 3, // Bradbury building - elevator down
|
||||
kSceneBB03 = 4, // Bradbury building - Entrance
|
||||
kSceneBB04 = 5, // Bradbury building - elevator up
|
||||
kSceneBB05 = 6, // Bradbury building - Entry hall
|
||||
kSceneBB06 = 7, // Bradbury building - Billiard room - front
|
||||
kSceneBB07 = 8,
|
||||
kSceneBB08 = 9,
|
||||
kSceneBB09 = 10,
|
||||
kSceneBB10 = 11,
|
||||
kSceneBB11 = 12,
|
||||
kSceneBB08 = 9, // Bradbury building - Bathroom
|
||||
kSceneBB09 = 10, // Bradbury building - Above bathroom
|
||||
kSceneBB10 = 11, // Bradbury building - Cupboard
|
||||
kSceneBB11 = 12, // Bradbury building - Roof
|
||||
kSceneCT01 = 13, // Chinatown - Howie Lee Restaurant
|
||||
kSceneCT02 = 14, // Chinatown - Kitchen
|
||||
kSceneCT03 = 15, // Chinatown - Back alley
|
||||
kSceneCT02 = 14, // Chinatown - Restaurant - Kitchen
|
||||
kSceneCT03 = 15, // Chinatown - Back alley - Restaurant
|
||||
kSceneCT04 = 16, // Chinatown - Back alley - Dumpster
|
||||
kSceneCT05 = 17, // Chinatown - Warehouse - Inside
|
||||
kSceneCT06 = 18, // Chinatown - Passage
|
||||
kSceneCT06 = 18, // Chinatown - Passage from front
|
||||
kSceneCT07 = 19, // Chinatown - Passage form back
|
||||
kSceneCT08 = 20, // Chinatown - Yukon Hotel - Backroom
|
||||
kSceneCT09 = 21, // Chinatown - Yukon Hotel - Lobby
|
||||
kSceneCT10 = 22, // Chinatown - Yukon Hotel - Room
|
||||
kSceneCT11 = 23, // Chinatown - Yukon Hotel - Outside
|
||||
kSceneCT12 = 24, // Chinatown - Warehouse - Outside
|
||||
kSceneDR01 = 25,
|
||||
kSceneDR02 = 26,
|
||||
kSceneDR03 = 27,
|
||||
kSceneDR04 = 28,
|
||||
kSceneDR05 = 29,
|
||||
kSceneDR06 = 30,
|
||||
kSceneDR01 = 25, // DNA Row - Street
|
||||
kSceneDR02 = 26, // DNA Row - Eye world - Outside
|
||||
kSceneDR03 = 27, // DNA Row - Eye world - Inside
|
||||
kSceneDR04 = 28, // DNA Row - Dermo design - Outside
|
||||
kSceneDR05 = 29, // DNA Row - Dermo design - Inside
|
||||
kSceneDR06 = 30, // DNA Row - Twin's office
|
||||
kSceneHC01 = 31, // Hawker's circle - Green pawn - Outside
|
||||
kSceneHC02 = 32, // Hawker's circle - China bar
|
||||
kSceneHC03 = 33, // Hawker's circle - Green pawn - Inside
|
||||
|
@ -1012,7 +1071,7 @@ enum Scenes {
|
|||
kSceneKP04 = 44,
|
||||
kSceneKP05 = 45,
|
||||
kSceneKP06 = 46,
|
||||
kSceneKP07 = 47, // Kipple - Moonbus inside
|
||||
kSceneKP07 = 47, // Kipple - Moonbus - Inside
|
||||
kSceneMA01 = 48, // McCoy's Apartment - Roof
|
||||
kSceneMA02 = 49, // McCoy's Apartment - Living room
|
||||
kSceneMA04 = 50, // McCoy's Apartment - Sleeping room
|
||||
|
@ -1038,19 +1097,19 @@ enum Scenes {
|
|||
kScenePS06 = 70,
|
||||
kScenePS07 = 71,
|
||||
kScenePS09 = 72, // Police Station - Lockup
|
||||
kScenePS10 = 73,
|
||||
kScenePS11 = 74,
|
||||
kScenePS12 = 75,
|
||||
kScenePS13 = 76,
|
||||
kScenePS14 = 77,
|
||||
kScenePS10 = 73, // Police Station - Shooting range 1
|
||||
kScenePS11 = 74, // Police Station - Shooting range 2
|
||||
kScenePS12 = 75, // Police Station - Shooting range 3
|
||||
kScenePS13 = 76, // Police Station - Shooting range 4
|
||||
kScenePS14 = 77, // Police Station - Outside
|
||||
kSceneRC01 = 78, // Runciter - Outside
|
||||
kSceneRC02 = 79, // Runciter - Inside
|
||||
kSceneRC03 = 80, // Bullet Bob - outside
|
||||
kSceneRC04 = 81, // Bullet Bob - inside
|
||||
kSceneTB02 = 82, // Tyrell Building - reception
|
||||
kSceneRC03 = 80, // Bullet Bob - Outside
|
||||
kSceneRC04 = 81, // Bullet Bob - Inside
|
||||
kSceneTB02 = 82, // Tyrell Building - Reception
|
||||
kSceneTB03 = 83,
|
||||
kSceneTB05 = 84, // Tyrell Building - Grav Test Lab - outside
|
||||
kSceneTB06 = 85, // Tyrell Building - Grav Test Lab - inside
|
||||
kSceneTB05 = 84, // Tyrell Building - Grav Test Lab - Iutside
|
||||
kSceneTB06 = 85, // Tyrell Building - Grav Test Lab - Inside
|
||||
kSceneUG01 = 86, // Underground - Under Bullet Bob entrance
|
||||
kSceneUG02 = 87, // Underground - Under Green pawn
|
||||
kSceneUG03 = 88,
|
||||
|
@ -1060,7 +1119,7 @@ enum Scenes {
|
|||
kSceneUG07 = 92,
|
||||
kSceneUG08 = 93,
|
||||
kSceneUG09 = 94,
|
||||
kSceneUG10 = 95,
|
||||
kSceneUG10 = 95, // Undergound - Bridge
|
||||
kSceneUG12 = 96,
|
||||
kSceneUG13 = 97,
|
||||
kSceneUG14 = 98,
|
||||
|
@ -1069,7 +1128,7 @@ enum Scenes {
|
|||
kSceneUG17 = 101,
|
||||
kSceneUG18 = 102,
|
||||
kSceneUG19 = 103,
|
||||
kSceneBB51 = 104,
|
||||
kSceneBB51 = 104, // Bradbury building - Billiard room - Back
|
||||
kSceneCT51 = 105,
|
||||
kSceneHC04 = 106, // Hawker's circle - Kingston kitchen
|
||||
kSceneRC51 = 107, // Runciter - Lucy's desk
|
||||
|
@ -1264,6 +1323,7 @@ enum GameItems {
|
|||
// 75 is never used
|
||||
// 76 is never used
|
||||
kItemDragonflyEarring = 76,
|
||||
kItemBomb = 78,
|
||||
kItemCandy = 79,
|
||||
kItemChopstickWrapper = 82,
|
||||
kItemDogCollar = 84,
|
||||
|
@ -1281,7 +1341,8 @@ enum GameItems {
|
|||
kItemWeaponsCrate = 110,
|
||||
kItemWeaponsOrderForm = 111,
|
||||
kItemTyrellSalesPamphlet = 119,
|
||||
kItemHC03Lock = 121
|
||||
kItemGreenPawnLock = 121,
|
||||
kItemChain = 122
|
||||
};
|
||||
|
||||
enum Elevators {
|
||||
|
@ -1361,6 +1422,16 @@ enum AffectionTowards {
|
|||
kAffectionTowardsLucy = 3
|
||||
};
|
||||
|
||||
/*
|
||||
* Common goals:
|
||||
* 0 - 99 - first chapter
|
||||
* 100 - 199 - second chapter
|
||||
* 200 - 299 - third chapter
|
||||
* 300 - 399 - fourth chapter
|
||||
* 400 - 499 - fifth chapter
|
||||
* 599 - dead / gone
|
||||
*/
|
||||
|
||||
enum GoalMcCoy {
|
||||
kGoalMcCoyDefault = 0,
|
||||
kGoalMcCoyDodge = 1
|
||||
|
@ -1380,6 +1451,34 @@ enum GoalSteele {
|
|||
kGoalSteeleWalkAroundRestart = 190
|
||||
};
|
||||
|
||||
enum GoalDektora {
|
||||
kGoalDektoraDefault = 0,
|
||||
kGoalDektoraStartWalkingAround = 100,
|
||||
kGoalDektoraWalkAroundAsReplicant = 101,
|
||||
kGoalDektoraWalkAroundAsHuman = 102,
|
||||
kGoalDektoraStopWalkingAround = 103
|
||||
};
|
||||
|
||||
enum GoalGordo {
|
||||
// chapter 1
|
||||
kGoalGordoDefault = 0,
|
||||
kGoalGordoLeaveCT01 = 1,
|
||||
kGoalGordoLeftCT01 = 2,
|
||||
kGoalGordoWalkThroughCT05 = 3,
|
||||
kGoalGordoLeaveCT05 = 4,
|
||||
kGoalGordoLeftCT05 = 5,
|
||||
kGoalGordoGetUpCT01 = 90,
|
||||
kGoalGordoWalkOutFromCT01 = 91,
|
||||
kGoalGordoBidFarewellToHowieLee = 92,
|
||||
kGoalGordoWalkToHowieLee = 93,
|
||||
// chapter 2
|
||||
kGoalGordoWalkAround = 100,
|
||||
kGoalGordoGoToDNARow = 101,
|
||||
kGoalGordoGoToChinaTown = 102,
|
||||
kGoalGordoGoToFreeSlotHAGJ = 103,
|
||||
kGoalGordoGoToFreeSlotAH = 104
|
||||
};
|
||||
|
||||
enum GoalGuzza {
|
||||
kGoalGuzzaLeaveOffice = 100,
|
||||
kGoalGuzzaGoToHawkersCircle = 101,
|
||||
|
@ -1423,18 +1522,18 @@ enum GoalBulletBob {
|
|||
|
||||
enum GoalRunciter {
|
||||
kGoalRunciterDefault = 0,
|
||||
kGoalRunciterWalkAround = 1,
|
||||
kGoalRunciterHide = 2,
|
||||
kGoalRunciterWalkAroundRC02 = 1,
|
||||
kGoalRunciterGoToFreeSlotGH = 2,
|
||||
kGoalRunciterAtShop = 300,
|
||||
kGoalRunciterDead = 599
|
||||
};
|
||||
|
||||
enum GoalZuben {
|
||||
kGoalZubenDefault = 0,
|
||||
kGoalZubenCT01Leave = 1,
|
||||
kGoalZubenCT02Flee = 2,
|
||||
kGoalZubenCT01WalkToCT02 = 1,
|
||||
kGoalZubenCT02RunToFreeSlotG = 2,
|
||||
kGoalZubenCT07Spared = 4,
|
||||
kGoalZubenCT07Leave = 5,
|
||||
kGoalZubenCT07RunToFreeSlotA = 5,
|
||||
kGoalZubenDie = 6,
|
||||
kGoalZubenSpared = 7,
|
||||
kGoalZubenCT02PushPot = 8,
|
||||
|
@ -1442,7 +1541,7 @@ enum GoalZuben {
|
|||
kGoalZubenCT02OpenDoor = 10,
|
||||
kGoalZubenCT06JumpDown = 11,
|
||||
kGoalZubenCT06AttackMcCoy = 12,
|
||||
kGoalZubenCT06Hide = 13,
|
||||
kGoalZubenCT06HideAtFreeSlotA = 13,
|
||||
kGoalZubenCT02PotDodgeCheck = 14,
|
||||
kGoalZubenFled = 20,
|
||||
kGoalZubenMA01AttackMcCoy = 21,
|
||||
|
@ -1455,6 +1554,21 @@ enum GoalOfficerLeary {
|
|||
kGoalOfficerLearyRC01CrowdInterrogation = 2
|
||||
};
|
||||
|
||||
enum GoalMoraji {
|
||||
kGoalMorajiDefault = 0,
|
||||
kGoalMorajiShot = 5,
|
||||
kGoalMorajiFreed = 10,
|
||||
kGoalMorajiRunOut = 11,
|
||||
kGoalMorajiGetUp = 18,
|
||||
kGoalMorajiScream = 19,
|
||||
kGoalMorajiJump = 20,
|
||||
kGoalMorajiLayDown = 21,
|
||||
kGoalMorajiDie = 22,
|
||||
kGoalMorajiDead = 23,
|
||||
kGoalMorajiChooseFate = 30,
|
||||
kGoalMorajiPerished = 99
|
||||
};
|
||||
|
||||
} // End of namespace BladeRunner
|
||||
|
||||
#endif
|
||||
|
|
|
@ -282,7 +282,7 @@ bool AIScriptClovis::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
Actor_Set_Goal_Number(kActorSadik, 200);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueAct2Ended, true, -1);
|
||||
Player_Gains_Control();
|
||||
Chapter_Enter(3, 6, 20);
|
||||
Chapter_Enter(3, kSetCT08_CT51_UG12, kSceneCT08);
|
||||
Game_Flag_Set(550);
|
||||
Game_Flag_Set(679);
|
||||
return true;
|
||||
|
|
|
@ -38,34 +38,46 @@ void AIScriptDektora::Initialize() {
|
|||
_flag = false;
|
||||
_x = _y = _z = 0.0f;
|
||||
|
||||
Actor_Set_Goal_Number(kActorDektora, 0);
|
||||
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraDefault);
|
||||
}
|
||||
|
||||
bool AIScriptDektora::Update() {
|
||||
int chapter = Global_Variable_Query(kVariableChapter) - 2;
|
||||
int chapter = Global_Variable_Query(kVariableChapter);
|
||||
|
||||
if (chapter > 2)
|
||||
if (chapter == 2) {
|
||||
if (!Game_Flag_Query(kFlagDektoraChapter2Started)) {
|
||||
Game_Flag_Set(kFlagDektoraChapter2Started);
|
||||
Actor_Put_In_Set(kActorDektora, kSetFreeSlotG);
|
||||
Actor_Set_At_Waypoint(kActorDektora, 39, 0);
|
||||
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
|
||||
} else {
|
||||
if ( Game_Flag_Query(kFlagAR02DektoraWillBuyScorpions)
|
||||
&& !Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)
|
||||
&& Player_Query_Current_Scene() != kSceneAR01
|
||||
&& Player_Query_Current_Scene() != kSceneAR02
|
||||
) {
|
||||
if (Game_Flag_Query(kFlagAR02Entered)) {
|
||||
Item_Remove_From_World(kItemScrorpions);
|
||||
}
|
||||
Game_Flag_Set(kFlagAR02DektoraBoughtScorpions);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (chapter) {
|
||||
if (chapter == 1) {
|
||||
if (chapter == 3) {
|
||||
if (Actor_Query_Goal_Number(kActorDektora) < 199) {
|
||||
Actor_Set_Goal_Number(kActorDektora, 199);
|
||||
} else {
|
||||
switch (Actor_Query_Goal_Number(kActorDektora)) {
|
||||
case 269:
|
||||
Actor_Set_Goal_Number(kActorDektora, 270);
|
||||
return 1;
|
||||
|
||||
case 270:
|
||||
case 272:
|
||||
case 274:
|
||||
return 1;
|
||||
break;
|
||||
|
||||
case 271:
|
||||
if (Actor_Query_Inch_Distance_From_Actor(kActorDektora, kActorMcCoy) <= 48) {
|
||||
Actor_Set_Goal_Number(kActorDektora, 279);
|
||||
return 1;
|
||||
break;
|
||||
}
|
||||
|
||||
if (comp_distance(kActorMcCoy, _x, _y, _z) > 12.0f) {
|
||||
|
@ -76,41 +88,28 @@ bool AIScriptDektora::Update() {
|
|||
|
||||
case 273:
|
||||
Actor_Set_Goal_Number(kActorDektora, 274);
|
||||
return 1;
|
||||
break;
|
||||
|
||||
case 275:
|
||||
Actor_Set_Goal_Number(kActorDektora, 276);
|
||||
return 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if (Actor_Query_Goal_Number(kActorDektora) < 300) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (chapter == 4) {
|
||||
if (Actor_Query_Goal_Number(kActorDektora) < 300) {
|
||||
Actor_Set_Goal_Number(kActorDektora, 300);
|
||||
}
|
||||
} else if (Game_Flag_Query(489)) {
|
||||
if ( Game_Flag_Query(504) == 1
|
||||
&& !Game_Flag_Query(374)
|
||||
&& Player_Query_Current_Scene()
|
||||
&& Player_Query_Current_Scene() != 1
|
||||
) {
|
||||
if (Game_Flag_Query(kFlagAR02Entered)) {
|
||||
Item_Remove_From_World(kItemScrorpions);
|
||||
}
|
||||
Game_Flag_Set(374);
|
||||
}
|
||||
} else {
|
||||
Game_Flag_Set(489);
|
||||
Actor_Put_In_Set(kActorDektora, kSetFreeSlotG);
|
||||
Actor_Set_At_Waypoint(kActorDektora, 39, 0);
|
||||
Actor_Set_Goal_Number(kActorDektora, 100);
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void AIScriptDektora::TimerExpired(int timer) {
|
||||
if (timer)
|
||||
return; //false;
|
||||
|
||||
if (timer == 0) {
|
||||
if (Actor_Query_Goal_Number(kActorDektora) == 210) {
|
||||
if (Player_Query_Current_Scene() == 61) {
|
||||
AI_Countdown_Timer_Reset(kActorDektora, 0);
|
||||
|
@ -127,40 +126,42 @@ void AIScriptDektora::TimerExpired(int timer) {
|
|||
Actor_Set_Goal_Number(kActorDektora, 271);
|
||||
return; //true;
|
||||
}
|
||||
}
|
||||
|
||||
return; //false;
|
||||
}
|
||||
|
||||
void AIScriptDektora::CompletedMovementTrack() {
|
||||
switch (Actor_Query_Goal_Number(kActorDektora)) {
|
||||
case 100:
|
||||
if (Game_Flag_Query(47) == 1) {
|
||||
Actor_Set_Goal_Number(kActorDektora, 101);
|
||||
case kGoalDektoraStartWalkingAround:
|
||||
if (Game_Flag_Query(kFlagDektoraIsReplicant)) {
|
||||
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraWalkAroundAsReplicant);
|
||||
} else {
|
||||
Actor_Set_Goal_Number(kActorDektora, 102);
|
||||
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraWalkAroundAsHuman);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case 101:
|
||||
case kGoalDektoraWalkAroundAsReplicant:
|
||||
if (Random_Query(1, 7) == 1
|
||||
&& Actor_Query_Goal_Number(kActorEarlyQ) != 1
|
||||
&& Actor_Query_Goal_Number(kActorEarlyQ) != 101) {
|
||||
Game_Flag_Set(504);
|
||||
Actor_Set_Goal_Number(kActorDektora, 100);
|
||||
&& Actor_Query_Goal_Number(kActorEarlyQ) != 101
|
||||
) {
|
||||
Game_Flag_Set(kFlagAR02DektoraWillBuyScorpions);
|
||||
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
|
||||
} else {
|
||||
Actor_Set_Goal_Number(kActorDektora, 100);
|
||||
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
|
||||
}
|
||||
break;
|
||||
|
||||
case 102:
|
||||
case kGoalDektoraWalkAroundAsHuman:
|
||||
if (Random_Query(1, 5) == 1
|
||||
&& Actor_Query_Goal_Number(kActorEarlyQ) != 1
|
||||
&& Actor_Query_Goal_Number(kActorEarlyQ) != 101) {
|
||||
Game_Flag_Set(504);
|
||||
Actor_Set_Goal_Number(kActorDektora, 100);
|
||||
&& Actor_Query_Goal_Number(kActorEarlyQ) != 101
|
||||
) {
|
||||
Game_Flag_Set(kFlagAR02DektoraWillBuyScorpions);
|
||||
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
|
||||
} else {
|
||||
Actor_Set_Goal_Number(kActorDektora, 100);
|
||||
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -191,14 +192,14 @@ void AIScriptDektora::ReceivedClue(int clueId, int fromActorId) {
|
|||
|
||||
void AIScriptDektora::ClickedByPlayer() {
|
||||
if (Actor_Query_Goal_Number(kActorDektora) == 599) {
|
||||
Actor_Face_Actor(0, kActorDektora, 1);
|
||||
Actor_Face_Actor(0, kActorDektora, true);
|
||||
Actor_Says(kActorMcCoy, 8630, 12);
|
||||
|
||||
return; //true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorDektora) < 199) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorDektora, 1);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorDektora, true);
|
||||
Actor_Says(kActorMcCoy, 8590, 13);
|
||||
}
|
||||
|
||||
|
@ -220,7 +221,9 @@ void AIScriptDektora::EnteredScene(int sceneId) {
|
|||
}
|
||||
|
||||
void AIScriptDektora::OtherAgentEnteredThisScene(int otherActorId) {
|
||||
if (!otherActorId && Actor_Query_Goal_Number(kActorDektora) == 246) {
|
||||
if (otherActorId == kActorMcCoy
|
||||
&& Actor_Query_Goal_Number(kActorDektora) == 246
|
||||
) {
|
||||
Scene_Exits_Disable();
|
||||
Actor_Change_Animation_Mode(kActorDektora, 23);
|
||||
}
|
||||
|
@ -244,7 +247,8 @@ void AIScriptDektora::ShotAtAndMissed() {
|
|||
bool AIScriptDektora::ShotAtAndHit() {
|
||||
if (Actor_Query_Goal_Number(kActorDektora) == 270
|
||||
|| Actor_Query_Goal_Number(kActorDektora) == 271
|
||||
|| Actor_Query_Goal_Number(kActorDektora) == 272) {
|
||||
|| Actor_Query_Goal_Number(kActorDektora) == 272
|
||||
) {
|
||||
Actor_Set_Health(kActorDektora, 100, 100);
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorDektora) != 272) {
|
||||
|
@ -252,6 +256,7 @@ bool AIScriptDektora::ShotAtAndHit() {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorDektora) == 260) {
|
||||
AI_Movement_Track_Flush(kActorDektora);
|
||||
Actor_Set_Health(kActorDektora, 0, 100);
|
||||
|
@ -276,11 +281,14 @@ bool AIScriptDektora::ShotAtAndHit() {
|
|||
}
|
||||
|
||||
void AIScriptDektora::Retired(int byActorId) {
|
||||
if (!byActorId) {
|
||||
if (byActorId == kActorMcCoy) {
|
||||
Actor_Modify_Friendliness_To_Other(kActorClovis, 0, -5);
|
||||
}
|
||||
|
||||
if (byActorId == kActorSteele && Actor_Query_In_Set(kActorSteele, kSetHF06) && Actor_Query_In_Set(kActorMcCoy, kSetHF06)) {
|
||||
if (byActorId == kActorSteele
|
||||
&& Actor_Query_In_Set(kActorSteele, kSetHF06)
|
||||
&& Actor_Query_In_Set(kActorMcCoy, kSetHF06)
|
||||
) {
|
||||
Non_Player_Actor_Combat_Mode_On(kActorSteele, kActorCombatStateUncover, true, kActorMcCoy, 15, kAnimationModeCombatIdle, kAnimationModeCombatWalk, kAnimationModeCombatRun, 0, 0, 100, 25, 300, false);
|
||||
}
|
||||
|
||||
|
@ -317,6 +325,83 @@ int AIScriptDektora::GetFriendlinessModifierIfGetsClue(int otherActorId, int clu
|
|||
|
||||
bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
switch (newGoalNumber) {
|
||||
case kGoalDektoraStartWalkingAround:
|
||||
AI_Movement_Track_Flush(kActorDektora);
|
||||
AI_Movement_Track_Append(kActorDektora, 39, 10);
|
||||
AI_Movement_Track_Repeat(kActorDektora);
|
||||
break;
|
||||
|
||||
case kGoalDektoraWalkAroundAsReplicant:
|
||||
AI_Movement_Track_Flush(kActorDektora);
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 287, 15, 278);
|
||||
|
||||
if (Game_Flag_Query(kFlagZubenRetired)) {
|
||||
AI_Movement_Track_Append(kActorDektora, 33, 240);
|
||||
} else if (Game_Flag_Query(kFlagZubenSpared)) {
|
||||
AI_Movement_Track_Append(kActorDektora, 33, 120);
|
||||
} else {
|
||||
AI_Movement_Track_Append(kActorDektora, 33, 90);
|
||||
}
|
||||
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 288, 35, 528);
|
||||
|
||||
if (Random_Query(1, 2) == 1
|
||||
&& Game_Flag_Query(kFlagAR02DektoraWillBuyScorpions)
|
||||
) {
|
||||
AI_Movement_Track_Append(kActorDektora, 289, 0);
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 290, 2, 979);
|
||||
AI_Movement_Track_Append(kActorDektora, 289, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 39, 120);
|
||||
} else {
|
||||
AI_Movement_Track_Append(kActorDektora, 39, 180);
|
||||
}
|
||||
|
||||
AI_Movement_Track_Append(kActorDektora, 282, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 283, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 284, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 285, 0);
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 286, 30, 329);
|
||||
AI_Movement_Track_Repeat(kActorDektora);
|
||||
break;
|
||||
|
||||
case kGoalDektoraWalkAroundAsHuman:
|
||||
AI_Movement_Track_Flush(kActorDektora);
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 287, 15, 278);
|
||||
AI_Movement_Track_Append(kActorDektora, 40, 90);
|
||||
|
||||
if (Game_Flag_Query(kFlagZubenRetired)
|
||||
&& Game_Flag_Query(kFlagLucyIsReplicant)
|
||||
) {
|
||||
AI_Movement_Track_Append(kActorDektora, 33, 180);
|
||||
} else {
|
||||
AI_Movement_Track_Append(kActorDektora, 33, 160);
|
||||
}
|
||||
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 288, 20, 528);
|
||||
|
||||
if (Random_Query(1, 2) == 1) {
|
||||
AI_Movement_Track_Append(kActorDektora, 289, 0);
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 290, 3, 979);
|
||||
AI_Movement_Track_Append(kActorDektora, 289, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 39, 120);
|
||||
} else {
|
||||
AI_Movement_Track_Append(kActorDektora, 39, 180);
|
||||
}
|
||||
|
||||
AI_Movement_Track_Append(kActorDektora, 282, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 283, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 284, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 285, 0);
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 286, 35, 329);
|
||||
AI_Movement_Track_Repeat(kActorDektora);
|
||||
break;
|
||||
|
||||
case kGoalDektoraStopWalkingAround:
|
||||
AI_Movement_Track_Flush(kActorDektora);
|
||||
AI_Movement_Track_Append(kActorDektora, 39, 240);
|
||||
AI_Movement_Track_Repeat(kActorDektora);
|
||||
break;
|
||||
|
||||
case 199:
|
||||
AI_Movement_Track_Flush(kActorDektora);
|
||||
Actor_Set_Goal_Number(kActorDektora, 200);
|
||||
|
@ -451,79 +536,6 @@ bool AIScriptDektora::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
Actor_Set_At_Waypoint(kActorDektora, 33, 0);
|
||||
break;
|
||||
|
||||
case 100:
|
||||
AI_Movement_Track_Flush(kActorDektora);
|
||||
AI_Movement_Track_Append(kActorDektora, 39, 10);
|
||||
AI_Movement_Track_Repeat(kActorDektora);
|
||||
break;
|
||||
|
||||
case 101:
|
||||
AI_Movement_Track_Flush(kActorDektora);
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 287, 15, 278);
|
||||
|
||||
if (Game_Flag_Query(40) == 1) {
|
||||
AI_Movement_Track_Append(kActorDektora, 33, 240);
|
||||
} else if (Game_Flag_Query(41) == 1) {
|
||||
AI_Movement_Track_Append(kActorDektora, 33, 120);
|
||||
} else {
|
||||
AI_Movement_Track_Append(kActorDektora, 33, 90);
|
||||
}
|
||||
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 288, 35, 528);
|
||||
|
||||
if (Random_Query(1, 2) == 1 && Game_Flag_Query(504)) {
|
||||
AI_Movement_Track_Append(kActorDektora, 289, 0);
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 290, 2, 979);
|
||||
AI_Movement_Track_Append(kActorDektora, 289, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 39, 120);
|
||||
} else {
|
||||
AI_Movement_Track_Append(kActorDektora, 39, 180);
|
||||
}
|
||||
|
||||
AI_Movement_Track_Append(kActorDektora, 282, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 283, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 284, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 285, 0);
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 286, 30, 329);
|
||||
AI_Movement_Track_Repeat(kActorDektora);
|
||||
break;
|
||||
|
||||
case 102:
|
||||
AI_Movement_Track_Flush(kActorDektora);
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 287, 15, 278);
|
||||
AI_Movement_Track_Append(kActorDektora, 40, 90);
|
||||
|
||||
if (Game_Flag_Query(40) == 1 && Game_Flag_Query(46) == 1) {
|
||||
AI_Movement_Track_Append(kActorDektora, 33, 180);
|
||||
} else {
|
||||
AI_Movement_Track_Append(kActorDektora, 33, 160);
|
||||
}
|
||||
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 288, 20, 528);
|
||||
|
||||
if (Random_Query(1, 2) == 1) {
|
||||
AI_Movement_Track_Append(kActorDektora, 289, 0);
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 290, 3, 979);
|
||||
AI_Movement_Track_Append(kActorDektora, 289, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 39, 120);
|
||||
} else {
|
||||
AI_Movement_Track_Append(kActorDektora, 39, 180);
|
||||
}
|
||||
|
||||
AI_Movement_Track_Append(kActorDektora, 282, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 283, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 284, 0);
|
||||
AI_Movement_Track_Append(kActorDektora, 285, 0);
|
||||
AI_Movement_Track_Append_With_Facing(kActorDektora, 286, 35, 329);
|
||||
AI_Movement_Track_Repeat(kActorDektora);
|
||||
break;
|
||||
|
||||
case 103:
|
||||
AI_Movement_Track_Flush(kActorDektora);
|
||||
AI_Movement_Track_Append(kActorDektora, 39, 240);
|
||||
AI_Movement_Track_Repeat(kActorDektora);
|
||||
break;
|
||||
|
||||
default:
|
||||
return false;
|
||||
|
||||
|
@ -1058,6 +1070,300 @@ bool AIScriptDektora::UpdateAnimation(int *animation, int *frame) {
|
|||
}
|
||||
|
||||
bool AIScriptDektora::ChangeAnimationMode(int mode) {
|
||||
switch (mode) {
|
||||
case kAnimationModeIdle:
|
||||
if (Game_Flag_Query(633)) {
|
||||
_animationState = 32;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
}
|
||||
switch (_animationState) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 27:
|
||||
case 28:
|
||||
_flag = true;
|
||||
break;
|
||||
case 9:
|
||||
case 10:
|
||||
case 12:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
case 16:
|
||||
case 17:
|
||||
_animationState = 11;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
case 11:
|
||||
case 18:
|
||||
case 19:
|
||||
case 20:
|
||||
case 26:
|
||||
case 29:
|
||||
case 30:
|
||||
break;
|
||||
case 25:
|
||||
_animationState = 25;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
case 31:
|
||||
_animationState = 31;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
default:
|
||||
_animationState = 0;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kAnimationModeWalk:
|
||||
if (!Game_Flag_Query(633)) {
|
||||
_animationFrame = 0;
|
||||
_animationState = 21;
|
||||
} else {
|
||||
_animationState = 33;
|
||||
_animationFrame = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case kAnimationModeRun:
|
||||
_animationFrame = 0;
|
||||
_animationState = 22;
|
||||
break;
|
||||
|
||||
case kAnimationModeTalk:
|
||||
if (_animationState < 2
|
||||
|| _animationState > 8
|
||||
) {
|
||||
_animationState = 2;
|
||||
_animationFrame = 0;
|
||||
_flag = false;
|
||||
}
|
||||
break;
|
||||
|
||||
case kAnimationModeCombatIdle:
|
||||
switch (_animationState) {
|
||||
case 9:
|
||||
case 10:
|
||||
case 16:
|
||||
case 17:
|
||||
break;
|
||||
case 25:
|
||||
case 27:
|
||||
case 28:
|
||||
_animationState = 29;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
case 31:
|
||||
_animationState = 30;
|
||||
_animationFrame = Slice_Animation_Query_Number_Of_Frames(154) - 1;
|
||||
break;
|
||||
default:
|
||||
_animationState = 10;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case kAnimationModeCombatAttack:
|
||||
if (_animationState == 31) {
|
||||
_animationState = 26;
|
||||
} else if (Random_Query(0, 1) == 1) {
|
||||
_animationState = 16;
|
||||
} else {
|
||||
_animationState = 17;
|
||||
}
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
|
||||
case kAnimationModeCombatWalk:
|
||||
if (!Game_Flag_Query(633)) {
|
||||
_animationFrame = 0;
|
||||
_animationState = 21;
|
||||
} else {
|
||||
_animationState = 33;
|
||||
_animationFrame = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case kAnimationModeCombatRun:
|
||||
_animationFrame = 0;
|
||||
_animationState = 22;
|
||||
break;
|
||||
|
||||
case 12:
|
||||
if (_animationState < 2
|
||||
|| _animationState > 8
|
||||
) {
|
||||
_animationState = 3;
|
||||
_animationFrame = 0;
|
||||
_flag = false;
|
||||
}
|
||||
break;
|
||||
|
||||
case 13:
|
||||
if (_animationState < 2
|
||||
|| _animationState > 8
|
||||
) {
|
||||
_animationState = 4;
|
||||
_animationFrame = 0;
|
||||
_flag = false;
|
||||
}
|
||||
break;
|
||||
|
||||
case 14:
|
||||
if (_animationState < 2
|
||||
|| _animationState > 8
|
||||
) {
|
||||
_animationState = 5;
|
||||
_animationFrame = 0;
|
||||
_flag = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 15:
|
||||
if (_animationState < 2
|
||||
|| _animationState > 8
|
||||
) {
|
||||
_animationState = 6;
|
||||
_animationFrame = 0;
|
||||
_flag = false;
|
||||
}
|
||||
break;
|
||||
|
||||
case 16:
|
||||
if (_animationState < 2
|
||||
|| _animationState > 8
|
||||
) {
|
||||
_animationState = 7;
|
||||
_animationFrame = 0;
|
||||
_flag = false;
|
||||
}
|
||||
break;
|
||||
|
||||
case 17:
|
||||
if (_animationState < 2
|
||||
|| _animationState > 8
|
||||
) {
|
||||
_animationState = 8;
|
||||
_animationFrame = 0;
|
||||
_flag = false;
|
||||
}
|
||||
break;
|
||||
|
||||
case 21:
|
||||
if (Game_Flag_Query(633)) {
|
||||
_animationState = 34;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
}
|
||||
switch (_animationState) {
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
case 13:
|
||||
case 16:
|
||||
case 17:
|
||||
if (Random_Query(0, 1) == 1) {
|
||||
_animationState = 14;
|
||||
} else {
|
||||
_animationState = 15;
|
||||
}
|
||||
break;
|
||||
case 14:
|
||||
case 15:
|
||||
if (Random_Query(0, 1) == 1) {
|
||||
_animationState = 18;
|
||||
} else {
|
||||
_animationState = 19;
|
||||
}
|
||||
break;
|
||||
}
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
|
||||
case 23:
|
||||
_animationState = 41;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
|
||||
case 30:
|
||||
if (_animationState != 27
|
||||
&& _animationState != 28
|
||||
) {
|
||||
_animationState = 27;
|
||||
_animationFrame = 0;
|
||||
_flag = false;
|
||||
}
|
||||
break;
|
||||
|
||||
case 31:
|
||||
if (_animationState != 27
|
||||
&& _animationState != 28
|
||||
) {
|
||||
_animationState = 28;
|
||||
_animationFrame = 0;
|
||||
_flag = false;
|
||||
}
|
||||
break;
|
||||
|
||||
case kAnimationModeWalkUp:
|
||||
_animationFrame = 0;
|
||||
_animationState = 23;
|
||||
break;
|
||||
|
||||
case kAnimationModeWalkDown:
|
||||
_animationFrame = 0;
|
||||
_animationState = 24;
|
||||
break;
|
||||
|
||||
case kAnimationModeDie:
|
||||
_animationState = 20;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
|
||||
case 53:
|
||||
switch (_animationState) {
|
||||
case 26:
|
||||
case 29:
|
||||
case 30:
|
||||
case 31:
|
||||
break;
|
||||
case 27:
|
||||
case 28:
|
||||
_flag = true;
|
||||
break;
|
||||
default:
|
||||
_animationState = 25;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 70:
|
||||
_animationState = 17;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
|
||||
case 71:
|
||||
_animationState = 16;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
|
||||
case 79:
|
||||
_animationState = 37;
|
||||
_animationFrame = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -330,7 +330,7 @@ bool AIScriptEarlyQ::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
break;
|
||||
|
||||
case 208:
|
||||
if (Game_Flag_Query(374) == 1) {
|
||||
if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
|
||||
Actor_Set_Goal_Number(kActorEarlyQ, 210);
|
||||
} else {
|
||||
Actor_Set_Goal_Number(kActorEarlyQ, 209);
|
||||
|
|
|
@ -211,7 +211,7 @@ bool AIScriptGaff::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
AI_Movement_Track_Repeat(kActorGaff);
|
||||
return true;
|
||||
case 10:
|
||||
Game_Flag_Reset(kFlagGaffSpinnerCT12);
|
||||
Game_Flag_Reset(kFlagCT12GaffSpinner);
|
||||
Scene_Loop_Set_Default(2);
|
||||
Scene_Loop_Start_Special(2, 6, true);
|
||||
return true;
|
||||
|
|
|
@ -45,23 +45,30 @@ void AIScriptGordo::Initialize() {
|
|||
_frameDelta = 1;
|
||||
_frameMax = 0;
|
||||
_state = 0;
|
||||
Actor_Set_Goal_Number(kActorGordo, 0);
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoDefault);
|
||||
}
|
||||
|
||||
bool AIScriptGordo::Update() {
|
||||
if (Global_Variable_Query(kVariableChapter) == 1) {
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == 0 && Actor_Query_Friendliness_To_Other(kActorGordo, kActorMcCoy) < 48 && Actor_Query_Is_In_Current_Set(kActorGordo) == kSetBB02_BB04_BB06_BB51) {
|
||||
Actor_Set_Goal_Number(kActorGordo, 90);
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDefault
|
||||
&& Actor_Query_Friendliness_To_Other(kActorGordo, kActorMcCoy) < 48
|
||||
&& Actor_Query_Is_In_Current_Set(kActorGordo)
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoGetUpCT01);
|
||||
return true;
|
||||
}
|
||||
if (Actor_Query_Which_Set_In(kActorMcCoy) == kSetCT03_CT04 && Actor_Query_Which_Set_In(kActorGordo) == kSetCT01_CT12) {
|
||||
Actor_Set_Goal_Number(kActorGordo, 91);
|
||||
if (Actor_Query_Which_Set_In(kActorMcCoy) == kSetCT03_CT04
|
||||
&& Actor_Query_Which_Set_In(kActorGordo) == kSetCT01_CT12
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoWalkOutFromCT01);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (Global_Variable_Query(kVariableChapter) == 2 && Actor_Query_Goal_Number(kActorGordo) < 100) {
|
||||
Actor_Set_Goal_Number(kActorGordo, 100);
|
||||
if (Global_Variable_Query(kVariableChapter) == 2
|
||||
&& Actor_Query_Goal_Number(kActorGordo) < kGoalGordoWalkAround
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoWalkAround);
|
||||
}
|
||||
|
||||
if (Global_Variable_Query(kVariableChapter) == 3) {
|
||||
|
@ -74,7 +81,9 @@ bool AIScriptGordo::Update() {
|
|||
}
|
||||
|
||||
if (Global_Variable_Query(kVariableChapter) == 4) {
|
||||
if (Actor_Query_Goal_Number(kActorGordo) < 300 && Actor_Query_Goal_Number(kActorGordo) != 260) {
|
||||
if (Actor_Query_Goal_Number(kActorGordo) < 300
|
||||
&& Actor_Query_Goal_Number(kActorGordo) != 260
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorGordo, 300);
|
||||
} else if (Actor_Query_Goal_Number(kActorGordo) == 599) {
|
||||
Actor_Put_In_Set(kActorGordo, kSetFreeSlotI);
|
||||
|
@ -82,7 +91,9 @@ bool AIScriptGordo::Update() {
|
|||
}
|
||||
}
|
||||
|
||||
if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_Goal_Number(kActorGordo) < 400) {
|
||||
if (Global_Variable_Query(kVariableChapter) == 5
|
||||
&& Actor_Query_Goal_Number(kActorGordo) < 400
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorGordo, 400);
|
||||
}
|
||||
|
||||
|
@ -102,13 +113,14 @@ 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) == kGoalGordoLeaveCT01
|
||||
|| Actor_Query_Goal_Number(kActorGordo) == kGoalGordoWalkOutFromCT01
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorGordo, 2);
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoLeftCT01);
|
||||
return;// true;
|
||||
}
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == 3) {
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoWalkThroughCT05) {
|
||||
if (Player_Query_Current_Set() == kSetCT05) {
|
||||
Actor_Force_Stop_Walking(kActorMcCoy);
|
||||
Player_Loses_Control();
|
||||
|
@ -123,24 +135,26 @@ void AIScriptGordo::CompletedMovementTrack() {
|
|||
Player_Gains_Control();
|
||||
}
|
||||
Actor_Clue_Acquire(kActorGordo, kClueMcCoyRetiredZuben, true, -1);
|
||||
Actor_Set_Goal_Number(kActorGordo, 4);
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoLeaveCT05);
|
||||
return;// true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == 4) {
|
||||
Actor_Set_Goal_Number(kActorGordo, 5);
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoLeaveCT05) {
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoLeftCT05);
|
||||
return;// true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == 93) {
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoWalkToHowieLee) {
|
||||
Actor_Set_Immunity_To_Obstacles(kActorGordo, false);
|
||||
Player_Gains_Control();
|
||||
Actor_Set_Goal_Number(kActorGordo, 92);
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoBidFarewellToHowieLee);
|
||||
return;// true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorGordo) > 100 && Actor_Query_Goal_Number(kActorGordo) < 200) {
|
||||
Actor_Set_Goal_Number(kActorGordo, 100);
|
||||
if (Actor_Query_Goal_Number(kActorGordo) > 100
|
||||
&& Actor_Query_Goal_Number(kActorGordo) < 200
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoWalkAround);
|
||||
return;// true;
|
||||
}
|
||||
|
||||
|
@ -188,8 +202,10 @@ void AIScriptGordo::ReceivedClue(int clueId, int fromActorId) {
|
|||
|
||||
void AIScriptGordo::ClickedByPlayer() {
|
||||
int goal = Actor_Query_Goal_Number(kActorGordo);
|
||||
if (goal == 101 || goal == 102) {
|
||||
sub_40FD00();
|
||||
if (goal == kGoalGordoGoToDNARow
|
||||
|| goal == kGoalGordoGoToChinaTown
|
||||
) {
|
||||
McCoyTalkWithGordo();
|
||||
} else if (goal == 260) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
|
||||
Actor_Says(kActorMcCoy, 8600, 11);
|
||||
|
@ -284,77 +300,80 @@ int AIScriptGordo::GetFriendlinessModifierIfGetsClue(int otherActorId, int clueI
|
|||
}
|
||||
|
||||
bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
int rnd;
|
||||
|
||||
switch (newGoalNumber) {
|
||||
case 0:
|
||||
case kGoalGordoDefault:
|
||||
Actor_Put_In_Set(kActorGordo, kSetCT01_CT12);
|
||||
Actor_Set_At_XYZ(kActorGordo, -308.44f, -12.5f, 442.78f, 256);
|
||||
Actor_Change_Animation_Mode(kActorGordo, 53);
|
||||
break;
|
||||
case 3:
|
||||
case kGoalGordoWalkThroughCT05:
|
||||
AI_Movement_Track_Flush(kActorGordo);
|
||||
AI_Movement_Track_Append(kActorGordo, 119, 0);
|
||||
AI_Movement_Track_Append(kActorGordo, 118, 0);
|
||||
AI_Movement_Track_Repeat(kActorGordo);
|
||||
break;
|
||||
case 4:
|
||||
case kGoalGordoLeaveCT05:
|
||||
AI_Movement_Track_Flush(kActorGordo);
|
||||
AI_Movement_Track_Append(kActorGordo, 119, 0);
|
||||
AI_Movement_Track_Append(kActorGordo, 33, 1);
|
||||
AI_Movement_Track_Repeat(kActorGordo);
|
||||
break;
|
||||
case 90:
|
||||
Game_Flag_Set(kFlagCT01McCoyTalkedToGordo);
|
||||
case kGoalGordoGetUpCT01:
|
||||
Game_Flag_Set(kFlagCT01GordoTalk);
|
||||
Actor_Set_Goal_Number(kActorGordo, 99);
|
||||
Actor_Change_Animation_Mode(kActorGordo, 29);
|
||||
break;
|
||||
case 91:
|
||||
case kGoalGordoWalkOutFromCT01:
|
||||
AI_Movement_Track_Flush(kActorGordo);
|
||||
AI_Movement_Track_Append(kActorGordo, 43, 0);
|
||||
AI_Movement_Track_Append(kActorGordo, 33, 1);
|
||||
AI_Movement_Track_Repeat(kActorGordo);
|
||||
break;
|
||||
case 92:
|
||||
case kGoalGordoBidFarewellToHowieLee:
|
||||
Actor_Face_Actor(kActorGordo, kActorHowieLee, true);
|
||||
Actor_Says(kActorGordo, 0, 13);
|
||||
Actor_Says(kActorGordo, 10, 16);
|
||||
Actor_Set_Goal_Number(kActorGordo, 91);
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoWalkOutFromCT01);
|
||||
Player_Gains_Control();
|
||||
break;
|
||||
case 93:
|
||||
case kGoalGordoWalkToHowieLee:
|
||||
Player_Loses_Control();
|
||||
Actor_Set_Immunity_To_Obstacles(kActorGordo, true);
|
||||
AI_Movement_Track_Flush(kActorGordo);
|
||||
AI_Movement_Track_Append(kActorGordo, 100, 0);
|
||||
AI_Movement_Track_Repeat(kActorGordo);
|
||||
break;
|
||||
case 100: {
|
||||
case kGoalGordoWalkAround:
|
||||
AI_Movement_Track_Flush(kActorGordo);
|
||||
_animationState = 0;
|
||||
_animationFrame = 0;
|
||||
_animationStateNext = 0;
|
||||
sub_41117C();
|
||||
int rnd = Random_Query(1, 4);
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueGordoInterview1) || Actor_Clue_Query(kActorMcCoy, kClueGordoInterview2)) {
|
||||
rnd = Random_Query(1, 4);
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueGordoInterview1)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueGordoInterview2)
|
||||
) {
|
||||
rnd = Random_Query(4, 5);
|
||||
}
|
||||
switch (rnd) {
|
||||
case 1:
|
||||
case 2:
|
||||
Actor_Set_Goal_Number(kActorGordo, 101);
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoGoToDNARow);
|
||||
break;
|
||||
case 3:
|
||||
Actor_Set_Goal_Number(kActorGordo, 102);
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoGoToChinaTown);
|
||||
break;
|
||||
case 4:
|
||||
Actor_Set_Goal_Number(kActorGordo, 103);
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoGoToFreeSlotHAGJ);
|
||||
break;
|
||||
case 5:
|
||||
Actor_Set_Goal_Number(kActorGordo, 104);
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoGoToFreeSlotAH);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 101:
|
||||
case kGoalGordoGoToDNARow:
|
||||
AI_Movement_Track_Flush(kActorGordo);
|
||||
if (Random_Query(1, 2) == 1) {
|
||||
AI_Movement_Track_Append(kActorGordo, 343, 5);
|
||||
|
@ -378,7 +397,7 @@ bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
}
|
||||
AI_Movement_Track_Repeat(kActorGordo);
|
||||
break;
|
||||
case 102:
|
||||
case kGoalGordoGoToChinaTown:
|
||||
if (Random_Query(1, 3) == 1) {
|
||||
AI_Movement_Track_Append(kActorGordo, 54, 1);
|
||||
AI_Movement_Track_Append(kActorGordo, 56, 0);
|
||||
|
@ -391,7 +410,7 @@ bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
AI_Movement_Track_Append(kActorGordo, 40, 15);
|
||||
AI_Movement_Track_Repeat(kActorGordo);
|
||||
break;
|
||||
case 103:
|
||||
case kGoalGordoGoToFreeSlotHAGJ:
|
||||
AI_Movement_Track_Flush(kActorGordo);
|
||||
AI_Movement_Track_Append(kActorGordo, 40, Random_Query(15, 45));
|
||||
if (Game_Flag_Query(kFlagGordoIsReplicant)) {
|
||||
|
@ -403,7 +422,7 @@ bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
AI_Movement_Track_Append(kActorGordo, 42, Random_Query(10, 20));
|
||||
AI_Movement_Track_Repeat(kActorGordo);
|
||||
break;
|
||||
case 104:
|
||||
case kGoalGordoGoToFreeSlotAH:
|
||||
AI_Movement_Track_Flush(kActorGordo);
|
||||
AI_Movement_Track_Append(kActorGordo, 33, Random_Query(15, 45));
|
||||
if (!Game_Flag_Query(kFlagGordoIsReplicant)) {
|
||||
|
@ -413,7 +432,10 @@ bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
break;
|
||||
case 200:
|
||||
if (Global_Variable_Query(40) == 2) {
|
||||
if (Game_Flag_Query(593) && Game_Flag_Query(591) && Player_Query_Current_Scene() != kSceneNR02) {
|
||||
if (Game_Flag_Query(593)
|
||||
&& Game_Flag_Query(591)
|
||||
&& Player_Query_Current_Scene() != kSceneNR02
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorGordo, 201);
|
||||
} else {
|
||||
Actor_Set_Goal_Number(kActorGordo, 225);
|
||||
|
@ -571,7 +593,7 @@ bool AIScriptGordo::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
Actor_Says(kActorMcCoy, 3080, 15);
|
||||
Actor_Says(kActorGordo, 200, 15);
|
||||
Actor_Says(kActorMcCoy, 3085, 15);
|
||||
sub_410590();
|
||||
dialogueWithGordo2();
|
||||
break;
|
||||
case 243:
|
||||
AI_Movement_Track_Flush(kActorGordo);
|
||||
|
@ -749,7 +771,7 @@ bool AIScriptGordo::UpdateAnimation(int *animation, int *frame) {
|
|||
_animationState = 0;
|
||||
_animationFrame = 0;
|
||||
Actor_Change_Animation_Mode(kActorGordo, kAnimationModeIdle);
|
||||
Actor_Set_Goal_Number(kActorGordo, 93);
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoWalkToHowieLee);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
|
@ -1406,41 +1428,34 @@ void AIScriptGordo::FledCombat() {
|
|||
// return false;
|
||||
}
|
||||
|
||||
void AIScriptGordo::sub_40FD00() {
|
||||
void AIScriptGordo::McCoyTalkWithGordo() {
|
||||
Player_Loses_Control();
|
||||
Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
|
||||
if (Game_Flag_Query(543)) {
|
||||
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:
|
||||
Actor_Says(kActorMcCoy, 6460, 13);
|
||||
break;
|
||||
case 2:
|
||||
Actor_Says(kActorMcCoy, 6550, 14);
|
||||
break;
|
||||
case 3:
|
||||
Actor_Says(kActorMcCoy, 365, 12);
|
||||
break;
|
||||
case 4:
|
||||
Actor_Says(kActorMcCoy, 525, 12);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 6490, 14);
|
||||
if (!Game_Flag_Query(kFlagGordoTalk1)) {
|
||||
Actor_Says(kActorMcCoy, 6460, 12);
|
||||
AI_Movement_Track_Pause(kActorGordo);
|
||||
Loop_Actor_Walk_To_Actor(kActorGordo, kActorMcCoy, 60, false, false);
|
||||
Loop_Actor_Walk_To_Actor(kActorGordo, kActorMcCoy, 36, false, false);
|
||||
Actor_Face_Actor(kActorGordo, kActorMcCoy, true);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
|
||||
Actor_Says(kActorGordo, 990, 13);
|
||||
Actor_Says(kActorGordo, 1000, 15);
|
||||
Game_Flag_Set(544);
|
||||
Actor_Says(kActorGordo, 890, 14);
|
||||
Actor_Says(kActorMcCoy, 6465, 15);
|
||||
Actor_Says(kActorGordo, 900, 13);
|
||||
Actor_Says(kActorGordo, 910, 13);
|
||||
Actor_Says(kActorMcCoy, 6470, 12);
|
||||
Actor_Says(kActorGordo, 920, 14);
|
||||
Actor_Says(kActorGordo, 930, 12);
|
||||
Actor_Says(kActorMcCoy, 6475, 13);
|
||||
Actor_Says(kActorGordo, 940, 12);
|
||||
Actor_Says(kActorGordo, 950, 13);
|
||||
Actor_Says(kActorMcCoy, 6480, 14);
|
||||
Actor_Says(kActorGordo, 960, 15);
|
||||
Actor_Says(kActorGordo, 970, 12);
|
||||
AI_Movement_Track_Unpause(kActorGordo);
|
||||
}
|
||||
} else {
|
||||
Game_Flag_Set(kFlagGordoTalk1);
|
||||
} else if ( Game_Flag_Query(kFlagDR05BombExploded)
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueGordoInterview1)
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueGordoInterview2)
|
||||
) {
|
||||
Actor_Says(kActorMcCoy, 6485, 12);
|
||||
AI_Movement_Track_Pause(kActorGordo);
|
||||
Loop_Actor_Walk_To_Actor(kActorGordo, kActorMcCoy, 48, false, false);
|
||||
|
@ -1464,29 +1479,33 @@ void AIScriptGordo::sub_40FD00() {
|
|||
Actor_Clue_Acquire(kActorMcCoy, kClueGordoInterview2, false, kActorGordo);
|
||||
}
|
||||
AI_Movement_Track_Unpause(kActorGordo);
|
||||
}
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 6460, 12);
|
||||
} else if (!Game_Flag_Query(kFlagGordoTalk2)) {
|
||||
Actor_Says(kActorMcCoy, 6490, 14);
|
||||
AI_Movement_Track_Pause(kActorGordo);
|
||||
Loop_Actor_Walk_To_Actor(kActorGordo, kActorMcCoy, 36, false, false);
|
||||
Loop_Actor_Walk_To_Actor(kActorGordo, kActorMcCoy, 60, false, false);
|
||||
Actor_Face_Actor(kActorGordo, kActorMcCoy, true);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorGordo, true);
|
||||
Actor_Says(kActorGordo, 890, 14);
|
||||
Actor_Says(kActorMcCoy, 6465, 15);
|
||||
Actor_Says(kActorGordo, 900, 13);
|
||||
Actor_Says(kActorGordo, 910, 13);
|
||||
Actor_Says(kActorMcCoy, 6470, 12);
|
||||
Actor_Says(kActorGordo, 920, 14);
|
||||
Actor_Says(kActorGordo, 930, 12);
|
||||
Actor_Says(kActorMcCoy, 6475, 13);
|
||||
Actor_Says(kActorGordo, 940, 12);
|
||||
Actor_Says(kActorGordo, 950, 13);
|
||||
Actor_Says(kActorMcCoy, 6480, 14);
|
||||
Actor_Says(kActorGordo, 960, 15);
|
||||
Actor_Says(kActorGordo, 970, 12);
|
||||
Actor_Says(kActorGordo, 990, 13);
|
||||
Actor_Says(kActorGordo, 1000, 15);
|
||||
Game_Flag_Set(kFlagGordoTalk2);
|
||||
AI_Movement_Track_Unpause(kActorGordo);
|
||||
Game_Flag_Set(543);
|
||||
} else {
|
||||
switch(Random_Query(1, 4)) {
|
||||
case 1:
|
||||
Actor_Says(kActorMcCoy, 6460, 13);
|
||||
break;
|
||||
case 2:
|
||||
Actor_Says(kActorMcCoy, 6550, 14);
|
||||
break;
|
||||
case 3:
|
||||
Actor_Says(kActorMcCoy, 365, 12);
|
||||
break;
|
||||
case 4:
|
||||
Actor_Says(kActorMcCoy, 525, 12);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return Player_Gains_Control();
|
||||
}
|
||||
|
||||
|
@ -1506,21 +1525,23 @@ void AIScriptGordo::sub_4103B8() {
|
|||
Actor_Says(kActorGordo, 350, 13);
|
||||
Actor_Says(kActorMcCoy, 3225, 18);
|
||||
Player_Gains_Control();
|
||||
sub_41090C();
|
||||
dialogueWithGordo1();
|
||||
Player_Loses_Control();
|
||||
Game_Flag_Set(561);
|
||||
Actor_Face_Heading(kActorGordo, 506, false);
|
||||
Actor_Change_Animation_Mode(kActorGordo, 23);
|
||||
}
|
||||
|
||||
void AIScriptGordo::sub_410590() {
|
||||
void AIScriptGordo::dialogueWithGordo2() {
|
||||
Music_Stop(5);
|
||||
Dialogue_Menu_Clear_List();
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(820, -1, 5, 7);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(830, 7, 5, -1);
|
||||
|
||||
Dialogue_Menu_Appear(320, 240);
|
||||
int answer = Dialogue_Menu_Query_Input();
|
||||
Dialogue_Menu_Disappear();
|
||||
|
||||
if (answer == 820) {
|
||||
Actor_Says(kActorMcCoy, 3090, 16);
|
||||
Actor_Says(kActorMcCoy, 3095, 15);
|
||||
|
@ -1535,8 +1556,8 @@ void AIScriptGordo::sub_410590() {
|
|||
Game_Flag_Set(251);
|
||||
Game_Flag_Set(592);
|
||||
Scene_Exits_Enable();
|
||||
Game_Flag_Reset(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInNightclubRow);
|
||||
Game_Flag_Set(kFlagMcCoyInPoliceStation);
|
||||
Set_Enter(kSetPS09, kScenePS09);
|
||||
} else if (answer == 830) {
|
||||
Actor_Says(kActorMcCoy, 3100, 16);
|
||||
|
@ -1559,11 +1580,13 @@ void AIScriptGordo::sub_410590() {
|
|||
}
|
||||
}
|
||||
|
||||
void AIScriptGordo::sub_41090C() {
|
||||
void AIScriptGordo::dialogueWithGordo1() {
|
||||
Dialogue_Menu_Clear_List();
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(760, 2, 5, 6);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(770, 6, 3, 1);
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueDektorasDressingRoom) || Actor_Clue_Query(kActorMcCoy, kClueWomanInAnimoidRow)) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueDektorasDressingRoom)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueWomanInAnimoidRow)
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(780, 5, 5, 5);
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
|
||||
|
@ -1573,9 +1596,11 @@ void AIScriptGordo::sub_41090C() {
|
|||
DM_Add_To_List_Never_Repeat_Once_Selected(800, -1, 4, 8);
|
||||
}
|
||||
Dialogue_Menu_Add_DONE_To_List(810);
|
||||
|
||||
Dialogue_Menu_Appear(320, 240);
|
||||
int answer = Dialogue_Menu_Query_Input();
|
||||
Dialogue_Menu_Disappear();
|
||||
|
||||
switch (answer) {
|
||||
case 760:
|
||||
Actor_Says(kActorMcCoy, 3230, kAnimationModeTalk);
|
||||
|
@ -1651,6 +1676,7 @@ void AIScriptGordo::sub_41090C() {
|
|||
}
|
||||
|
||||
void AIScriptGordo::sub_41117C() {
|
||||
// this has no real use as _animationState is always 0
|
||||
switch (_animationState) {
|
||||
case 0:
|
||||
break;
|
||||
|
|
|
@ -183,7 +183,7 @@ bool AIScriptHolloway::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
if (Global_Variable_Query(40) != 1) {
|
||||
Player_Gains_Control();
|
||||
}
|
||||
Game_Flag_Set(334);
|
||||
Game_Flag_Set(kFlagUG03toUG04);
|
||||
Set_Enter(kSetUG04, kSceneUG04);
|
||||
break;
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ bool AIScriptHowieLee::Update() {
|
|||
Actor_Set_Goal_Number(kActorHowieLee, 1);
|
||||
}
|
||||
|
||||
if ( Game_Flag_Query(kFlagMcCoyAtCTxx)
|
||||
if ( Game_Flag_Query(kFlagMcCoyInChinaTown)
|
||||
&& !Actor_Query_In_Set(kActorHowieLee, kSetCT01_CT12)
|
||||
) {
|
||||
AI_Movement_Track_Flush(kActorHowieLee);
|
||||
|
@ -64,8 +64,8 @@ bool AIScriptHowieLee::Update() {
|
|||
}
|
||||
|
||||
if ( Actor_Query_Goal_Number(kActorHowieLee) == 1
|
||||
&& Game_Flag_Query(kFlagBoughtHowieLeeFood)
|
||||
&& !Game_Flag_Query(kFlagMcCoyAtCTxx)
|
||||
&& Game_Flag_Query(kFlagCT01BoughtHowieLeeFood)
|
||||
&& !Game_Flag_Query(kFlagMcCoyInChinaTown)
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorHowieLee, 4);
|
||||
return true;
|
||||
|
@ -124,20 +124,20 @@ void AIScriptHowieLee::EnteredScene(int sceneId) {
|
|||
if (Actor_Query_Goal_Number(kActorHowieLee) == 4
|
||||
&& Actor_Query_In_Set(kActorHowieLee, kSetCT03_CT04)
|
||||
) {
|
||||
if ( Game_Flag_Query(kFlagMcCoyKilledHomeless)
|
||||
&& !Game_Flag_Query(kFlagHomelessBodyInDumpster)
|
||||
&& !Game_Flag_Query(kFlagHomelessBodyFound)
|
||||
if ( Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
|
||||
&& !Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
|
||||
&& !Game_Flag_Query(kFlagCT04HomelessBodyFound)
|
||||
) {
|
||||
Game_Flag_Set(kFlagHomelessBodyFound);
|
||||
Game_Flag_Set(kFlagCT04HomelessBodyFound);
|
||||
// return false;
|
||||
}
|
||||
|
||||
if (!Game_Flag_Query(kFlagMcCoyKilledHomeless)
|
||||
&& Game_Flag_Query(kFlagHomelessBodyInDumpster)
|
||||
&& !Game_Flag_Query(kFlagHomelessBodyFound)
|
||||
if (!Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
|
||||
&& Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
|
||||
&& !Game_Flag_Query(kFlagCT04HomelessBodyFound)
|
||||
&& Random_Query(1, 10) == 1
|
||||
) {
|
||||
Game_Flag_Set(kFlagHomelessBodyFound);
|
||||
Game_Flag_Set(kFlagCT04HomelessBodyFound);
|
||||
// return true;
|
||||
}
|
||||
// return false;
|
||||
|
|
|
@ -111,8 +111,8 @@ bool AIScriptInsectDealer::GoalChanged(int currentGoalNumber, int newGoalNumber)
|
|||
Actor_Put_In_Set(kActorInsectDealer, kSetFreeSlotH);
|
||||
Actor_Set_At_Waypoint(kActorInsectDealer, 40, 0);
|
||||
|
||||
if (!Game_Flag_Query(374)) {
|
||||
Game_Flag_Set(374);
|
||||
if (!Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
|
||||
Game_Flag_Set(kFlagAR02DektoraBoughtScorpions);
|
||||
Item_Remove_From_World(kItemScrorpions);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -163,7 +163,7 @@ void AIScriptIzo::ClickedByPlayer() {
|
|||
Actor_Face_Actor(kActorIzo, kActorMcCoy, true);
|
||||
Actor_Says(kActorIzo, 700, 17);
|
||||
Actor_Says(kActorMcCoy, 5465, 14);
|
||||
someDialog();
|
||||
dialogueWithIzo();
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorIzo) == kGoalIzoRC03Walk) {
|
||||
|
@ -245,7 +245,7 @@ void AIScriptIzo::Retired(int byActorId) {
|
|||
Player_Loses_Control();
|
||||
Delay(2000);
|
||||
Player_Set_Combat_Mode(0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, 1, 0, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -41.58f, 72.0f, 0, true, false, 0);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(579);
|
||||
|
@ -1008,7 +1008,7 @@ void AIScriptIzo::FledCombat() {
|
|||
// return false;
|
||||
}
|
||||
|
||||
void AIScriptIzo::someDialog() {
|
||||
void AIScriptIzo::dialogueWithIzo() {
|
||||
Dialogue_Menu_Clear_List();
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(0, 7, 4, -1); // MOTIVES
|
||||
|
||||
|
|
|
@ -70,11 +70,11 @@ bool AIScriptKlein::Update() {
|
|||
}
|
||||
if ( Player_Query_Current_Scene() == kScenePS07
|
||||
&& Actor_Query_Friendliness_To_Other(kActorKlein, kActorMcCoy) < 35
|
||||
&& !Game_Flag_Query(kFlagKleinInsulted)
|
||||
&& !Game_Flag_Query(kFlagPS07KleinInsulted)
|
||||
) {
|
||||
AI_Countdown_Timer_Reset(kActorKlein, 2);
|
||||
AI_Countdown_Timer_Start(kActorKlein, 2, 5);
|
||||
Game_Flag_Set(kFlagKleinInsulted);
|
||||
Game_Flag_Set(kFlagPS07KleinInsulted);
|
||||
return true;
|
||||
}
|
||||
if (Actor_Query_Goal_Number(kActorKlein) == 7) {
|
||||
|
@ -92,8 +92,8 @@ bool AIScriptKlein::Update() {
|
|||
|
||||
void AIScriptKlein::TimerExpired(int timer) {
|
||||
if (timer == 2) {
|
||||
if ( Game_Flag_Query(kFlagKleinInsulted)
|
||||
&& !Game_Flag_Query(kFlagKleinInsultedTalk)
|
||||
if ( Game_Flag_Query(kFlagPS07KleinInsulted)
|
||||
&& !Game_Flag_Query(kFlagPS07KleinInsultedTalk)
|
||||
&& Actor_Query_Is_In_Current_Set(kActorKlein)
|
||||
) {
|
||||
Actor_Face_Actor(kActorKlein, kActorMcCoy, true);
|
||||
|
@ -101,7 +101,7 @@ void AIScriptKlein::TimerExpired(int timer) {
|
|||
Actor_Says(kActorMcCoy, 4120, kAnimationModeTalk);
|
||||
Actor_Says(kActorKlein, 20, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 4125, kAnimationModeTalk);
|
||||
Game_Flag_Set(kFlagKleinInsultedTalk);
|
||||
Game_Flag_Set(kFlagPS07KleinInsultedTalk);
|
||||
Actor_Set_Goal_Number(kActorKlein, 4);
|
||||
} else {
|
||||
Actor_Says(kActorKlein, 10, kAnimationModeTalk);
|
||||
|
|
|
@ -750,7 +750,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
|
|||
case 44:
|
||||
*animation = 30;
|
||||
if (_animationFrame++ == 127) {
|
||||
Game_Flag_Set(325);
|
||||
Game_Flag_Set(kFlagCT04BodyDumped);
|
||||
}
|
||||
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(30)) {
|
||||
*animation = 19;
|
||||
|
@ -807,7 +807,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
|
|||
} else if (_animationFrame == 4) {
|
||||
Sound_Right_Footstep_Walk(kActorMcCoy);
|
||||
}
|
||||
if (Game_Flag_Query(359)) {
|
||||
if (Game_Flag_Query(kFlagHF05toHF07)) {
|
||||
sub_4059D0(-0.2f);
|
||||
}
|
||||
break;
|
||||
|
@ -823,7 +823,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
|
|||
} else if (_animationFrame == 3) {
|
||||
Sound_Right_Footstep_Walk(kActorMcCoy);
|
||||
}
|
||||
if (Game_Flag_Query(358)) {
|
||||
if (Game_Flag_Query(kFlagHF07toHF05)) {
|
||||
sub_405940(0.5f);
|
||||
}
|
||||
break;
|
||||
|
@ -839,7 +839,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
|
|||
} else if (_animationFrame == 3) {
|
||||
Sound_Right_Footstep_Walk(kActorMcCoy);
|
||||
}
|
||||
if (Game_Flag_Query(359)) {
|
||||
if (Game_Flag_Query(kFlagHF05toHF07)) {
|
||||
sub_4059D0(-0.2f);
|
||||
}
|
||||
break;
|
||||
|
@ -855,7 +855,7 @@ bool AIScriptMcCoy::UpdateAnimation(int *animation, int *frame) {
|
|||
} else if (_animationFrame == 4) {
|
||||
Sound_Right_Footstep_Walk(kActorMcCoy);
|
||||
}
|
||||
if (Game_Flag_Query(358)) {
|
||||
if (Game_Flag_Query(kFlagHF07toHF05)) {
|
||||
sub_405940(0.5f);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -38,11 +38,11 @@ void AIScriptMoraji::Initialize() {
|
|||
_var1 = 1;
|
||||
_var2 = 0;
|
||||
|
||||
Actor_Set_Goal_Number(kActorMoraji, 0);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiDefault);
|
||||
}
|
||||
|
||||
bool AIScriptMoraji::Update() {
|
||||
if ( Actor_Query_Goal_Number(kActorMoraji) == 0
|
||||
if ( Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiDefault
|
||||
&& Player_Query_Current_Scene() == kSceneDR05
|
||||
&& !Game_Flag_Query(kFlagDR05BombActivated)
|
||||
) {
|
||||
|
@ -52,21 +52,23 @@ bool AIScriptMoraji::Update() {
|
|||
return true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 19) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiScream) {
|
||||
Actor_Says(kActorMoraji, 80, 13);
|
||||
_animationState = 9;
|
||||
_animationFrame = -1;
|
||||
Actor_Set_Goal_Number(kActorMoraji, 18);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiGetUp);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void AIScriptMoraji::TimerExpired(int timer) {
|
||||
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
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiJump
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiLayDown
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiPerished
|
||||
) {
|
||||
Game_Flag_Set(kFlagDR05BombWillExplode);
|
||||
}
|
||||
|
@ -77,7 +79,7 @@ void AIScriptMoraji::TimerExpired(int timer) {
|
|||
}
|
||||
|
||||
void AIScriptMoraji::CompletedMovementTrack() {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 11) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiRunOut) {
|
||||
AI_Countdown_Timer_Reset(kActorMoraji, 2);
|
||||
Game_Flag_Set(kFlagDR05BombWillExplode);
|
||||
_animationState = 3;
|
||||
|
@ -117,17 +119,16 @@ void AIScriptMoraji::ShotAtAndMissed() {
|
|||
|
||||
bool AIScriptMoraji::ShotAtAndHit() {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji)) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 21) {
|
||||
Game_Flag_Set(713);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 22);
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiLayDown) {
|
||||
Game_Flag_Set(kFlagDR04McCoyShotMoraji);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiDie);
|
||||
Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
Actor_Set_Goal_Number(kActorMoraji, 5);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiShot);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -142,24 +143,27 @@ int AIScriptMoraji::GetFriendlinessModifierIfGetsClue(int otherActorId, int clue
|
|||
|
||||
bool AIScriptMoraji::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
switch (newGoalNumber) {
|
||||
case 0:
|
||||
case kGoalMorajiDefault:
|
||||
Actor_Put_In_Set(kActorMoraji, kSetDR05);
|
||||
Actor_Set_At_XYZ(kActorMoraji, 50.0f, 0.30f, 35.0f, 414);
|
||||
Actor_Set_Targetable(kActorMoraji, 1);
|
||||
Actor_Set_Targetable(kActorMoraji, true);
|
||||
return false;
|
||||
case 5:
|
||||
Actor_Set_Targetable(kActorMoraji, 0);
|
||||
|
||||
case kGoalMorajiShot:
|
||||
Actor_Set_Targetable(kActorMoraji, false);
|
||||
Sound_Play(4, 100, 0, 0, 50);
|
||||
_animationState = 10;
|
||||
_animationFrame = 0;
|
||||
Actor_Retired_Here(kActorMoraji, 60, 16, 1, -1);
|
||||
Actor_Retired_Here(kActorMoraji, 60, 16, true, -1);
|
||||
return true;
|
||||
case 10:
|
||||
Actor_Set_Targetable(kActorMoraji, 0);
|
||||
|
||||
case kGoalMorajiFreed:
|
||||
Actor_Set_Targetable(kActorMoraji, false);
|
||||
_animationState = 8;
|
||||
_animationFrame = 1;
|
||||
return true;
|
||||
case 11:
|
||||
|
||||
case kGoalMorajiRunOut:
|
||||
_animationState = 3;
|
||||
_animationFrame = 0;
|
||||
AI_Movement_Track_Flush(kActorMoraji);
|
||||
|
@ -169,43 +173,47 @@ bool AIScriptMoraji::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
AI_Movement_Track_Append_Run(kActorMoraji, 98, 0);
|
||||
AI_Movement_Track_Repeat(kActorMoraji);
|
||||
return true;
|
||||
case 20:
|
||||
|
||||
case kGoalMorajiJump:
|
||||
_animationState = 11;
|
||||
return true;
|
||||
case 21:
|
||||
|
||||
case kGoalMorajiLayDown:
|
||||
Actor_Retired_Here(kActorMoraji, 60, 16, 0, -1);
|
||||
Actor_Set_Targetable(kActorMoraji, 1);
|
||||
Actor_Set_Targetable(kActorMoraji, true);
|
||||
return true;
|
||||
case 22:
|
||||
|
||||
case kGoalMorajiDie:
|
||||
_animationFrame = -1;
|
||||
_animationState = 13;
|
||||
return true;
|
||||
case 23:
|
||||
Actor_Set_Targetable(kActorMoraji, 0);
|
||||
|
||||
case kGoalMorajiDead:
|
||||
Actor_Set_Targetable(kActorMoraji, false);
|
||||
_animationState = 14;
|
||||
Actor_Retired_Here(kActorMoraji, 60, 16, 1, -1);
|
||||
return true;
|
||||
break;
|
||||
case 30:
|
||||
|
||||
case kGoalMorajiChooseFate:
|
||||
if (Player_Query_Current_Scene() == kSceneDR05) {
|
||||
Game_Flag_Set(kFlagDR05BombExplosionView);
|
||||
Game_Flag_Set(kFlagDR05ViewExplosion);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR04);
|
||||
} else {
|
||||
if (Actor_Query_In_Set(kActorMoraji, kSetDR05)) {
|
||||
Actor_Set_Goal_Number(kActorMoraji, 99);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiPerished);
|
||||
} else {
|
||||
Actor_Set_Goal_Number(kActorMoraji, 20);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiJump);
|
||||
}
|
||||
Game_Flag_Set(kFlagMorajiExploded);
|
||||
Game_Flag_Set(kFlagDR05JustExploded);
|
||||
}
|
||||
return true;
|
||||
case 99:
|
||||
|
||||
case kGoalMorajiPerished:
|
||||
AI_Movement_Track_Flush(kActorMoraji);
|
||||
AI_Movement_Track_Append(kActorMoraji, 41, 0);
|
||||
AI_Movement_Track_Repeat(kActorMoraji);
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -219,7 +227,7 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
|
|||
_var2--;
|
||||
} else {
|
||||
_animationFrame += _var1;
|
||||
if (!Random_Query(0, 10)) {
|
||||
if (Random_Query(0, 10) == 0) {
|
||||
_var1 = -_var1;
|
||||
}
|
||||
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(*animation)) {
|
||||
|
@ -291,7 +299,7 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
|
|||
_animationFrame = 0;
|
||||
_animationState = 0;
|
||||
*animation = 733;
|
||||
Actor_Set_Goal_Number(kActorMoraji, 19);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiScream);
|
||||
}
|
||||
if (_animationFrame == 6) {
|
||||
Ambient_Sounds_Play_Sound(488, 69, 0, 0, 20);
|
||||
|
@ -305,7 +313,7 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
|
|||
_animationFrame = 0;
|
||||
_animationState = 3;
|
||||
*animation = 732;
|
||||
Actor_Set_Goal_Number(kActorMoraji, 11);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiRunOut);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -320,7 +328,7 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
|
|||
*animation = 739;
|
||||
_animationFrame++;
|
||||
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(739)) {
|
||||
Actor_Set_Goal_Number(kActorMoraji, 21);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiLayDown);
|
||||
_animationFrame = 0;
|
||||
_animationState = 12;
|
||||
*animation = 740;
|
||||
|
@ -351,7 +359,7 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
|
|||
_animationFrame++;
|
||||
if (_animationFrame >= Slice_Animation_Query_Number_Of_Frames(741) - 1) {
|
||||
_animationFrame = Slice_Animation_Query_Number_Of_Frames(*animation) - 1;
|
||||
Actor_Set_Goal_Number(kActorMoraji, 23);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiDead);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -370,67 +378,67 @@ bool AIScriptMoraji::UpdateAnimation(int *animation, int *frame) {
|
|||
|
||||
bool AIScriptMoraji::ChangeAnimationMode(int mode) {
|
||||
switch (mode) {
|
||||
case 0:
|
||||
if (_animationState != 12 && Actor_Query_Goal_Number(kActorMoraji) != 11) {
|
||||
case kAnimationModeIdle:
|
||||
if (_animationState != 12
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != 11
|
||||
) {
|
||||
_animationState = 0;
|
||||
_animationFrame = 0;
|
||||
}
|
||||
return 1;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
case kAnimationModeWalk:
|
||||
_animationState = 2;
|
||||
_animationFrame = 0;
|
||||
return 1;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (_animationState) {
|
||||
if (_animationState != 3 || _animationState > 3) {
|
||||
_animationState = 3;
|
||||
_animationFrame = 0;
|
||||
}
|
||||
} else {
|
||||
case kAnimationModeRun:
|
||||
if (_animationState == 0) {
|
||||
_animationState = 1;
|
||||
_animationStateNext = 3;
|
||||
_animationNext = 732;
|
||||
} else if (_animationState != 3) {
|
||||
_animationState = 3;
|
||||
_animationFrame = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (_animationState != 12) {
|
||||
if (_animationState) {
|
||||
_animationState = 5;
|
||||
_animationFrame = 0;
|
||||
} else {
|
||||
if (_animationState == 0) {
|
||||
_animationState = 1;
|
||||
_animationStateNext = 5;
|
||||
_animationNext = 734;
|
||||
} else {
|
||||
_animationState = 5;
|
||||
_animationFrame = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 12:
|
||||
if (_animationState) {
|
||||
_animationState = 6;
|
||||
_animationFrame = 0;
|
||||
} else {
|
||||
if (_animationState == 0) {
|
||||
_animationState = 1;
|
||||
_animationStateNext = 6;
|
||||
_animationNext = 735;
|
||||
} else {
|
||||
_animationState = 6;
|
||||
_animationFrame = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 13:
|
||||
if (_animationState) {
|
||||
_animationState = 7;
|
||||
_animationFrame = 0;
|
||||
} else {
|
||||
if (_animationState == 0) {
|
||||
_animationState = 1;
|
||||
_animationStateNext = 7;
|
||||
_animationNext = 736;
|
||||
} else {
|
||||
_animationState = 7;
|
||||
_animationFrame = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 48:
|
||||
case kAnimationModeDie:
|
||||
_animationState = 13;
|
||||
_animationFrame = -1;
|
||||
break;
|
||||
|
|
|
@ -178,7 +178,7 @@ bool AIScriptMutant1::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
AI_Movement_Track_Append(kActorMutant1, 39, 0);
|
||||
AI_Movement_Track_Repeat(kActorMutant1);
|
||||
|
||||
if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
|
||||
if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
|
||||
Actor_Set_Combat_Aggressiveness(kActorMutant1, 70);
|
||||
Actor_Set_Friendliness_To_Other(kActorMutant1, kActorMcCoy, 20);
|
||||
}
|
||||
|
@ -352,7 +352,7 @@ bool AIScriptMutant1::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
Actor_Set_Intelligence(kActorMutant1, 40);
|
||||
Actor_Set_Health(kActorMutant1, 10 * Query_Difficulty_Level() + 30, 10 * Query_Difficulty_Level() + 30);
|
||||
|
||||
if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
|
||||
if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
|
||||
Actor_Set_Combat_Aggressiveness(kActorMutant1, 70);
|
||||
Actor_Set_Friendliness_To_Other(kActorMutant1, kActorMcCoy, 20);
|
||||
} else {
|
||||
|
|
|
@ -162,7 +162,7 @@ bool AIScriptMutant2::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
AI_Movement_Track_Append(kActorMutant2, 39, 0);
|
||||
AI_Movement_Track_Repeat(kActorMutant2);
|
||||
|
||||
if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
|
||||
if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
|
||||
Actor_Set_Combat_Aggressiveness(kActorMutant2, 60);
|
||||
Actor_Set_Friendliness_To_Other(kActorMutant2, kActorMcCoy, 30);
|
||||
}
|
||||
|
@ -334,7 +334,7 @@ bool AIScriptMutant2::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
Actor_Set_Intelligence(kActorMutant2, 20);
|
||||
Actor_Set_Health(71, 10 * Query_Difficulty_Level() + 50, 10 * Query_Difficulty_Level() + 50);
|
||||
|
||||
if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
|
||||
if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
|
||||
Actor_Set_Combat_Aggressiveness(kActorMutant2, 60);
|
||||
Actor_Set_Friendliness_To_Other(kActorMutant2, kActorMcCoy, 30);
|
||||
} else {
|
||||
|
|
|
@ -175,7 +175,7 @@ bool AIScriptMutant3::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
AI_Movement_Track_Append(kActorMutant3, 39, 0);
|
||||
AI_Movement_Track_Repeat(kActorMutant3);
|
||||
|
||||
if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
|
||||
if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
|
||||
Actor_Set_Combat_Aggressiveness(kActorMutant3, 80);
|
||||
Actor_Set_Friendliness_To_Other(kActorMutant3, kActorMcCoy, 20);
|
||||
}
|
||||
|
@ -345,7 +345,7 @@ bool AIScriptMutant3::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
Actor_Set_Intelligence(kActorMutant3, 40);
|
||||
Actor_Set_Health(kActorMutant3, 10 * Query_Difficulty_Level() + 50, 10 * Query_Difficulty_Level() + 50);
|
||||
|
||||
if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
|
||||
if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
|
||||
Actor_Set_Combat_Aggressiveness(kActorMutant3, 80);
|
||||
Actor_Set_Friendliness_To_Other(kActorMutant3, kActorMcCoy, 20);
|
||||
} else {
|
||||
|
|
|
@ -52,7 +52,7 @@ bool AIScriptOfficerGrayford::Update() {
|
|||
} else if (Global_Variable_Query(kVariableChapter) == 5 && Actor_Query_Goal_Number(kActorOfficerGrayford) < 400) {
|
||||
AI_Movement_Track_Flush(kActorOfficerGrayford);
|
||||
Actor_Set_Goal_Number(kActorOfficerGrayford, 400);
|
||||
} else if (!Game_Flag_Query(kFlagMcCoyAtDRxx)
|
||||
} else if (!Game_Flag_Query(kFlagMcCoyInDNARow)
|
||||
&& Actor_Query_Goal_Number(kActorOfficerGrayford) > 102
|
||||
&& Actor_Query_Goal_Number(kActorOfficerGrayford) < 110) {
|
||||
Actor_Set_Goal_Number(kActorOfficerGrayford, 110);
|
||||
|
@ -471,7 +471,7 @@ bool AIScriptOfficerGrayford::GoalChanged(int currentGoalNumber, int newGoalNumb
|
|||
Actor_Face_Actor(kActorOfficerGrayford, kActorMcCoy, true);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorOfficerGrayford, true);
|
||||
|
||||
if (Game_Flag_Query(713)) {
|
||||
if (Game_Flag_Query(kFlagDR04McCoyShotMoraji)) {
|
||||
Actor_Set_Goal_Number(kActorMcCoy, 500);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 960, 15);
|
||||
|
|
|
@ -60,9 +60,9 @@ bool AIScriptOfficerLeary::Update() {
|
|||
return false;
|
||||
}
|
||||
|
||||
if (!Game_Flag_Query(kFlagMcCoyAtRCxx)
|
||||
&& Game_Flag_Query(kFlagChopstickWrapperTaken)
|
||||
&& Game_Flag_Query(kFlagChromeDebrisTaken)
|
||||
if (!Game_Flag_Query(kFlagMcCoyInRunciters)
|
||||
&& Game_Flag_Query(kFlagRC51ChopstickWrapperTaken)
|
||||
&& Game_Flag_Query(kFlagRC01ChromeDebrisTaken)
|
||||
&& Player_Query_Current_Scene() != kSceneRC01
|
||||
&& Global_Variable_Query(kVariableChapter) < 3
|
||||
) {
|
||||
|
@ -321,7 +321,7 @@ bool AIScriptOfficerLeary::GoalChanged(int currentGoalNumber, int newGoalNumber)
|
|||
Actor_Clue_Acquire(kActorOfficerLeary, kClueCrowdInterviewB, false, -1);
|
||||
}
|
||||
}
|
||||
if (Game_Flag_Query(kFlagMcCoyAtRCxx)) {
|
||||
if (Game_Flag_Query(kFlagMcCoyInRunciters)) {
|
||||
if (Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewA)
|
||||
&& Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewB)
|
||||
) {
|
||||
|
@ -906,7 +906,7 @@ bool AIScriptOfficerLeary::UpdateAnimation(int *animation, int *frame) {
|
|||
return true;
|
||||
case 0:
|
||||
if ( Game_Flag_Query(kFlagOfficerLearyTakingNotes)
|
||||
&& !Game_Flag_Query(KFlagMcCoyAndOfficerLearyTalking)) {
|
||||
&& !Game_Flag_Query(kFlagRC01McCoyAndOfficerLearyTalking)) {
|
||||
_animationState = 31;
|
||||
_animationFrame = 0;
|
||||
*animation = 604;
|
||||
|
|
|
@ -43,11 +43,11 @@ void AIScriptPhotographer::Initialize() {
|
|||
|
||||
bool AIScriptPhotographer::Update() {
|
||||
if ( Game_Flag_Query(kFlagTB02ElevatorToTB05)
|
||||
&& !Game_Flag_Query(kFlagPhotographerToTB06)
|
||||
&& !Game_Flag_Query(kFlagTB06Photographer)
|
||||
) {
|
||||
Actor_Put_In_Set(kActorPhotographer, kSetFreeSlotC);
|
||||
Actor_Set_At_Waypoint(kActorPhotographer, 35, 0);
|
||||
Game_Flag_Set(kFlagPhotographerToTB06);
|
||||
Game_Flag_Set(kFlagTB06Photographer);
|
||||
Actor_Set_Goal_Number(kActorPhotographer, 100);
|
||||
|
||||
return true;
|
||||
|
|
|
@ -55,7 +55,7 @@ bool AIScriptRunciter::Update() {
|
|||
if (Actor_Query_Goal_Number(kActorRunciter) == kGoalRunciterDefault
|
||||
&& Game_Flag_Query(kFlagRC01PoliceDone)
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorRunciter, kGoalRunciterHide);
|
||||
Actor_Set_Goal_Number(kActorRunciter, kGoalRunciterGoToFreeSlotGH);
|
||||
}
|
||||
if (Global_Variable_Query(kVariableChapter) == 4
|
||||
&& Actor_Query_Goal_Number(kActorRunciter) < 300
|
||||
|
@ -180,7 +180,7 @@ bool AIScriptRunciter::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
Actor_Set_At_Waypoint(kActorRunciter, 92, 567);
|
||||
return false;
|
||||
}
|
||||
if (newGoalNumber == kGoalRunciterWalkAround) {
|
||||
if (newGoalNumber == kGoalRunciterWalkAroundRC02) {
|
||||
AI_Movement_Track_Flush(kActorRunciter);
|
||||
if (Random_Query(0, 1) == 1) {
|
||||
if (Random_Query(0, 1) == 0) {
|
||||
|
@ -198,7 +198,7 @@ bool AIScriptRunciter::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
AI_Movement_Track_Repeat(kActorRunciter);
|
||||
return true;
|
||||
}
|
||||
if (newGoalNumber == kGoalRunciterHide) {
|
||||
if (newGoalNumber == kGoalRunciterGoToFreeSlotGH) {
|
||||
AI_Movement_Track_Flush(kActorRunciter);
|
||||
AI_Movement_Track_Append(kActorRunciter, 39, 120);
|
||||
AI_Movement_Track_Append(kActorRunciter, 40, 0);
|
||||
|
|
|
@ -57,7 +57,7 @@ bool AIScriptSadik::Update() {
|
|||
Actor_Set_Goal_Number(kActorSadik, 101);
|
||||
Actor_Set_Targetable(kActorSadik, true);
|
||||
Game_Flag_Set(391);
|
||||
Game_Flag_Set(406);
|
||||
Game_Flag_Set(kFlagUnused406);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -56,21 +56,21 @@ bool AIScriptSteele::Update() {
|
|||
|
||||
switch (Global_Variable_Query(kVariableChapter)) {
|
||||
case 1:
|
||||
if (Game_Flag_Query(kFlagMcCoyAtRCxx)
|
||||
if (Game_Flag_Query(kFlagMcCoyInRunciters)
|
||||
&& Game_Flag_Query(183)
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorSteele, 3);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Game_Flag_Query(kFlagMcCoyAtCTxx)
|
||||
if (Game_Flag_Query(kFlagMcCoyInChinaTown)
|
||||
&& Game_Flag_Query(184)
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorSteele, 6);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Game_Flag_Query(kFlagMcCoyAtPSxx)
|
||||
if (Game_Flag_Query(kFlagMcCoyInPoliceStation)
|
||||
&& Game_Flag_Query(185)
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorSteele, 10);
|
||||
|
@ -78,7 +78,7 @@ bool AIScriptSteele::Update() {
|
|||
}
|
||||
|
||||
if ( Actor_Query_Goal_Number(kActorSteele) == 0
|
||||
&& !Game_Flag_Query(kFlagMcCoyAtRCxx)
|
||||
&& !Game_Flag_Query(kFlagMcCoyInRunciters)
|
||||
&& Player_Query_Current_Scene() != kSceneRC01
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorSteele, 1);
|
||||
|
@ -399,11 +399,11 @@ void AIScriptSteele::ClickedByPlayer() {
|
|||
|
||||
void AIScriptSteele::EnteredScene(int sceneId) {
|
||||
if (Actor_Query_Goal_Number(kActorSteele) == 2) {
|
||||
if (!Game_Flag_Query(kFlagChopstickWrapperTaken)
|
||||
if (!Game_Flag_Query(kFlagRC51ChopstickWrapperTaken)
|
||||
&& Random_Query(1, 3) == 1
|
||||
) {
|
||||
Actor_Clue_Acquire(kActorSteele, kClueChopstickWrapper, true, -1);
|
||||
Game_Flag_Set(kFlagChopstickWrapperTaken);
|
||||
Game_Flag_Set(kFlagRC51ChopstickWrapperTaken);
|
||||
|
||||
if (Game_Flag_Query(kFlagRC51Discovered)) {
|
||||
Item_Remove_From_World(kItemChopstickWrapper);
|
||||
|
@ -413,11 +413,11 @@ void AIScriptSteele::EnteredScene(int sceneId) {
|
|||
return; //true;
|
||||
}
|
||||
|
||||
if (!Game_Flag_Query(kFlagCandyTaken)
|
||||
if (!Game_Flag_Query(kFlagRC51CandyTaken)
|
||||
&& Random_Query(1, 3) == 1
|
||||
) {
|
||||
Actor_Clue_Acquire(kActorSteele, kClueCandy, true, -1);
|
||||
Game_Flag_Set(kFlagCandyTaken);
|
||||
Game_Flag_Set(kFlagRC51CandyTaken);
|
||||
|
||||
if (Game_Flag_Query(kFlagRC51Discovered)) {
|
||||
Item_Remove_From_World(kItemCandy);
|
||||
|
@ -425,11 +425,11 @@ void AIScriptSteele::EnteredScene(int sceneId) {
|
|||
return; //true;
|
||||
}
|
||||
|
||||
if (!Game_Flag_Query(kFlagToyDogTaken)
|
||||
if (!Game_Flag_Query(kFlagRC51ToyDogTaken)
|
||||
&& Random_Query(1, 20) == 1
|
||||
) {
|
||||
Actor_Clue_Acquire(kActorSteele, kClueToyDog, true, -1);
|
||||
Game_Flag_Set(kFlagToyDogTaken);
|
||||
Game_Flag_Set(kFlagRC51ToyDogTaken);
|
||||
|
||||
if (Game_Flag_Query(kFlagRC51Discovered)) {
|
||||
Item_Remove_From_World(kItemToyDog);
|
||||
|
@ -440,11 +440,11 @@ void AIScriptSteele::EnteredScene(int sceneId) {
|
|||
|
||||
if ( Actor_Query_Goal_Number(kActorSteele) == 5
|
||||
&& Actor_Query_In_Set(kActorSteele, kSetCT03_CT04)
|
||||
&& Game_Flag_Query(kFlagMcCoyKilledHomeless)
|
||||
&& !Game_Flag_Query(kFlagHomelessBodyInDumpster)
|
||||
&& !Game_Flag_Query(kFlagHomelessBodyFound)
|
||||
&& Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
|
||||
&& !Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
|
||||
&& !Game_Flag_Query(kFlagCT04HomelessBodyFound)
|
||||
) {
|
||||
Game_Flag_Set(kFlagHomelessBodyFound);
|
||||
Game_Flag_Set(kFlagCT04HomelessBodyFound);
|
||||
return; //true;
|
||||
}
|
||||
|
||||
|
@ -931,8 +931,8 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
|
||||
case 233:
|
||||
Game_Flag_Set(kFlagHF01toHF03);
|
||||
Game_Flag_Reset(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInNightclubRow);
|
||||
Game_Flag_Set(kFlagMcCoyInHysteriaHall);
|
||||
Actor_Put_In_Set(kActorSteele, kSetHF03);
|
||||
Actor_Set_At_XYZ(kActorSteele, 291.0f, 47.76f, -892.0f, 453);
|
||||
Set_Enter(kSetHF03, kSceneHF03);
|
||||
|
@ -1265,25 +1265,25 @@ bool AIScriptSteele::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
return true;
|
||||
|
||||
case 290:
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -281.0f, 31.93f, -1061.0f, 0, 0, 1, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 45, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -281.0f, 31.93f, -1061.0f, 0, false, true, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 45, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, false, kAnimationModeIdle);
|
||||
Global_Variable_Set(1, 4);
|
||||
Scene_Exits_Enable();
|
||||
Actor_Set_Health(kActorMcCoy, 50, 50);
|
||||
Game_Flag_Set(523);
|
||||
Game_Flag_Set(343);
|
||||
Game_Flag_Set(kFlagNR01toUG06);
|
||||
Game_Flag_Set(680);
|
||||
Chapter_Enter(4, 79, 91);
|
||||
Chapter_Enter(4, kSetUG06, kSceneUG06);
|
||||
return true;
|
||||
|
||||
case 291:
|
||||
Game_Flag_Set(722);
|
||||
Global_Variable_Set(1, 4);
|
||||
Global_Variable_Set(kVariableChapter, 4);
|
||||
Scene_Exits_Enable();
|
||||
Game_Flag_Set(523);
|
||||
Game_Flag_Set(680);
|
||||
Chapter_Enter(4, 79, 91);
|
||||
Chapter_Enter(4, kSetUG06, kSceneUG06);
|
||||
return true;
|
||||
|
||||
case 300:
|
||||
|
|
|
@ -56,16 +56,16 @@ bool AIScriptTransient::Update() {
|
|||
}
|
||||
|
||||
if ( Global_Variable_Query(kVariableChapter) == 3
|
||||
&& Game_Flag_Query(kFlagMcCoyKilledHomeless)
|
||||
&& Game_Flag_Query(kFlagHomelessBodyInDumpster)
|
||||
&& !Game_Flag_Query(kFlagHomelessBodyFound)
|
||||
&& !Game_Flag_Query(kFlagDumpsterEmptied)
|
||||
&& Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
|
||||
&& Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
|
||||
&& !Game_Flag_Query(kFlagCT04HomelessBodyFound)
|
||||
&& !Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)
|
||||
) {
|
||||
Game_Flag_Set(kFlagDumpsterEmptied);
|
||||
Game_Flag_Set(kFlagCT04HomelessBodyThrownAway);
|
||||
}
|
||||
|
||||
if (Global_Variable_Query(kVariableChapter) < 4
|
||||
&& Game_Flag_Query(kFlagHomelessBodyFound)
|
||||
&& Game_Flag_Query(kFlagCT04HomelessBodyFound)
|
||||
&& Actor_Query_Goal_Number(kActorTransient) != 6
|
||||
&& Actor_Query_Goal_Number(kActorTransient) != 599
|
||||
) {
|
||||
|
@ -163,7 +163,7 @@ bool AIScriptTransient::ShotAtAndHit() {
|
|||
Actor_Set_Goal_Number(kActorTransient, 599);
|
||||
}
|
||||
|
||||
Game_Flag_Set(kFlagMcCoyKilledHomeless);
|
||||
Game_Flag_Set(kFlagCT04HomelessKilledByMcCoy);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -53,15 +53,17 @@ bool AIScriptZuben::Update() {
|
|||
Actor_Put_In_Set(kActorZuben, kSetFreeSlotI);
|
||||
Actor_Set_At_Waypoint(kActorZuben, 41, 0);
|
||||
}
|
||||
|
||||
if ( Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDefault
|
||||
&& Player_Query_Current_Scene() == kSceneCT01
|
||||
&& !Game_Flag_Query(kFlagZubenCheckOnMcCoy)
|
||||
&& !Game_Flag_Query(kFlagCT01ZubenMcCoyCheck)
|
||||
) {
|
||||
AI_Countdown_Timer_Reset(kActorZuben, 2);
|
||||
AI_Countdown_Timer_Start(kActorZuben, 2, 30);
|
||||
Game_Flag_Set(kFlagZubenCheckOnMcCoy);
|
||||
Game_Flag_Set(kFlagCT01ZubenMcCoyCheck);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDefault
|
||||
&& Actor_Query_Friendliness_To_Other(kActorZuben, kActorMcCoy) < 48
|
||||
&& Actor_Query_Is_In_Current_Set(kActorZuben)
|
||||
|
@ -72,9 +74,10 @@ bool AIScriptZuben::Update() {
|
|||
Actor_Clue_Acquire(kActorZuben, kClueMcCoysDescription, true, -1);
|
||||
}
|
||||
Game_Flag_Set(kFlagCT01ZubenLeft);
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT01Leave);
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT01WalkToCT02);
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( Global_Variable_Query(kVariableChapter) >= 4
|
||||
&& !Game_Flag_Query(kFlagZubenRetired)
|
||||
&& Actor_Query_Goal_Number(kActorZuben) < 200
|
||||
|
@ -83,6 +86,7 @@ bool AIScriptZuben::Update() {
|
|||
Actor_Set_Goal_Number(kActorZuben, 200);
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( Global_Variable_Query(kVariableChapter) == 5
|
||||
&& !Game_Flag_Query(kFlagZubenRetired)
|
||||
&& Actor_Query_Goal_Number(kActorZuben) < 400
|
||||
|
@ -91,17 +95,19 @@ bool AIScriptZuben::Update() {
|
|||
Actor_Set_Goal_Number(kActorZuben, 400);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06AttackMcCoy
|
||||
&& Player_Query_Current_Scene() == kSceneCT07
|
||||
) {
|
||||
AI_Countdown_Timer_Reset(kActorZuben, 0);
|
||||
Game_Flag_Set(kFlagWarehouseOpen);
|
||||
Game_Flag_Set(kFlagCT05WarehouseOpen);
|
||||
Actor_Set_Targetable(kActorZuben, true);
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == 0) {
|
||||
Actor_Set_Goal_Number(kActorGordo, 1);
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDefault) {
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoLeaveCT01);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02PotDodgeCheck
|
||||
&& !Game_Flag_Query(kFlagCT02ZubenFled)
|
||||
) {
|
||||
|
@ -119,12 +125,12 @@ void AIScriptZuben::TimerExpired(int timer) {
|
|||
) {
|
||||
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -1);
|
||||
}
|
||||
Game_Flag_Reset(kFlagZubenCheckOnMcCoy);
|
||||
Game_Flag_Reset(kFlagCT01ZubenMcCoyCheck);
|
||||
// return true;
|
||||
} else if (timer == 1) {
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02Flee) { // Zuben fleeing, after 10s
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02RunToFreeSlotG) { // Zuben fleeing, after 10s
|
||||
Music_Stop(10);
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT06Hide);
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT06HideAtFreeSlotA);
|
||||
AI_Countdown_Timer_Reset(kActorZuben, 1);
|
||||
// return true;
|
||||
}
|
||||
|
@ -140,16 +146,16 @@ void AIScriptZuben::TimerExpired(int timer) {
|
|||
}
|
||||
|
||||
void AIScriptZuben::CompletedMovementTrack() {
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02Flee
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02RunToFreeSlotG
|
||||
&& Game_Flag_Query(kFlagCT02McCoyFell)
|
||||
) {
|
||||
Set_Enter(kSetCT03_CT04, kSceneCT03);
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == 3) { // not set anywhere
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT07Leave);
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT07RunToFreeSlotA);
|
||||
//return true;
|
||||
} else if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06Hide
|
||||
} else if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06HideAtFreeSlotA
|
||||
&& Game_Flag_Query(kFlagCT02McCoyFell)
|
||||
) {
|
||||
AI_Countdown_Timer_Reset(kActorZuben, 0);
|
||||
|
@ -164,7 +170,7 @@ void AIScriptZuben::CompletedMovementTrack() {
|
|||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT02OpenDoor);
|
||||
//return true;
|
||||
} else {
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT07Leave) {
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT07RunToFreeSlotA) {
|
||||
Music_Stop(2);
|
||||
Sound_Play(574, 40, 100, 100, 50);
|
||||
Delay(2000);
|
||||
|
@ -264,7 +270,7 @@ void AIScriptZuben::ShotAtAndMissed() {
|
|||
|
||||
bool AIScriptZuben::ShotAtAndHit() {
|
||||
Game_Flag_Set(kFlagMcCoyShotAtZuben);
|
||||
if ( Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT07Leave
|
||||
if ( Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT07RunToFreeSlotA
|
||||
&& !Actor_Clue_Query(kActorZuben, kClueMcCoyShotZubenInTheBack)
|
||||
) {
|
||||
Actor_Clue_Acquire(kActorZuben, kClueMcCoyShotZubenInTheBack, true, -1);
|
||||
|
@ -306,14 +312,15 @@ int AIScriptZuben::GetFriendlinessModifierIfGetsClue(int otherActorId, int clueI
|
|||
|
||||
bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||
switch (newGoalNumber) {
|
||||
case kGoalZubenCT01Leave:
|
||||
case kGoalZubenCT01WalkToCT02:
|
||||
AI_Movement_Track_Flush(kActorZuben);
|
||||
AI_Movement_Track_Append(kActorZuben, 86, 0);
|
||||
AI_Movement_Track_Append(kActorZuben, 106, 0);
|
||||
AI_Movement_Track_Append_With_Facing(kActorZuben, 45, 0, 481);
|
||||
AI_Movement_Track_Repeat(kActorZuben);
|
||||
return false;
|
||||
case kGoalZubenCT02Flee:
|
||||
|
||||
case kGoalZubenCT02RunToFreeSlotG:
|
||||
AI_Movement_Track_Flush(kActorZuben);
|
||||
AI_Movement_Track_Append_Run(kActorZuben, 84, 0);
|
||||
AI_Movement_Track_Append_Run(kActorZuben, 85, 0);
|
||||
|
@ -324,6 +331,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
AI_Countdown_Timer_Start(kActorZuben, 0, 70);
|
||||
AI_Movement_Track_Repeat(kActorZuben);
|
||||
return false;
|
||||
|
||||
case kGoalZubenCT07Spared:
|
||||
AI_Movement_Track_Flush(kActorZuben);
|
||||
Actor_Face_Actor(kActorZuben, kActorMcCoy, true);
|
||||
|
@ -343,14 +351,16 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
Actor_Clue_Acquire(kActorZuben, kClueMcCoyIsABladeRunner, true, -1);
|
||||
}
|
||||
Actor_Clue_Acquire(kActorZuben, kClueMcCoyLetZubenEscape, true, -1);
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT07Leave);
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT07RunToFreeSlotA);
|
||||
return false;
|
||||
case kGoalZubenCT07Leave:
|
||||
|
||||
case kGoalZubenCT07RunToFreeSlotA:
|
||||
AI_Movement_Track_Flush(kActorZuben);
|
||||
AI_Movement_Track_Append_Run(kActorZuben, 94, 0);
|
||||
AI_Movement_Track_Append_Run(kActorZuben, 33, 0);
|
||||
AI_Movement_Track_Repeat(kActorZuben);
|
||||
return false;
|
||||
|
||||
case kGoalZubenDie:
|
||||
Game_Flag_Set(kFlagZubenRetired);
|
||||
Game_Flag_Set(kFlagCT01ZubenGone);
|
||||
|
@ -364,20 +374,24 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
}
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenDead);
|
||||
return false;
|
||||
|
||||
case kGoalZubenCT02PushPot:
|
||||
_animationFrame = 0;
|
||||
_animationState = 26;
|
||||
return false;
|
||||
|
||||
case kGoalZubenCT02RunToDoor:
|
||||
AI_Movement_Track_Flush(kActorZuben);
|
||||
AI_Movement_Track_Append_Run(kActorZuben, 46, 0);
|
||||
AI_Movement_Track_Repeat(kActorZuben);
|
||||
return false;
|
||||
|
||||
case kGoalZubenCT02OpenDoor:
|
||||
Actor_Face_Heading(kActorZuben, kActorMcCoy, false);
|
||||
_animationFrame = 0;
|
||||
_animationState = 27;
|
||||
return false;
|
||||
|
||||
case kGoalZubenCT06JumpDown:
|
||||
AI_Countdown_Timer_Reset(kActorZuben, 0);
|
||||
Actor_Put_In_Set(kActorZuben, kSetCT06);
|
||||
|
@ -385,6 +399,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
_animationFrame = 0;
|
||||
_animationState = 28;
|
||||
return false;
|
||||
|
||||
case kGoalZubenCT06AttackMcCoy:
|
||||
Player_Loses_Control();
|
||||
if (!Player_Query_Combat_Mode()) {
|
||||
|
@ -394,7 +409,8 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
Game_Flag_Set(kFlagNotUsed142);
|
||||
Set_Enter(kSetCT07, kSceneCT07);
|
||||
return false;
|
||||
case kGoalZubenCT06Hide:
|
||||
|
||||
case kGoalZubenCT06HideAtFreeSlotA:
|
||||
Actor_Set_Targetable(kActorZuben, true);
|
||||
AI_Movement_Track_Flush(kActorZuben);
|
||||
AI_Movement_Track_Append_Run(kActorZuben, 51, 0);
|
||||
|
@ -402,6 +418,7 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
AI_Movement_Track_Append(kActorZuben, 33, 1); // Hide Zuben
|
||||
AI_Movement_Track_Repeat(kActorZuben);
|
||||
return false;
|
||||
|
||||
case kGoalZubenCT02PotDodgeCheck:
|
||||
if (Actor_Query_Goal_Number(kActorMcCoy) != kGoalMcCoyDodge) {
|
||||
Player_Loses_Control();
|
||||
|
@ -411,29 +428,34 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
}
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT02RunToDoor);
|
||||
return false;
|
||||
|
||||
case kGoalZubenMA01AttackMcCoy:
|
||||
Game_Flag_Set(kFlagWarehouseOpen);
|
||||
Game_Flag_Set(kFlagCT05WarehouseOpen);
|
||||
Actor_Set_Targetable(kActorZuben, true);
|
||||
AI_Movement_Track_Flush(kActorZuben);
|
||||
AI_Movement_Track_Append_Run(kActorZuben, 125, 0);
|
||||
AI_Movement_Track_Repeat(kActorZuben);
|
||||
return false;
|
||||
case 22:
|
||||
|
||||
case 22: // is never set
|
||||
AI_Movement_Track_Flush(kActorZuben);
|
||||
AI_Movement_Track_Append_Run(kActorZuben, 125, 0);
|
||||
AI_Movement_Track_Append_Run(kActorZuben, 33, 0);
|
||||
AI_Movement_Track_Repeat(kActorZuben);
|
||||
return false;
|
||||
|
||||
case 99:
|
||||
AI_Movement_Track_Flush(kActorZuben);
|
||||
Scene_Exits_Enable();
|
||||
Music_Stop(2);
|
||||
return false;
|
||||
|
||||
case 100:
|
||||
AI_Movement_Track_Flush(kActorZuben);
|
||||
AI_Movement_Track_Append_Run(kActorZuben, 33, 3);
|
||||
AI_Movement_Track_Repeat(kActorZuben);
|
||||
return false;
|
||||
|
||||
case 105:
|
||||
{
|
||||
int rnd1 = Random_Query(1, 3);
|
||||
|
@ -508,11 +530,13 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
case 106:
|
||||
Actor_Set_Goal_Number(kActorZuben, 105);
|
||||
return true;
|
||||
|
||||
case 200:
|
||||
AI_Movement_Track_Flush(kActorZuben);
|
||||
AI_Movement_Track_Append_Run(kActorZuben, 33, 3);
|
||||
AI_Movement_Track_Repeat(kActorZuben);
|
||||
return false;
|
||||
|
||||
case 205:
|
||||
switch (Random_Query(1, 8)) {
|
||||
case 1:
|
||||
|
@ -591,9 +615,11 @@ bool AIScriptZuben::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
|||
break;
|
||||
}
|
||||
return false;
|
||||
|
||||
case 206:
|
||||
Actor_Set_Goal_Number(kActorZuben, 205);
|
||||
return true;
|
||||
|
||||
case 400:
|
||||
AI_Movement_Track_Flush(kActorZuben);
|
||||
Actor_Put_In_Set(kActorZuben, kSetFreeSlotA);
|
||||
|
@ -950,7 +976,7 @@ bool AIScriptZuben::UpdateAnimation(int *animation, int *frame) {
|
|||
Actor_Set_Frame_Rate_FPS(kActorZuben, -2);
|
||||
_animationState = 0;
|
||||
_animationFrame = 0;
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT02Flee);
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT02RunToFreeSlotG);
|
||||
}
|
||||
break;
|
||||
case 28:
|
||||
|
@ -1164,6 +1190,7 @@ void AIScriptZuben::dialogue() {
|
|||
Actor_Says(kActorMcCoy, 7310, 16);
|
||||
Actor_Says(kActorZuben, 190, 15);
|
||||
break;
|
||||
|
||||
case 1500:
|
||||
Actor_Says(kActorMcCoy, 7295, 11);
|
||||
Actor_Says(kActorZuben, 200, 12);
|
||||
|
@ -1188,6 +1215,7 @@ void AIScriptZuben::dialogue() {
|
|||
Actor_Clue_Acquire(kActorMcCoy, kClueZubenTalksAboutLucy2, false, kActorZuben);
|
||||
}
|
||||
break;
|
||||
|
||||
case 1510:
|
||||
Actor_Says(kActorMcCoy, 7300, 13);
|
||||
Actor_Says(kActorZuben, 280, 12);
|
||||
|
@ -1202,6 +1230,7 @@ void AIScriptZuben::dialogue() {
|
|||
Actor_Says(kActorZuben, 330, 12);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueZubensMotive, false, kActorZuben);
|
||||
break;
|
||||
|
||||
case 1520:
|
||||
Actor_Says(kActorZuben, 160, 13);
|
||||
Actor_Says(kActorMcCoy, 7305, 15);
|
||||
|
|
|
@ -137,10 +137,10 @@ DECLARE_SCRIPT(Gordo)
|
|||
int _frameMax;
|
||||
int _state;
|
||||
|
||||
void sub_40FD00();
|
||||
void McCoyTalkWithGordo();
|
||||
void sub_4103B8();
|
||||
void sub_410590();
|
||||
void sub_41090C();
|
||||
void dialogueWithGordo2();
|
||||
void dialogueWithGordo1();
|
||||
void sub_41117C();
|
||||
END_SCRIPT
|
||||
|
||||
|
@ -185,7 +185,7 @@ DECLARE_SCRIPT(Izo)
|
|||
int _var4;
|
||||
bool _flag;
|
||||
|
||||
void someDialog();
|
||||
void dialogueWithIzo();
|
||||
void modifyWaypoints();
|
||||
END_SCRIPT
|
||||
|
||||
|
|
|
@ -109,49 +109,13 @@ void ESPERScript::SCRIPT_ESPER_DLL_Initialize() {
|
|||
|
||||
void ESPERScript::SCRIPT_ESPER_DLL_Photo_Selected(int photo) {
|
||||
switch (photo) {
|
||||
case 9:
|
||||
Actor_Says(kActorAnsweringMachine, 270, 3);
|
||||
ESPER_Define_Special_Region(22, 1208, 330, 1218, 340, 1050, 160, 1279, 550, 956, 203, 1278, 497, "KP06ESP1");
|
||||
ESPER_Define_Special_Region(23, 854, 371, 858, 375, 790, 320, 940, 560, 722, 220, 1000, 505, "KP06ESP2");
|
||||
ESPER_Define_Special_Region(24, 615, 325, 648, 365, 440, 220, 820, 959, 326, 140, 948, 474, "KP06ESP3");
|
||||
ESPER_Define_Special_Region(25, 373, 417, 382, 426, 310, 370, 480, 560, 228, 323, 493, 509, "KP06ESP4");
|
||||
break;
|
||||
case 8:
|
||||
Actor_Says(kActorAnsweringMachine, 230, 3);
|
||||
ESPER_Define_Special_Region(18, 166, 623, 177, 632, 38, 528, 320, 770, 26, 530, 313, 771, "TB06ESP1");
|
||||
ESPER_Define_Special_Region(19, 156, 356, 164, 360, 60, 280, 250, 460, 14, 251, 257, 459, "TB06ESP2");
|
||||
ESPER_Define_Special_Region(20, 395, 158, 410, 185, 270, 70, 760, 640, 125, 0, 560, 307, "TB06ESP3");
|
||||
ESPER_Define_Special_Region(21, 343, 269, 352, 276, 290, 200, 410, 340, 157, 118, 565, 405, "TB06ESP4");
|
||||
break;
|
||||
case 7:
|
||||
Actor_Says(kActorAnsweringMachine, 250, 3);
|
||||
ESPER_Define_Special_Region(16, 1171, 457, 1184, 466, 1060, 370, 1279, 730, 910, 300, 1279, 678, "HC02ESP3");
|
||||
ESPER_Define_Special_Region(17, 328, 398, 340, 413, 250, 350, 460, 640, 100, 236, 530, 612, "HC02ESP4");
|
||||
break;
|
||||
case 6:
|
||||
Actor_Says(kActorAnsweringMachine, 250, 3);
|
||||
ESPER_Define_Special_Region(14, 879, 221, 882, 225, 640, 0, 1000, 512, 265, 146, 1014, 813, "HC02ESP5");
|
||||
ESPER_Define_Special_Region(15, 660, 550, 678, 572, 560, 480, 850, 910, 265, 146, 1014, 813, "HC02ESP2");
|
||||
break;
|
||||
case 5:
|
||||
Actor_Says(kActorAnsweringMachine, 240, 3);
|
||||
ESPER_Define_Special_Region(13, 720, 485, 728, 491, 640, 390, 780, 630, 257, 94, 1013, 804, "HC01ESP3");
|
||||
break;
|
||||
case 4:
|
||||
Actor_Says(kActorAnsweringMachine, 240, 3);
|
||||
ESPER_Define_Special_Region(11, 420, 436, 434, 450, 350, 380, 520, 680, 257, 94, 1013, 804, "HC01ESP1");
|
||||
ESPER_Define_Special_Region(12, 407, 489, 410, 509, 370, 450, 500, 560, 257, 94, 1013, 804, "HC01ESP2");
|
||||
break;
|
||||
case 3:
|
||||
Actor_Says(kActorAnsweringMachine, 260, 3);
|
||||
ESPER_Define_Special_Region(10, 893, 298, 901, 306, 770, 230, 980, 500, 340, 216, 942, 747, "NR07ESP1");
|
||||
ESPER_Define_Special_Region(9, 479, 381, 482, 385, 430, 320, 520, 470, 265, 200, 815, 720, "NR07ESP2");
|
||||
break;
|
||||
case 2:
|
||||
Actor_Says(kActorAnsweringMachine, 260, 3);
|
||||
ESPER_Define_Special_Region(7, 102, 809, 108, 861, 20, 720, 200, 930, 191, 95, 1085, 870, "NR06ESP1");
|
||||
ESPER_Define_Special_Region(8, 661, 437, 664, 443, 530, 320, 720, 600, 330, 200, 945, 750, "NR06ESP2");
|
||||
case 0:
|
||||
Actor_Says(kActorAnsweringMachine, 220, 3);
|
||||
ESPER_Define_Special_Region(0, 490, 511, 496, 517, 400, 440, 580, 580, 380, 260, 900, 710, "RC02ESP1");
|
||||
ESPER_Define_Special_Region(1, 473, 342, 479, 349, 400, 300, 580, 580, 350, 250, 900, 710, "RC02ESP2");
|
||||
ESPER_Define_Special_Region(2, 444, 215, 461, 223, 380, 120, 570, 340, 354, 160, 577, 354, "RC02ESP3");
|
||||
break;
|
||||
|
||||
case 1:
|
||||
Actor_Says(kActorAnsweringMachine, 220, 3);
|
||||
ESPER_Define_Special_Region(3, 560, 210, 580, 220, 450, 130, 680, 540, 0, 0, 1279, 959, "RC02ESP4");
|
||||
|
@ -159,12 +123,58 @@ void ESPERScript::SCRIPT_ESPER_DLL_Photo_Selected(int photo) {
|
|||
ESPER_Define_Special_Region(5, 669, 322, 675, 329, 620, 230, 740, 390, 0, 0, 1279, 959, "RC02ESP6");
|
||||
ESPER_Define_Special_Region(6, 698, 236, 748, 274, 600, 160, 850, 420, 160, 0, 1279, 750, "RC02ESP7");
|
||||
break;
|
||||
case 0:
|
||||
Actor_Says(kActorAnsweringMachine, 220, 3);
|
||||
ESPER_Define_Special_Region(0, 490, 511, 496, 517, 400, 440, 580, 580, 380, 260, 900, 710, "RC02ESP1");
|
||||
ESPER_Define_Special_Region(1, 473, 342, 479, 349, 400, 300, 580, 580, 350, 250, 900, 710, "RC02ESP2");
|
||||
ESPER_Define_Special_Region(2, 444, 215, 461, 223, 380, 120, 570, 340, 354, 160, 577, 354, "RC02ESP3");
|
||||
|
||||
case 2:
|
||||
Actor_Says(kActorAnsweringMachine, 260, 3);
|
||||
ESPER_Define_Special_Region(7, 102, 809, 108, 861, 20, 720, 200, 930, 191, 95, 1085, 870, "NR06ESP1");
|
||||
ESPER_Define_Special_Region(8, 661, 437, 664, 443, 530, 320, 720, 600, 330, 200, 945, 750, "NR06ESP2");
|
||||
break;
|
||||
|
||||
case 3:
|
||||
Actor_Says(kActorAnsweringMachine, 260, 3);
|
||||
ESPER_Define_Special_Region(9, 479, 381, 482, 385, 430, 320, 520, 470, 265, 200, 815, 720, "NR07ESP2");
|
||||
ESPER_Define_Special_Region(10, 893, 298, 901, 306, 770, 230, 980, 500, 340, 216, 942, 747, "NR07ESP1");
|
||||
break;
|
||||
|
||||
case 4:
|
||||
Actor_Says(kActorAnsweringMachine, 240, 3);
|
||||
ESPER_Define_Special_Region(11, 420, 436, 434, 450, 350, 380, 520, 680, 257, 94, 1013, 804, "HC01ESP1");
|
||||
ESPER_Define_Special_Region(12, 407, 489, 410, 509, 370, 450, 500, 560, 257, 94, 1013, 804, "HC01ESP2");
|
||||
break;
|
||||
|
||||
case 5:
|
||||
Actor_Says(kActorAnsweringMachine, 240, 3);
|
||||
ESPER_Define_Special_Region(13, 720, 485, 728, 491, 640, 390, 780, 630, 257, 94, 1013, 804, "HC01ESP3");
|
||||
break;
|
||||
|
||||
case 6:
|
||||
Actor_Says(kActorAnsweringMachine, 250, 3);
|
||||
ESPER_Define_Special_Region(14, 879, 221, 882, 225, 640, 0, 1000, 512, 265, 146, 1014, 813, "HC02ESP5");
|
||||
ESPER_Define_Special_Region(15, 660, 550, 678, 572, 560, 480, 850, 910, 265, 146, 1014, 813, "HC02ESP2");
|
||||
break;
|
||||
|
||||
case 7:
|
||||
Actor_Says(kActorAnsweringMachine, 250, 3);
|
||||
ESPER_Define_Special_Region(16, 1171, 457, 1184, 466, 1060, 370, 1279, 730, 910, 300, 1279, 678, "HC02ESP3");
|
||||
ESPER_Define_Special_Region(17, 328, 398, 340, 413, 250, 350, 460, 640, 100, 236, 530, 612, "HC02ESP4");
|
||||
break;
|
||||
|
||||
case 8:
|
||||
Actor_Says(kActorAnsweringMachine, 230, 3);
|
||||
ESPER_Define_Special_Region(18, 166, 623, 177, 632, 38, 528, 320, 770, 26, 530, 313, 771, "TB06ESP1");
|
||||
ESPER_Define_Special_Region(19, 156, 356, 164, 360, 60, 280, 250, 460, 14, 251, 257, 459, "TB06ESP2");
|
||||
ESPER_Define_Special_Region(20, 395, 158, 410, 185, 270, 70, 760, 640, 125, 0, 560, 307, "TB06ESP3");
|
||||
ESPER_Define_Special_Region(21, 343, 269, 352, 276, 290, 200, 410, 340, 157, 118, 565, 405, "TB06ESP4");
|
||||
break;
|
||||
|
||||
case 9:
|
||||
Actor_Says(kActorAnsweringMachine, 270, 3);
|
||||
ESPER_Define_Special_Region(22, 1208, 330, 1218, 340, 1050, 160, 1279, 550, 956, 203, 1278, 497, "KP06ESP1");
|
||||
ESPER_Define_Special_Region(23, 854, 371, 858, 375, 790, 320, 940, 560, 722, 220, 1000, 505, "KP06ESP2");
|
||||
ESPER_Define_Special_Region(24, 615, 325, 648, 365, 440, 220, 820, 959, 326, 140, 948, 474, "KP06ESP3");
|
||||
ESPER_Define_Special_Region(25, 373, 417, 382, 426, 310, 370, 480, 560, 228, 323, 493, 509, "KP06ESP4");
|
||||
break;
|
||||
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
@ -172,176 +182,31 @@ void ESPERScript::SCRIPT_ESPER_DLL_Photo_Selected(int photo) {
|
|||
|
||||
bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region) {
|
||||
switch (photo) {
|
||||
case 9:
|
||||
switch (region) {
|
||||
case 22:
|
||||
Actor_Says(kActorMcCoy, 8705, 3);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueMoonbusReflection)) {
|
||||
case 0:
|
||||
if (region == 0) {
|
||||
Actor_Voice_Over(4050, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueDragonflyAnklet)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMoonbusReflection, true, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyAnklet, true, -1);
|
||||
}
|
||||
break;
|
||||
case 23:
|
||||
Actor_Voice_Over(4240, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueMcCoyAtMoonbus)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyAtMoonbus, true, -1);
|
||||
}
|
||||
break;
|
||||
case 24:
|
||||
Actor_Voice_Over(4220, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueClovisAtMoonbus)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
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, true, -1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
case 8:
|
||||
switch (region) {
|
||||
case 18:
|
||||
Actor_Says(kActorMcCoy, 8775, 3);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueKingstonKitchenBox2)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueKingstonKitchenBox2, true, -1);
|
||||
}
|
||||
break;
|
||||
case 19:
|
||||
Actor_Voice_Over(4160, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDogCollar2, true, -1);
|
||||
}
|
||||
break;
|
||||
case 20:
|
||||
Actor_Voice_Over(2140, kActorVoiceOver);
|
||||
Actor_Voice_Over(2150, kActorVoiceOver);
|
||||
Actor_Voice_Over(2160, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueBombingSuspect)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBombingSuspect, true, -1);
|
||||
}
|
||||
break;
|
||||
case 21:
|
||||
Actor_Says(kActorMcCoy, 8890, 3);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kCluePlasticExplosive)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePlasticExplosive, true, -1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
case 7:
|
||||
if (region == 16) {
|
||||
Actor_Voice_Over(4080, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueIzo)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
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, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
case 6:
|
||||
if (region == 14) {
|
||||
Actor_Says(kActorMcCoy, 6975, 3);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityCamera)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
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, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
case 5:
|
||||
if (region == 13) {
|
||||
Actor_Says(kActorMcCoy, 8830, 3);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueStrangeScale2)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueStrangeScale2, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
case 4:
|
||||
if (region == 11) {
|
||||
Actor_Voice_Over(4090, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueWomanInAnimoidRow)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
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, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
case 3:
|
||||
if (region == 9) {
|
||||
Actor_Voice_Over(4230, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueClovisflowers)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueClovisflowers, true, -1);
|
||||
}
|
||||
return true;
|
||||
} else if (region == 10) {
|
||||
} else if (region == 1) {
|
||||
Actor_Voice_Over(4040, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueLucyWithDektora)) {
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLucyWithDektora, true, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLucy, true, -1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
case 2:
|
||||
if (region == 8) {
|
||||
Actor_Voice_Over(4260, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueEarlyQAndLucy)) {
|
||||
} 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, 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, true, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueSushiMenu, true, -1);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
case 1:
|
||||
if (region == 3) {
|
||||
Actor_Voice_Over(4080, kActorVoiceOver);
|
||||
|
@ -373,30 +238,190 @@ bool ESPERScript::SCRIPT_ESPER_DLL_Special_Region_Selected(int photo, int region
|
|||
}
|
||||
}
|
||||
return true;
|
||||
case 0:
|
||||
if (region == 0) {
|
||||
Actor_Voice_Over(4050, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueDragonflyAnklet)) {
|
||||
|
||||
case 2:
|
||||
if (region == 8) {
|
||||
Actor_Voice_Over(4260, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueEarlyQAndLucy)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDragonflyAnklet, true, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueEarlyQAndLucy, true, -1);
|
||||
}
|
||||
} else if (region == 1) {
|
||||
Actor_Voice_Over(4040, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueLucy)) {
|
||||
} 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, 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, true, -1);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueScorpionbox, true, -1);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
case 3:
|
||||
if (region == 9) {
|
||||
Actor_Voice_Over(4230, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueClovisflowers)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueClovisflowers, true, -1);
|
||||
}
|
||||
return true;
|
||||
} if (region == 10) {
|
||||
Actor_Voice_Over(4040, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueLucyWithDektora)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLucyWithDektora, true, -1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
case 4:
|
||||
if (region == 11) {
|
||||
Actor_Voice_Over(4090, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueWomanInAnimoidRow)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
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, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
case 5:
|
||||
if (region == 13) {
|
||||
Actor_Says(kActorMcCoy, 8830, 3);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueStrangeScale2)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueStrangeScale2, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
case 6:
|
||||
if (region == 14) {
|
||||
Actor_Says(kActorMcCoy, 6975, 3);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityCamera)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
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, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
case 7:
|
||||
if (region == 16) {
|
||||
Actor_Voice_Over(4080, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueIzo)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
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, true, -1);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
case 8:
|
||||
switch (region) {
|
||||
case 18:
|
||||
Actor_Says(kActorMcCoy, 8775, 3);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueKingstonKitchenBox2)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueKingstonKitchenBox2, true, -1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 19:
|
||||
Actor_Voice_Over(4160, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueDogCollar2)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueDogCollar2, true, -1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 20:
|
||||
Actor_Voice_Over(2140, kActorVoiceOver);
|
||||
Actor_Voice_Over(2150, kActorVoiceOver);
|
||||
Actor_Voice_Over(2160, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueBombingSuspect)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueBombingSuspect, true, -1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 21:
|
||||
Actor_Says(kActorMcCoy, 8890, 3);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kCluePlasticExplosive)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePlasticExplosive, true, -1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
|
||||
case 9:
|
||||
switch (region) {
|
||||
case 22:
|
||||
Actor_Says(kActorMcCoy, 8705, 3);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueMoonbusReflection)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMoonbusReflection, true, -1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 23:
|
||||
Actor_Voice_Over(4240, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueMcCoyAtMoonbus)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMcCoyAtMoonbus, true, -1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 24:
|
||||
Actor_Voice_Over(4220, kActorVoiceOver);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueClovisAtMoonbus)) {
|
||||
Actor_Says(kActorMcCoy, 6945, 3);
|
||||
Sound_Play(417, 50, 0, 0, 50);
|
||||
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, true, -1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -110,7 +110,7 @@ void InitScript::Init_Game_Flags() {
|
|||
Global_Variable_Set(40, 3);
|
||||
}
|
||||
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
}
|
||||
|
||||
|
|
|
@ -143,7 +143,7 @@ bool SceneScriptAR01::ClickedOnActor(int actorId) {
|
|||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -120.73f, 0.0f, 219.17f, 12, 1, false, 0)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorFishDealer, true);
|
||||
Actor_Face_Actor(kActorFishDealer, kActorMcCoy, true);
|
||||
if (!Game_Flag_Query(kFlagFishDealerTalk)) {
|
||||
if (!Game_Flag_Query(kFlagAR01FishDealerTalk)) {
|
||||
Actor_Says(kActorMcCoy, 0, 18);
|
||||
Actor_Says(kActorFishDealer, 0, 14);
|
||||
Actor_Says(kActorFishDealer, 10, 14);
|
||||
|
@ -159,7 +159,7 @@ bool SceneScriptAR01::ClickedOnActor(int actorId) {
|
|||
Actor_Says(kActorFishDealer, 80, 14);
|
||||
Actor_Says(kActorFishDealer, 90, 14);
|
||||
Actor_Says(kActorMcCoy, 25, 13);
|
||||
Game_Flag_Set(kFlagFishDealerTalk);
|
||||
Game_Flag_Set(kFlagAR01FishDealerTalk);
|
||||
Actor_Set_Goal_Number(kActorFishDealer, 1);
|
||||
} else {
|
||||
if ( Actor_Clue_Query(kActorMcCoy, kClueStrangeScale1)
|
||||
|
@ -202,8 +202,8 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {
|
|||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -477.0, 0.0, -149.0, 0, false, false, 0);
|
||||
Game_Flag_Set(kFlagAR01toHC01);
|
||||
Game_Flag_Set(464);
|
||||
Game_Flag_Reset(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtHCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Set(kFlagMcCoyInHawkersCircle);
|
||||
Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC01);
|
||||
Actor_Set_Goal_Number(kActorFishDealer, 3);
|
||||
}
|
||||
|
@ -251,83 +251,83 @@ bool SceneScriptAR01::ClickedOnExit(int exitId) {
|
|||
Actor_Voice_Over(4350, kActorVoiceOver);
|
||||
Game_Flag_Set(kFlagDNARowAvailableTalk);
|
||||
}
|
||||
Game_Flag_Reset(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
|
||||
|
||||
int spinnerDest = Spinner_Interface_Choose_Dest(kAR01LoopDoorAnim, false);
|
||||
Actor_Face_Heading(kActorMcCoy, 545, false);
|
||||
|
||||
switch (spinnerDest) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtPS01);
|
||||
Set_Enter(kSetPS01, kScenePS01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationMcCoysApartment:
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtMA01);
|
||||
Set_Enter(kSetMA01, kSceneMA01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationRuncitersAnimals:
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
Set_Enter(kSetRC01, kSceneRC01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationChinatown:
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Set(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtCT01);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationTyrellBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtTB02);
|
||||
Set_Enter(kSetTB02_TB03, kSceneTB02);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationDNARow:
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtDR01);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationBradburyBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtBB01);
|
||||
Set_Enter(kSetBB01, kSceneBB01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationNightclubRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInNightclubRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
case kSpinnerDestinationHysteriaHall:
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Set(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagSpinnerAtAR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtHF01);
|
||||
Set_Enter(kSetHF01, kSceneHF01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kAR01LoopOutshoot, true);
|
||||
break;
|
||||
default:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(kFlagMcCoyInAnimoidRow);
|
||||
Actor_Set_Invisible(kActorMcCoy, false);
|
||||
break;
|
||||
}
|
||||
|
@ -389,7 +389,7 @@ void SceneScriptAR01::PlayerWalkedOut() {
|
|||
Actor_Set_Invisible(kActorMcCoy, false);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
if (!Game_Flag_Query(kFlagMcCoyAtHCxx)) {
|
||||
if (!Game_Flag_Query(kFlagMcCoyInHawkersCircle)) {
|
||||
Music_Stop(2);
|
||||
}
|
||||
if (!Game_Flag_Query(kFlagAR01toHC01)
|
||||
|
|
|
@ -79,11 +79,11 @@ void SceneScriptAR02::InitializeScene() {
|
|||
|
||||
void SceneScriptAR02::SceneLoaded() {
|
||||
Obstacle_Object("DF_BOOTH", true);
|
||||
if (!Game_Flag_Query(374)) {
|
||||
if (!Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
|
||||
Item_Add_To_World(kItemScrorpions, 976, kSetAR01_AR02, -442.84f, 36.77f, -1144.51f, 360, 36, 36, false, true, false, true);
|
||||
}
|
||||
if ( Global_Variable_Query(kVariableChapter) == 4
|
||||
&& !Game_Flag_Query(374)
|
||||
&& !Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)
|
||||
) {
|
||||
Game_Flag_Set(kFlagNotUsed0);
|
||||
Item_Remove_From_World(kItemScrorpions);
|
||||
|
@ -104,10 +104,10 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {
|
|||
Actor_Face_Actor(kActorMcCoy, kActorInsectDealer, true);
|
||||
Actor_Face_Actor(kActorInsectDealer, kActorMcCoy, true);
|
||||
if (Global_Variable_Query(kVariableChapter) == 2) {
|
||||
if ( Game_Flag_Query(kFlagInsectDealerInterviewed)
|
||||
&& !Game_Flag_Query(kFlagInsectDealerTalk)
|
||||
if ( Game_Flag_Query(kFlagAR02InsectDealerInterviewed)
|
||||
&& !Game_Flag_Query(kFlagAR02InsectDealerTalk)
|
||||
) {
|
||||
Game_Flag_Set(kFlagInsectDealerTalk);
|
||||
Game_Flag_Set(kFlagAR02InsectDealerTalk);
|
||||
Player_Loses_Control();
|
||||
ADQ_Flush();
|
||||
ADQ_Add(kActorInsectDealer, 210, 14);
|
||||
|
@ -121,7 +121,7 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {
|
|||
Actor_Says(kActorInsectDealer, 250, 14);
|
||||
Player_Gains_Control();
|
||||
dialogueWithInsectDealer2();
|
||||
} else if (Game_Flag_Query(kFlagInsectDealerInterviewed)) {
|
||||
} else if (Game_Flag_Query(kFlagAR02InsectDealerInterviewed)) {
|
||||
Actor_Says(kActorMcCoy, 75, 18);
|
||||
Actor_Says(kActorInsectDealer, 60, 12);
|
||||
Actor_Says(kActorInsectDealer, 70, 14);
|
||||
|
@ -138,7 +138,7 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {
|
|||
Actor_Says(kActorMcCoy, 210, 15);
|
||||
Actor_Says(kActorInsectDealer, 310, 12);
|
||||
Actor_Says(kActorMcCoy, 215, 13);
|
||||
if (Game_Flag_Query(374)) {
|
||||
if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
|
||||
Actor_Says(kActorMcCoy, 220, 14);
|
||||
Actor_Says(kActorInsectDealer, 320, 12);
|
||||
Actor_Says(kActorMcCoy, 225, 13);
|
||||
|
@ -167,10 +167,10 @@ bool SceneScriptAR02::ClickedOnActor(int actorId) {
|
|||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -240.79f, 0.0f, -1328.89f, 12, true, false, 0)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorHasan, true);
|
||||
Actor_Face_Actor(kActorHasan, kActorMcCoy, true);
|
||||
if (!Game_Flag_Query(kFlagHassanTalk)) {
|
||||
if (!Game_Flag_Query(kFlagAR02HassanTalk)) {
|
||||
Actor_Says(kActorHasan, 0, 14);
|
||||
Actor_Says(kActorMcCoy, 140, 18);
|
||||
Game_Flag_Set(kFlagHassanTalk);
|
||||
Game_Flag_Set(kFlagAR02HassanTalk);
|
||||
return true;
|
||||
}
|
||||
dialogueWithHassan();
|
||||
|
@ -183,22 +183,22 @@ bool SceneScriptAR02::ClickedOnItem(int itemId, bool a2) {
|
|||
if (itemId == kItemScrorpions) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -386.96f, 0.0f, -1078.45f, 12, true, false, 0)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorInsectDealer, true);
|
||||
if (!Game_Flag_Query(kFlagScorpionsChecked)) {
|
||||
if (!Game_Flag_Query(kFlagAR02ScorpionsChecked)) {
|
||||
Actor_Says(kActorInsectDealer, 0, 14);
|
||||
Actor_Says(kActorMcCoy, 55, 18);
|
||||
Actor_Says(kActorInsectDealer, 10, 14);
|
||||
Actor_Says(kActorMcCoy, 60, 18);
|
||||
Actor_Says(kActorInsectDealer, 20, 14);
|
||||
Game_Flag_Set(kFlagScorpionsChecked);
|
||||
} else if ( Game_Flag_Query(kFlagScorpionsChecked)
|
||||
&& !Game_Flag_Query(kFlagStungByScorpion)
|
||||
Game_Flag_Set(kFlagAR02ScorpionsChecked);
|
||||
} else if ( Game_Flag_Query(kFlagAR02ScorpionsChecked)
|
||||
&& !Game_Flag_Query(kFlagAR02StungByScorpion)
|
||||
) {
|
||||
Actor_Says(kActorMcCoy, 65, 21);
|
||||
Actor_Says(kActorInsectDealer, 30, 14);
|
||||
Actor_Says(kActorInsectDealer, 40, 14);
|
||||
Actor_Says(kActorMcCoy, 70, 18);
|
||||
Actor_Says(kActorInsectDealer, 50, 14);
|
||||
Game_Flag_Set(kFlagStungByScorpion);
|
||||
Game_Flag_Set(kFlagAR02StungByScorpion);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 8527, 14);
|
||||
}
|
||||
|
@ -222,8 +222,8 @@ bool SceneScriptAR02::ClickedOnExit(int exitId) {
|
|||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -465.0f, 0.0f, -799.0f, 0, 1, false, 0)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -560.0f, 0.0f, -799.0f, 0, 0, false, 0);
|
||||
Game_Flag_Set(kFlagAR02toRC03);
|
||||
Game_Flag_Reset(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Music_Stop(3);
|
||||
Set_Enter(kSetRC03, kSceneRC03);
|
||||
}
|
||||
|
@ -302,7 +302,7 @@ void SceneScriptAR02::dialogueWithInsectDealer1() {
|
|||
Actor_Says(kActorInsectDealer, 170, 14);
|
||||
Actor_Says(kActorMcCoy, 100, 16);
|
||||
Actor_Says(kActorInsectDealer, 180, 13);
|
||||
Game_Flag_Set(kFlagInsectDealerInterviewed);
|
||||
Game_Flag_Set(kFlagAR02InsectDealerInterviewed);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePeruvianLadyInterview, true, kActorInsectDealer);
|
||||
break;
|
||||
|
||||
|
|
|
@ -32,11 +32,13 @@ void SceneScriptBB01::InitializeScene() {
|
|||
} else {
|
||||
Setup_Scene_Information(43.0f, 0.0f, 1058.0f, 0);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 0, 0, 72, 299, 3);
|
||||
Scene_Exit_Add_2D_Exit(1, 151, 218, 322, 290, 3);
|
||||
if (Game_Flag_Query(kFlagSpinnerAtBB01)) {
|
||||
Scene_Exit_Add_2D_Exit(2, 0, 311, 312, 479, 2);
|
||||
}
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound( 54, 50, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(105, 25, -100, 0);
|
||||
Ambient_Sounds_Add_Sound( 82, 5, 60, 40, 60, -100, 100, -101, -101, 0, 0);
|
||||
|
@ -51,6 +53,7 @@ void SceneScriptBB01::InitializeScene() {
|
|||
Ambient_Sounds_Add_Speech_Sound(60, 20, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
|
||||
Ambient_Sounds_Add_Speech_Sound(60, 40, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
|
||||
Ambient_Sounds_Add_Speech_Sound(60, 50, 10, 260, 17, 24, -100, 100, -101, -101, 1, 1);
|
||||
|
||||
if (Game_Flag_Query(kFlagSpinnerAtBB01)
|
||||
&& !Game_Flag_Query(kFlagDR02toBB01)
|
||||
&& !Game_Flag_Query(kFlagBB02toBB01)
|
||||
|
@ -95,12 +98,13 @@ bool SceneScriptBB01::ClickedOnExit(int exitId) {
|
|||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -140.0f, 9.0f, 818.0f, 0, true, false, 0);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -233.0f, 9.0f, 846.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagBB01toDR02);
|
||||
Game_Flag_Reset(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Set(kFlagMcCoyInDNARow);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR02);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -125.39f, 9.0f, 372.45f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagBB01toBB02);
|
||||
|
@ -108,80 +112,81 @@ bool SceneScriptBB01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 43.0f, 0.0f, 1062.0f, 0, false, false, 0)) {
|
||||
Game_Flag_Reset(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
|
||||
int spinnerDest = Spinner_Interface_Choose_Dest(3, false);
|
||||
switch (spinnerDest) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagSpinnerAtBB01);
|
||||
Game_Flag_Set(kFlagSpinnerAtPS01);
|
||||
Set_Enter(kSetPS01, kScenePS01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationMcCoysApartment:
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagSpinnerAtBB01);
|
||||
Game_Flag_Set(kFlagSpinnerAtMA01);
|
||||
Set_Enter(kSetMA01, kSceneMA01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationRuncitersAnimals:
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagSpinnerAtBB01);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
Set_Enter(kSetRC01, kSceneRC01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationChinatown:
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Set(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagSpinnerAtBB01);
|
||||
Game_Flag_Set(kFlagSpinnerAtCT01);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationAnimoidRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtBB01);
|
||||
Game_Flag_Set(kFlagSpinnerAtAR01);
|
||||
Set_Enter(kSetAR01_AR02, kSceneAR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationTyrellBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtBB01);
|
||||
Game_Flag_Set(kFlagSpinnerAtTB02);
|
||||
Set_Enter(kSetTB02_TB03, kSceneTB02);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationDNARow:
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtBB01);
|
||||
Game_Flag_Set(kFlagSpinnerAtDR01);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationNightclubRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInNightclubRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtBB01);
|
||||
Game_Flag_Set(kFlagSpinnerAtNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationHysteriaHall:
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Set(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagSpinnerAtBB01);
|
||||
Game_Flag_Set(kFlagSpinnerAtHF01);
|
||||
Set_Enter(kSetHF01, kSceneHF01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
default:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeOnce, 3, true);
|
||||
break;
|
||||
}
|
||||
|
@ -199,10 +204,14 @@ void SceneScriptBB01::SceneFrameAdvanced(int frame) {
|
|||
if (frame == 193) {
|
||||
Sound_Play(118, 40, 0, 0, 50);
|
||||
}
|
||||
if (frame == 241 || frame == 363) {
|
||||
if (frame == 241
|
||||
|| frame == 363
|
||||
) {
|
||||
Sound_Play(116, 100, -50, -50, 50);
|
||||
}
|
||||
if (frame == 286 || frame == 407) {
|
||||
if (frame == 286
|
||||
|| frame == 407
|
||||
) {
|
||||
Sound_Play(119, 100, -50, -50, 50);
|
||||
}
|
||||
if (frame == 433) {
|
||||
|
|
|
@ -24,19 +24,28 @@
|
|||
|
||||
namespace BladeRunner {
|
||||
|
||||
enum kBB02Loops {
|
||||
kBB02LoopElevatorComingDown = 0,
|
||||
kBB02LoopMainElevatorDown = 1,
|
||||
kBB02LoopElevatorGoingUp = 3,
|
||||
kBB02LoopMainElevatorUp = 4
|
||||
};
|
||||
|
||||
void SceneScriptBB02::InitializeScene() {
|
||||
if (Game_Flag_Query(kFlagBB03toBB02)) {
|
||||
Setup_Scene_Information(179.0f, -415.06f, 274.0f, 904);
|
||||
} else if (Game_Flag_Query(333)) {
|
||||
} else if (Game_Flag_Query(kFlagBB04toBB02)) {
|
||||
Setup_Scene_Information(-12.0f, -415.06f, -27.0f, 264);
|
||||
Scene_Loop_Start_Special(0, 0, 0);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kBB02LoopElevatorComingDown, false);
|
||||
} else {
|
||||
Setup_Scene_Information(98.0f, -415.06f, -593.0f, 530);
|
||||
Game_Flag_Reset(kFlagBB01toBB02);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 313, 137, 353, 173, 0);
|
||||
Scene_Exit_Add_2D_Exit(1, 207, 291, 275, 443, 3);
|
||||
Scene_Exit_Add_2D_Exit(2, 303, 422, 639, 479, 2);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound( 54, 20, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(103, 40, 0, 1);
|
||||
Ambient_Sounds_Add_Sound(443, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
|
||||
|
@ -54,14 +63,15 @@ void SceneScriptBB02::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound( 72, 5, 80, 14, 16, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound( 73, 5, 80, 14, 16, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound( 74, 5, 80, 14, 16, -100, 100, -101, -101, 0, 0);
|
||||
if (!Game_Flag_Query(494)) {
|
||||
Game_Flag_Set(493);
|
||||
Game_Flag_Set(494);
|
||||
|
||||
if (!Game_Flag_Query(kFlagBB02Entered)) {
|
||||
Game_Flag_Set(kFlagBB02ElevatorDown);
|
||||
Game_Flag_Set(kFlagBB02Entered);
|
||||
}
|
||||
if (Game_Flag_Query(493)) {
|
||||
Scene_Loop_Set_Default(1);
|
||||
if (Game_Flag_Query(kFlagBB02ElevatorDown)) {
|
||||
Scene_Loop_Set_Default(kBB02LoopMainElevatorDown);
|
||||
} else {
|
||||
Scene_Loop_Set_Default(4);
|
||||
Scene_Loop_Set_Default(kBB02LoopMainElevatorUp);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -96,24 +106,26 @@ bool SceneScriptBB02::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, -415.06f, -27.0f, 0, 1, false, 0)) {
|
||||
Player_Loses_Control();
|
||||
if (!Game_Flag_Query(493)) {
|
||||
Scene_Loop_Start_Special(kSceneLoopModeOnce, 0, true);
|
||||
if (!Game_Flag_Query(kFlagBB02ElevatorDown)) {
|
||||
Scene_Loop_Start_Special(kSceneLoopModeOnce, kBB02LoopElevatorComingDown, true);
|
||||
}
|
||||
Game_Flag_Set(332);
|
||||
Game_Flag_Reset(493);
|
||||
Game_Flag_Set(kFlagBB02toBB04);
|
||||
Game_Flag_Reset(kFlagBB02ElevatorDown);
|
||||
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB04);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, false);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kBB02LoopElevatorGoingUp, false);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
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(kFlagBB02toBB03);
|
||||
Game_Flag_Reset(493);
|
||||
Game_Flag_Reset(kFlagBB02ElevatorDown);
|
||||
Set_Enter(kSetBB03, kSceneBB03);
|
||||
}
|
||||
return true;
|
||||
|
@ -141,10 +153,10 @@ void SceneScriptBB02::PlayerWalkedIn() {
|
|||
if (Game_Flag_Query(kFlagBB03toBB02)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 86.0f, -415.06f, 174.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(kFlagBB03toBB02);
|
||||
} else if (Game_Flag_Query(333)) {
|
||||
} else if (Game_Flag_Query(kFlagBB04toBB02)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 35.0f, -415.06f, -27.0f, 0, 0, false, 0);
|
||||
Player_Gains_Control();
|
||||
Game_Flag_Reset(333);
|
||||
Game_Flag_Reset(kFlagBB04toBB02);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -33,9 +33,11 @@ void SceneScriptBB03::InitializeScene() {
|
|||
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);
|
||||
Scene_Exit_Add_2D_Exit(1, 167, 372, 439, 479, 2);
|
||||
Scene_Exit_Add_2D_Exit(2, 451, 115, 547, 320, 1);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound( 54, 20, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(103, 40, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(105, 34, 100, 1);
|
||||
|
@ -84,8 +86,8 @@ bool SceneScriptBB03::ClickedOnItem(int itemId, bool a2) {
|
|||
|
||||
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);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, -64.0f, 0, true, false, 0)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 176.0f, 60.16f, 0.0f, 0, false, false, 0);
|
||||
Game_Flag_Set(kFlagBB03toBB04);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
|
@ -93,8 +95,9 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 20.0f, 60.16f, 0.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 20.0f, 60.16f, 0.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagBB03toBB02);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
|
@ -102,19 +105,20 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 204.0f, 60.16f, -164.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 204.0f, 60.16f, -164.0f, 0, true, false, 0)) {
|
||||
if (Global_Variable_Query(kVariableChapter) < 4) {
|
||||
if (Actor_Query_Goal_Number(kActorSebastian) == 200) {
|
||||
Actor_Says(kActorSebastian, 70, 3);
|
||||
Actor_Says(kActorSebastian, 70, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 7010, 13);
|
||||
Actor_Says(kActorSebastian, 80, 3);
|
||||
Actor_Says(kActorSebastian, 80, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 7015, 12);
|
||||
Actor_Says(kActorSebastian, 90, 3);
|
||||
Actor_Says(kActorSebastian, 90, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 7020, 14);
|
||||
Actor_Says(kActorSebastian, 100, 3);
|
||||
Actor_Says(kActorSebastian, 100, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 7025, 15);
|
||||
Actor_Says(kActorSebastian, 110, 3);
|
||||
Actor_Says(kActorSebastian, 110, kAnimationModeTalk);
|
||||
Actor_Set_Targetable(kActorBryant, false);
|
||||
Actor_Set_Targetable(kActorGeneralDoll, false);
|
||||
}
|
||||
|
@ -123,7 +127,7 @@ bool SceneScriptBB03::ClickedOnExit(int exitId) {
|
|||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Set_Enter(kSetBB05, kSceneBB05);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 8522, 3);
|
||||
Actor_Says(kActorMcCoy, 8522, kAnimationModeTalk);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -31,8 +31,10 @@ void SceneScriptBB04::InitializeScene() {
|
|||
} else {
|
||||
Setup_Scene_Information(-15.0f, -25.17f, 45.0f, 691);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 218, 102, 360, 254, 1);
|
||||
Scene_Exit_Add_2D_Exit(1, 0, 334, 639, 479, 2);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound( 54, 20, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(103, 40, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(105, 44, -100, 1);
|
||||
|
@ -80,19 +82,20 @@ bool SceneScriptBB04::ClickedOnItem(int itemId, bool a2) {
|
|||
|
||||
bool SceneScriptBB04::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, -26.6f, 45.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, -26.6f, 45.0f, 0, true, false, 0)) {
|
||||
Player_Loses_Control();
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -15.0f, -25.17f, 45.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -15.0f, -25.17f, 45.0f, 0, false, false, 0);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(333);
|
||||
Game_Flag_Set(kFlagBB04toBB02);
|
||||
Game_Flag_Set(493);
|
||||
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB02);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -107.0f, -26.6f, 397.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -107.0f, -26.6f, 397.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagBB04toBB03);
|
||||
|
@ -114,10 +117,10 @@ void SceneScriptBB04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptBB04::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(332)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, -26.6f, 45.0f, 0, 0, false, 0);
|
||||
if (Game_Flag_Query(kFlagBB02toBB04)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, -26.6f, 45.0f, 0, false, false, 0);
|
||||
Player_Gains_Control();
|
||||
Game_Flag_Reset(332);
|
||||
Game_Flag_Reset(kFlagBB02toBB04);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -34,10 +34,12 @@ void SceneScriptBB05::InitializeScene() {
|
|||
} else {
|
||||
Setup_Scene_Information(-212.0f, -60.31f, 131.0f, 0);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 92, 125, 187, 317, 3);
|
||||
Scene_Exit_Add_2D_Exit(1, 0, 0, 30, 479, 3);
|
||||
Scene_Exit_Add_2D_Exit(2, 589, 0, 639, 479, 1);
|
||||
Scene_Exit_Add_2D_Exit(3, 481, 113, 573, 307, 0);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound( 54, 12, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(103, 28, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(105, 14, 0, 1);
|
||||
|
@ -57,8 +59,9 @@ void SceneScriptBB05::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound( 72, 5, 80, 14, 14, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound( 73, 5, 80, 14, 14, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound( 74, 5, 80, 14, 14, -100, 100, -101, -101, 0, 0);
|
||||
|
||||
if (!Game_Flag_Query(495)) {
|
||||
Overlay_Play("BB05OVER", 0, 0, 0, 0);
|
||||
Overlay_Play("BB05OVER", 0, false, false, 0);
|
||||
Game_Flag_Set(495);
|
||||
}
|
||||
}
|
||||
|
@ -97,7 +100,7 @@ bool SceneScriptBB05::ClickedOnItem(int itemId, bool a2) {
|
|||
|
||||
bool SceneScriptBB05::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -212.0f, -60.31f, 131.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -212.0f, -60.31f, 131.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagBB05toBB03);
|
||||
|
@ -105,8 +108,9 @@ bool SceneScriptBB05::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, -60.31f, 331.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, -60.31f, 331.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagBB05toBB06);
|
||||
|
@ -114,8 +118,9 @@ bool SceneScriptBB05::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 271.0f, -60.31f, 203.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 271.0f, -60.31f, 203.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagBB05toBB07);
|
||||
|
@ -123,8 +128,9 @@ bool SceneScriptBB05::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 3) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 151.0f, -60.34f, -108.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 151.0f, -60.34f, -108.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagBB05toBB12);
|
||||
|
@ -147,18 +153,19 @@ void SceneScriptBB05::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
|
||||
void SceneScriptBB05::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(kFlagBB06toBB05)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, -60.31f, 303.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 95.0f, -60.31f, 303.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagBB06toBB05);
|
||||
} else if (Game_Flag_Query(kFlagBB07toBB05)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 231.0f, -60.31f, 203.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 231.0f, -60.31f, 203.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagBB07toBB05);
|
||||
} else if (Game_Flag_Query(kFlagBB12toBB05)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 111.0f, -60.31f, -24.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 111.0f, -60.31f, -24.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagBB12toBB05);
|
||||
} else {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, -60.31f, 131.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -76.0f, -60.31f, 131.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagBB03toBB05);
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorSebastian) == 200) {
|
||||
Actor_Face_Actor(kActorSebastian, kActorMcCoy, true);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorSebastian, true);
|
||||
|
@ -182,12 +189,12 @@ void SceneScriptBB05::PlayerWalkedIn() {
|
|||
} else {
|
||||
Actor_Put_In_Set(kActorGeneralDoll, kSetBB05);
|
||||
Actor_Set_At_Waypoint(kActorGeneralDoll, 134, 0);
|
||||
Loop_Actor_Walk_To_Waypoint(kActorGeneralDoll, 135, 0, 0, false);
|
||||
Actor_Says(kActorGeneralDoll, 0, 3);
|
||||
Loop_Actor_Walk_To_Waypoint(kActorGeneralDoll, 135, 0, false, false);
|
||||
Actor_Says(kActorGeneralDoll, 0, kAnimationModeTalk);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorGeneralDoll, true);
|
||||
Actor_Face_Actor(kActorSebastian, kActorGeneralDoll, true);
|
||||
Actor_Says(kActorSebastian, 220, 13);
|
||||
Loop_Actor_Walk_To_Waypoint(kActorGeneralDoll, 134, 0, 0, false);
|
||||
Loop_Actor_Walk_To_Waypoint(kActorGeneralDoll, 134, 0, false, false);
|
||||
Actor_Face_Actor(kActorSebastian, kActorMcCoy, true);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorSebastian, true);
|
||||
Actor_Says(kActorSebastian, 230, 15);
|
||||
|
|
|
@ -25,19 +25,21 @@
|
|||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptBB06::InitializeScene() {
|
||||
if (Game_Flag_Query(394)) {
|
||||
if (Game_Flag_Query(kFlagBB51toBB06a)) {
|
||||
Setup_Scene_Information( 76.0f, 0.0f, 79.0f, 622);
|
||||
} else if (Game_Flag_Query(395)) {
|
||||
} else if (Game_Flag_Query(kFlagBB51toBB06b)) {
|
||||
Setup_Scene_Information( 55.0f, 0.0f, -96.0f, 761);
|
||||
} else if (Game_Flag_Query(362)) {
|
||||
} else if (Game_Flag_Query(kFlagBB07toBB06)) {
|
||||
Setup_Scene_Information(-115.0f, 0.0f, -103.0f, 375);
|
||||
Game_Flag_Reset(362);
|
||||
Game_Flag_Reset(kFlagBB07toBB06);
|
||||
} else {
|
||||
Setup_Scene_Information(-37.0f, 0.0f, 178.0f, 0);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 0, 43, 14, 478, 3);
|
||||
Scene_Exit_Add_2D_Exit(1, 425, 0, 639, 361, 0);
|
||||
Scene_Exit_Add_2D_Exit(3, 195, 164, 239, 280, 3);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(103, 28, 0, 1);
|
||||
Ambient_Sounds_Add_Sound(303, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(304, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
|
||||
|
@ -51,23 +53,26 @@ void SceneScriptBB06::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound(308, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(309, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(310, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
|
||||
if (Game_Flag_Query(394) || Game_Flag_Query(395)) {
|
||||
Scene_Loop_Start_Special(0, 0, 0);
|
||||
|
||||
if (Game_Flag_Query(kFlagBB51toBB06a)
|
||||
|| Game_Flag_Query(kFlagBB51toBB06b)
|
||||
) {
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
|
||||
Scene_Loop_Set_Default(1);
|
||||
Game_Flag_Reset(394);
|
||||
Game_Flag_Reset(395);
|
||||
Game_Flag_Reset(kFlagBB51toBB06a);
|
||||
Game_Flag_Reset(kFlagBB51toBB06b);
|
||||
} else {
|
||||
Scene_Loop_Set_Default(1);
|
||||
}
|
||||
if (Game_Flag_Query(410)) {
|
||||
Overlay_Play("BB06OVER", 1, 1, 0, 0);
|
||||
Overlay_Play("BB06OVER", 1, true, false, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void SceneScriptBB06::SceneLoaded() {
|
||||
Obstacle_Object("V2CHESSTBL01", true);
|
||||
Clickable_Object("BOX31");
|
||||
Item_Add_To_World(77, 931, 2, -127.0f, 68.42f, 57.0f, 0, 8, 8, true, true, false, true);
|
||||
Item_Add_To_World(77, 931, kSetBB02_BB04_BB06_BB51, -127.0f, 68.42f, 57.0f, 0, 8, 8, true, true, false, true);
|
||||
}
|
||||
|
||||
bool SceneScriptBB06::MouseClick(int x, int y) {
|
||||
|
@ -96,7 +101,7 @@ bool SceneScriptBB06::ClickedOnActor(int actorId) {
|
|||
bool SceneScriptBB06::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == 77) {
|
||||
if (Player_Query_Combat_Mode()) {
|
||||
Overlay_Play("BB06OVER", 1, 1, 1, 0);
|
||||
Overlay_Play("BB06OVER", 1, true, true, 0);
|
||||
Game_Flag_Set(410);
|
||||
Item_Remove_From_World(77);
|
||||
return true;
|
||||
|
@ -107,7 +112,7 @@ bool SceneScriptBB06::ClickedOnItem(int itemId, bool a2) {
|
|||
|
||||
bool SceneScriptBB06::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -37.0f, 0.0f, 178.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -37.0f, 0.0f, 178.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagBB06toBB05);
|
||||
|
@ -115,20 +120,22 @@ bool SceneScriptBB06::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 101.0f, 0.0f, -25.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 101.0f, 0.0f, -25.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(393);
|
||||
Game_Flag_Set(kFlagBB06toBB51);
|
||||
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB51);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 3) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -115.0f, 0.0f, -103.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -115.0f, 0.0f, -103.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(363);
|
||||
Game_Flag_Set(kFlagBB06toBB07);
|
||||
Set_Enter(kSetBB06_BB07, kSceneBB07);
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -25,18 +25,20 @@
|
|||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptBB07::InitializeScene() {
|
||||
if (Game_Flag_Query(365)) {
|
||||
if (Game_Flag_Query(kFlagBB12toBB07)) {
|
||||
Setup_Scene_Information(-655.0f, 252.59f, -1136.0f, 323);
|
||||
} else if (Game_Flag_Query(363)) {
|
||||
} else if (Game_Flag_Query(kFlagBB06toBB07)) {
|
||||
Setup_Scene_Information(-551.0f, 252.59f, -1004.0f, 29);
|
||||
Game_Flag_Reset(363);
|
||||
Game_Flag_Reset(kFlagBB06toBB07);
|
||||
} else {
|
||||
Setup_Scene_Information(-652.0f, 252.59f, -1018.0f, 268);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 0, 16, 51, 426, 3);
|
||||
Scene_Exit_Add_2D_Exit(1, 124, 101, 172, 305, 3);
|
||||
Scene_Exit_Add_2D_Exit(2, 282, 408, 476, 479, 2);
|
||||
Scene_2D_Region_Add(0, 308, 283, 354, 308);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(332, 44, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(331, 24, 0, 1);
|
||||
Ambient_Sounds_Add_Sound(443, 2, 180, 14, 16, -100, 100, -101, -101, 0, 0);
|
||||
|
@ -51,7 +53,8 @@ void SceneScriptBB07::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound(308, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(309, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(310, 5, 50, 17, 27, -100, 100, -101, -101, 0, 0);
|
||||
Overlay_Play("BB07OVER", 0, 1, 0, 0);
|
||||
|
||||
Overlay_Play("BB07OVER", 0, true, false, 0);
|
||||
}
|
||||
|
||||
void SceneScriptBB07::SceneLoaded() {
|
||||
|
@ -120,7 +123,7 @@ bool SceneScriptBB07::ClickedOnExit(int exitId) {
|
|||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Overlay_Remove("BB07OVER");
|
||||
Game_Flag_Set(364);
|
||||
Game_Flag_Set(kFlagBB07toBB12);
|
||||
Set_Enter(kSetBB12, kSceneBB12);
|
||||
}
|
||||
return true;
|
||||
|
@ -130,7 +133,7 @@ bool SceneScriptBB07::ClickedOnExit(int exitId) {
|
|||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Overlay_Remove("BB07OVER");
|
||||
Game_Flag_Set(362);
|
||||
Game_Flag_Set(kFlagBB07toBB06);
|
||||
Set_Enter(kSetBB06_BB07, kSceneBB06);
|
||||
}
|
||||
return true;
|
||||
|
@ -169,9 +172,9 @@ void SceneScriptBB07::PlayerWalkedIn() {
|
|||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -594.0f, 252.59f, -1018.0f, 6, 0, false, 0);
|
||||
Game_Flag_Reset(kFlagBB05toBB07);
|
||||
}
|
||||
if (Game_Flag_Query(365)) {
|
||||
if (Game_Flag_Query(kFlagBB12toBB07)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -602.0f, 252.59f, -1124.0f, 6, 0, false, 0);
|
||||
Game_Flag_Reset(365);
|
||||
Game_Flag_Reset(kFlagBB12toBB07);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptBB12::InitializeScene() {
|
||||
if (Game_Flag_Query(364)) {
|
||||
if (Game_Flag_Query(kFlagBB07toBB12)) {
|
||||
Setup_Scene_Information(138.0f, 0.0f, 104.0f, 760);
|
||||
} else if (Game_Flag_Query(506)) {
|
||||
Setup_Scene_Information(-129.0f, 0.0f, 64.0f, 307);
|
||||
|
@ -92,7 +92,7 @@ bool SceneScriptBB12::ClickedOnExit(int exitId) {
|
|||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 138.0f, 0.0f, 104.0f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(365);
|
||||
Game_Flag_Set(kFlagBB12toBB07);
|
||||
Set_Enter(kSetBB07, kSceneBB07);
|
||||
}
|
||||
return true;
|
||||
|
@ -126,9 +126,9 @@ void SceneScriptBB12::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptBB12::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(364)) {
|
||||
if (Game_Flag_Query(kFlagBB07toBB12)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 114.0f, 0.0f, 104.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(364);
|
||||
Game_Flag_Reset(kFlagBB07toBB12);
|
||||
} else if (Game_Flag_Query(506)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -101.0f, 0.0f, 64.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(506);
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace BladeRunner {
|
|||
|
||||
void SceneScriptBB51::InitializeScene() {
|
||||
Setup_Scene_Information(101.0f, 0.0f, -25.0f, 152);
|
||||
Game_Flag_Reset(393);
|
||||
Game_Flag_Reset(kFlagBB06toBB51);
|
||||
Scene_Exit_Add_2D_Exit(0, 615, 0, 639, 479, 1);
|
||||
Scene_Exit_Add_2D_Exit(1, 0, 323, 241, 479, 2);
|
||||
Ambient_Sounds_Add_Looping_Sound(103, 28, 0, 1);
|
||||
|
@ -81,19 +81,19 @@ bool SceneScriptBB51::ClickedOnItem(int itemId, bool a2) {
|
|||
|
||||
bool SceneScriptBB51::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 76.0f, 0.0f, 79.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 76.0f, 0.0f, 79.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(394);
|
||||
Game_Flag_Set(kFlagBB51toBB06a);
|
||||
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB06);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 55.0f, 0.0f, -96.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 55.0f, 0.0f, -96.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(395);
|
||||
Game_Flag_Set(kFlagBB51toBB06b);
|
||||
Set_Enter(kSetBB02_BB04_BB06_BB51, kSceneBB06);
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -72,7 +72,7 @@ void SceneScriptCT01::InitializeScene() {
|
|||
if (Actor_Clue_Query(kActorMcCoy, kClueZubenRunsAway)) {
|
||||
Scene_Exit_Add_2D_Exit(kCT01ExitCT03, 571, 233, 639, 367, 1);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagWarehouseOpen)) {
|
||||
if (Game_Flag_Query(kFlagCT05WarehouseOpen)) {
|
||||
Scene_Exit_Add_2D_Exit(kCT01ExitCT12, 506, 400, 639, 479, 2);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagSpinnerAtCT01)) {
|
||||
|
@ -188,19 +188,17 @@ bool SceneScriptCT01::ClickedOnActor(int actorId) {
|
|||
}
|
||||
|
||||
if (actorId == kActorGordo) {
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == 0) {
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDefault) {
|
||||
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)) {
|
||||
if (!Game_Flag_Query(kFlagCT01GordoTalk)) {
|
||||
Actor_Says(kActorMcCoy, 335, 18);
|
||||
Actor_Says(kActorGordo, 20, 30);
|
||||
Game_Flag_Set(kFlagCT01McCoyTalkedToGordo);
|
||||
Game_Flag_Set(kFlagCT01GordoTalk);
|
||||
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 {
|
||||
} else if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoDefault) {
|
||||
Actor_Says(kActorMcCoy, 340, 13);
|
||||
Actor_Says(kActorMcCoy, 345, 11);
|
||||
Actor_Says(kActorGordo, 30, 30);
|
||||
|
@ -208,6 +206,8 @@ bool SceneScriptCT01::ClickedOnActor(int actorId) {
|
|||
Actor_Says(kActorGordo, 40, 30);
|
||||
Actor_Modify_Friendliness_To_Other(kActorGordo, kActorMcCoy, -5);
|
||||
Player_Loses_Control();
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 365, 14);
|
||||
}
|
||||
if (Actor_Query_Is_In_Current_Set(kActorZuben)) {
|
||||
Actor_Modify_Friendliness_To_Other(kActorZuben, kActorMcCoy, -2);
|
||||
|
@ -257,19 +257,19 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
|||
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);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -530.0f, -6.5f, 241.0f, 0, false, true, 0);
|
||||
Game_Flag_Reset(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
|
||||
int spinnerDest = Spinner_Interface_Choose_Dest(-1, false);
|
||||
|
||||
switch (spinnerDest) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtPS01);
|
||||
|
@ -277,7 +277,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
|
||||
break;
|
||||
case kSpinnerDestinationMcCoysApartment:
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtMA01);
|
||||
|
@ -285,7 +285,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
|
||||
break;
|
||||
case kSpinnerDestinationRuncitersAnimals:
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
|
@ -293,7 +293,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
|
||||
break;
|
||||
case kSpinnerDestinationAnimoidRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtAR01);
|
||||
|
@ -301,7 +301,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
|
||||
break;
|
||||
case kSpinnerDestinationTyrellBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtTB02);
|
||||
|
@ -309,7 +309,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
|
||||
break;
|
||||
case kSpinnerDestinationDNARow:
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtDR01);
|
||||
|
@ -317,7 +317,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
|
||||
break;
|
||||
case kSpinnerDestinationBradburyBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtBB01);
|
||||
|
@ -325,7 +325,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
|
||||
break;
|
||||
case kSpinnerDestinationNightclubRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInNightclubRow);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtNR01);
|
||||
|
@ -333,7 +333,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
|
||||
break;
|
||||
case kSpinnerDestinationHysteriaHall:
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Set(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Reset(kFlagSpinnerAtCT01);
|
||||
Game_Flag_Set(kFlagSpinnerAtHF01);
|
||||
|
@ -341,7 +341,7 @@ bool SceneScriptCT01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kCT01LoopOutshot, true);
|
||||
break;
|
||||
default:
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Set(kFlagMcCoyInChinaTown);
|
||||
Player_Loses_Control();
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -530.0f, -6.5f, 241.0f, 0, false, true, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -330.0f, -6.5f, 221.0f, 0, false, true, 0);
|
||||
|
@ -433,7 +433,7 @@ void SceneScriptCT01::PlayerWalkedOut() {
|
|||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
}
|
||||
Music_Stop(5);
|
||||
if (!Game_Flag_Query(kFlagMcCoyAtCTxx) && Global_Variable_Query(kVariableChapter) == 1) {
|
||||
if (!Game_Flag_Query(kFlagMcCoyInChinaTown) && Global_Variable_Query(kVariableChapter) == 1) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Outtake_Play(kOuttakeTowards3, true, -1);
|
||||
|
@ -544,7 +544,7 @@ void SceneScriptCT01::dialogueWithHowieLee() {
|
|||
if (Query_Difficulty_Level() != 0) {
|
||||
Global_Variable_Decrement(kVariableChinyen, 10);
|
||||
}
|
||||
Game_Flag_Set(kFlagBoughtHowieLeeFood);
|
||||
Game_Flag_Set(kFlagCT01BoughtHowieLeeFood);
|
||||
} else {
|
||||
Actor_Says(kActorHowieLee, 130, 15);
|
||||
}
|
||||
|
|
|
@ -194,7 +194,7 @@ void SceneScriptCT02::dialogueWithZuben() {
|
|||
}
|
||||
|
||||
bool SceneScriptCT02::ClickedOnActor(int actorId) {
|
||||
if (actorId == kActorZuben && Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT01Leave) {
|
||||
if (actorId == kActorZuben && Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT01WalkToCT02) {
|
||||
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);
|
||||
|
|
|
@ -116,8 +116,8 @@ void SceneScriptCT03::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptCT03::PlayerWalkedIn() {
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02Flee) {
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT06Hide);
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT02RunToFreeSlotG) {
|
||||
Actor_Set_Goal_Number(kActorZuben, kGoalZubenCT06HideAtFreeSlotA);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -73,18 +73,18 @@ bool SceneScriptCT04::MouseClick(int x, int y) {
|
|||
|
||||
bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
if (objectName) { // this can be only "DUMPSTER"
|
||||
if (!Game_Flag_Query(kFlagHomelessTalkedTo)
|
||||
&& !Game_Flag_Query(kFlagMcCoyKilledHomeless)
|
||||
if (!Game_Flag_Query(kFlagCT04HomelessTalk)
|
||||
&& !Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
|
||||
&& Actor_Query_Goal_Number(kActorTransient) == kGoalTransientDefault
|
||||
) {
|
||||
Game_Flag_Set(kFlagHomelessTalkedTo);
|
||||
Game_Flag_Set(kFlagCT04HomelessTalk);
|
||||
Actor_Set_Goal_Number(kActorTransient, kGoalTransientCT04Leave);
|
||||
}
|
||||
|
||||
if ( Game_Flag_Query(kFlagMcCoyKilledHomeless)
|
||||
&& !Game_Flag_Query(kFlagHomelessBodyInDumpster)
|
||||
&& !Game_Flag_Query(kFlagHomelessBodyFound)
|
||||
&& !Game_Flag_Query(kFlagDumpsterEmptied)
|
||||
if ( Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
|
||||
&& !Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
|
||||
&& !Game_Flag_Query(kFlagCT04HomelessBodyFound)
|
||||
&& !Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)
|
||||
&& Global_Variable_Query(kVariableChapter) == 1
|
||||
) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -147.41f, -621.3f, 724.57f, 0, true, false, 0)) {
|
||||
|
@ -96,34 +96,34 @@ bool SceneScriptCT04::ClickedOn3DObject(const char *objectName, bool a2) {
|
|||
Actor_Voice_Over(320, kActorVoiceOver);
|
||||
Actor_Voice_Over(330, kActorVoiceOver);
|
||||
Actor_Voice_Over(340, kActorVoiceOver);
|
||||
Game_Flag_Set(kFlagHomelessBodyInDumpster);
|
||||
Game_Flag_Set(kFlagHomelessBodyInDumpsterNotChecked);
|
||||
Game_Flag_Set(kFlagCT04HomelessBodyInDumpster);
|
||||
Game_Flag_Set(kFlagCT04HomelessBodyInDumpsterNotChecked);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Game_Flag_Query(kFlagHomelessBodyInDumpster)) {
|
||||
if (Game_Flag_Query(kFlagDumpsterEmptied)) {
|
||||
if (Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)) {
|
||||
if (Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)) {
|
||||
Actor_Voice_Over(270, kActorVoiceOver);
|
||||
Actor_Voice_Over(280, kActorVoiceOver);
|
||||
} else if (Game_Flag_Query(kFlagHomelessBodyFound)) {
|
||||
} else if (Game_Flag_Query(kFlagCT04HomelessBodyFound)) {
|
||||
Actor_Voice_Over(250, kActorVoiceOver);
|
||||
Actor_Voice_Over(260, kActorVoiceOver);
|
||||
} else {
|
||||
Actor_Voice_Over(230, kActorVoiceOver);
|
||||
Actor_Voice_Over(240, kActorVoiceOver);
|
||||
Game_Flag_Reset(kFlagHomelessBodyInDumpsterNotChecked);
|
||||
Game_Flag_Reset(kFlagCT04HomelessBodyInDumpsterNotChecked);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!Game_Flag_Query(kFlagLicensePlaceFound)) {
|
||||
if (!Game_Flag_Query(kFlagCT04LicensePlaceFound)) {
|
||||
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, true, -1);
|
||||
Item_Pickup_Spin_Effect(952, 392, 225);
|
||||
Game_Flag_Set(kFlagLicensePlaceFound);
|
||||
Game_Flag_Set(kFlagCT04LicensePlaceFound);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -173,7 +173,7 @@ void SceneScriptCT04::dialogueWithHomeless() {
|
|||
|
||||
bool SceneScriptCT04::ClickedOnActor(int actorId) {
|
||||
if (actorId == kActorTransient) {
|
||||
if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
|
||||
if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
|
||||
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorTransient, 36, true, false)) {
|
||||
Actor_Voice_Over(290, kActorVoiceOver);
|
||||
Actor_Voice_Over(300, kActorVoiceOver);
|
||||
|
@ -183,7 +183,7 @@ bool SceneScriptCT04::ClickedOnActor(int actorId) {
|
|||
Actor_Set_Targetable(kActorTransient, false);
|
||||
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorTransient, 36, true, false)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
|
||||
if (!Game_Flag_Query(kFlagHomelessTalkedTo)) {
|
||||
if (!Game_Flag_Query(kFlagCT04HomelessTalk)) {
|
||||
if (Game_Flag_Query(kFlagZubenRetired)) {
|
||||
Actor_Says(kActorMcCoy, 435, kAnimationModeTalk);
|
||||
Actor_Set_Goal_Number(kActorTransient, kGoalTransientCT04Leave);
|
||||
|
@ -194,7 +194,7 @@ bool SceneScriptCT04::ClickedOnActor(int actorId) {
|
|||
dialogueWithHomeless();
|
||||
Actor_Set_Goal_Number(kActorTransient, kGoalTransientCT04Leave);
|
||||
}
|
||||
Game_Flag_Set(kFlagHomelessTalkedTo);
|
||||
Game_Flag_Set(kFlagCT04HomelessTalk);
|
||||
} else {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorTransient, true);
|
||||
Actor_Says(kActorMcCoy, 435, kAnimationModeTalk);
|
||||
|
@ -240,8 +240,8 @@ bool SceneScriptCT04::ClickedOn2DRegion(int region) {
|
|||
}
|
||||
|
||||
void SceneScriptCT04::SceneFrameAdvanced(int frame) {
|
||||
if (Game_Flag_Query(325)) {
|
||||
Game_Flag_Reset(325);
|
||||
if (Game_Flag_Query(kFlagCT04BodyDumped)) {
|
||||
Game_Flag_Reset(kFlagCT04BodyDumped);
|
||||
Sound_Play(180, 100, 80, 80, 50);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ void SceneScriptCT05::InitializeScene() {
|
|||
} else {
|
||||
Setup_Scene_Information(-375.0f, -109.91f, 750.0f, 600);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagWarehouseOpen)) {
|
||||
if (Game_Flag_Query(kFlagCT05WarehouseOpen)) {
|
||||
Scene_Exit_Add_2D_Exit(0, 228, 205, 293, 300, 0);
|
||||
}
|
||||
Scene_Exit_Add_2D_Exit(1, 320, 458, 639, 479, 2);
|
||||
|
@ -44,7 +44,7 @@ void SceneScriptCT05::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound( 90, 5, 20, 8, 10, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound( 91, 5, 20, 8, 10, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(205, 5, 30, 18, 30, -100, 100, -101, -101, 0, 0);
|
||||
if (Game_Flag_Query(kFlagWarehouseOpen)) {
|
||||
if (Game_Flag_Query(kFlagCT05WarehouseOpen)) {
|
||||
Scene_Loop_Set_Default(2);
|
||||
} else {
|
||||
Scene_Loop_Set_Default(0);
|
||||
|
@ -217,6 +217,7 @@ void SceneScriptCT05::PlayerWalkedIn() {
|
|||
}
|
||||
Player_Gains_Control();
|
||||
}
|
||||
|
||||
if (Game_Flag_Query(kFlagCT06toCT05)) {
|
||||
Footstep_Sound_Override_On(2);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, false, kAnimationModeIdle);
|
||||
|
@ -224,10 +225,10 @@ void SceneScriptCT05::PlayerWalkedIn() {
|
|||
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(kFlagZubenPhoto)
|
||||
if (Actor_Query_Goal_Number(kActorGordo) == kGoalGordoLeftCT01
|
||||
&& Game_Flag_Query(kFlagCT06ZubenPhoto)
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorGordo, 3);
|
||||
Actor_Set_Goal_Number(kActorGordo, kGoalGordoWalkThroughCT05);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ void SceneScriptCT06::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound(379, 50, 180, 50, 100, 0, 0, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(380, 70, 180, 50, 100, 0, 0, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(377, 60, 180, 50, 100, 0, 0, -101, -101, 0, 0);
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06Hide) {
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06HideAtFreeSlotA) {
|
||||
Ambient_Sounds_Add_Sound(196, 1, 5, 25, 25, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(197, 1, 5, 25, 25, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(198, 1, 5, 25, 25, -100, 100, -101, -101, 0, 0);
|
||||
|
@ -67,7 +67,7 @@ void SceneScriptCT06::SceneLoaded() {
|
|||
Unobstacle_Object("INSULPIP01", true);
|
||||
Unobstacle_Object("CB BOX04", true);
|
||||
Unclickable_Object("DOOR");
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06Hide) {
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06HideAtFreeSlotA) {
|
||||
Preload(3);
|
||||
Preload(4);
|
||||
Preload(389);
|
||||
|
@ -90,7 +90,7 @@ bool SceneScriptCT06::ClickedOnActor(int actorId) {
|
|||
if (actorId == kActorZuben) {
|
||||
Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorZuben, 24, true, false);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorZuben, true);
|
||||
if (!Game_Flag_Query(kFlagZubenPhoto)) {
|
||||
if (!Game_Flag_Query(kFlagCT06ZubenPhoto)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueZuben, true, -1);
|
||||
Item_Pickup_Spin_Effect(984, 340, 369);
|
||||
Actor_Voice_Over(350, kActorVoiceOver);
|
||||
|
@ -102,7 +102,7 @@ bool SceneScriptCT06::ClickedOnActor(int actorId) {
|
|||
Actor_Voice_Over(400, kActorVoiceOver);
|
||||
Actor_Voice_Over(410, kActorVoiceOver);
|
||||
}
|
||||
Game_Flag_Set(kFlagZubenPhoto);
|
||||
Game_Flag_Set(kFlagCT06ZubenPhoto);
|
||||
return true;
|
||||
}
|
||||
Actor_Says(kActorMcCoy, 8570, 13);
|
||||
|
@ -127,7 +127,7 @@ bool SceneScriptCT06::ClickedOnExit(int exitId) {
|
|||
return true;
|
||||
}
|
||||
if (exitId == 1) {
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06Hide) {
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenCT06HideAtFreeSlotA) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 203.91f, -58.02f, 0.47f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_Sound(196, true);
|
||||
Ambient_Sounds_Remove_Sound(197, true);
|
||||
|
|
|
@ -25,26 +25,29 @@
|
|||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptCT11::InitializeScene() {
|
||||
if (Game_Flag_Query(91)) {
|
||||
if (Game_Flag_Query(kFlagCT12toCT11)) {
|
||||
Setup_Scene_Information(-378.0f, 9.68f, -55.0f, 440);
|
||||
} else if (Game_Flag_Query(558)) {
|
||||
} else if (Game_Flag_Query(kFlagDR01toCT11)) {
|
||||
Setup_Scene_Information( 315.0f, 0.0f, 628.0f, 0);
|
||||
} else {
|
||||
Setup_Scene_Information( 152.0f, 9.68f, -8.0f, 0);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 257, 240, 364, 330, 1);
|
||||
Scene_Exit_Add_2D_Exit(1, 97, 0, 155, 324, 0);
|
||||
Scene_Exit_Add_2D_Exit(2, 0, 0, 20, 479, 3);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(54, 50, 0, 1);
|
||||
Ambient_Sounds_Add_Sound( 67, 5, 80, 16, 25, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound( 66, 5, 80, 16, 25, -100, 100, -101, -101, 0, 0);
|
||||
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 (Global_Variable_Query(kVariableChapter) <= 3) {
|
||||
Scene_Loop_Set_Default(0);
|
||||
} else {
|
||||
|
||||
if (Global_Variable_Query(kVariableChapter) > 3) {
|
||||
Scene_Loop_Set_Default(2);
|
||||
} else {
|
||||
Scene_Loop_Set_Default(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,25 +102,27 @@ bool SceneScriptCT11::ClickedOnItem(int itemId, bool a2) {
|
|||
|
||||
bool SceneScriptCT11::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 121.0f, 9.68f, -42.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 121.0f, 9.68f, -42.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagCT11toCT09);
|
||||
Set_Enter(kSetCT09, kSceneCT09);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -300.0f, 9.68f, 66.0f, 0, 1, false, 0)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -400.0f, 9.68f, -70.0f, 0, 1, false, 0);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -300.0f, 9.68f, 66.0f, 0, true, false, 0)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -400.0f, 9.68f, -70.0f, 0, true, false, 0);
|
||||
Game_Flag_Set(kFlagCT11toCT12);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT12);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 290.0f, 0.0f, 635.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(531);
|
||||
Game_Flag_Reset(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 290.0f, 0.0f, 635.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagCT11toDR01);
|
||||
Game_Flag_Reset(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Set(kFlagMcCoyInDNARow);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
|
||||
}
|
||||
return true;
|
||||
|
@ -127,7 +132,7 @@ bool SceneScriptCT11::ClickedOnExit(int exitId) {
|
|||
|
||||
bool SceneScriptCT11::ClickedOn2DRegion(int region) {
|
||||
if (region == 0 && Game_Flag_Query(725)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, true, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 47, false);
|
||||
Item_Remove_From_World(115);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLichenDogWrapper, false, -1);
|
||||
|
@ -141,37 +146,40 @@ bool SceneScriptCT11::ClickedOn2DRegion(int region) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (region == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 686.0f, 0.0f, 658.0f, 12, true, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 47, false);
|
||||
int temp = 0;
|
||||
int cluesFound = 0;
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueCrowdInterviewB)) {
|
||||
temp = 1;
|
||||
++cluesFound;
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kCluePaintTransfer)) {
|
||||
++temp;
|
||||
++cluesFound;
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueLabPaintTransfer)) {
|
||||
++temp;
|
||||
++cluesFound;
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueLicensePlate)) {
|
||||
temp += 2;
|
||||
cluesFound += 2;
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueCarColorAndMake)) {
|
||||
temp += 2;
|
||||
cluesFound += 2;
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kCluePartialLicenseNumber)) {
|
||||
temp += 2;
|
||||
cluesFound += 2;
|
||||
}
|
||||
if (temp <= 2 || Actor_Clue_Query(kActorMcCoy, kClueCar)) {
|
||||
Actor_Says(kActorMcCoy, 8525, 12);
|
||||
} else {
|
||||
if ( cluesFound > 2
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueCar)
|
||||
) {
|
||||
Actor_Voice_Over(510, kActorVoiceOver);
|
||||
Actor_Voice_Over(520, kActorVoiceOver);
|
||||
Actor_Voice_Over(530, kActorVoiceOver);
|
||||
Actor_Voice_Over(540, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCar, false, -1);
|
||||
Scene_2D_Region_Remove(1);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 8525, 12);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
@ -186,16 +194,16 @@ void SceneScriptCT11::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptCT11::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(91)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -358.0f, 9.68f, 32.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(91);
|
||||
} else if (Game_Flag_Query(558)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 329.0f, 0.0f, 617.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(558);
|
||||
if (Game_Flag_Query(kFlagCT12toCT11)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -358.0f, 9.68f, 32.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagCT12toCT11);
|
||||
} else if (Game_Flag_Query(kFlagDR01toCT11)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 329.0f, 0.0f, 617.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagDR01toCT11);
|
||||
} else {
|
||||
Player_Loses_Control();
|
||||
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 125.0f, 9.68f, 74.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 125.0f, 9.68f, 74.0f, 0, false, false, 0);
|
||||
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
|
||||
Player_Gains_Control();
|
||||
Game_Flag_Reset(kFlagCT09toCT11);
|
||||
|
|
|
@ -64,7 +64,7 @@ void SceneScriptCT12::InitializeScene() {
|
|||
) {
|
||||
Actor_Put_In_Set(kActorGaff, kSetCT01_CT12);
|
||||
Actor_Set_At_XYZ(kActorGaff, -534.0f, -6.5f, 952.0f, 367);
|
||||
Game_Flag_Set(kFlagGaffSpinnerCT12);
|
||||
Game_Flag_Set(kFlagCT12GaffSpinner);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagCT01toCT12)
|
||||
&& Game_Flag_Query(kFlagSpinnerAtCT01)
|
||||
|
@ -87,12 +87,12 @@ void SceneScriptCT12::InitializeScene() {
|
|||
Scene_Loop_Set_Default(2);
|
||||
Game_Flag_Reset(kFlagCT01toCT12);
|
||||
} else if (Game_Flag_Query(kFlagCT05toCT12)
|
||||
&& Game_Flag_Query(kFlagGaffSpinnerCT12)
|
||||
&& Game_Flag_Query(kFlagCT12GaffSpinner)
|
||||
) {
|
||||
Game_Flag_Reset(kFlagCT05toCT12);
|
||||
Scene_Loop_Set_Default(4);
|
||||
} else if ( Game_Flag_Query(kFlagCT05toCT12)
|
||||
&& !Game_Flag_Query(kFlagGaffSpinnerCT12)
|
||||
&& !Game_Flag_Query(kFlagCT12GaffSpinner)
|
||||
) {
|
||||
Game_Flag_Reset(kFlagCT05toCT12);
|
||||
Scene_Loop_Set_Default(2);
|
||||
|
@ -288,8 +288,8 @@ void SceneScriptCT12::PlayerWalkedIn() {
|
|||
void SceneScriptCT12::PlayerWalkedOut() {
|
||||
Game_Flag_Reset(kFlagGenericWalkerWaiting);
|
||||
if (Game_Flag_Query(kFlagCT12ToUG09)) {
|
||||
Game_Flag_Reset(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtUGxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Set(kFlagMcCoyInUnderground);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -24,24 +24,40 @@
|
|||
|
||||
namespace BladeRunner {
|
||||
|
||||
enum kDR01Loops {
|
||||
kDR01LoopInshotWithCrowd = 0,
|
||||
kDR01LoopWithCrowd = 1,
|
||||
kDR01LoopDoorAnimWithCrowd = 3,
|
||||
kDR01LoopOutshotWithCrowd = 4,
|
||||
kDR01LoopInshotNoCrowd = 5,
|
||||
kDR01LoopNoCrowd = 6,
|
||||
kDR01LoopDoorAnimNoCrowd = 8,
|
||||
kDR01LoopOutshotNoCrowd = 9,
|
||||
kDR01LoopNoCrowdNoSpinner = 10
|
||||
};
|
||||
|
||||
void SceneScriptDR01::InitializeScene() {
|
||||
if (Game_Flag_Query(kFlagDR02toDR01)) {
|
||||
Setup_Scene_Information( -835.0f, -0.04f, -118.0f, 664);
|
||||
} else if (Game_Flag_Query(kFlagDR04toDR01)) {
|
||||
Setup_Scene_Information( -711.0f, -0.04f, 70.0f, 307);
|
||||
} else if (Game_Flag_Query(531)) {
|
||||
} else if (Game_Flag_Query(kFlagCT11toDR01)) {
|
||||
Setup_Scene_Information(-1765.28f, -0.04f, -23.82f, 269);
|
||||
} else {
|
||||
Setup_Scene_Information( -386.0f, -0.04f, -82.0f, 792);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 240, 60, 450, 250, 0);
|
||||
Scene_Exit_Add_2D_Exit(1, 0, 0, 30, 479, 3);
|
||||
if (Game_Flag_Query(kFlagSpinnerAtDR01) && Global_Variable_Query(kVariableChapter) < 4) {
|
||||
if (Game_Flag_Query(kFlagSpinnerAtDR01)
|
||||
&& Global_Variable_Query(kVariableChapter) < 4
|
||||
) {
|
||||
Scene_Exit_Add_2D_Exit(2, 610, 0, 639, 479, 1);
|
||||
}
|
||||
if (Global_Variable_Query(kVariableChapter) >= 3) {
|
||||
Scene_Exit_Add_2D_Exit(3, 0, 45, 142, 201, 0);
|
||||
}
|
||||
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
|
||||
Ambient_Sounds_Add_Looping_Sound( 54, 50, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(219, 12, 85, 1);
|
||||
|
@ -55,23 +71,24 @@ 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(kFlagDR05BombExploded)
|
||||
&& Game_Flag_Query(kFlagDR04toDR01)
|
||||
) {
|
||||
Scene_Loop_Start_Special(0, 3, 0);
|
||||
Scene_Loop_Start_Special(0, 3, false);
|
||||
Scene_Loop_Set_Default(4);
|
||||
} else if (!Game_Flag_Query(kFlagDR05BombExploded)
|
||||
&& Game_Flag_Query(kFlagDR04toDR01)
|
||||
) {
|
||||
Scene_Loop_Start_Special(0, 2, 0);
|
||||
Scene_Loop_Start_Special(0, 2, false);
|
||||
Scene_Loop_Set_Default(4);
|
||||
} else if (Game_Flag_Query(kFlagDR02toDR01)) {
|
||||
Scene_Loop_Start_Special(0, 1, 0);
|
||||
Scene_Loop_Start_Special(0, 1, false);
|
||||
Scene_Loop_Set_Default(4);
|
||||
} else if (Game_Flag_Query(531)) {
|
||||
} else if (Game_Flag_Query(kFlagCT11toDR01)) {
|
||||
Scene_Loop_Set_Default(4);
|
||||
} else {
|
||||
Scene_Loop_Start_Special(0, 0, 0);
|
||||
Scene_Loop_Start_Special(0, 0, false);
|
||||
Scene_Loop_Set_Default(4);
|
||||
}
|
||||
}
|
||||
|
@ -110,7 +127,7 @@ bool SceneScriptDR01::ClickedOnItem(int itemId, bool a2) {
|
|||
|
||||
bool SceneScriptDR01::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -835.0f, -0.04f, -118.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -835.0f, -0.04f, -118.0f, 0, true, false, 0)) {
|
||||
Async_Actor_Walk_To_XYZ(kActorMcCoy, -911.0f, -0.04f, -118.0f, 0, false);
|
||||
Ambient_Sounds_Adjust_Looping_Sound(112, 10, -100, 1);
|
||||
Game_Flag_Set(kFlagDR01toDR02);
|
||||
|
@ -118,83 +135,85 @@ bool SceneScriptDR01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -711.0f, -0.04f, 70.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -711.0f, -0.04f, 70.0f, 0, true, false, 0)) {
|
||||
Async_Actor_Walk_To_XYZ(kActorMcCoy, -796.0f, -0.04f, 166.0f, 0, false);
|
||||
Game_Flag_Set(kFlagDR01toDR04);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR04);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 2) {
|
||||
if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -372.0f, -0.04f, -82.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Reset(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtBBxx);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -372.0f, -0.04f, -82.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Reset(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
|
||||
int spinnerDest = Spinner_Interface_Choose_Dest(-1, false);
|
||||
switch (spinnerDest) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagSpinnerAtDR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtPS01);
|
||||
Set_Enter(kSetPS01, kScenePS01);
|
||||
break;
|
||||
case kSpinnerDestinationMcCoysApartment:
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagSpinnerAtDR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtMA01);
|
||||
Set_Enter(kSetMA01, kSceneMA01);
|
||||
break;
|
||||
case kSpinnerDestinationRuncitersAnimals:
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagSpinnerAtDR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
Set_Enter(kSetRC01, kSceneRC01);
|
||||
break;
|
||||
case kSpinnerDestinationChinatown:
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Set(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagSpinnerAtDR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtCT01);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT01);
|
||||
break;
|
||||
case kSpinnerDestinationAnimoidRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtDR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtAR01);
|
||||
Set_Enter(kSetAR01_AR02, kSceneAR01);
|
||||
break;
|
||||
case kSpinnerDestinationTyrellBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtDR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtTB02);
|
||||
Set_Enter(kSetTB02_TB03, kSceneTB02);
|
||||
break;
|
||||
case kSpinnerDestinationBradburyBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtDR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtBB01);
|
||||
Set_Enter(kSetBB01, kSceneBB01);
|
||||
break;
|
||||
case kSpinnerDestinationNightclubRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInNightclubRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtDR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
break;
|
||||
case kSpinnerDestinationHysteriaHall:
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Set(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagSpinnerAtDR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtHF01);
|
||||
Set_Enter(kSetHF01, kSceneHF01);
|
||||
break;
|
||||
default:
|
||||
Player_Loses_Control();
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInDNARow);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -447.39f, 0.16f, -92.38f, 0, false, true, 0);
|
||||
Player_Gains_Control();
|
||||
break;
|
||||
|
@ -211,9 +230,9 @@ bool SceneScriptDR01::ClickedOnExit(int exitId) {
|
|||
v7 = Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1236.4f, -0.04f, -13.91f, 0, 1, false, 0);
|
||||
}
|
||||
if (!v7) {
|
||||
Game_Flag_Set(558);
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Set(kFlagDR01toCT11);
|
||||
Game_Flag_Set(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagMcCoyInDNARow);
|
||||
Set_Enter(kSetCT11, kSceneCT11);
|
||||
}
|
||||
return true;
|
||||
|
@ -240,7 +259,7 @@ void SceneScriptDR01::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptDR01::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(531)) {
|
||||
if (Game_Flag_Query(kFlagCT11toDR01)) {
|
||||
Async_Actor_Walk_To_XYZ(kActorMcCoy, -757.15f, -0.04f, 24.64f, 0, false);
|
||||
} else if (!Game_Flag_Query(kFlagDR02toDR01)
|
||||
&& !Game_Flag_Query(kFlagDR04toDR01)
|
||||
|
@ -251,13 +270,13 @@ void SceneScriptDR01::PlayerWalkedIn() {
|
|||
}
|
||||
Game_Flag_Reset(kFlagDR02toDR01);
|
||||
Game_Flag_Reset(kFlagDR04toDR01);
|
||||
Game_Flag_Reset(531);
|
||||
Game_Flag_Reset(kFlagCT11toDR01);
|
||||
}
|
||||
|
||||
void SceneScriptDR01::PlayerWalkedOut() {
|
||||
if (!Game_Flag_Query(kFlagDR01toDR04)
|
||||
&& !Game_Flag_Query(kFlagDR01toDR02)
|
||||
&& !Game_Flag_Query(558)
|
||||
&& !Game_Flag_Query(kFlagDR01toCT11)
|
||||
) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
|
|
|
@ -34,11 +34,13 @@ void SceneScriptDR02::InitializeScene() {
|
|||
} else {
|
||||
Setup_Scene_Information( 168.78f, 0.16f, -775.72f, 193);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 605, 0, 639, 479, 1);
|
||||
Scene_Exit_Add_2D_Exit(1, 222, 176, 279, 314, 0);
|
||||
if (Game_Flag_Query(326)) {
|
||||
if (Game_Flag_Query(kFlagBB01Available)) {
|
||||
Scene_Exit_Add_2D_Exit(2, 95, 0, 148, 292, 0);
|
||||
}
|
||||
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(0);
|
||||
Ambient_Sounds_Add_Looping_Sound(54, 50, 0, 1);
|
||||
|
@ -48,6 +50,7 @@ void SceneScriptDR02::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound(379, 2, 50, 33, 100, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(380, 2, 50, 33, 100, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound( 67, 5, 100, 16, 25, -100, 100, -101, -101, 0, 0);
|
||||
|
||||
Ambient_Sounds_Add_Sound( 66, 5, 100, 16, 25, -100, 100, -101, -101, 0, 0);
|
||||
if (Game_Flag_Query(kFlagDR01toDR02)) {
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, 0, false);
|
||||
|
@ -126,6 +129,7 @@ bool SceneScriptDR02::ClickedOnExit(int exitId) {
|
|||
Ambient_Sounds_Adjust_Looping_Sound(98, 14, -101, 1);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1162.0f, 7.18f, -322.0f, 0, true, false, 0)) {
|
||||
if (Global_Variable_Query(kVariableChapter) > 2) {
|
||||
|
@ -137,11 +141,12 @@ bool SceneScriptDR02::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1258.0f, 7.18f, -314.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagDR02toBB01);
|
||||
Game_Flag_Reset(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
|
||||
Set_Enter(kSetBB01, kSceneBB01);
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -29,8 +29,11 @@ void SceneScriptDR03::InitializeScene() {
|
|||
Game_Flag_Reset(kFlagDR02toDR03);
|
||||
Setup_Scene_Information(330.31f, 4.27f, -910.91f, 297);
|
||||
}
|
||||
|
||||
Setup_Scene_Information(330.31f, 4.27f, -910.91f, 297);
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 377, 122, 445, 266, 0);
|
||||
|
||||
if (Global_Variable_Query(kVariableChapter) == 3) {
|
||||
Actor_Put_In_Set(kActorChew, kSetDR03);
|
||||
Actor_Set_At_XYZ(kActorChew, 431.21f, 4.27f, -776.26f, 0);
|
||||
|
@ -38,6 +41,7 @@ void SceneScriptDR03::InitializeScene() {
|
|||
Actor_Put_In_Set(kActorChew, kSetDR03);
|
||||
Actor_Set_At_XYZ(kActorChew, 360.77f, 4.4f, -806.67f, 126);
|
||||
}
|
||||
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Ambient_Sounds_Add_Looping_Sound(110, 7, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(109, 50, 0, 1);
|
||||
|
@ -62,6 +66,7 @@ bool SceneScriptDR03::ClickedOnActor(int actorId) {
|
|||
if (actorId == kActorChew) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorChew, true);
|
||||
Actor_Face_Actor(kActorChew, kActorMcCoy, true);
|
||||
|
||||
if (!Game_Flag_Query(kFlagDR03ChewTalk1)) {
|
||||
Actor_Says(kActorMcCoy, 755, 18);
|
||||
Actor_Says(kActorChew, 10, 14);
|
||||
|
@ -72,31 +77,8 @@ bool SceneScriptDR03::ClickedOnActor(int actorId) {
|
|||
Game_Flag_Set(kFlagDR03ChewTalk1);
|
||||
return true;
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueChewInterview)) {
|
||||
if (Game_Flag_Query(kFlagMorajiExploded)
|
||||
&& Game_Flag_Query(kFlagDR03ChewTalk1)) {
|
||||
Actor_Says(kActorMcCoy, 815, 18);
|
||||
Actor_Says(kActorChew, 60, 14);
|
||||
Actor_Says(kActorChew, 70, 14);
|
||||
Actor_Says(kActorChew, 80, 14);
|
||||
Actor_Says(kActorMcCoy, 820, 18);
|
||||
Actor_Says(kActorChew, 90, 14);
|
||||
Actor_Says(kActorMcCoy, 825, 18);
|
||||
Actor_Says(kActorChew, 100, 14);
|
||||
Game_Flag_Reset(kFlagMorajiExploded);
|
||||
Game_Flag_Set(505);
|
||||
return true;
|
||||
}
|
||||
if ((Actor_Clue_Query(kActorMcCoy, kClueDNATyrell) || Actor_Clue_Query(kActorMcCoy, kClueAnsweringMachineMessage) || Actor_Clue_Query(kActorMcCoy, kClueEnvelope) || Actor_Clue_Query(kActorMcCoy, kClueChewInterview))
|
||||
&& Game_Flag_Query(505)) {
|
||||
sub_401B18();
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 810, 18);
|
||||
Actor_Says(kActorChew, 40, 14);
|
||||
Actor_Says(kActorChew, 50, 14);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueChewInterview)) {
|
||||
Actor_Says(kActorMcCoy, 770, 12);
|
||||
Actor_Says(kActorChew, 110, 12);
|
||||
Actor_Says(kActorChew, 120, 13);
|
||||
|
@ -104,7 +86,7 @@ bool SceneScriptDR03::ClickedOnActor(int actorId) {
|
|||
Actor_Says(kActorChew, 130, 14);
|
||||
Actor_Says(kActorMcCoy, 840, 16);
|
||||
Actor_Says(kActorChew, 140, 15);
|
||||
if (!Game_Flag_Query(505)) {
|
||||
if (!Game_Flag_Query(kFlagDR03ChewTalkExplosion)) {
|
||||
Actor_Says(kActorChew, 150, 13);
|
||||
Actor_Says(kActorMcCoy, 845, 17);
|
||||
Actor_Says(kActorChew, 170, 18);
|
||||
|
@ -118,6 +100,39 @@ bool SceneScriptDR03::ClickedOnActor(int actorId) {
|
|||
Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, true, kActorChew);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Game_Flag_Query(kFlagDR05JustExploded)
|
||||
&& Game_Flag_Query(kFlagDR03ChewTalk1)
|
||||
) {
|
||||
Actor_Says(kActorMcCoy, 815, 18);
|
||||
Actor_Says(kActorChew, 60, 14);
|
||||
Actor_Says(kActorChew, 70, 14);
|
||||
Actor_Says(kActorChew, 80, 14);
|
||||
Actor_Says(kActorMcCoy, 820, 18);
|
||||
Actor_Says(kActorChew, 90, 14);
|
||||
Actor_Says(kActorMcCoy, 825, 18);
|
||||
Actor_Says(kActorChew, 100, 14);
|
||||
Game_Flag_Reset(kFlagDR05JustExploded);
|
||||
Game_Flag_Set(kFlagDR03ChewTalkExplosion);
|
||||
return true;
|
||||
}
|
||||
|
||||
if ((Actor_Clue_Query(kActorMcCoy, kClueDNATyrell)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueAnsweringMachineMessage)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueEnvelope)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueChewInterview)
|
||||
)
|
||||
&& Game_Flag_Query(kFlagDR03ChewTalkExplosion)
|
||||
) {
|
||||
dialogueWithChew();
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 810, 18);
|
||||
Actor_Says(kActorChew, 40, 14);
|
||||
Actor_Says(kActorChew, 50, 14);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -141,7 +156,21 @@ bool SceneScriptDR03::ClickedOn2DRegion(int region) {
|
|||
}
|
||||
|
||||
void SceneScriptDR03::SceneFrameAdvanced(int frame) {
|
||||
if (frame == 1 || frame == 4 || frame == 8 || frame == 10 || frame == 19 || frame == 21 || frame == 22 || frame == 23 || frame == 30 || frame == 31 || frame == 32 || frame == 33 || frame == 46 || frame == 49) {
|
||||
if (frame == 1
|
||||
|| frame == 4
|
||||
|| frame == 8
|
||||
|| frame == 10
|
||||
|| frame == 19
|
||||
|| frame == 21
|
||||
|| frame == 22
|
||||
|| frame == 23
|
||||
|| frame == 30
|
||||
|| frame == 31
|
||||
|| frame == 32
|
||||
|| frame == 33
|
||||
|| frame == 46
|
||||
|| frame == 49
|
||||
) {
|
||||
if (Random_Query(0, 1)) {
|
||||
Sound_Play(97, Random_Query(20, 33), 80, 80, 50);
|
||||
} else {
|
||||
|
@ -174,31 +203,36 @@ void SceneScriptDR03::PlayerWalkedOut() {
|
|||
void SceneScriptDR03::DialogueQueueFlushed(int a1) {
|
||||
}
|
||||
|
||||
void SceneScriptDR03::sub_401B18() {
|
||||
void SceneScriptDR03::dialogueWithChew() {
|
||||
Dialogue_Menu_Clear_List();
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueChewInterview) || Actor_Clue_Query(kActorMcCoy, kClueAnsweringMachineMessage) || Actor_Clue_Query(kActorMcCoy, kClueMorajiInterview)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(650, 5, 5, 5);
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueChewInterview)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueAnsweringMachineMessage)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueMorajiInterview)
|
||||
) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(650, 5, 5, 5); // TWINS
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueChewInterview)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(660, 5, 5, 5);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(660, 5, 5, 5); // MORAJI
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueTyrellInterview)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(670, 6, 5, 2);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(670, 6, 5, 2); // TYRELL
|
||||
}
|
||||
if (Game_Flag_Query(505)) {
|
||||
if (Game_Flag_Query(kFlagDR03ChewTalkExplosion)) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueAnsweringMachineMessage)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(680, 8, 8, 8);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(680, 8, 8, 8); // SEBASTIAN
|
||||
}
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueEnvelope)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(1270, 2, 5, 7);
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(1270, 2, 5, 7); // LANCE'S ENVELOPE
|
||||
}
|
||||
}
|
||||
Dialogue_Menu_Add_DONE_To_List(690);
|
||||
Dialogue_Menu_Add_DONE_To_List(690); // DONE
|
||||
|
||||
Dialogue_Menu_Appear(320, 240);
|
||||
int answer = Dialogue_Menu_Query_Input();
|
||||
Dialogue_Menu_Disappear();
|
||||
|
||||
switch (answer) {
|
||||
case 640:
|
||||
case 640: // EISENDULLER
|
||||
Actor_Says(kActorMcCoy, 770, 12);
|
||||
Actor_Says(kActorChew, 110, 12);
|
||||
Actor_Says(kActorChew, 120, 13);
|
||||
|
@ -206,7 +240,7 @@ void SceneScriptDR03::sub_401B18() {
|
|||
Actor_Says(kActorChew, 130, 14);
|
||||
Actor_Says(kActorMcCoy, 840, 16);
|
||||
Actor_Says(kActorChew, 140, 15);
|
||||
if (!Game_Flag_Query(505)) {
|
||||
if (!Game_Flag_Query(kFlagDR03ChewTalkExplosion)) {
|
||||
Actor_Says(kActorChew, 150, 13);
|
||||
Actor_Says(kActorMcCoy, 845, 17);
|
||||
Actor_Says(kActorChew, 170, 18);
|
||||
|
@ -219,7 +253,8 @@ void SceneScriptDR03::sub_401B18() {
|
|||
}
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, true, kActorChew);
|
||||
break;
|
||||
case 650:
|
||||
|
||||
case 650: // TWINS
|
||||
Actor_Says(kActorMcCoy, 775, 11);
|
||||
Actor_Says(kActorChew, 220, 14);
|
||||
Actor_Says(kActorMcCoy, 860, 11);
|
||||
|
@ -228,9 +263,10 @@ void SceneScriptDR03::sub_401B18() {
|
|||
Actor_Says(kActorChew, 240, 14);
|
||||
Actor_Says(kActorChew, 250, 14);
|
||||
break;
|
||||
case 660:
|
||||
|
||||
case 660: // MORAJI
|
||||
Actor_Says(kActorMcCoy, 780, 13);
|
||||
if (Game_Flag_Query(505)) {
|
||||
if (Game_Flag_Query(kFlagDR03ChewTalkExplosion)) {
|
||||
Actor_Says(kActorChew, 260, 14);
|
||||
Actor_Says(kActorChew, 270, 13);
|
||||
Actor_Says(kActorChew, 280, 12);
|
||||
|
@ -240,34 +276,41 @@ void SceneScriptDR03::sub_401B18() {
|
|||
Actor_Says(kActorChew, 280, 12);
|
||||
Actor_Says(kActorMcCoy, 870, 18);
|
||||
Actor_Says(kActorChew, 290, 15);
|
||||
if (!Game_Flag_Query(kFlagMorajiExploded)) {
|
||||
if (!Game_Flag_Query(kFlagDR05JustExploded)) {
|
||||
Actor_Says(kActorChew, 300, 12);
|
||||
}
|
||||
}
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueChewInterview, true, kActorChew);
|
||||
break;
|
||||
case 670:
|
||||
|
||||
case 670: // TYRELL
|
||||
Actor_Says(kActorMcCoy, 765, 12);
|
||||
Actor_Says(kActorMcCoy, 790, 13);
|
||||
Actor_Says(kActorChew, 310, 12);
|
||||
Actor_Says(kActorChew, 320, 3);
|
||||
break;
|
||||
case 680:
|
||||
|
||||
case 680: // SEBASTIAN
|
||||
Actor_Says(kActorMcCoy, 795, 3);
|
||||
if (Game_Flag_Query(505) == 1) {
|
||||
if (Game_Flag_Query(kFlagDR03ChewTalkExplosion)) {
|
||||
Actor_Says(kActorChew, 330, 12);
|
||||
Actor_Says(kActorChew, 340, 15);
|
||||
Actor_Says(kActorMcCoy, 875, 16);
|
||||
Actor_Says(kActorChew, 350, 12);
|
||||
Actor_Says(kActorChew, 360, 15);
|
||||
Game_Flag_Set(326);
|
||||
Game_Flag_Set(kFlagBB01Available);
|
||||
} else {
|
||||
Actor_Says(kActorChew, 320, 13);
|
||||
Actor_Says(kActorChew, 150, 14);
|
||||
Game_Flag_Set(326);
|
||||
Game_Flag_Set(kFlagBB01Available);
|
||||
}
|
||||
break;
|
||||
case 1270:
|
||||
|
||||
case 690: // DONE
|
||||
Actor_Says(kActorMcCoy, 805, 3);
|
||||
break;
|
||||
|
||||
case 1270: // LANCE'S ENVELOPE
|
||||
Actor_Says(kActorMcCoy, 800, 16);
|
||||
Actor_Says(kActorChew, 370, 3);
|
||||
Actor_Says(kActorMcCoy, 880, 15);
|
||||
|
@ -280,9 +323,6 @@ void SceneScriptDR03::sub_401B18() {
|
|||
Actor_Says(kActorChew, 420, 13);
|
||||
Actor_Says(kActorChew, 430, 12);
|
||||
break;
|
||||
case 690:
|
||||
Actor_Says(kActorMcCoy, 805, 3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -24,8 +24,16 @@
|
|||
|
||||
namespace BladeRunner {
|
||||
|
||||
enum kDR04Loops {
|
||||
kDR04LoopPanFromDR01PostExplosion = 0,
|
||||
kDR04LoopMainPostExplosion = 1,
|
||||
kDR04LoopPanFromDR01PreExplosion = 3,
|
||||
kDR04LoopMainPreExplosion = 4,
|
||||
kDR04LoopDR04Explosion = 6
|
||||
};
|
||||
|
||||
void SceneScriptDR04::InitializeScene() {
|
||||
if (Game_Flag_Query(kFlagDR05BombExplosionView)) {
|
||||
if (Game_Flag_Query(kFlagDR05ViewExplosion)) {
|
||||
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);
|
||||
|
@ -36,9 +44,11 @@ void SceneScriptDR04::InitializeScene() {
|
|||
} else {
|
||||
Setup_Scene_Information( -810.0f, -0.04f, 242.0f, 125);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 589, 0, 639, 479, 1);
|
||||
Scene_Exit_Add_2D_Exit(1, 443, 264, 488, 353, 0);
|
||||
Scene_Exit_Add_2D_Exit(2, 222, 110, 269, 207, 0);
|
||||
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(0);
|
||||
Ambient_Sounds_Add_Looping_Sound( 54, 50, 1, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(288, 55, -100, 1);
|
||||
|
@ -52,16 +62,17 @@ 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(kFlagDR05BombExploded)) {
|
||||
Scene_Loop_Set_Default(1);
|
||||
Scene_Loop_Set_Default(kDR04LoopMainPostExplosion);
|
||||
} else {
|
||||
Scene_Loop_Set_Default(4);
|
||||
Scene_Loop_Set_Default(kDR04LoopMainPreExplosion);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagDR01toDR04)) {
|
||||
if (Game_Flag_Query(kFlagDR05BombExploded)) {
|
||||
Scene_Loop_Start_Special(0, 0, 0);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kDR04LoopPanFromDR01PostExplosion, false);
|
||||
} else {
|
||||
Scene_Loop_Start_Special(0, 3, 0);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kDR04LoopPanFromDR01PreExplosion, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -95,26 +106,26 @@ bool SceneScriptDR04::ClickedOnActor(int actorId) {
|
|||
if ( actorId == kActorMoraji
|
||||
&& !Player_Query_Combat_Mode()
|
||||
) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 21) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiLayDown) {
|
||||
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(kActorMoraji, 0, kAnimationModeTalk);
|
||||
Actor_Says(kActorMoraji, 10, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 950, 13);
|
||||
Actor_Says(kActorMoraji, 20, 3);
|
||||
Actor_Says(kActorMoraji, 30, 3);
|
||||
Actor_Says(kActorMoraji, 20, kAnimationModeTalk);
|
||||
Actor_Says(kActorMoraji, 30, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 955, 13);
|
||||
Actor_Says_With_Pause(kActorMoraji, 40, 0.0f, 3);
|
||||
Actor_Says(kActorMoraji, 50, 3);
|
||||
Actor_Says_With_Pause(kActorMoraji, 40, 0.0f, kAnimationModeTalk);
|
||||
Actor_Says(kActorMoraji, 50, kAnimationModeTalk);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueMorajiInterview, true, kActorMoraji);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 22);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiDie);
|
||||
Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 23) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiDead) {
|
||||
if (!Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorMoraji, 36, true, false)) {
|
||||
Actor_Set_Goal_Number(kActorOfficerGrayford, 106);
|
||||
return true;
|
||||
|
@ -129,37 +140,40 @@ bool SceneScriptDR04::ClickedOnItem(int itemId, bool a2) {
|
|||
}
|
||||
|
||||
bool SceneScriptDR04::ClickedOnExit(int exitId) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 21) {
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiLayDown) {
|
||||
Actor_Force_Stop_Walking(kActorMcCoy);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 22);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiDie);
|
||||
Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -761.0f, -0.04f, 97.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -761.0f, -0.04f, 97.0f, 0, true, false, 0)) {
|
||||
Async_Actor_Walk_To_XYZ(kActorMcCoy, -683.0f, -0.04f, 43.0f, 0, false);
|
||||
Game_Flag_Set(kFlagDR04toDR01);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1067.0f, 7.18f, 421.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1067.0f, 7.18f, 421.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagNotUsed232);
|
||||
Game_Flag_Set(kFlagDR04toDR05);
|
||||
Set_Enter(kSetDR05, kSceneDR05);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 6.98f, 560.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 6.98f, 560.0f, 0, true, false, 0)) {
|
||||
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, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -899.0f, 71.64f, 647.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, true, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -899.0f, 71.64f, 647.0f, 0, false, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 0, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 1, kAnimationModeIdle);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, true, kAnimationModeIdle);
|
||||
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
|
||||
Footstep_Sound_Override_Off();
|
||||
Game_Flag_Set(kFlagDR04toDR06);
|
||||
|
@ -174,58 +188,61 @@ bool SceneScriptDR04::ClickedOn2DRegion(int region) {
|
|||
return false;
|
||||
}
|
||||
|
||||
bool SceneScriptDR04::sub_401160() {
|
||||
bool SceneScriptDR04::farEnoughFromExplosion() {
|
||||
float x, y, z;
|
||||
Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
|
||||
return (x + 1089.94f) * (x + 1089.94f) + (z - 443.49f) * (z - 443.49f) >= (360.0f * 360.0f);
|
||||
}
|
||||
|
||||
void SceneScriptDR04::SceneFrameAdvanced(int frame) {
|
||||
if (Game_Flag_Query(kFlagDR05BombExplosionView)) {
|
||||
Game_Flag_Reset(kFlagDR05BombExplosionView);
|
||||
if (Game_Flag_Query(kFlagDR05ViewExplosion)) {
|
||||
Game_Flag_Reset(kFlagDR05ViewExplosion);
|
||||
Game_Flag_Reset(kFlagDR05BombWillExplode);
|
||||
Scene_Loop_Set_Default(1);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeOnce, 6, true);
|
||||
Scene_Loop_Set_Default(kDR04LoopMainPostExplosion);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeOnce, kDR04LoopDR04Explosion, true);
|
||||
Music_Stop(4);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 99);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiPerished);
|
||||
} else {
|
||||
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);
|
||||
Scene_Loop_Set_Default(kDR04LoopMainPostExplosion);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeOnce, kDR04LoopDR04Explosion, true);
|
||||
Item_Remove_From_World(kItemBomb);
|
||||
}
|
||||
|
||||
switch (frame) {
|
||||
case 193:
|
||||
Sound_Play(301, 100, 0, 100, 50);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 30);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiChooseFate);
|
||||
Player_Loses_Control();
|
||||
Actor_Force_Stop_Walking(kActorMcCoy);
|
||||
if (sub_401160()) {
|
||||
if (farEnoughFromExplosion()) {
|
||||
if (Player_Query_Combat_Mode()) {
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 22);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeCombatHit);
|
||||
} else {
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 21);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeHit);
|
||||
}
|
||||
} else {
|
||||
Sound_Play_Speech_Line(kActorMcCoy, 9905, 100, 0, 99);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 48);
|
||||
Actor_Retired_Here(kActorMcCoy, 6, 6, 1, -1);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
|
||||
Actor_Retired_Here(kActorMcCoy, 6, 6, true, -1);
|
||||
}
|
||||
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) != kGoalMorajiJump
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiLayDown
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiPerished
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorOfficerGrayford, 101);
|
||||
}
|
||||
Scene_Exits_Enable();
|
||||
break;
|
||||
|
||||
case 237:
|
||||
Overlay_Play("DR04OVER", 0, 1, 1, 0);
|
||||
Overlay_Play("DR04OVER", 0, true, true, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -235,7 +252,7 @@ void SceneScriptDR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptDR04::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(kFlagDR05BombExplosionView)) {
|
||||
if (Game_Flag_Query(kFlagDR05ViewExplosion)) {
|
||||
Player_Loses_Control();
|
||||
Delay(4000);
|
||||
Actor_Retired_Here(kActorMcCoy, 6, 6, 1, -1);
|
||||
|
@ -250,11 +267,11 @@ void SceneScriptDR04::PlayerWalkedIn() {
|
|||
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, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 71.64f, 647.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, false, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -851.0f, 71.64f, 647.0f, 0, false, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 0, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, 0, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -774.85f, 7.18f, 386.67f, 0, 0, false, 0);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 7, false, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -774.85f, 7.18f, 386.67f, 0, false, false, 0);
|
||||
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
|
||||
Footstep_Sound_Override_Off();
|
||||
}
|
||||
|
|
|
@ -24,18 +24,27 @@
|
|||
|
||||
namespace BladeRunner {
|
||||
|
||||
enum kDR05Loops {
|
||||
kDR05LoopMain = 0,
|
||||
kDR05LoopMainDestroyed = 2
|
||||
};
|
||||
|
||||
void SceneScriptDR05::InitializeScene() {
|
||||
Setup_Scene_Information(-22.0f, 0.3f, 221.0f, 0);
|
||||
|
||||
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(kFlagDR05BombExploded)) {
|
||||
Overlay_Play("DR05OVER", 0, 1, 0, 0);
|
||||
Overlay_Play("DR05OVER", 0, true, false, 0);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagDR05BombExploded)) {
|
||||
Scene_Loop_Set_Default(2);
|
||||
Scene_Loop_Set_Default(kDR05LoopMainDestroyed);
|
||||
} else {
|
||||
Scene_Loop_Set_Default(0);
|
||||
Scene_Loop_Set_Default(kDR05LoopMain);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -44,10 +53,11 @@ void SceneScriptDR05::SceneLoaded() {
|
|||
Unobstacle_Object("BOX06", true);
|
||||
Unobstacle_Object("BOX183", true);
|
||||
Clickable_Object("T2 DOORWAY");
|
||||
|
||||
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) == 0) {
|
||||
Item_Add_To_World(122, 931, 35, 37.35f, 1.59f, 46.72f, 0, 20, 20, true, true, false, true);
|
||||
Item_Add_To_World(kItemBomb, 932, kSetDR05, -1.57f, 31.33f, 75.21f, 540, 16, 16, true, true, false, true);
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiDefault) {
|
||||
Item_Add_To_World(kItemChain, 931, kSetDR05, 37.35f, 1.59f, 46.72f, 0, 20, 20, true, true, false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -58,19 +68,20 @@ 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(kFlagNotUsed276)
|
||||
|| Actor_Query_Goal_Number(kActorMoraji) != 0
|
||||
if (!Game_Flag_Query(kFlagNotUsed276)
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiDefault
|
||||
) {
|
||||
Actor_Face_Object(kActorMcCoy, "T2 DOORWAY", true);
|
||||
Actor_Says(kActorMcCoy, 1020, 14);
|
||||
Actor_Says(kActorMoraji, 90, 13);
|
||||
} else {
|
||||
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);
|
||||
}
|
||||
} else {
|
||||
Actor_Face_Object(kActorMcCoy, "T2 DOORWAY", true);
|
||||
Actor_Says(kActorMcCoy, 1020, 14);
|
||||
Actor_Says(kActorMoraji, 90, 13);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -81,30 +92,31 @@ bool SceneScriptDR05::ClickedOnActor(int actorId) {
|
|||
}
|
||||
|
||||
bool SceneScriptDR05::ClickedOnItem(int itemId, bool a2) {
|
||||
if (itemId == 78) {
|
||||
if (itemId == kItemBomb) {
|
||||
if (Player_Query_Combat_Mode()) {
|
||||
Game_Flag_Set(kFlagDR05BombWillExplode);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 30);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiChooseFate);
|
||||
} else if (!Game_Flag_Query(kFlagDR05BombExploded)
|
||||
&& !Loop_Actor_Walk_To_Item(kActorMcCoy, 78, 24, 1, true)
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != 11
|
||||
&& !Loop_Actor_Walk_To_Item(kActorMcCoy, kItemBomb, 24, true, true)
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) != kGoalMorajiRunOut
|
||||
) {
|
||||
if (!Actor_Query_Goal_Number(kActorMoraji)) {
|
||||
Actor_Says_With_Pause(kActorMcCoy, 1015, 0.1f, 12);
|
||||
Actor_Says(kActorMoraji, 70, 13);
|
||||
}
|
||||
Actor_Set_Goal_Number(kActorMoraji, 30);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiChooseFate);
|
||||
}
|
||||
//return true; //bug?
|
||||
}
|
||||
if (itemId == 122
|
||||
|
||||
if (itemId == kItemChain
|
||||
&& Player_Query_Combat_Mode()
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) == 0
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) == kGoalOfficerLearyDefault
|
||||
) {
|
||||
Overlay_Play("DR05OVER", 1, 0, 1, 0);
|
||||
Item_Remove_From_World(122);
|
||||
Overlay_Play("DR05OVER", 1, false, true, 0);
|
||||
Item_Remove_From_World(kItemChain);
|
||||
Game_Flag_Set(kFlagDR05ChainShot);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 10);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiFreed);
|
||||
Music_Play(18, 71, 0, 0, -1, 0, 2);
|
||||
return true;
|
||||
}
|
||||
|
@ -131,11 +143,12 @@ void SceneScriptDR05::SceneFrameAdvanced(int frame) {
|
|||
if (frame == 49) {
|
||||
Sound_Play(148, Random_Query(50, 50), 80, 80, 50);
|
||||
}
|
||||
|
||||
if (Game_Flag_Query(kFlagDR05BombWillExplode)) {
|
||||
Item_Remove_From_World(78);
|
||||
Item_Remove_From_World(kItemBomb);
|
||||
Game_Flag_Reset(kFlagDR05BombWillExplode);
|
||||
Game_Flag_Set(kFlagDR05BombExploded);
|
||||
Actor_Set_Goal_Number(kActorMoraji, 30);
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiChooseFate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -147,11 +160,11 @@ void SceneScriptDR05::PlayerWalkedIn() {
|
|||
&& !Game_Flag_Query(kFlagDR05ChainShot)
|
||||
&& Game_Flag_Query(kFlagDR05BombExploded)
|
||||
) {
|
||||
Item_Remove_From_World(122);
|
||||
Item_Remove_From_World(kItemChain);
|
||||
}
|
||||
|
||||
if (Game_Flag_Query(kFlagDR05BombExploded)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, false, false, 0);
|
||||
if (!Game_Flag_Query(kFlagDR05ExplodedEntered)) {
|
||||
Game_Flag_Set(kFlagDR05ExplodedEntered);
|
||||
if (Game_Flag_Query(kFlagSadikIsReplicant)) {
|
||||
|
@ -170,18 +183,18 @@ void SceneScriptDR05::PlayerWalkedIn() {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, 0, true, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -10.0f, 0.3f, 133.0f, 0, false, true, 0);
|
||||
}
|
||||
|
||||
if (!Game_Flag_Query(kFlagDR05MorajiTalk)
|
||||
&& !Actor_Query_Goal_Number(kActorMoraji)
|
||||
&& Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiDefault
|
||||
) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorMoraji, true);
|
||||
Actor_Says(kActorMcCoy, 1010, 13);
|
||||
Actor_Face_Item(kActorMcCoy, 78, true);
|
||||
Actor_Face_Item(kActorMcCoy, kItemBomb, true);
|
||||
Player_Set_Combat_Mode(true);
|
||||
Actor_Says(kActorMoraji, 60, 12);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 0);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeIdle);
|
||||
Game_Flag_Set(kFlagDR05MorajiTalk);
|
||||
//return true;
|
||||
}
|
||||
|
@ -191,8 +204,12 @@ void SceneScriptDR05::PlayerWalkedIn() {
|
|||
void SceneScriptDR05::PlayerWalkedOut() {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == 10 || Actor_Query_Goal_Number(kActorMoraji) == 18 || Actor_Query_Goal_Number(kActorMoraji) == 19) {
|
||||
Actor_Set_Goal_Number(kActorMoraji, 11);
|
||||
|
||||
if (Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiFreed
|
||||
|| Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiGetUp
|
||||
|| Actor_Query_Goal_Number(kActorMoraji) == kGoalMorajiScream
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorMoraji, kGoalMorajiRunOut);
|
||||
//return true;
|
||||
}
|
||||
//return false;
|
||||
|
|
|
@ -30,23 +30,26 @@ void SceneScriptDR06::InitializeScene() {
|
|||
} 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)
|
||||
) {
|
||||
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(kFlagDR06JesterActive)) {
|
||||
Overlay_Play("DR06over", 1, 1, 0, 0);
|
||||
Overlay_Play("DR06over", 1, true, false, 0);
|
||||
Ambient_Sounds_Add_Looping_Sound(300, 47, -75, 0);
|
||||
} else {
|
||||
Overlay_Play("DR06over", 0, 1, 0, 0);
|
||||
Overlay_Play("DR06over", 0, true, false, 0);
|
||||
}
|
||||
if (Game_Flag_Query(548)) {
|
||||
Overlay_Play("DR06ovr2", 0, 1, 0, 0);
|
||||
if (Game_Flag_Query(kFlagDR06MannequinHeadOpen)) {
|
||||
Overlay_Play("DR06ovr2", 0, true, false, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -72,11 +75,11 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
|
|||
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(kFlagDR06JesterActive)) {
|
||||
Overlay_Play("DR06over", 1, 1, 1, 0);
|
||||
Overlay_Play("DR06over", 1, true, true, 0);
|
||||
Ambient_Sounds_Add_Looping_Sound(300, 47, -75, 0);
|
||||
Game_Flag_Set(kFlagDR06JesterActive);
|
||||
} else {
|
||||
Overlay_Play("DR06over", 0, 1, 1, 0);
|
||||
Overlay_Play("DR06over", 0, true, true, 0);
|
||||
Ambient_Sounds_Remove_Looping_Sound(300, false);
|
||||
Game_Flag_Reset(kFlagDR06JesterActive);
|
||||
}
|
||||
|
@ -144,13 +147,13 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
|
|||
if (Object_Query_Click("X2_TORSO04HIRES", objectName)) {
|
||||
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) {
|
||||
if (Global_Variable_Query(kVariableDR06MannequinHeadOpened) > 12) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!Game_Flag_Query(548)) {
|
||||
if (!Game_Flag_Query(kFlagDR06MannequinHeadOpen)) {
|
||||
Overlay_Play("DR06ovr2", 0, 1, 0, 0);
|
||||
Game_Flag_Set(548);
|
||||
Game_Flag_Set(kFlagDR06MannequinHeadOpen);
|
||||
Sound_Play(160, 100, 0, 0, 50);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueEnvelope)) {
|
||||
Actor_Voice_Over(850, kActorVoiceOver);
|
||||
|
@ -160,17 +163,17 @@ bool SceneScriptDR06::ClickedOn3DObject(const char *objectName, bool a2) {
|
|||
Actor_Voice_Over(880, kActorVoiceOver);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueEnvelope, true, kActorLance);
|
||||
if (Query_Difficulty_Level() != 0) {
|
||||
Global_Variable_Increment(2, 200);
|
||||
Global_Variable_Increment(kVariableChinyen, 200);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Overlay_Remove("DR06ovr2");
|
||||
Game_Flag_Reset(548);
|
||||
Game_Flag_Reset(kFlagDR06MannequinHeadOpen);
|
||||
Sound_Play(161, 100, 0, 0, 50);
|
||||
}
|
||||
|
||||
Global_Variable_Increment(39, 1);
|
||||
if (Global_Variable_Query(39) > 12) {
|
||||
Global_Variable_Increment(kVariableDR06MannequinHeadOpened, 1);
|
||||
if (Global_Variable_Query(kVariableDR06MannequinHeadOpened) > 12) {
|
||||
Sound_Play(204, 100, 0, 0, 50);
|
||||
Unclickable_Object("X2_TORSO04HIRES");
|
||||
}
|
||||
|
|
|
@ -99,8 +99,8 @@ bool SceneScriptHC01::ClickedOnActor(int actorId) {
|
|||
)
|
||||
) {
|
||||
AI_Movement_Track_Pause(kActorIzo);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 624.43f, 0.14f, 83.0f, 0, 1, false, 0)) {
|
||||
if (!Game_Flag_Query(kFlagIzoTalk1)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 624.43f, 0.14f, 83.0f, 0, true, false, 0)) {
|
||||
if (!Game_Flag_Query(kFlagHC01IzoTalk1)) {
|
||||
Actor_Face_Actor(kActorIzo, kActorMcCoy, true);
|
||||
Actor_Says_With_Pause(kActorIzo, 10, 0.2f, 13);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorIzo, true);
|
||||
|
@ -114,7 +114,7 @@ bool SceneScriptHC01::ClickedOnActor(int actorId) {
|
|||
Actor_Says_With_Pause(kActorIzo, 70, 1.0f, 13);
|
||||
Actor_Says_With_Pause(kActorMcCoy, 1045, 0.6f, 14);
|
||||
Actor_Says(kActorIzo, 80, 18);
|
||||
Game_Flag_Set(kFlagIzoTalk1);
|
||||
Game_Flag_Set(kFlagHC01IzoTalk1);
|
||||
} else {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorIzo, true);
|
||||
Actor_Face_Actor(kActorIzo, kActorMcCoy, true);
|
||||
|
@ -134,7 +134,7 @@ bool SceneScriptHC01::ClickedOnItem(int itemId, bool a2) {
|
|||
Item_Pickup_Spin_Effect(984, 377, 397);
|
||||
Delay(1500);
|
||||
Item_Pickup_Spin_Effect(984, 330, 384);
|
||||
if (Game_Flag_Query(374)) {
|
||||
if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy1, true, kActorIzo);
|
||||
} else {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy2, true, kActorIzo);
|
||||
|
@ -151,8 +151,8 @@ bool SceneScriptHC01::ClickedOnExit(int exitId) {
|
|||
Music_Adjust(12, 0, 2);
|
||||
Game_Flag_Set(kFlagHC01toAR01);
|
||||
Set_Enter(kSetAR01_AR02, kSceneAR01);
|
||||
Game_Flag_Reset(kFlagMcCoyAtHCxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInHawkersCircle);
|
||||
Game_Flag_Set(kFlagMcCoyInAnimoidRow);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -197,7 +197,7 @@ void SceneScriptHC01::SceneFrameAdvanced(int frame) {
|
|||
}
|
||||
if (frame == 80) {
|
||||
Ambient_Sounds_Play_Sound(316, 40, 100, 100, 0);
|
||||
Item_Add_To_World(kItemHC03Lock, 931, kSetHC01_HC02_HC03_HC04, 582.0f, 27.0f, -41.0f, 0, 8, 8, true, true, false, true);
|
||||
Item_Add_To_World(kItemGreenPawnLock, 931, kSetHC01_HC02_HC03_HC04, 582.0f, 27.0f, -41.0f, 0, 8, 8, true, true, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -227,12 +227,12 @@ void SceneScriptHC01::DialogueQueueFlushed(int a1) {
|
|||
}
|
||||
|
||||
void SceneScriptHC01::dialogueWithIzo() {
|
||||
if (!Game_Flag_Query(kFlagIzoTalk2)) {
|
||||
if (!Game_Flag_Query(kFlagHC01IzoTalk2)) {
|
||||
Actor_Says(kActorMcCoy, 1055, 13);
|
||||
Actor_Says(kActorIzo, 130, 13);
|
||||
Actor_Says_With_Pause(kActorMcCoy, 1060, 0.2f, 13);
|
||||
Actor_Says(kActorIzo, 140, 13);
|
||||
Game_Flag_Set(kFlagIzoTalk2);
|
||||
Game_Flag_Set(kFlagHC01IzoTalk2);
|
||||
}
|
||||
|
||||
Dialogue_Menu_Clear_List();
|
||||
|
|
|
@ -89,7 +89,7 @@ bool SceneScriptHC02::ClickedOnActor(int actorId) {
|
|||
if (actorId == kActorHawkersBarkeep) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -150.51f, 0.14f, 62.74f, 0, true, false, 0)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorHawkersBarkeep, true);
|
||||
if (!Game_Flag_Query(kFlagHawkersBarkeepIntroduction)) {
|
||||
if (!Game_Flag_Query(kFlagHC02HawkersBarkeepIntroduction)) {
|
||||
Actor_Says(kActorMcCoy, 1225, 13);
|
||||
Actor_Says_With_Pause(kActorHawkersBarkeep, 0, 0.0f, 13);
|
||||
Actor_Says(kActorHawkersBarkeep, 10, 16);
|
||||
|
@ -99,7 +99,7 @@ bool SceneScriptHC02::ClickedOnActor(int actorId) {
|
|||
Actor_Change_Animation_Mode(kActorMcCoy, 75);
|
||||
Delay(1500);
|
||||
Global_Variable_Increment(kVariableMcCoyDrinks, 1);
|
||||
Game_Flag_Set(kFlagHawkersBarkeepIntroduction);
|
||||
Game_Flag_Set(kFlagHC02HawkersBarkeepIntroduction);
|
||||
} else if ( Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityCamera)
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueChinaBarSecurityDisc)
|
||||
) {
|
||||
|
@ -132,12 +132,12 @@ bool SceneScriptHC02::ClickedOnActor(int actorId) {
|
|||
Actor_Says(kActorMcCoy, 1245, 13);
|
||||
} else {
|
||||
if ( Actor_Clue_Query(kActorMcCoy, kClueMaggieBracelet)
|
||||
&& !Game_Flag_Query(kFlagHawkersBarkeepBraceletTalk)
|
||||
&& !Game_Flag_Query(kFlagHC02HawkersBarkeepBraceletTalk)
|
||||
) {
|
||||
Actor_Says(kActorHawkersBarkeep, 80, 16);
|
||||
Actor_Says(kActorMcCoy, 1265, 13);
|
||||
Actor_Says(kActorHawkersBarkeep, 90, 13);
|
||||
Game_Flag_Set(kFlagHawkersBarkeepBraceletTalk);
|
||||
Game_Flag_Set(kFlagHC02HawkersBarkeepBraceletTalk);
|
||||
}
|
||||
if (Global_Variable_Query(kVariableChinyen) > 5
|
||||
|| Query_Difficulty_Level() == 0
|
||||
|
|
|
@ -46,7 +46,7 @@ void SceneScriptHC03::InitializeScene() {
|
|||
if (Game_Flag_Query(kFlagHC03CageOpen)
|
||||
|| Global_Variable_Query(kVariableChapter) > 3
|
||||
) {
|
||||
Item_Remove_From_World(kItemHC03Lock);
|
||||
Item_Remove_From_World(kItemGreenPawnLock);
|
||||
Game_Flag_Set(kFlagHC03CageOpen);
|
||||
Scene_Exit_Add_2D_Exit(1, 400, 275, 515, 375, 2);
|
||||
}
|
||||
|
@ -115,12 +115,12 @@ bool SceneScriptHC03::ClickedOnActor(int actorId) {
|
|||
}
|
||||
|
||||
bool SceneScriptHC03::ClickedOnItem(int itemId, bool combatMode) {
|
||||
if (itemId == kItemHC03Lock) {
|
||||
if (itemId == kItemGreenPawnLock) {
|
||||
if (combatMode) {
|
||||
Scene_Loop_Set_Default(kHC03LoopMainCageOpen);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeOnce, kHC03LoopCageDoorOpening, true);
|
||||
Game_Flag_Set(kFlagHC03CageOpen);
|
||||
Item_Remove_From_World(kItemHC03Lock);
|
||||
Item_Remove_From_World(kItemGreenPawnLock);
|
||||
Unobstacle_Object("GPscisGate", true);
|
||||
} else {
|
||||
Actor_Says(kActorMcCoy, 8522, 12);
|
||||
|
@ -135,7 +135,7 @@ bool SceneScriptHC03::ClickedOnItem(int itemId, bool combatMode) {
|
|||
Item_Pickup_Spin_Effect(984, 78, 435);
|
||||
Delay(1500);
|
||||
Item_Pickup_Spin_Effect(984, 58, 435);
|
||||
if (Game_Flag_Query(374)) {
|
||||
if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy1, true, kActorIzo);
|
||||
} else {
|
||||
Actor_Clue_Acquire(kActorMcCoy, kCluePhotoOfMcCoy2, true, kActorIzo);
|
||||
|
@ -163,8 +163,8 @@ bool SceneScriptHC03::ClickedOnExit(int exitId) {
|
|||
Game_Flag_Set(kFlagHC03TrapDoorOpen);
|
||||
} else {
|
||||
Game_Flag_Set(kFlagHC03toUG02);
|
||||
Game_Flag_Reset(kFlagMcCoyAtHCxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtUGxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInHawkersCircle);
|
||||
Game_Flag_Set(kFlagMcCoyInUnderground);
|
||||
Game_Flag_Set(kFlagHC03TrapDoorOpen);
|
||||
Music_Stop(2);
|
||||
Set_Enter(kSetUG02, kSceneUG02);
|
||||
|
|
|
@ -87,11 +87,11 @@ bool SceneScriptHC04::ClickedOnActor(int actorId) {
|
|||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -155.0f, 0.0f, -475.0f, 12, true, false, 0)) {
|
||||
Actor_Face_Actor(kActorMcCoy, kActorIsabella, true);
|
||||
Actor_Face_Actor(kActorIsabella, kActorMcCoy, true);
|
||||
if (!Game_Flag_Query(kFlagIsabellaIntroduced)) {
|
||||
if (!Game_Flag_Query(kFlagHC04IsabellaTalk)) {
|
||||
Actor_Says(kActorIsabella, 0, kAnimationModeTalk);
|
||||
Actor_Says(kActorMcCoy, 1280, kAnimationModeTalk);
|
||||
Actor_Says(kActorIsabella, 20, kAnimationModeTalk);
|
||||
Game_Flag_Set(kFlagIsabellaIntroduced);
|
||||
Game_Flag_Set(kFlagHC04IsabellaTalk);
|
||||
return true;
|
||||
} else {
|
||||
dialogueWithIsabella();
|
||||
|
@ -111,8 +111,8 @@ bool SceneScriptHC04::ClickedOnExit(int exitId) {
|
|||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -108.0f, 0.14f, -639.0f, 0, true, false, 0)) {
|
||||
Music_Stop(2);
|
||||
Game_Flag_Set(kFlagHC04toRC03);
|
||||
Game_Flag_Reset(kFlagMcCoyAtHCxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInHawkersCircle);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Set_Enter(kSetRC03, kSceneRC03);
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -191,79 +191,79 @@ bool SceneScriptHF01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
if (exitId == 3) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 100.0f, 0.0f, -260.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Reset(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagMcCoyInHysteriaHall);
|
||||
int spinnerDest = Spinner_Interface_Choose_Dest(3, false);
|
||||
switch (spinnerDest) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagSpinnerAtHF01);
|
||||
Game_Flag_Set(kFlagSpinnerAtPS01);
|
||||
Set_Enter(kSetPS01, kScenePS01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationMcCoysApartment:
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagSpinnerAtHF01);
|
||||
Game_Flag_Set(kFlagSpinnerAtMA01);
|
||||
Set_Enter(kSetMA01, kSceneMA01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationRuncitersAnimals:
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagSpinnerAtHF01);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
Set_Enter(kSetRC01, kSceneRC01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationChinatown:
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Set(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagSpinnerAtHF01);
|
||||
Game_Flag_Set(kFlagSpinnerAtCT01);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationAnimoidRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtHF01);
|
||||
Game_Flag_Set(kFlagSpinnerAtTB02);
|
||||
Set_Enter(kSetTB02_TB03, kSceneTB02);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationTyrellBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtHF01);
|
||||
Game_Flag_Set(kFlagSpinnerAtAR01);
|
||||
Set_Enter(kSetAR01_AR02, kSceneAR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationDNARow:
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtHF01);
|
||||
Game_Flag_Set(kFlagSpinnerAtDR01);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationBradburyBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtHF01);
|
||||
Game_Flag_Set(kFlagSpinnerAtBB01);
|
||||
Set_Enter(kSetBB01, kSceneBB01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationNightclubRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInNightclubRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtHF01);
|
||||
Game_Flag_Set(kFlagSpinnerAtNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
default:
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Set(kFlagMcCoyInHysteriaHall);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 100.0f, 0.0f, -300.0f, 0, true, false, 0);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace BladeRunner {
|
|||
void SceneScriptHF05::InitializeScene() {
|
||||
if (Game_Flag_Query(530)) {
|
||||
Setup_Scene_Information(257.0f, 40.63f, 402.0f, 1000);
|
||||
} else if (Game_Flag_Query(358)) {
|
||||
} else if (Game_Flag_Query(kFlagHF07toHF05)) {
|
||||
Setup_Scene_Information(330.0f, 40.63f, -107.0f, 603);
|
||||
} else {
|
||||
Setup_Scene_Information(483.0f, 40.63f, -189.0f, 600);
|
||||
|
@ -168,7 +168,7 @@ bool SceneScriptHF05::ClickedOnExit(int exitId) {
|
|||
Actor_Face_Actor(kActorMcCoy, affectionTowardsActor, true);
|
||||
Actor_Says(kActorMcCoy, 1810, 16);
|
||||
}
|
||||
Game_Flag_Set(359);
|
||||
Game_Flag_Set(kFlagHF05toHF07);
|
||||
Set_Enter(kSetHF07, kSceneHF07);
|
||||
}
|
||||
}
|
||||
|
@ -255,7 +255,7 @@ void SceneScriptHF05::PlayerWalkedIn() {
|
|||
Async_Actor_Walk_To_Waypoint(affectionTowardsActor, 437, 36, 0);
|
||||
} else if (Game_Flag_Query(530)) {
|
||||
Actor_Set_At_XYZ(affectionTowardsActor, 288.0f, 40.63f, 410.0f, 909);
|
||||
} else if (Game_Flag_Query(358)) {
|
||||
} else if (Game_Flag_Query(kFlagHF07toHF05)) {
|
||||
Actor_Set_At_XYZ(affectionTowardsActor, 298.0f, 40.63f, -107.0f, 512);
|
||||
} else {
|
||||
Actor_Set_At_XYZ(affectionTowardsActor, 284.0f, 40.63f, 286.0f, 0);
|
||||
|
@ -281,7 +281,7 @@ void SceneScriptHF05::PlayerWalkedIn() {
|
|||
}
|
||||
} else if (Game_Flag_Query(kFlagHF01toHF05)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 399.0f, 40.63f, -85.0f, 0, 0, false, 0);
|
||||
} else if (Game_Flag_Query(358)) {
|
||||
} else if (Game_Flag_Query(kFlagHF07toHF05)) {
|
||||
Actor_Set_At_XYZ(kActorMcCoy, 346.0f, 4.63f, -151.0f, 603);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 4, 1, kAnimationModeIdle);
|
||||
}
|
||||
|
@ -298,7 +298,7 @@ void SceneScriptHF05::PlayerWalkedIn() {
|
|||
}
|
||||
Game_Flag_Reset(kFlagHF01toHF05);
|
||||
Game_Flag_Reset(530);
|
||||
Game_Flag_Reset(358);
|
||||
Game_Flag_Reset(kFlagHF07toHF05);
|
||||
|
||||
//return false;
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptHF07::InitializeScene() {
|
||||
if (Game_Flag_Query(361) ) {
|
||||
if (Game_Flag_Query(kFlagUG06toHF07) ) {
|
||||
Setup_Scene_Information(-84.0f, 58.43f, -105.0f, 524);
|
||||
} else {
|
||||
Setup_Scene_Information(298.0f, 58.43f, -71.0f, 700);
|
||||
|
@ -74,7 +74,7 @@ bool SceneScriptHF07::ClickedOnExit(int exitId) {
|
|||
Async_Actor_Walk_To_XYZ(kActorLucy, 235.0f, 58.43f, -100.0f, 0, false);
|
||||
}
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 318.0f, 71.43f, -102.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(358);
|
||||
Game_Flag_Set(kFlagHF07toHF05);
|
||||
if (!Game_Flag_Query(662)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 0, false);
|
||||
Footstep_Sound_Override_On(3);
|
||||
|
@ -96,7 +96,7 @@ bool SceneScriptHF07::ClickedOnExit(int exitId) {
|
|||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -84.0f, 58.43f, -105.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(360);
|
||||
Game_Flag_Set(kFlagHF07toUG06);
|
||||
Set_Enter(kSetUG05, kSceneUG05);
|
||||
}
|
||||
return true;
|
||||
|
@ -119,20 +119,20 @@ void SceneScriptHF07::PlayerWalkedIn() {
|
|||
int actorId = getAffectionTowardsActor();
|
||||
if (Game_Flag_Query(662) && actorId != -1) {
|
||||
Actor_Put_In_Set(actorId, kSetHF07);
|
||||
if (Game_Flag_Query(361)) {
|
||||
if (Game_Flag_Query(kFlagUG06toHF07)) {
|
||||
Actor_Set_At_XYZ(actorId, -73.0f, 58.43f, -7.0f, 224);
|
||||
} else {
|
||||
Actor_Set_At_XYZ(actorId, 235.0f, 58.43f, -100.0f, 512);
|
||||
}
|
||||
}
|
||||
} else if (Game_Flag_Query(359)) {
|
||||
} else if (Game_Flag_Query(kFlagHF05toHF07)) {
|
||||
Actor_Set_At_XYZ(kActorMcCoy, 267.72f, 329.43f, -86.75f, 940);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 30, false, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
}
|
||||
Game_Flag_Reset(359);
|
||||
Game_Flag_Reset(361);
|
||||
Game_Flag_Reset(kFlagHF05toHF07);
|
||||
Game_Flag_Reset(kFlagUG06toHF07);
|
||||
}
|
||||
|
||||
void SceneScriptHF07::PlayerWalkedOut() {
|
||||
|
|
|
@ -118,74 +118,74 @@ bool SceneScriptMA01::ClickedOnExit(int exitId) {
|
|||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 381.0f, 0.0f, 54.0f, 0, 1, false, 0)) {
|
||||
Player_Loses_Control();
|
||||
Actor_Face_Heading(kActorMcCoy, 736, false);
|
||||
Game_Flag_Reset(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagMcCoyInPoliceStation);
|
||||
int spinnerDest = Spinner_Interface_Choose_Dest(kMA01LoopOutDoorAnim, false);
|
||||
switch (spinnerDest) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagSpinnerAtMA01);
|
||||
Game_Flag_Set(kFlagSpinnerAtPS01);
|
||||
Set_Enter(kSetPS01, kScenePS01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
|
||||
break;
|
||||
case kSpinnerDestinationRuncitersAnimals:
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagSpinnerAtMA01);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
Set_Enter(kSetRC01, kSceneRC01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
|
||||
break;
|
||||
case kSpinnerDestinationChinatown:
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Set(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagSpinnerAtMA01);
|
||||
Game_Flag_Set(kFlagSpinnerAtCT01);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
|
||||
break;
|
||||
case kSpinnerDestinationTyrellBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtMA01);
|
||||
Game_Flag_Set(kFlagSpinnerAtTB02);
|
||||
Set_Enter(kSetTB02_TB03, kSceneTB02);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
|
||||
break;
|
||||
case kSpinnerDestinationAnimoidRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtMA01);
|
||||
Game_Flag_Set(kFlagSpinnerAtAR01);
|
||||
Set_Enter(kSetAR01_AR02, kSceneAR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
|
||||
break;
|
||||
case kSpinnerDestinationDNARow:
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtMA01);
|
||||
Game_Flag_Set(kFlagSpinnerAtDR01);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
|
||||
break;
|
||||
case kSpinnerDestinationBradburyBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtMA01);
|
||||
Game_Flag_Set(kFlagSpinnerAtBB01);
|
||||
Set_Enter(kSetBB01, kSceneBB01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
|
||||
break;
|
||||
case kSpinnerDestinationNightclubRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInNightclubRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtMA01);
|
||||
Game_Flag_Set(kFlagSpinnerAtNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, kMA01LoopOutshotRoof, true);
|
||||
break;
|
||||
case kSpinnerDestinationHysteriaHall:
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Set(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagSpinnerAtMA01);
|
||||
Game_Flag_Set(kFlagSpinnerAtHF01);
|
||||
Set_Enter(kSetHF01, kSceneHF01);
|
||||
|
@ -194,7 +194,7 @@ bool SceneScriptMA01::ClickedOnExit(int exitId) {
|
|||
default:
|
||||
Actor_Set_Invisible(kActorMcCoy, false);
|
||||
Actor_Face_Heading(kActorMcCoy, 736, false);
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -246,10 +246,14 @@ void SceneScriptMA02::selectNextTvNews() {
|
|||
if (Global_Variable_Query(kVariableChapter) >= 3) {
|
||||
arr[i++] = 2;
|
||||
}
|
||||
if (Global_Variable_Query(kVariableChapter) >= 2 && Global_Variable_Query(kVariableChapter) <= 4) {
|
||||
if (Global_Variable_Query(kVariableChapter) >= 2
|
||||
&& Global_Variable_Query(kVariableChapter) <= 4
|
||||
) {
|
||||
arr[i++] = 3;
|
||||
}
|
||||
if (Game_Flag_Query(kFlagHomelessBodyFound) && Game_Flag_Query(kFlagHomelessBodyInDumpster)) {
|
||||
if (Game_Flag_Query(kFlagCT04HomelessBodyFound)
|
||||
&& Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)
|
||||
) {
|
||||
arr[i++] = 4;
|
||||
}
|
||||
Global_Variable_Set(kVariableNextTvNews, arr[Random_Query(0, i - 1)]);
|
||||
|
|
|
@ -50,7 +50,7 @@ void SceneScriptMA04::InitializeScene() {
|
|||
}
|
||||
} else if (Game_Flag_Query(kFlagMA02ToMA04)) {
|
||||
Setup_Scene_Information(-7099.0f, 954.0f, 1866.0f, 502);
|
||||
} else if (Game_Flag_Query(kFlagMcCoySleeping)) {
|
||||
} else if (Game_Flag_Query(kFlagMA04McCoySleeping)) {
|
||||
Setup_Scene_Information(-7107.0f, 954.0f, 1742.0f, 502);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeLoseControl, kMA04LoopWakeup, false);
|
||||
} else {
|
||||
|
@ -189,7 +189,7 @@ bool SceneScriptMA04::ClickedOn2DRegion(int region) {
|
|||
Music_Play(2, 52, 0, 3, -1, 0, 0);
|
||||
return false;
|
||||
}
|
||||
if (Actor_Clue_Query(kActorClovis, kClueMcCoyRetiredZuben) && !Game_Flag_Query(kFlagPhoneMessageFromClovis)) {
|
||||
if (Actor_Clue_Query(kActorClovis, kClueMcCoyRetiredZuben) && !Game_Flag_Query(kFlagMA04PhoneMessageFromClovis)) {
|
||||
Sound_Play(123, 100, 0, 0, 50);
|
||||
Overlay_Remove("MA04OVER");
|
||||
Delay(500);
|
||||
|
@ -202,10 +202,10 @@ bool SceneScriptMA04::ClickedOn2DRegion(int region) {
|
|||
}
|
||||
Actor_Says(kActorMcCoy, 2445, 13);
|
||||
Sound_Play(123, 100, 0, 0, 50);
|
||||
Game_Flag_Set(kFlagPhoneMessageFromClovis);
|
||||
Game_Flag_Set(kFlagMA04PhoneMessageFromClovis);
|
||||
return true;
|
||||
}
|
||||
if (Actor_Clue_Query(kActorLucy, kClueMcCoyLetZubenEscape) && !Game_Flag_Query(kFlagPhoneMessageFromLucy)) {
|
||||
if (Actor_Clue_Query(kActorLucy, kClueMcCoyLetZubenEscape) && !Game_Flag_Query(kFlagMA04PhoneMessageFromLucy)) {
|
||||
Sound_Play(123, 100, 0, 0, 50);
|
||||
Overlay_Remove("MA04OVER");
|
||||
Delay(500);
|
||||
|
@ -218,7 +218,7 @@ bool SceneScriptMA04::ClickedOn2DRegion(int region) {
|
|||
}
|
||||
Actor_Says(kActorMcCoy, 2445, 13);
|
||||
Sound_Play(123, 100, 0, 0, 50);
|
||||
Game_Flag_Set(kFlagPhoneMessageFromLucy);
|
||||
Game_Flag_Set(kFlagMA04PhoneMessageFromLucy);
|
||||
return true;
|
||||
}
|
||||
Actor_Says(kActorMcCoy, 2670, 13);
|
||||
|
@ -240,7 +240,7 @@ void SceneScriptMA04::SceneFrameAdvanced(int frame) {
|
|||
} else {
|
||||
Set_Fade_Density(0.0f);
|
||||
}
|
||||
if (frame == 121 && (Game_Flag_Query(kFlagZubenRetired) || Game_Flag_Query(kFlagZubenSpared)) && !Game_Flag_Query(kFlagGuzzaTalkZubenRetired)) {
|
||||
if (frame == 121 && (Game_Flag_Query(kFlagZubenRetired) || Game_Flag_Query(kFlagZubenSpared)) && !Game_Flag_Query(kFlagPS04GuzzaTalkZubenRetired)) {
|
||||
Sound_Play(403, 50, 0, 0, 50);
|
||||
}
|
||||
}
|
||||
|
@ -249,20 +249,20 @@ void SceneScriptMA04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptMA04::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(kFlagMcCoySleeping)) {
|
||||
if (Game_Flag_Query(kFlagMA04McCoySleeping)) {
|
||||
Player_Gains_Control();
|
||||
}
|
||||
if (isPhoneMessageWaiting() || isPhoneRinging()) {
|
||||
Overlay_Play("MA04OVER", 0, 1, 0, 0);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagMcCoySleeping)) {
|
||||
if (Game_Flag_Query(kFlagMA04McCoySleeping)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7139.0f, 954.0f, 1746.0f, 0, true, false, 0);
|
||||
} else if (Game_Flag_Query(kFlagMA02ToMA04)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -7143.0f, 954.0f, 1868.0f, 0, true, false, 0);
|
||||
}
|
||||
Game_Flag_Reset(kFlagMA02ToMA04);
|
||||
Game_Flag_Reset(kFlagMA05toMA04);
|
||||
Game_Flag_Reset(kFlagMcCoySleeping);
|
||||
Game_Flag_Reset(kFlagMA04McCoySleeping);
|
||||
if (Game_Flag_Query(kFlagChapter1Ended)) {
|
||||
if (Global_Variable_Query(kVariableChapter) == 2 && !Actor_Clue_Query(kActorMcCoy, kCluePhoneCallGuzza)) {
|
||||
Sound_Play(403, 100, 0, 0, 50);
|
||||
|
@ -286,8 +286,8 @@ void SceneScriptMA04::PlayerWalkedIn() {
|
|||
Actor_Clue_Acquire(kActorMcCoy, kCluePhoneCallGuzza, false, kActorGuzza);
|
||||
Spinner_Set_Selectable_Destination_Flag(kSpinnerDestinationTyrellBuilding, true);
|
||||
Game_Flag_Set(kFlagRC01PoliceDone);
|
||||
if (!Game_Flag_Query(kFlagChromeDebrisTaken)) {
|
||||
Game_Flag_Set(kFlagChromeDebrisTaken);
|
||||
if (!Game_Flag_Query(kFlagRC01ChromeDebrisTaken)) {
|
||||
Game_Flag_Set(kFlagRC01ChromeDebrisTaken);
|
||||
Item_Remove_From_World(kItemChromeDebris);
|
||||
}
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, 99);
|
||||
|
@ -338,8 +338,8 @@ bool SceneScriptMA04::isPhoneRinging() {
|
|||
}
|
||||
|
||||
bool SceneScriptMA04::isPhoneMessageWaiting() {
|
||||
return (Actor_Clue_Query(kActorClovis, kClueMcCoyRetiredZuben) && !Game_Flag_Query(kFlagPhoneMessageFromClovis))
|
||||
|| (Actor_Clue_Query(kActorLucy, kClueMcCoyLetZubenEscape) && !Game_Flag_Query(kFlagPhoneMessageFromLucy));
|
||||
return (Actor_Clue_Query(kActorClovis, kClueMcCoyRetiredZuben) && !Game_Flag_Query(kFlagMA04PhoneMessageFromClovis))
|
||||
|| (Actor_Clue_Query(kActorLucy, kClueMcCoyLetZubenEscape) && !Game_Flag_Query(kFlagMA04PhoneMessageFromLucy));
|
||||
}
|
||||
|
||||
void SceneScriptMA04::phoneCallWithDektora() {
|
||||
|
@ -562,7 +562,7 @@ void SceneScriptMA04::sleep() {
|
|||
Overlay_Remove("MA04OVER");
|
||||
}
|
||||
Player_Loses_Control();
|
||||
Game_Flag_Set(kFlagMcCoySleeping);
|
||||
Game_Flag_Set(kFlagMA04McCoySleeping);
|
||||
if ((Game_Flag_Query(kFlagZubenRetired) || Game_Flag_Query(kFlagZubenSpared)) && Global_Variable_Query(kVariableChapter) == 1) {
|
||||
if (Actor_Query_Goal_Number(kActorZuben) == kGoalZubenDead) {
|
||||
Actor_Put_In_Set(kActorZuben, kSetFreeSlotA);
|
||||
|
|
|
@ -25,15 +25,16 @@
|
|||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptMA07::InitializeScene() {
|
||||
if (Game_Flag_Query(356)) {
|
||||
if (Game_Flag_Query(kFlagUG19toMA07)) {
|
||||
Setup_Scene_Information( 6.75f, -172.43f, 356.0f, 997);
|
||||
Game_Flag_Reset(356);
|
||||
Game_Flag_Reset(kFlagUG19toMA07);
|
||||
Game_Flag_Set(665);
|
||||
} else if (Game_Flag_Query(673)) {
|
||||
} else if (Game_Flag_Query(kFlagPS14toMA07)) {
|
||||
Setup_Scene_Information(-312.0f, -162.8f, 180.0f, 0);
|
||||
} else {
|
||||
Setup_Scene_Information( 104.0f, -162.16f, 56.0f, 519);
|
||||
}
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(381, 100, 1, 1);
|
||||
Ambient_Sounds_Add_Sound(374, 100, 300, 16, 25, 0, 0, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound( 68, 60, 180, 16, 25, 0, 0, -101, -101, 0, 0);
|
||||
|
@ -41,6 +42,7 @@ void SceneScriptMA07::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) > 1) {
|
||||
Scene_Exit_Add_2D_Exit(1, 0, 200, 50, 479, 3);
|
||||
}
|
||||
|
@ -72,8 +74,10 @@ bool SceneScriptMA07::ClickedOnItem(int itemId, bool a2) {
|
|||
|
||||
bool SceneScriptMA07::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 104.0f, -162.0f, 56.0f, 12, 1, false, 0)) {
|
||||
if (Global_Variable_Query(kVariableChapter) == 4 && Game_Flag_Query(671)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 104.0f, -162.0f, 56.0f, 12, true, false, 0)) {
|
||||
if (Global_Variable_Query(kVariableChapter) == 4
|
||||
&& Game_Flag_Query(671)
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorMcCoy, 400);
|
||||
} else {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
|
@ -84,22 +88,24 @@ bool SceneScriptMA07::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -400.0f, -162.8f, 185.08f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -400.0f, -162.8f, 185.08f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(672);
|
||||
Game_Flag_Reset(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(kFlagMA07toPS14);
|
||||
Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Set(kFlagMcCoyInPoliceStation);
|
||||
Set_Enter(kSetPS14, kScenePS14);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 8.0f, -172.43f, 356.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 8.0f, -172.43f, 356.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(357);
|
||||
Game_Flag_Set(kFlagMA07toUG19);
|
||||
Set_Enter(kSetUG19, kSceneUG19);
|
||||
}
|
||||
return true;
|
||||
|
@ -121,9 +127,9 @@ void SceneScriptMA07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptMA07::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(673)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -268.0f, -162.8f, 188.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(673);
|
||||
if (Game_Flag_Query(kFlagPS14toMA07)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -268.0f, -162.8f, 188.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagPS14toMA07);
|
||||
}
|
||||
if (Actor_Query_Goal_Number(kActorRachael) == 300) {
|
||||
Actor_Set_Goal_Number(kActorRachael, 305);
|
||||
|
@ -131,7 +137,10 @@ void SceneScriptMA07::PlayerWalkedIn() {
|
|||
if (Game_Flag_Query(kFlagMA06toMA07)) {
|
||||
Game_Flag_Reset(kFlagMA06toMA07);
|
||||
}
|
||||
if (!Game_Flag_Query(648) && Game_Flag_Query(671) && Global_Variable_Query(kVariableChapter) == 4) {
|
||||
if (!Game_Flag_Query(648)
|
||||
&& Game_Flag_Query(671)
|
||||
&& Global_Variable_Query(kVariableChapter) == 4
|
||||
) {
|
||||
Scene_Exits_Disable();
|
||||
Actor_Set_Goal_Number(kActorGaff, 300);
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ void SceneScriptNR01::InitializeScene() {
|
|||
Preload(167);
|
||||
} else if (Game_Flag_Query(534)) {
|
||||
Setup_Scene_Information( -416.0f, 31.93f, -841.0f, 200);
|
||||
} else if (Game_Flag_Query(342)) {
|
||||
} else if (Game_Flag_Query(kFlagUG06toNR01)) {
|
||||
Setup_Scene_Information( -270.0f, 4.93f, -1096.0f, 500);
|
||||
} else if (Game_Flag_Query(533)) {
|
||||
Setup_Scene_Information( 312.0f, 31.66f, -901.0f, 700);
|
||||
|
@ -42,6 +42,7 @@ void SceneScriptNR01::InitializeScene() {
|
|||
} else {
|
||||
Setup_Scene_Information( 76.0f, 23.88f, -109.0f, 966);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 31, 270, 97, 373, 3);
|
||||
if (Global_Variable_Query(kVariableChapter) > 3) {
|
||||
Scene_Exit_Add_2D_Exit(1, 201, 320, 276, 357, 2);
|
||||
|
@ -50,6 +51,7 @@ void SceneScriptNR01::InitializeScene() {
|
|||
if (Game_Flag_Query(kFlagSpinnerAtNR01)) {
|
||||
Scene_Exit_Add_2D_Exit(3, 320, 445, 639, 479, 2);
|
||||
}
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(54, 50, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(362, 22, 55, 1);
|
||||
Ambient_Sounds_Add_Sound(361, 10, 10, 20, 20, -70, -70, -101, -101, 0, 0);
|
||||
|
@ -67,15 +69,22 @@ void SceneScriptNR01::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound(375, 10, 80, 33, 33, 0, 0, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(376, 10, 80, 33, 33, 0, 0, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(377, 10, 80, 33, 33, 0, 0, -101, -101, 0, 0);
|
||||
if (Game_Flag_Query(643) && Actor_Query_Goal_Number(kActorSteele) == 230) {
|
||||
|
||||
if (Game_Flag_Query(643)
|
||||
&& Actor_Query_Goal_Number(kActorSteele) == 230
|
||||
) {
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagSpinnerAtHF01);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagSpinnerAtNR01) && !Game_Flag_Query(kFlagArrivedFromSpinner1)) {
|
||||
if ( Game_Flag_Query(kFlagSpinnerAtNR01)
|
||||
&& !Game_Flag_Query(kFlagArrivedFromSpinner1)
|
||||
) {
|
||||
Scene_Loop_Start_Special(0, 0, 0);
|
||||
Scene_Loop_Set_Default(1);
|
||||
Game_Flag_Set(kFlagArrivedFromSpinner1);
|
||||
} else if (Game_Flag_Query(kFlagSpinnerAtNR01) && Game_Flag_Query(kFlagArrivedFromSpinner1)) {
|
||||
} else if (Game_Flag_Query(kFlagSpinnerAtNR01)
|
||||
&& Game_Flag_Query(kFlagArrivedFromSpinner1)
|
||||
) {
|
||||
Scene_Loop_Set_Default(1);
|
||||
} else {
|
||||
Scene_Loop_Set_Default(4);
|
||||
|
@ -127,7 +136,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
|||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 0, kAnimationModeIdle);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(343);
|
||||
Game_Flag_Set(kFlagNR01toUG06);
|
||||
Set_Enter(kSetUG06, kSceneUG06);
|
||||
}
|
||||
return true;
|
||||
|
@ -143,17 +152,17 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
if (exitId == 3) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 108.0f, 23.88f, -93.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Reset(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagMcCoyInNightclubRow);
|
||||
switch (Spinner_Interface_Choose_Dest(-1, true)) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtPS01);
|
||||
|
@ -161,7 +170,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
break;
|
||||
case kSpinnerDestinationMcCoysApartment:
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtMA01);
|
||||
|
@ -169,7 +178,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
break;
|
||||
case kSpinnerDestinationRuncitersAnimals:
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
|
@ -177,7 +186,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
break;
|
||||
case kSpinnerDestinationChinatown:
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Set(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtCT01);
|
||||
|
@ -185,7 +194,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
break;
|
||||
case kSpinnerDestinationAnimoidRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtAR01);
|
||||
|
@ -193,7 +202,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
break;
|
||||
case kSpinnerDestinationTyrellBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtTB02);
|
||||
|
@ -201,7 +210,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
break;
|
||||
case kSpinnerDestinationDNARow:
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtDR01);
|
||||
|
@ -209,7 +218,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
break;
|
||||
case kSpinnerDestinationBradburyBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Reset(kFlagArrivedFromSpinner1);
|
||||
Game_Flag_Set(kFlagSpinnerAtBB01);
|
||||
|
@ -217,7 +226,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
|||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 3, true);
|
||||
break;
|
||||
case kSpinnerDestinationHysteriaHall:
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Set(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagSpinnerAtNR01);
|
||||
Game_Flag_Set(kFlagSpinnerAtHF01);
|
||||
Set_Enter(kSetHF01, kSceneHF01);
|
||||
|
@ -225,7 +234,7 @@ bool SceneScriptNR01::ClickedOnExit(int exitId) {
|
|||
break;
|
||||
default:
|
||||
Player_Loses_Control();
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInNightclubRow);
|
||||
Game_Flag_Set(kFlagArrivedFromSpinner1);
|
||||
Player_Gains_Control();
|
||||
break;
|
||||
|
@ -308,16 +317,16 @@ void SceneScriptNR01::PlayerWalkedIn() {
|
|||
return;
|
||||
}
|
||||
if (Game_Flag_Query(534)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -380.0f, 31.73f, -841.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -380.0f, 31.73f, -841.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(534);
|
||||
} else {
|
||||
if (Game_Flag_Query(342)) {
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, 1, kAnimationModeIdle);
|
||||
Game_Flag_Reset(342);
|
||||
if (Game_Flag_Query(kFlagUG06toNR01)) {
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, true, kAnimationModeIdle);
|
||||
Game_Flag_Reset(kFlagUG06toNR01);
|
||||
if (Actor_Query_Goal_Number(kActorSteele) == 230) {
|
||||
Actor_Face_Actor(kActorSteele, kActorMcCoy, true);
|
||||
Actor_Says(kActorSteele, 1440, 13);
|
||||
Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorSteele, 48, 0, true);
|
||||
Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorSteele, 48, false, true);
|
||||
Actor_Says(kActorMcCoy, 3145, 13);
|
||||
if (Global_Variable_Query(40) != 3) {
|
||||
Actor_Says(kActorSteele, 1450, 12);
|
||||
|
@ -418,7 +427,12 @@ void SceneScriptNR01::PlayerWalkedIn() {
|
|||
void SceneScriptNR01::PlayerWalkedOut() {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
if (!Game_Flag_Query(343) && !Game_Flag_Query(532) && !Game_Flag_Query(535) && !Game_Flag_Query(632) && !Game_Flag_Query(722)) {
|
||||
if (!Game_Flag_Query(kFlagNR01toUG06)
|
||||
&& !Game_Flag_Query(532)
|
||||
&& !Game_Flag_Query(535)
|
||||
&& !Game_Flag_Query(632)
|
||||
&& !Game_Flag_Query(722)
|
||||
) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Outtake_Play(kOuttakeAway1, true, -1);
|
||||
|
@ -428,7 +442,11 @@ void SceneScriptNR01::PlayerWalkedOut() {
|
|||
}
|
||||
|
||||
void SceneScriptNR01::DialogueQueueFlushed(int a1) {
|
||||
if (Actor_Query_Goal_Number(kActorSteele) == 251 && Actor_Query_Goal_Number(kActorGordo) != 299 && Actor_Query_Goal_Number(kActorGordo) != 254 && Actor_Query_Goal_Number(kActorGordo) != 255) {
|
||||
if (Actor_Query_Goal_Number(kActorSteele) == 251
|
||||
&& Actor_Query_Goal_Number(kActorGordo) != 299
|
||||
&& Actor_Query_Goal_Number(kActorGordo) != 254
|
||||
&& Actor_Query_Goal_Number(kActorGordo) != 255
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorSteele, 252);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -152,7 +152,7 @@ bool SceneScriptNR04::ClickedOn2DRegion(int region) {
|
|||
if (Game_Flag_Query(606) == 1) {
|
||||
return true;
|
||||
}
|
||||
if (Game_Flag_Query(374)) {
|
||||
if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
|
||||
Player_Loses_Control();
|
||||
Actor_Voice_Over(4180, kActorVoiceOver);
|
||||
Actor_Change_Animation_Mode(kActorMcCoy, 48);
|
||||
|
@ -260,7 +260,7 @@ void SceneScriptNR04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
|
||||
void SceneScriptNR04::PlayerWalkedIn() {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 53.0f, 0.0f, -26.0f, 0, 0, false, 0);
|
||||
if (Game_Flag_Query(374)) {
|
||||
if (Game_Flag_Query(kFlagAR02DektoraBoughtScorpions)) {
|
||||
Overlay_Play("nr04over", 0, 1, 0, 0);
|
||||
Delay(4000);
|
||||
Overlay_Remove("nr04over");
|
||||
|
|
|
@ -87,74 +87,74 @@ bool SceneScriptPS01::ClickedOnExit(int exitId) {
|
|||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1877.9f, 16592.0f, -2975.0f, 0, true, false, 0)) {
|
||||
Actor_Set_At_XYZ(kActorMcCoy, 1872.0f, 16592.0f, -2975.0f, 870);
|
||||
Game_Flag_Reset(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
|
||||
int spinnerDest = Spinner_Interface_Choose_Dest(3, true);
|
||||
switch (spinnerDest) {
|
||||
case kSpinnerDestinationMcCoysApartment:
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagSpinnerAtPS01);
|
||||
Game_Flag_Set(kFlagSpinnerAtMA01);
|
||||
Set_Enter(kSetMA01, kSceneMA01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationRuncitersAnimals:
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagSpinnerAtPS01);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
Set_Enter(kSetRC01, kSceneRC01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationChinatown:
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Set(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagSpinnerAtPS01);
|
||||
Game_Flag_Set(kFlagSpinnerAtCT01);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationAnimoidRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtPS01);
|
||||
Game_Flag_Set(kFlagSpinnerAtAR01);
|
||||
Set_Enter(kSetAR01_AR02, kSceneAR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationTyrellBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtPS01);
|
||||
Game_Flag_Set(kFlagSpinnerAtTB02);
|
||||
Set_Enter(kSetTB02_TB03, kSceneTB02);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationDNARow:
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtPS01);
|
||||
Game_Flag_Set(kFlagSpinnerAtDR01);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationBradburyBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtPS01);
|
||||
Game_Flag_Set(kFlagSpinnerAtBB01);
|
||||
Set_Enter(kSetBB01, kSceneBB01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationNightclubRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInNightclubRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtPS01);
|
||||
Game_Flag_Set(kFlagSpinnerAtNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeChangeSet, 4, true);
|
||||
break;
|
||||
case kSpinnerDestinationHysteriaHall:
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Set(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagSpinnerAtPS01);
|
||||
Game_Flag_Set(kFlagSpinnerAtHF01);
|
||||
Set_Enter(kSetHF01, kSceneHF01);
|
||||
|
@ -162,7 +162,7 @@ bool SceneScriptPS01::ClickedOnExit(int exitId) {
|
|||
break;
|
||||
default:
|
||||
Actor_Face_Heading(kActorMcCoy, 870, false);
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Set(kFlagArrivedFromSpinner2);
|
||||
Player_Loses_Control();
|
||||
Scene_Loop_Start_Special(2, 3, 1);
|
||||
|
|
|
@ -152,7 +152,7 @@ void SceneScriptPS04::dialogueWithGuzza() {
|
|||
DM_Add_To_List_Never_Repeat_Once_Selected(150, 7, 6, 5); // HOLDEN'S BADGE
|
||||
}
|
||||
}
|
||||
if (Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
|
||||
if (Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
|
||||
DM_Add_To_List_Never_Repeat_Once_Selected(140, 3, -1, -1); // CONFESS TO SHOOTING
|
||||
}
|
||||
DM_Add_To_List(130, 1, 1, 1); // REPORT IN
|
||||
|
@ -192,7 +192,7 @@ void SceneScriptPS04::dialogueWithGuzza() {
|
|||
|
||||
case 130: // REPORT IN
|
||||
if ( Game_Flag_Query(kFlagZubenRetired)
|
||||
&& !Game_Flag_Query(kFlagGuzzaTalkZubenRetired)
|
||||
&& !Game_Flag_Query(kFlagPS04GuzzaTalkZubenRetired)
|
||||
) {
|
||||
Actor_Says(kActorMcCoy, 3920, 13);
|
||||
Actor_Says(kActorGuzza, 140, 30);
|
||||
|
@ -220,13 +220,13 @@ void SceneScriptPS04::dialogueWithGuzza() {
|
|||
Actor_Says(kActorGuzza, 250, 34);
|
||||
Actor_Says(kActorGuzza, 260, 33);
|
||||
Actor_Says(kActorGuzza, 270, 32);
|
||||
Game_Flag_Set(kFlagGuzzaTalkZubenRetired);
|
||||
Game_Flag_Set(kFlagPS04GuzzaTalkZubenRetired);
|
||||
if (Query_Difficulty_Level() != 0) {
|
||||
Global_Variable_Increment(kVariableChinyen, 200);
|
||||
}
|
||||
Game_Flag_Set(kFlagZubenBountyPaid);
|
||||
} else if ( Game_Flag_Query(kFlagZubenSpared)
|
||||
&& !Game_Flag_Query(kFlagGuzzaTalkZubenEscaped)
|
||||
&& !Game_Flag_Query(kFlagPS04GuzzaTalkZubenEscaped)
|
||||
) {
|
||||
Actor_Says(kActorMcCoy, 3955, 13);
|
||||
Actor_Says(kActorGuzza, 280, 30);
|
||||
|
@ -236,14 +236,14 @@ void SceneScriptPS04::dialogueWithGuzza() {
|
|||
Actor_Says(kActorMcCoy, 3965, 13);
|
||||
Actor_Says(kActorGuzza, 310, 33);
|
||||
Actor_Says(kActorGuzza, 320, 34);
|
||||
Game_Flag_Set(kFlagGuzzaTalkZubenEscaped);
|
||||
Game_Flag_Set(kFlagPS04GuzzaTalkZubenEscaped);
|
||||
} else if (
|
||||
( Actor_Clue_Query(kActorMcCoy, kClueChopstickWrapper)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueSushiMenu)
|
||||
)
|
||||
&& Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewA)
|
||||
&& Actor_Query_Friendliness_To_Other(kActorGuzza, kActorMcCoy) < 50
|
||||
&& !Game_Flag_Query(kFlagGuzzaTalk1)
|
||||
&& !Game_Flag_Query(kFlagPS04GuzzaTalk1)
|
||||
) {
|
||||
Actor_Says(kActorMcCoy, 3970, 18);
|
||||
Actor_Says(kActorGuzza, 330, 30);
|
||||
|
@ -258,18 +258,18 @@ void SceneScriptPS04::dialogueWithGuzza() {
|
|||
Actor_Says(kActorMcCoy, 3985, 18);
|
||||
Actor_Says(kActorGuzza, 400, 34);
|
||||
Actor_Says(kActorGuzza, 410, 31);
|
||||
Game_Flag_Set(kFlagGuzzaTalk1);
|
||||
Game_Flag_Set(kFlagPS04GuzzaTalk1);
|
||||
} else if (
|
||||
( Actor_Clue_Query(kActorMcCoy, kClueChopstickWrapper)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueSushiMenu)
|
||||
)
|
||||
&& Actor_Clue_Query(kActorMcCoy, kClueRunciterInterviewA)
|
||||
&& !Game_Flag_Query(kFlagGuzzaTalk2)
|
||||
&& !Game_Flag_Query(kFlagPS04GuzzaTalk2)
|
||||
) {
|
||||
Actor_Says(kActorMcCoy, 3920, 13);
|
||||
Actor_Says(kActorGuzza, 570, 32);
|
||||
Actor_Says(kActorMcCoy, 4070, 13);
|
||||
Game_Flag_Set(kFlagGuzzaTalk2);
|
||||
Game_Flag_Set(kFlagPS04GuzzaTalk2);
|
||||
} else if (Actor_Query_Friendliness_To_Other(kActorGuzza, kActorMcCoy) >= 50) {
|
||||
Actor_Says(kActorMcCoy, 4020, 13);
|
||||
Actor_Says(kActorGuzza, 580, 34);
|
||||
|
|
|
@ -174,7 +174,7 @@ void SceneScriptPS05::selectNextTvNews() {
|
|||
if (Global_Variable_Query(kVariableChapter) >= 2 && Global_Variable_Query(kVariableChapter) <= 4) {
|
||||
arr[i++] = 3;
|
||||
}
|
||||
if (Game_Flag_Query(kFlagHomelessBodyFound) && Game_Flag_Query(kFlagHomelessBodyInDumpster)) {
|
||||
if (Game_Flag_Query(kFlagCT04HomelessBodyFound) && Game_Flag_Query(kFlagCT04HomelessBodyInDumpster)) {
|
||||
arr[i++] = 4;
|
||||
}
|
||||
Global_Variable_Set(kVariableNextTvNews, arr[Random_Query(0, i - 1)]);
|
||||
|
|
|
@ -69,11 +69,11 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
|
|||
Actor_Face_Actor(kActorMcCoy, kActorKlein, true);
|
||||
Actor_Set_Goal_Number(kActorKlein, 3);
|
||||
|
||||
if (!Game_Flag_Query(kFlagKleinTalkClues)) {
|
||||
if (!Game_Flag_Query(kFlagPS07KleinTalkClues)) {
|
||||
Actor_Says(kActorMcCoy, 4115, 13);
|
||||
}
|
||||
|
||||
if (!Game_Flag_Query(kFlagKleinTalkClues)
|
||||
if (!Game_Flag_Query(kFlagPS07KleinTalkClues)
|
||||
&& (Game_Flag_Query(kFlagMcCoyHasShellCasings)
|
||||
|| Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
|
||||
|| Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
|
||||
|
@ -82,17 +82,17 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
|
|||
) {
|
||||
Actor_Face_Actor(kActorKlein, kActorMcCoy, true);
|
||||
Actor_Says(kActorKlein, 30, 12);
|
||||
Game_Flag_Set(kFlagKleinTalkClues);
|
||||
Game_Flag_Set(kFlagPS07KleinTalkClues);
|
||||
} else {
|
||||
if (Game_Flag_Query(kFlagKleinTalkClues)) {
|
||||
if (Game_Flag_Query(kFlagPS07KleinTalkClues)) {
|
||||
Actor_Says(kActorMcCoy, 4130, 18);
|
||||
}
|
||||
}
|
||||
|
||||
if ( Game_Flag_Query(kFlagMcCoyHasShellCasings)
|
||||
&& !Game_Flag_Query(kFlagKleinTalkShellCasings)
|
||||
&& !Game_Flag_Query(kFlagPS07KleinTalkShellCasings)
|
||||
) {
|
||||
Game_Flag_Set(kFlagKleinTalkShellCasings);
|
||||
Game_Flag_Set(kFlagPS07KleinTalkShellCasings);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLabShellCasings, false, kActorKlein);
|
||||
Actor_Says(kActorKlein, 50, 16);
|
||||
Actor_Says(kActorMcCoy, 4135, 13);
|
||||
|
@ -106,9 +106,9 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
|
|||
}
|
||||
|
||||
if ( Game_Flag_Query(kFlagMcCoyHasOfficersStatement)
|
||||
&& !Game_Flag_Query(kFlagKleinTalkOfficersStatement)
|
||||
&& !Game_Flag_Query(kFlagPS07KleinTalkOfficersStatement)
|
||||
) {
|
||||
Game_Flag_Set(kFlagKleinTalkOfficersStatement);
|
||||
Game_Flag_Set(kFlagPS07KleinTalkOfficersStatement);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLabCorpses, false, kActorKlein);
|
||||
Actor_Says(kActorKlein, 100, 13);
|
||||
Actor_Says(kActorMcCoy, 4145, 13);
|
||||
|
@ -129,9 +129,9 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
|
|||
}
|
||||
|
||||
if ( Game_Flag_Query(kFlagMcCoyHasPaintTransfer)
|
||||
&& !Game_Flag_Query(kFlagKleinTalkPaintTransfer)
|
||||
&& !Game_Flag_Query(kFlagPS07KleinTalkPaintTransfer)
|
||||
) {
|
||||
Game_Flag_Set(kFlagKleinTalkPaintTransfer);
|
||||
Game_Flag_Set(kFlagPS07KleinTalkPaintTransfer);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueLabPaintTransfer, false, kActorKlein);
|
||||
Actor_Says(kActorKlein, 170, 14);
|
||||
Actor_Says(kActorMcCoy, 4180, 13);
|
||||
|
@ -146,9 +146,9 @@ bool SceneScriptPS07::ClickedOnActor(int actorId) {
|
|||
}
|
||||
|
||||
if ( Game_Flag_Query(kFlagMcCoyHasChromeDebris)
|
||||
&& !Game_Flag_Query(kFlagKleinTalkChromeDebris)
|
||||
&& !Game_Flag_Query(kFlagPS07KleinTalkChromeDebris)
|
||||
) {
|
||||
Game_Flag_Set(kFlagKleinTalkChromeDebris);
|
||||
Game_Flag_Set(kFlagPS07KleinTalkChromeDebris);
|
||||
Actor_Says(kActorKlein, 220, 12);
|
||||
Actor_Says(kActorMcCoy, 4190, 13);
|
||||
Actor_Says(kActorKlein, 230, 14);
|
||||
|
@ -194,7 +194,7 @@ void SceneScriptPS07::PlayerWalkedIn() {
|
|||
}
|
||||
|
||||
void SceneScriptPS07::PlayerWalkedOut() {
|
||||
if (!Game_Flag_Query(kFlagKleinInsulted) && Global_Variable_Query(kVariableChapter) == 1) {
|
||||
if (!Game_Flag_Query(kFlagPS07KleinInsulted) && Global_Variable_Query(kVariableChapter) == 1) {
|
||||
Actor_Set_Goal_Number(kActorKlein, 0);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,8 +31,10 @@ void SceneScriptPS14::InitializeScene() {
|
|||
} else {
|
||||
Setup_Scene_Information( -785.45f, 508.14f, -1652.0f, 315);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 610, 0, 639, 479, 1);
|
||||
Scene_Exit_Add_2D_Exit(1, 46, 51, 125, 192, 0);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(381, 100, 1, 1);
|
||||
Ambient_Sounds_Add_Sound(374, 100, 300, 16, 25, 0, 0, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound( 68, 60, 180, 16, 25, 0, 0, -101, -101, 0, 0);
|
||||
|
@ -69,8 +71,10 @@ 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, kAnimationModeIdle);
|
||||
if (Global_Variable_Query(kVariableChapter) == 4 && Game_Flag_Query(671)) {
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 3, true, kAnimationModeIdle);
|
||||
if (Global_Variable_Query(kVariableChapter) == 4
|
||||
&& Game_Flag_Query(671)
|
||||
) {
|
||||
if (Actor_Clue_Query(kActorMcCoy, kClueBriefcase)) {
|
||||
Game_Flag_Set(666);
|
||||
Actor_Set_Goal_Number(kActorMcCoy, 400);
|
||||
|
@ -88,11 +92,12 @@ bool SceneScriptPS14::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -785.45f, 508.14f, -1652.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(673);
|
||||
Game_Flag_Reset(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Set(kFlagPS14toMA07);
|
||||
Game_Flag_Reset(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
|
||||
Set_Enter(kSetMA07, kSceneMA07);
|
||||
}
|
||||
return true;
|
||||
|
@ -111,9 +116,9 @@ void SceneScriptPS14::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptPS14::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(672)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -801.45f, 508.14f, -1596.68f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(672);
|
||||
if (Game_Flag_Query(kFlagMA07toPS14)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -801.45f, 508.14f, -1596.68f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagMA07toPS14);
|
||||
}
|
||||
//return false;
|
||||
}
|
||||
|
|
|
@ -227,7 +227,7 @@ void SceneScriptRC01::SceneLoaded() {
|
|||
Preload(589);
|
||||
}
|
||||
|
||||
if (!Game_Flag_Query(kFlagChromeDebrisTaken)) {
|
||||
if (!Game_Flag_Query(kFlagRC01ChromeDebrisTaken)) {
|
||||
Item_Add_To_World(kItemChromeDebris, 938, kSetRC01, -148.60f, -0.30f, 225.15f, 256, 24, 24, false, true, false, true);
|
||||
}
|
||||
|
||||
|
@ -314,15 +314,15 @@ bool SceneScriptRC01::ClickedOnActor(int actorId) {
|
|||
if (Actor_Query_Goal_Number(kActorOfficerLeary) == kGoalOfficerLearyRC01WalkToCrowd) {
|
||||
Actor_Set_Goal_Number(kActorOfficerLeary, kGoalOfficerLearyDefault);
|
||||
}
|
||||
if (Game_Flag_Query(kFlagGotOfficersStatement)) {
|
||||
if (Game_Flag_Query(kFlagRC01GotOfficersStatement)) {
|
||||
Actor_Says(kActorMcCoy, 4535, 13);
|
||||
Game_Flag_Set(KFlagMcCoyAndOfficerLearyTalking);
|
||||
Game_Flag_Set(kFlagRC01McCoyAndOfficerLearyTalking);
|
||||
if (Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewA) && !Actor_Clue_Query(kActorMcCoy, kClueCrowdInterviewA)) {
|
||||
Actor_Face_Object(kActorOfficerLeary, "70_1", true);
|
||||
Actor_Says(kActorOfficerLeary, 100, 15);
|
||||
Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCrowdInterviewA, true, kActorOfficerLeary);
|
||||
Game_Flag_Reset(KFlagMcCoyAndOfficerLearyTalking);
|
||||
Game_Flag_Reset(kFlagRC01McCoyAndOfficerLearyTalking);
|
||||
} else if (Actor_Clue_Query(kActorOfficerLeary, kClueCrowdInterviewB) && !Actor_Clue_Query(kActorMcCoy, kClueCrowdInterviewB)) {
|
||||
Actor_Face_Object(kActorOfficerLeary, "70_5", true);
|
||||
Actor_Says(kActorOfficerLeary, 120, 19);
|
||||
|
@ -330,24 +330,24 @@ bool SceneScriptRC01::ClickedOnActor(int actorId) {
|
|||
Actor_Says(kActorOfficerLeary, 130, 14);
|
||||
I_Sez("JM: Did it have a huge, ugly piece of chrome on it?");
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueCrowdInterviewB, true, kActorOfficerLeary);
|
||||
Game_Flag_Reset(KFlagMcCoyAndOfficerLearyTalking);
|
||||
Game_Flag_Reset(kFlagRC01McCoyAndOfficerLearyTalking);
|
||||
} else {
|
||||
Actor_Says(kActorOfficerLeary, 90, 16);
|
||||
I_Sez("JM: This officer has a talent for vivid metaphors.");
|
||||
if (!Game_Flag_Query(KFlagMcCoyAndOfficerLearyArtMetaphor)) {
|
||||
if (!Game_Flag_Query(kFlagRC01McCoyAndOfficerLearyArtMetaphor)) {
|
||||
I_Sez("DL: What is that supposed to mean? I didn't write this line...");
|
||||
Actor_Says(kActorMcCoy, 4540, 16);
|
||||
Game_Flag_Set(KFlagMcCoyAndOfficerLearyArtMetaphor);
|
||||
Game_Flag_Set(kFlagRC01McCoyAndOfficerLearyArtMetaphor);
|
||||
}
|
||||
Game_Flag_Reset(KFlagMcCoyAndOfficerLearyTalking);
|
||||
Game_Flag_Reset(kFlagRC01McCoyAndOfficerLearyTalking);
|
||||
}
|
||||
} else {
|
||||
I_Sez("MG: Hey, leave that officer alone. Can't you see he's busy?");
|
||||
I_Sez("JM: (...mmm, donuts...)");
|
||||
Game_Flag_Set(kFlagGotOfficersStatement);
|
||||
Game_Flag_Set(kFlagRC01GotOfficersStatement);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueOfficersStatement, true, kActorOfficerLeary);
|
||||
Actor_Says(kActorMcCoy, 4515, 13);
|
||||
Game_Flag_Set(KFlagMcCoyAndOfficerLearyTalking);
|
||||
Game_Flag_Set(kFlagRC01McCoyAndOfficerLearyTalking);
|
||||
Actor_Says(kActorOfficerLeary, 40, 13);
|
||||
if (!Game_Flag_Query(kFlagRC02Entered)) {
|
||||
Actor_Says(kActorOfficerLeary, 50, 14);
|
||||
|
@ -359,7 +359,7 @@ bool SceneScriptRC01::ClickedOnActor(int actorId) {
|
|||
Actor_Says(kActorOfficerLeary, 80, 18);
|
||||
Actor_Says(kActorMcCoy, 4530, 15);
|
||||
}
|
||||
Game_Flag_Reset(KFlagMcCoyAndOfficerLearyTalking);
|
||||
Game_Flag_Reset(kFlagRC01McCoyAndOfficerLearyTalking);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
@ -375,7 +375,7 @@ bool SceneScriptRC01::ClickedOnItem(int itemId, bool a2) {
|
|||
Actor_Clue_Acquire(kActorMcCoy, kClueChromeDebris, true, -1);
|
||||
Actor_Face_Actor(kActorOfficerLeary, kActorMcCoy, true);
|
||||
Actor_Says(kActorOfficerLeary, 20, 12);
|
||||
Game_Flag_Set(kFlagChromeDebrisTaken);
|
||||
Game_Flag_Set(kFlagRC01ChromeDebrisTaken);
|
||||
Item_Remove_From_World(kItemChromeDebris);
|
||||
Item_Pickup_Spin_Effect(938, 426, 316);
|
||||
I_Sez("JM: Chrome...is that what that is?");
|
||||
|
@ -395,7 +395,7 @@ bool SceneScriptRC01::ClickedOnItem(int itemId, bool a2) {
|
|||
|
||||
void SceneScriptRC01::walkToCenter() {
|
||||
Player_Loses_Control();
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, true);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -151.98f, -0.3f, 318.15f, 0, 0, false, 0);
|
||||
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
|
||||
|
@ -426,6 +426,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == kRC01ExitSpinner) {
|
||||
if (Game_Flag_Query(kFlagDNARowAvailable)) {
|
||||
Spinner_Set_Selectable_Destination_Flag(kSpinnerDestinationDNARow, true);
|
||||
|
@ -447,10 +448,10 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
Actor_Set_Immunity_To_Obstacles(kActorMcCoy, false);
|
||||
Player_Gains_Control();
|
||||
Game_Flag_Reset(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagMcCoyInPoliceStation);
|
||||
int spinnerDest;
|
||||
if (Game_Flag_Query(kFlagRC01PoliceDone)) {
|
||||
spinnerDest = Spinner_Interface_Choose_Dest(kRC01LoopDoorAnimNoCrowd, true);
|
||||
|
@ -460,7 +461,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
|
|||
|
||||
switch (spinnerDest) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagSpinnerAtRC01);
|
||||
Game_Flag_Set(kFlagSpinnerAtPS01);
|
||||
Set_Enter(kSetPS01, kScenePS01);
|
||||
|
@ -471,7 +472,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
break;
|
||||
case kSpinnerDestinationMcCoysApartment:
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagSpinnerAtRC01);
|
||||
Game_Flag_Set(kFlagSpinnerAtMA01);
|
||||
Set_Enter(kSetMA01, kSceneMA01);
|
||||
|
@ -482,7 +483,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
break;
|
||||
case kSpinnerDestinationChinatown:
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Set(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagSpinnerAtRC01);
|
||||
Game_Flag_Set(kFlagSpinnerAtCT01);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT01);
|
||||
|
@ -493,7 +494,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
break;
|
||||
case kSpinnerDestinationTyrellBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtRC01);
|
||||
Game_Flag_Set(kFlagSpinnerAtTB02);
|
||||
Set_Enter(kSetTB02_TB03, kSceneTB02);
|
||||
|
@ -504,7 +505,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
break;
|
||||
case kSpinnerDestinationAnimoidRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtRC01);
|
||||
Game_Flag_Set(kFlagSpinnerAtAR01);
|
||||
Set_Enter(kSetAR01_AR02, kSceneAR01);
|
||||
|
@ -515,7 +516,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
break;
|
||||
case kSpinnerDestinationDNARow:
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtRC01);
|
||||
Game_Flag_Set(kFlagSpinnerAtDR01);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
|
||||
|
@ -526,7 +527,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
break;
|
||||
case kSpinnerDestinationBradburyBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtRC01);
|
||||
Game_Flag_Set(kFlagSpinnerAtBB01);
|
||||
Set_Enter(kSetBB01, kSceneBB01);
|
||||
|
@ -537,7 +538,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
break;
|
||||
case kSpinnerDestinationNightclubRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInNightclubRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtRC01);
|
||||
Game_Flag_Set(kFlagSpinnerAtNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
|
@ -548,7 +549,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
break;
|
||||
case kSpinnerDestinationHysteriaHall:
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Set(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagSpinnerAtRC01);
|
||||
Game_Flag_Set(kFlagSpinnerAtHF01);
|
||||
Set_Enter(kSetHF01, kSceneHF01);
|
||||
|
@ -565,6 +566,7 @@ bool SceneScriptRC01::ClickedOnExit(int exitId) {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == kRC01ExitRC03) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -471.98f, -0.3f, 258.15f, 4, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagRC01toRC03);
|
||||
|
@ -645,11 +647,13 @@ void SceneScriptRC01::PlayerWalkedIn() {
|
|||
Player_Gains_Control();
|
||||
Game_Flag_Reset(kFlagRC02toRC01);
|
||||
|
||||
if (Game_Flag_Query(kFlagRC02Entered) && !Game_Flag_Query(kFlagRC02FirstLeave)) {
|
||||
if ( Game_Flag_Query(kFlagRC02Entered)
|
||||
&& !Game_Flag_Query(kFlagRC02Left)
|
||||
) {
|
||||
Actor_Voice_Over(1910, kActorVoiceOver);
|
||||
Actor_Voice_Over(1920, kActorVoiceOver);
|
||||
Actor_Voice_Over(1930, kActorVoiceOver);
|
||||
Game_Flag_Set(kFlagRC02FirstLeave);
|
||||
Game_Flag_Set(kFlagRC02Left);
|
||||
}
|
||||
//return true;
|
||||
}
|
||||
|
|
|
@ -84,7 +84,7 @@ void SceneScriptRC02::SceneLoaded() {
|
|||
if (Actor_Clue_Query(kActorMcCoy, kClueRuncitersVideo) || Global_Variable_Query(kVariableChapter) > 1) {
|
||||
Unclickable_Object("SCRTY CA03");
|
||||
}
|
||||
if (!Game_Flag_Query(kFlagShellCasingsTaken)) {
|
||||
if (!Game_Flag_Query(kFlagRC02ShellCasingsTaken)) {
|
||||
Item_Add_To_World(kItemShellCasingA, 966, kSetRC02_RC51, -52.88f, -1238.89f, 108467.74f, 256, 6, 6, false, true, false, true);
|
||||
Item_Add_To_World(kItemShellCasingB, 966, kSetRC02_RC51, -37.16f, -1238.89f, 108456.59f, 512, 6, 6, false, true, false, true);
|
||||
Item_Add_To_World(kItemShellCasingC, 966, kSetRC02_RC51, -62.86f, -1238.89f, 108437.52f, 625, 6, 6, false, true, false, true);
|
||||
|
@ -259,7 +259,7 @@ bool SceneScriptRC02::ClickedOnActor(int actorId) {
|
|||
AI_Movement_Track_Pause(kActorRunciter);
|
||||
Loop_Actor_Walk_To_Actor(kActorMcCoy, kActorRunciter, 48, true, false);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorRunciter, true);
|
||||
if (!Game_Flag_Query(kFlagRunciterInterviewA)) {
|
||||
if (!Game_Flag_Query(kFlagRC02RunciterInterview)) {
|
||||
Actor_Says(kActorMcCoy, 4560, 13);
|
||||
Actor_Face_Actor(kActorRunciter, kActorMcCoy, true);
|
||||
Actor_Says(kActorRunciter, 40, 16);
|
||||
|
@ -268,7 +268,7 @@ bool SceneScriptRC02::ClickedOnActor(int actorId) {
|
|||
Actor_Says(kActorRunciter, 60, 14);
|
||||
Actor_Says(kActorMcCoy, 4570, 18);
|
||||
Actor_Says(kActorRunciter, 70, 13);
|
||||
Game_Flag_Set(kFlagRunciterInterviewA);
|
||||
Game_Flag_Set(kFlagRC02RunciterInterview);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRunciterInterviewA, true, kActorRunciter);
|
||||
AI_Movement_Track_Unpause(kActorRunciter);
|
||||
return true;
|
||||
|
@ -321,7 +321,7 @@ bool SceneScriptRC02::ClickedOnItem(int itemId, bool a2) {
|
|||
if (!Loop_Actor_Walk_To_Item(kActorMcCoy, kItemShellCasingA, 24, true, false)) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemShellCasingA, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueShellCasings, true, -1);
|
||||
Game_Flag_Set(kFlagShellCasingsTaken);
|
||||
Game_Flag_Set(kFlagRC02ShellCasingsTaken);
|
||||
Item_Remove_From_World(kItemShellCasingA);
|
||||
Item_Remove_From_World(kItemShellCasingB);
|
||||
Item_Remove_From_World(kItemShellCasingC);
|
||||
|
@ -384,7 +384,7 @@ void SceneScriptRC02::PlayerWalkedIn() {
|
|||
if (Actor_Query_Which_Set_In(kActorRunciter) == kSetRC02_RC51
|
||||
&& Actor_Query_Goal_Number(kActorRunciter) < kGoalRunciterAtShop
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorRunciter, kGoalRunciterWalkAround);
|
||||
Actor_Set_Goal_Number(kActorRunciter, kGoalRunciterWalkAroundRC02);
|
||||
}
|
||||
if ( Actor_Query_Goal_Number(kActorRunciter) == kGoalRunciterAtShop
|
||||
&& !Game_Flag_Query(704)
|
||||
|
|
|
@ -147,7 +147,7 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
|
|||
}
|
||||
Game_Flag_Set(kFlagRC03toRC01);
|
||||
Set_Enter(kSetRC01, kSceneRC01);
|
||||
Actor_Set_Goal_Number(kActorDektora, 100);
|
||||
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -157,8 +157,8 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
|
|||
Game_Flag_Set(kFlagRC04Locked);
|
||||
}
|
||||
Game_Flag_Set(kFlagRC03toAR02);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Set(kFlagMcCoyInAnimoidRow);
|
||||
Set_Enter(kSetAR01_AR02, kSceneAR02);
|
||||
}
|
||||
return true;
|
||||
|
@ -166,26 +166,26 @@ bool SceneScriptRC03::ClickedOnExit(int exitId) {
|
|||
if (exitId == 2) {
|
||||
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);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Set(kFlagMcCoyInUnderground);
|
||||
if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
|
||||
Game_Flag_Set(kFlagRC04Locked);
|
||||
}
|
||||
Set_Enter(kSetUG01, kSceneUG01);
|
||||
Actor_Set_Goal_Number(kActorDektora, 100);
|
||||
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (exitId == 3) {
|
||||
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(kFlagMcCoyAtHCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Set(kFlagMcCoyInHawkersCircle);
|
||||
if (Game_Flag_Query(kFlagRC04McCoyShotBob)) {
|
||||
Game_Flag_Set(kFlagRC04Locked);
|
||||
}
|
||||
Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC04);
|
||||
Actor_Set_Goal_Number(kActorDektora, 100);
|
||||
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStartWalkingAround);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -297,7 +297,7 @@ void SceneScriptRC03::PlayerWalkedIn() {
|
|||
if (Global_Variable_Query(kVariableChapter) == 1
|
||||
|| Global_Variable_Query(kVariableChapter) == 2
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorDektora, 103);
|
||||
Actor_Set_Goal_Number(kActorDektora, kGoalDektoraStopWalkingAround);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -47,13 +47,13 @@ void SceneScriptRC51::SceneLoaded() {
|
|||
Unclickable_Object("GRL_DSK");
|
||||
Unclickable_Object("GRL_DSKLEG");
|
||||
Unclickable_Object("CURTAIN");
|
||||
if (!Game_Flag_Query(kFlagChopstickWrapperTaken)) {
|
||||
if (!Game_Flag_Query(kFlagRC51ChopstickWrapperTaken)) {
|
||||
Item_Add_To_World(kItemChopstickWrapper, 937, kSetRC02_RC51, 47.56f, -1238.89f, 108048.61f, 0, 6, 18, false, true, false, true);
|
||||
}
|
||||
if (!Game_Flag_Query(kFlagCandyTaken)) {
|
||||
if (!Game_Flag_Query(kFlagRC51CandyTaken)) {
|
||||
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(kFlagToyDogTaken)) {
|
||||
if (!Game_Flag_Query(kFlagRC51ToyDogTaken)) {
|
||||
Item_Add_To_World(kItemToyDog, 971, kSetRC02_RC51, -69.65f, -1238.89f, 107995.24f, 256, 18, 18, false, true, false, true);
|
||||
}
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ bool SceneScriptRC51::ClickedOnItem(int itemId, bool a2) {
|
|||
Item_Remove_From_World(kItemChopstickWrapper);
|
||||
Item_Pickup_Spin_Effect(937, 437, 407);
|
||||
Actor_Voice_Over(2010, kActorVoiceOver);
|
||||
Game_Flag_Set(kFlagChopstickWrapperTaken);
|
||||
Game_Flag_Set(kFlagRC51ChopstickWrapperTaken);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -96,7 +96,7 @@ bool SceneScriptRC51::ClickedOnItem(int itemId, bool a2) {
|
|||
Item_Pickup_Spin_Effect(933, 445, 230);
|
||||
Actor_Says(kActorMcCoy, 8735, 3);
|
||||
Actor_Says(kActorMcCoy, 8529, 3);
|
||||
Game_Flag_Set(kFlagCandyTaken);
|
||||
Game_Flag_Set(kFlagRC51CandyTaken);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -109,7 +109,7 @@ bool SceneScriptRC51::ClickedOnItem(int itemId, bool a2) {
|
|||
Item_Pickup_Spin_Effect(971, 55, 376);
|
||||
Actor_Says(kActorMcCoy, 8525, 3);
|
||||
Actor_Says(kActorMcCoy, 8740, 3);
|
||||
Game_Flag_Set(kFlagToyDogTaken);
|
||||
Game_Flag_Set(kFlagRC51ToyDogTaken);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -194,71 +194,71 @@ bool SceneScriptTB02::ClickedOnExit(int exitId) {
|
|||
if (Actor_Query_Goal_Number(kActorTyrellGuard) == 300) {
|
||||
Actor_Set_Goal_Number(kActorTyrellGuard, 301);
|
||||
} else {
|
||||
Game_Flag_Reset(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagTB02ElevatorToTB05);
|
||||
switch (Spinner_Interface_Choose_Dest(-1, false)) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtPS01);
|
||||
Set_Enter(kSetPS01, kScenePS01);
|
||||
break;
|
||||
case kSpinnerDestinationMcCoysApartment:
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtMA01);
|
||||
Set_Enter(kSetMA01, kSceneMA01);
|
||||
break;
|
||||
case kSpinnerDestinationRuncitersAnimals:
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
Set_Enter(kSetRC01, kSceneRC01);
|
||||
break;
|
||||
case kSpinnerDestinationChinatown:
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Set(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtCT01);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT01);
|
||||
break;
|
||||
case kSpinnerDestinationAnimoidRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtAR01);
|
||||
Set_Enter(kSetAR01_AR02, kSceneAR01);
|
||||
break;
|
||||
case kSpinnerDestinationDNARow:
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtDR01);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
|
||||
break;
|
||||
case kSpinnerDestinationBradburyBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtBB01);
|
||||
Set_Enter(kSetBB01, kSceneBB01);
|
||||
break;
|
||||
case kSpinnerDestinationNightclubRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInNightclubRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
break;
|
||||
case kSpinnerDestinationHysteriaHall:
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Set(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtHF01);
|
||||
Set_Enter(kSetHF01, kSceneHF01);
|
||||
break;
|
||||
default:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,9 +24,17 @@
|
|||
|
||||
namespace BladeRunner {
|
||||
|
||||
enum kTB07Loops {
|
||||
kTB07LoopMain = 0,
|
||||
kTB07LoopShadeDrop = 2,
|
||||
kTB07LoopMainShadeDown = 3
|
||||
};
|
||||
|
||||
void SceneScriptTB07::InitializeScene() {
|
||||
Setup_Scene_Information(68.0f, 12.0f, 288.0f, 0);
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 383, 445, 639, 479, 2);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(109, 20, 0, 1);
|
||||
Ambient_Sounds_Add_Sound(363, 2, 55, 14, 14, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(364, 2, 55, 14, 14, -100, 100, -101, -101, 0, 0);
|
||||
|
@ -37,13 +45,16 @@ void SceneScriptTB07::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound(214, 1, 20, 20, 25, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(215, 1, 15, 20, 25, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(216, 1, 15, 20, 25, -100, 100, -101, -101, 0, 0);
|
||||
if (Global_Variable_Query(kVariableChapter) == 4 && !Actor_Clue_Query(kActorMcCoy, kClueDNATyrell)) {
|
||||
Item_Add_To_World(83, 941, 18, 9.7f, 48.7f, -174.22f, 0, 12, 12, false, true, false, true);
|
||||
|
||||
if ( Global_Variable_Query(kVariableChapter) == 4
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueDNATyrell)
|
||||
) {
|
||||
Item_Add_To_World(83, 941, kSetTB07, 9.7f, 48.7f, -174.22f, 0, 12, 12, false, true, false, true);
|
||||
}
|
||||
if (Game_Flag_Query(661)) {
|
||||
Scene_Loop_Set_Default(3);
|
||||
if (Game_Flag_Query(kFlagTB07ShadeDown)) {
|
||||
Scene_Loop_Set_Default(kTB07LoopMainShadeDown);
|
||||
} else {
|
||||
Scene_Loop_Set_Default(0);
|
||||
Scene_Loop_Set_Default(kTB07LoopMain);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -85,71 +96,71 @@ bool SceneScriptTB07::ClickedOnExit(int exitId) {
|
|||
Game_Flag_Set(kFlagTB07toTB02);
|
||||
Set_Enter(kSetTB02_TB03, kSceneTB02);
|
||||
} else {
|
||||
Game_Flag_Reset(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagMcCoyInTyrellBuilding);
|
||||
Game_Flag_Reset(kFlagTB02ElevatorToTB05);
|
||||
switch (Spinner_Interface_Choose_Dest(-1, false)) {
|
||||
case kSpinnerDestinationPoliceStation:
|
||||
Game_Flag_Set(kFlagMcCoyAtPSxx);
|
||||
Game_Flag_Set(kFlagMcCoyInPoliceStation);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtPS01);
|
||||
Set_Enter(kSetPS01, kScenePS01);
|
||||
break;
|
||||
case kSpinnerDestinationMcCoysApartment:
|
||||
Game_Flag_Set(kFlagMcCoyAtMAxx);
|
||||
Game_Flag_Set(kFlagMcCoyInMcCoyApartment);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtMA01);
|
||||
Set_Enter(kSetMA01, kSceneMA01);
|
||||
break;
|
||||
case kSpinnerDestinationRuncitersAnimals:
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtRC01);
|
||||
Set_Enter(kSetRC01, kSceneRC01);
|
||||
break;
|
||||
case kSpinnerDestinationChinatown:
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Set(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtCT01);
|
||||
Set_Enter(kSetCT01_CT12, kSceneCT01);
|
||||
break;
|
||||
case kSpinnerDestinationAnimoidRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtARxx);
|
||||
Game_Flag_Set(kFlagMcCoyInAnimoidRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtAR01);
|
||||
Set_Enter(kSetAR01_AR02, kSceneAR01);
|
||||
break;
|
||||
case kSpinnerDestinationDNARow:
|
||||
Game_Flag_Set(kFlagMcCoyAtDRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInDNARow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtDR01);
|
||||
Set_Enter(kSetDR01_DR02_DR04, kSceneDR01);
|
||||
break;
|
||||
case kSpinnerDestinationBradburyBuilding:
|
||||
Game_Flag_Set(kFlagMcCoyAtBBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInBradburyBuilding);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtBB01);
|
||||
Set_Enter(kSetBB01, kSceneBB01);
|
||||
break;
|
||||
case kSpinnerDestinationNightclubRow:
|
||||
Game_Flag_Set(kFlagMcCoyAtNRxx);
|
||||
Game_Flag_Set(kFlagMcCoyInNightclubRow);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
break;
|
||||
case kSpinnerDestinationHysteriaHall:
|
||||
Game_Flag_Set(kFlagMcCoyAtHFxx);
|
||||
Game_Flag_Set(kFlagMcCoyInHysteriaHall);
|
||||
Game_Flag_Reset(kFlagSpinnerAtTB02);
|
||||
Game_Flag_Set(kFlagSpinnerAtHF01);
|
||||
Set_Enter(kSetHF01, kSceneHF01);
|
||||
break;
|
||||
default:
|
||||
Game_Flag_Set(kFlagMcCoyAtTBxx);
|
||||
Game_Flag_Set(kFlagMcCoyInTyrellBuilding);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.0f, 12.0f, 176.0f, 0, false, false, 0);
|
||||
break;
|
||||
}
|
||||
|
@ -175,11 +186,15 @@ void SceneScriptTB07::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptTB07::PlayerWalkedIn() {
|
||||
int v0 = Global_Variable_Query(kVariableChapter);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.0f, 12.0f, 176.0f, 0, 0, false, 0);
|
||||
if ((v0 == 2 || v0 == 3) && !Game_Flag_Query(612)) {
|
||||
int chapter = Global_Variable_Query(kVariableChapter);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.0f, 12.0f, 176.0f, 0, false, false, 0);
|
||||
if ((chapter == 2
|
||||
|| chapter == 3
|
||||
)
|
||||
&& !Game_Flag_Query(kFlagTB07RachaelTalk)
|
||||
) {
|
||||
Player_Set_Combat_Mode(false);
|
||||
sub_401B0C();
|
||||
McCoyTalkWithRachaelAndTyrell();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -189,17 +204,17 @@ void SceneScriptTB07::PlayerWalkedOut() {
|
|||
void SceneScriptTB07::DialogueQueueFlushed(int a1) {
|
||||
}
|
||||
|
||||
void SceneScriptTB07::sub_401B0C() {
|
||||
Game_Flag_Set(612);
|
||||
void SceneScriptTB07::McCoyTalkWithRachaelAndTyrell() {
|
||||
Game_Flag_Set(kFlagTB07RachaelTalk);
|
||||
Delay(1500);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.98f, 12.0f, 49.79f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 44.98f, 12.0f, 49.79f, 0, false, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 178, true);
|
||||
Delay(3000);
|
||||
Actor_Put_In_Set(kActorRachael, kSetTB07);
|
||||
Actor_Set_At_XYZ(kActorRachael, -260.15f, 12.0f, -19.16f, 256);
|
||||
Actor_Change_Animation_Mode(kActorRachael, 0);
|
||||
Outtake_Play(kOuttakeRachel, true, -1);
|
||||
Loop_Actor_Walk_To_XYZ(kActorRachael, -146.15f, 12.0f, -5.84f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorRachael, -146.15f, 12.0f, -5.84f, 0, false, false, 0);
|
||||
Actor_Face_Actor(kActorRachael, kActorMcCoy, true);
|
||||
Actor_Says(kActorRachael, 480, 14);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
|
||||
|
@ -209,7 +224,7 @@ void SceneScriptTB07::sub_401B0C() {
|
|||
Actor_Says(kActorMcCoy, 5320, 15);
|
||||
Actor_Says_With_Pause(kActorMcCoy, 5325, 1.0f, 19);
|
||||
Actor_Start_Speech_Sample(kActorRachael, 500);
|
||||
Loop_Actor_Walk_To_XYZ(kActorRachael, -60.15f, 12.0f, 60.84f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorRachael, -60.15f, 12.0f, 60.84f, 0, false, false, 0);
|
||||
Actor_Face_Actor(kActorRachael, kActorMcCoy, true);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
|
||||
Actor_Says(kActorMcCoy, 5330, 14);
|
||||
|
@ -218,7 +233,7 @@ void SceneScriptTB07::sub_401B0C() {
|
|||
Actor_Says(kActorRachael, 520, 17);
|
||||
Actor_Says(kActorMcCoy, 5340, 3);
|
||||
Actor_Start_Speech_Sample(kActorRachael, 530);
|
||||
Loop_Actor_Walk_To_XYZ(kActorRachael, -4.15f, 12.0f, 54.73f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorRachael, -4.15f, 12.0f, 54.73f, 0, false, false, 0);
|
||||
Actor_Says(kActorRachael, 540, 16);
|
||||
Actor_Says(kActorMcCoy, 5345, 18);
|
||||
Actor_Says(kActorRachael, 550, 13);
|
||||
|
@ -231,7 +246,7 @@ void SceneScriptTB07::sub_401B0C() {
|
|||
Actor_Says(kActorMcCoy, 5365, 13);
|
||||
Actor_Says_With_Pause(kActorRachael, 600, 1.0f, 12);
|
||||
Actor_Says(kActorMcCoy, 5370, 3);
|
||||
Loop_Actor_Walk_To_XYZ(kActorRachael, -24.15f, 12.0f, -10.84f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorRachael, -24.15f, 12.0f, -10.84f, 0, false, false, 0);
|
||||
Actor_Says(kActorRachael, 610, 13);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorRachael, true);
|
||||
Actor_Says(kActorMcCoy, 5375, 18);
|
||||
|
@ -253,10 +268,10 @@ void SceneScriptTB07::sub_401B0C() {
|
|||
Actor_Put_In_Set(kActorTyrell, kSetTB07);
|
||||
Actor_Set_At_XYZ(kActorTyrell, 68.0f, 12.0f, 288.0f, 0);
|
||||
Actor_Change_Animation_Mode(kActorTyrell, 0);
|
||||
Scene_Loop_Set_Default(3);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, false);
|
||||
Scene_Loop_Set_Default(kTB07LoopMainShadeDown);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeOnce, kTB07LoopShadeDrop, false);
|
||||
Actor_Start_Speech_Sample(kActorTyrell, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorTyrell, 44.0f, 12.0f, 176.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorTyrell, 44.0f, 12.0f, 176.0f, 0, false, false, 0);
|
||||
Actor_Face_Actor(kActorTyrell, kActorMcCoy, true);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorTyrell, true);
|
||||
Actor_Face_Actor(kActorRachael, kActorTyrell, true);
|
||||
|
@ -267,7 +282,7 @@ void SceneScriptTB07::sub_401B0C() {
|
|||
Actor_Set_Goal_Number(kActorRachael, 200);
|
||||
Actor_Says(kActorTyrell, 40, 15);
|
||||
Actor_Start_Speech_Sample(kActorTyrell, 50);
|
||||
Loop_Actor_Walk_To_XYZ(kActorTyrell, -10.0f, 12.0f, 100.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorTyrell, -10.0f, 12.0f, 100.0f, 0, false, false, 0);
|
||||
Actor_Face_Actor(kActorTyrell, kActorMcCoy, true);
|
||||
Actor_Face_Actor(kActorMcCoy, kActorTyrell, true);
|
||||
Actor_Says(kActorMcCoy, 5430, 17);
|
||||
|
@ -284,7 +299,7 @@ void SceneScriptTB07::sub_401B0C() {
|
|||
Actor_Says(kActorTyrell, 100, 14);
|
||||
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);
|
||||
Loop_Actor_Walk_To_XYZ(kActorTyrell, -260.15f, 12.0f, -19.16f, 0, false, false, 0);
|
||||
}
|
||||
|
||||
} // End of namespace BladeRunner
|
||||
|
|
|
@ -115,8 +115,8 @@ bool SceneScriptUG01::ClickedOnExit(int exitId) {
|
|||
Actor_Face_Heading(kActorMcCoy, 768, false);
|
||||
Loop_Actor_Travel_Ladder(kActorMcCoy, 12, true, 0);
|
||||
Game_Flag_Set(kFlagUG01toRC03);
|
||||
Game_Flag_Reset(kFlagMcCoyAtUGxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtRCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInUnderground);
|
||||
Game_Flag_Set(kFlagMcCoyInRunciters);
|
||||
Set_Enter(kSetRC03, kSceneRC03);
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -68,7 +68,7 @@ void SceneScriptUG02::SceneLoaded() {
|
|||
Footstep_Sounds_Set(0, 0);
|
||||
Footstep_Sounds_Set(8, 2);
|
||||
|
||||
if (!Game_Flag_Query(kFlagRagiationGooglesTaken)
|
||||
if (!Game_Flag_Query(kFlagUG02RagiationGooglesTaken)
|
||||
&& Game_Flag_Query(kFlagIzoIsReplicant)
|
||||
) {
|
||||
Item_Add_To_World(kItemRadiationGoogles, 963, kSetUG02, -300.37f, 120.16f, -81.31f, 0, 8, 8, false, true, false, true);
|
||||
|
@ -153,7 +153,7 @@ bool SceneScriptUG02::ClickedOnItem(int itemId, bool a2) {
|
|||
if (itemId == kItemRadiationGoogles) {
|
||||
Actor_Face_Item(kActorMcCoy, kItemRadiationGoogles, true);
|
||||
Actor_Clue_Acquire(kActorMcCoy, kClueRadiationGoggles, true, -1);
|
||||
Game_Flag_Set(kFlagRagiationGooglesTaken);
|
||||
Game_Flag_Set(kFlagUG02RagiationGooglesTaken);
|
||||
Item_Remove_From_World(kItemRadiationGoogles);
|
||||
Item_Pickup_Spin_Effect(963, 426, 316);
|
||||
return true;
|
||||
|
@ -192,12 +192,12 @@ bool SceneScriptUG02::ClickedOnExit(int exitId) {
|
|||
Actor_Face_Heading(kActorMcCoy, 14, false);
|
||||
Loop_Actor_Travel_Ladder(kActorMcCoy, 9, true, 0);
|
||||
Game_Flag_Set(kFlagUG02toHC03);
|
||||
Game_Flag_Reset(kFlagMcCoyAtUGxx);
|
||||
Game_Flag_Set(kFlagMcCoyAtHCxx);
|
||||
Game_Flag_Reset(kFlagMcCoyInUnderground);
|
||||
Game_Flag_Set(kFlagMcCoyInHawkersCircle);
|
||||
if (!Game_Flag_Query(kFlagHC03CageOpen)) {
|
||||
Game_Flag_Set(kFlagHC03TrapDoorOpen);
|
||||
Game_Flag_Set(kFlagHC03CageOpen);
|
||||
Item_Remove_From_World(kItemHC03Lock);
|
||||
Item_Remove_From_World(kItemGreenPawnLock);
|
||||
}
|
||||
Set_Enter(kSetHC01_HC02_HC03_HC04, kSceneHC03);
|
||||
return true;
|
||||
|
|
|
@ -25,17 +25,18 @@
|
|||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptUG03::InitializeScene() {
|
||||
if (Game_Flag_Query(335)) {
|
||||
if (Game_Flag_Query(kFlagUG04toUG03)) {
|
||||
Setup_Scene_Information( -51.0f, 0.03f, 255.0f, 780);
|
||||
Game_Flag_Reset(335);
|
||||
} else if (Game_Flag_Query(337)) {
|
||||
Game_Flag_Reset(kFlagUG04toUG03);
|
||||
} else if (Game_Flag_Query(kFlagUG10toUG03)) {
|
||||
Setup_Scene_Information( -139.0f, 0.03f, -13.0f, 540);
|
||||
Game_Flag_Reset(337);
|
||||
Game_Flag_Reset(kFlagUG10toUG03);
|
||||
} else {
|
||||
Setup_Scene_Information(-121.88f, 0.03f, 213.35f, 540);
|
||||
}
|
||||
Scene_Exit_Add_2D_Exit(0, 46, 137, 131, 296, 0);
|
||||
Scene_Exit_Add_2D_Exit(1, 559, 141, 639, 380, 1);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(331, 15, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
|
||||
|
@ -75,7 +76,11 @@ bool SceneScriptUG03::MouseClick(int x, int y) {
|
|||
}
|
||||
|
||||
bool SceneScriptUG03::ClickedOn3DObject(const char *objectName, bool a2) {
|
||||
if ((Object_Query_Click("CHAIR_BACK", objectName) || Object_Query_Click("CHAIR_SEAT", objectName) || Object_Query_Click("CHAIR_HEADZAPPER", objectName)) && !Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "CHAIR_BACK", 36, true, false)) {
|
||||
if (Object_Query_Click("CHAIR_BACK", objectName)
|
||||
|| Object_Query_Click("CHAIR_SEAT", objectName)
|
||||
|| Object_Query_Click("CHAIR_HEADZAPPER", objectName)
|
||||
) {
|
||||
if (!Loop_Actor_Walk_To_Scene_Object(kActorMcCoy, "CHAIR_BACK", 36, true, false)) {
|
||||
Actor_Face_Object(kActorMcCoy, "CHAIR_BACK", true);
|
||||
if (!Actor_Clue_Query(kActorMcCoy, kClueScaryChair)) {
|
||||
Actor_Voice_Over(2550, kActorVoiceOver);
|
||||
|
@ -86,6 +91,7 @@ bool SceneScriptUG03::ClickedOn3DObject(const char *objectName, bool a2) {
|
|||
Actor_Clue_Acquire(kActorMcCoy, kClueScaryChair, true, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -99,23 +105,24 @@ bool SceneScriptUG03::ClickedOnItem(int itemId, bool a2) {
|
|||
|
||||
bool SceneScriptUG03::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -139.0f, 0.0f, -13.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -139.0f, 0.0f, -13.0f, 0, true, false, 0)) {
|
||||
if (Global_Variable_Query(kVariableChapter) < 4) {
|
||||
Actor_Says(kActorMcCoy, 8522, 14);
|
||||
} else {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(336);
|
||||
Game_Flag_Set(kFlagUG03toUG10);
|
||||
Set_Enter(kSetUG10, kSceneUG10);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -51.0f, 0.0f, 255.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -51.0f, 0.0f, 255.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(334);
|
||||
Game_Flag_Set(kFlagUG03toUG04);
|
||||
Set_Enter(kSetUG04, kSceneUG04);
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -25,20 +25,22 @@
|
|||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptUG04::InitializeScene() {
|
||||
if (Game_Flag_Query(339)) {
|
||||
if (Game_Flag_Query(kFlagUG05toUG04)) {
|
||||
Setup_Scene_Information( 0.0f, -1.74f, -2400.0f, 496);
|
||||
Game_Flag_Reset(339);
|
||||
} else if (Game_Flag_Query(341)) {
|
||||
Game_Flag_Reset(kFlagUG05toUG04);
|
||||
} else if (Game_Flag_Query(kFlagUG06toUG04)) {
|
||||
Setup_Scene_Information( 164.0f, 11.87f, -1013.0f, 83);
|
||||
} else {
|
||||
Setup_Scene_Information(-172.0f, 16.29f, -735.0f, 380);
|
||||
Game_Flag_Reset(334);
|
||||
Game_Flag_Reset(kFlagUG03toUG04);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 123, 308, 159, 413, 3);
|
||||
if (Global_Variable_Query(kVariableChapter) > 3) {
|
||||
Scene_Exit_Add_2D_Exit(1, 256, 333, 290, 373, 0);
|
||||
}
|
||||
Scene_Exit_Add_2D_Exit(2, 344, 298, 451, 390, 1);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(331, 25, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
|
||||
|
@ -56,6 +58,7 @@ void SceneScriptUG04::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
|
||||
|
||||
Scene_Loop_Start_Special(0, 0, 0);
|
||||
Scene_Loop_Set_Default(1);
|
||||
}
|
||||
|
@ -86,22 +89,22 @@ bool SceneScriptUG04::ClickedOnItem(int itemId, bool a2) {
|
|||
|
||||
bool SceneScriptUG04::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -172.0f, 16.29f, -735.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(335);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -172.0f, 16.29f, -735.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagUG04toUG03);
|
||||
Set_Enter(kSetUG03, kSceneUG03);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.74f, -2400.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(338);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 0.0f, -1.74f, -2400.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagUG04toUG05);
|
||||
Set_Enter(kSetUG05, kSceneUG05);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (exitId == 2) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 11.87f, -1013.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(340);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 164.0f, 11.87f, -1013.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagUG04toUG06);
|
||||
Set_Enter(kSetUG06, kSceneUG06);
|
||||
}
|
||||
return true;
|
||||
|
@ -123,9 +126,9 @@ void SceneScriptUG04::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptUG04::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(341)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 60.0f, -1.74f, -976.0f, 6, 0, false, 0);
|
||||
Game_Flag_Reset(341);
|
||||
if (Game_Flag_Query(kFlagUG06toUG04)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 60.0f, -1.74f, -976.0f, 6, false, false, 0);
|
||||
Game_Flag_Reset(kFlagUG06toUG04);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -25,21 +25,25 @@
|
|||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptUG05::InitializeScene() {
|
||||
if (Game_Flag_Query(360)) {
|
||||
if (Game_Flag_Query(663) && !Game_Flag_Query(368)) {
|
||||
if (Game_Flag_Query(kFlagHF07toUG06)) {
|
||||
if ( Game_Flag_Query(663)
|
||||
&& !Game_Flag_Query(368)
|
||||
) {
|
||||
Setup_Scene_Information(-356.35f, 132.77f, -1092.36f, 389);
|
||||
} else {
|
||||
Setup_Scene_Information(-180.0f, 37.28f, -1124.0f, 296);
|
||||
}
|
||||
} else {
|
||||
Setup_Scene_Information(0.0f, -1.37f, 0.0f, 0);
|
||||
Game_Flag_Reset(338);
|
||||
Game_Flag_Reset(kFlagUG04toUG05);
|
||||
}
|
||||
Scene_Exit_Add_2D_Exit(0, 215, 240, 254, 331, 3);
|
||||
if (!Game_Flag_Query(663)) {
|
||||
Scene_Exit_Add_2D_Exit(1, 303, 422, 639, 479, 2);
|
||||
}
|
||||
if (!Game_Flag_Query(663) || Game_Flag_Query(368)) {
|
||||
if (!Game_Flag_Query(663)
|
||||
|| Game_Flag_Query(368)
|
||||
) {
|
||||
Scene_Exit_Add_2D_Exit(2, 352, 256, 393, 344, 0);
|
||||
}
|
||||
Ambient_Sounds_Add_Looping_Sound(105, 28, 0, 1);
|
||||
|
@ -115,19 +119,19 @@ bool SceneScriptUG05::ClickedOnExit(int exitId) {
|
|||
if (exitId == 0) {
|
||||
if (Game_Flag_Query(663) && !Game_Flag_Query(368)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -356.35f, 132.77f, -1092.36f, 0, 0, false, 0);
|
||||
Game_Flag_Set(361);
|
||||
Game_Flag_Set(kFlagUG06toHF07);
|
||||
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, kAnimationModeIdle);
|
||||
Game_Flag_Set(361);
|
||||
Game_Flag_Set(kFlagUG06toHF07);
|
||||
Set_Enter(kSetHF07, kSceneHF07);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 4.0f, -11.67f, -4.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(339);
|
||||
Game_Flag_Set(kFlagUG05toUG04);
|
||||
Set_Enter(kSetUG04, kSceneUG04);
|
||||
}
|
||||
return true;
|
||||
|
@ -200,7 +204,7 @@ void SceneScriptUG05::PlayerWalkedIn() {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (Game_Flag_Query(360)) {
|
||||
if (Game_Flag_Query(kFlagHF07toUG06)) {
|
||||
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 {
|
||||
|
@ -210,7 +214,7 @@ void SceneScriptUG05::PlayerWalkedIn() {
|
|||
if (Game_Flag_Query(663)) {
|
||||
Game_Flag_Query(368); // bug in game?
|
||||
}
|
||||
Game_Flag_Reset(360);
|
||||
Game_Flag_Reset(kFlagHF07toUG06);
|
||||
}
|
||||
|
||||
void SceneScriptUG05::PlayerWalkedOut() {
|
||||
|
|
|
@ -36,15 +36,17 @@ void SceneScriptUG06::InitializeScene() {
|
|||
}
|
||||
Game_Flag_Reset(680);
|
||||
}
|
||||
if (Game_Flag_Query(340)) {
|
||||
|
||||
if (Game_Flag_Query(kFlagUG04toUG06)) {
|
||||
Setup_Scene_Information( 23.0f, 0.0f, 321.0f, 0);
|
||||
} else if (Game_Flag_Query(343)) {
|
||||
} else if (Game_Flag_Query(kFlagNR01toUG06)) {
|
||||
Setup_Scene_Information( 66.0f, 153.0f, -301.4f, 512);
|
||||
} else {
|
||||
Setup_Scene_Information(-165.0f, 1.0f, 89.0f, 990);
|
||||
}
|
||||
Scene_Exit_Add_2D_Exit(0, 0, 0, 30, 479, 3);
|
||||
Scene_Exit_Add_2D_Exit(1, 294, 68, 544, 236, 0);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(288, 18, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
|
||||
|
@ -91,22 +93,23 @@ bool SceneScriptUG06::ClickedOnItem(int itemId, bool a2) {
|
|||
|
||||
bool SceneScriptUG06::ClickedOnExit(int exitId) {
|
||||
if (exitId == 0) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 321.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 321.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(341);
|
||||
Game_Flag_Set(kFlagUG06toUG04);
|
||||
Set_Enter(kSetUG04, kSceneUG04);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -90.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -90.0f, 0, true, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 0, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 17, 1, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 153.0f, -446.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 153.0f, -446.0f, 0, false, false, 0);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(342);
|
||||
Game_Flag_Set(kFlagUG06toNR01);
|
||||
Set_Enter(kSetNR01, kSceneNR01);
|
||||
}
|
||||
return true;
|
||||
|
@ -125,16 +128,18 @@ void SceneScriptUG06::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptUG06::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(340)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 273.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(340);
|
||||
if (Game_Flag_Query(kFlagUG04toUG06)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 23.0f, 0.0f, 273.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagUG04toUG06);
|
||||
}
|
||||
if (Game_Flag_Query(343)) {
|
||||
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);
|
||||
if (Game_Flag_Query(kFlagNR01toUG06)) {
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 17, false, kAnimationModeIdle);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 66.0f, 0.0f, -36.91f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagNR01toUG06);
|
||||
}
|
||||
if (Global_Variable_Query(kVariableChapter) == 4 && !Game_Flag_Query(524)) {
|
||||
if ( Global_Variable_Query(kVariableChapter) == 4
|
||||
&& !Game_Flag_Query(524)
|
||||
) {
|
||||
Player_Loses_Control();
|
||||
Actor_Voice_Over(2620, kActorVoiceOver);
|
||||
Actor_Voice_Over(2630, kActorVoiceOver);
|
||||
|
|
|
@ -145,8 +145,8 @@ void SceneScriptUG09::PlayerWalkedOut() {
|
|||
}
|
||||
|
||||
if (Game_Flag_Query(kFlagUG09toCT12)) {
|
||||
Game_Flag_Set(kFlagMcCoyAtCTxx);
|
||||
Game_Flag_Reset(kFlagMcCoyAtUGxx);
|
||||
Game_Flag_Set(kFlagMcCoyInChinaTown);
|
||||
Game_Flag_Reset(kFlagMcCoyInUnderground);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -25,12 +25,12 @@
|
|||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptUG10::InitializeScene() {
|
||||
if (Game_Flag_Query(336)) {
|
||||
if (Game_Flag_Query(kFlagUG03toUG10)) {
|
||||
Setup_Scene_Information( -92.0f, 81.33f, -652.0f, 520);
|
||||
} else if (Game_Flag_Query(423)) {
|
||||
Game_Flag_Reset(423);
|
||||
Setup_Scene_Information(-385.12f, 1.15f, 57.44f, 400);
|
||||
} else if (Game_Flag_Query(346)) {
|
||||
} else if (Game_Flag_Query(kFlagUG14toUG10)) {
|
||||
Setup_Scene_Information( 2.5f, 1.15f, 405.0f, 200);
|
||||
} else {
|
||||
Setup_Scene_Information( 235.0f, 1.15f, 29.0f, 0);
|
||||
|
@ -78,7 +78,7 @@ void SceneScriptUG10::SceneLoaded() {
|
|||
Obstacle_Object("SLUICEGATE_LEVER", true);
|
||||
if (Global_Variable_Query(kVariableChapter) == 4
|
||||
&& !Game_Flag_Query(kFlagUG10GateOpen)
|
||||
&& Game_Flag_Query(kFlagDumpsterEmptied)
|
||||
&& Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)
|
||||
&& !Game_Flag_Query(kFlagUG03DeadHomeless)
|
||||
) {
|
||||
Scene_Loop_Set_Default(1);
|
||||
|
@ -114,7 +114,7 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
|
|||
)
|
||||
|| Game_Flag_Query(kFlagUG10GateOpen)
|
||||
) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 235.0f, 1.15f, 29.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 235.0f, 1.15f, 29.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagUG10toUG01);
|
||||
Set_Enter(kSetUG01, kSceneUG01);
|
||||
return true;
|
||||
|
@ -128,11 +128,11 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
|
|||
)
|
||||
|| Game_Flag_Query(kFlagUG10GateOpen)
|
||||
) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 1.15f, -410.8f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 1.15f, -410.8f, 0, true, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 0, false);
|
||||
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);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -92.0f, 81.83f, -652.0f, 0, false, false, 0);
|
||||
Game_Flag_Set(kFlagUG10toUG03);
|
||||
Set_Enter(kSetUG03, kSceneUG03);
|
||||
return true;
|
||||
}
|
||||
|
@ -145,7 +145,7 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
|
|||
)
|
||||
|| Game_Flag_Query(kFlagUG10GateOpen)
|
||||
) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -385.0f, 1.15f, 57.44f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -385.0f, 1.15f, 57.44f, 0, true, false, 0)) {
|
||||
Actor_Face_Heading(kActorMcCoy, 1001, false);
|
||||
Loop_Actor_Travel_Ladder(kActorMcCoy, 1, 1, 0);
|
||||
Game_Flag_Set(424);
|
||||
|
@ -161,8 +161,8 @@ bool SceneScriptUG10::ClickedOnExit(int exitId) {
|
|||
)
|
||||
|| Game_Flag_Query(kFlagUG10GateOpen)
|
||||
) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 405.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(347);
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 405.0f, 0, true, false, 0)) {
|
||||
Game_Flag_Set(kFlagUG10toUG14);
|
||||
Set_Enter(kSetUG14, kSceneUG14);
|
||||
return true;
|
||||
}
|
||||
|
@ -228,14 +228,14 @@ void SceneScriptUG10::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptUG10::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(346)) {
|
||||
Game_Flag_Reset(346);
|
||||
if (Game_Flag_Query(kFlagUG14toUG10)) {
|
||||
Game_Flag_Reset(kFlagUG14toUG10);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 2.5f, 1.15f, 377.0f, 0, false, false, 0);
|
||||
} else if (Game_Flag_Query(kFlagUG01toUG10)) {
|
||||
Game_Flag_Reset(kFlagUG01toUG10);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 207.0f, 1.15f, 29.0f, 0, false, false, 0);
|
||||
} else if (Game_Flag_Query(336)) {
|
||||
Game_Flag_Reset(336);
|
||||
} else if (Game_Flag_Query(kFlagUG03toUG10)) {
|
||||
Game_Flag_Reset(kFlagUG03toUG10);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -1.83f, 81.33f, -518.8f, 0, false, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 506, false);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 9, false, kAnimationModeIdle);
|
||||
|
|
|
@ -30,12 +30,14 @@ void SceneScriptUG12::InitializeScene() {
|
|||
Game_Flag_Reset(411);
|
||||
} else {
|
||||
Setup_Scene_Information(375.0f, -126.21f, 180.0f, 730);
|
||||
Game_Flag_Reset(345);
|
||||
Game_Flag_Reset(kFlagUG14toUG12);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 538, 222, 615, 346, 1);
|
||||
if (Game_Flag_Query(373)) {
|
||||
Scene_Exit_Add_2D_Exit(1, 334, 176, 426, 266, 0);
|
||||
}
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(105, 47, 60, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
|
||||
|
@ -50,6 +52,7 @@ void SceneScriptUG12::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound(303, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(304, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(305, 5, 50, 17, 37, -100, 100, -101, -101, 0, 0);
|
||||
|
||||
if (Game_Flag_Query(373)) {
|
||||
Scene_Loop_Set_Default(2);
|
||||
} else {
|
||||
|
@ -83,7 +86,7 @@ bool SceneScriptUG12::ClickedOnExit(int exitId) {
|
|||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 375.0f, -126.21f, 180.0f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(344);
|
||||
Game_Flag_Set(kFlagUG12toUG14);
|
||||
Set_Enter(kSetUG14, kSceneUG14);
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -27,17 +27,19 @@ namespace BladeRunner {
|
|||
void SceneScriptUG13::InitializeScene() {
|
||||
if (Game_Flag_Query(435)) {
|
||||
Setup_Scene_Information(-477.0f, 141.9f, -870.0f, 378);
|
||||
} else if (Game_Flag_Query(350)) {
|
||||
} else if (Game_Flag_Query(kFlagUG15toUG13)) {
|
||||
Setup_Scene_Information( 39.0f, 52.94f, -528.0f, 600);
|
||||
} else {
|
||||
Setup_Scene_Information( -22.0f, 54.63f, -883.0f, 578);
|
||||
Actor_Set_Invisible(kActorMcCoy, false);
|
||||
}
|
||||
|
||||
if (!Game_Flag_Query(431)) {
|
||||
Scene_Exit_Add_2D_Exit(0, 394, 205, 464, 281, 0);
|
||||
}
|
||||
Scene_Exit_Add_2D_Exit(1, 560, 90, 639, 368, 1);
|
||||
Scene_Exit_Add_2D_Exit(2, 108, 85, 175, 210, 3);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(331, 15, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
|
||||
|
@ -46,7 +48,10 @@ void SceneScriptUG13::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound(369, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(397, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(398, 2, 120, 11, 12, -100, 100, -100, 100, 0, 0);
|
||||
if (Global_Variable_Query(kVariableChapter) == 4 && !Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
|
||||
|
||||
if ( Global_Variable_Query(kVariableChapter) == 4
|
||||
&& !Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorTransient, 390);
|
||||
}
|
||||
if (Actor_Query_Goal_Number(kActorTransient) == 599) {
|
||||
|
@ -74,7 +79,7 @@ void SceneScriptUG13::SceneLoaded() {
|
|||
Unclickable_Object("BASKET");
|
||||
if ( Global_Variable_Query(kVariableChapter) >= 3
|
||||
&& !Actor_Clue_Query(kActorMcCoy, kClueOriginalRequisitionForm)
|
||||
&& Game_Flag_Query(kFlagMcCoyKilledHomeless)
|
||||
&& Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)
|
||||
&& (Actor_Clue_Query(kActorMcCoy, kClueShippingForm)
|
||||
|| Actor_Clue_Query(kActorMcCoy, kClueWeaponsOrderForm)
|
||||
)
|
||||
|
@ -175,7 +180,7 @@ bool SceneScriptUG13::ClickedOnExit(int exitId) {
|
|||
}
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 39.0f, 52.94f, -528.0f, 0, 1, false, 0)) {
|
||||
Game_Flag_Set(351);
|
||||
Game_Flag_Set(kFlagUG13toUG15);
|
||||
Set_Enter(kSetUG15, kSceneUG15);
|
||||
}
|
||||
return true;
|
||||
|
@ -238,15 +243,15 @@ void SceneScriptUG13::PlayerWalkedIn() {
|
|||
Loop_Actor_Travel_Stairs(kActorMcCoy, 11, 0, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Game_Flag_Reset(435);
|
||||
} else if (Game_Flag_Query(350)) {
|
||||
} else if (Game_Flag_Query(kFlagUG15toUG13)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -12.0f, 44.0f, -528.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(350);
|
||||
Game_Flag_Reset(kFlagUG15toUG13);
|
||||
} else {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -60.0f, 55.24f, -816.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(429);
|
||||
Player_Gains_Control();
|
||||
}
|
||||
if (Actor_Query_Goal_Number(kActorTransient) >= 390 && !Game_Flag_Query(kFlagMcCoyKilledHomeless)) {
|
||||
if (Actor_Query_Goal_Number(kActorTransient) >= 390 && !Game_Flag_Query(kFlagCT04HomelessKilledByMcCoy)) {
|
||||
if (Game_Flag_Query(553)) {
|
||||
if (Random_Query(1, 3) == 1) {
|
||||
Actor_Set_Goal_Number(kActorTransient, 395);
|
||||
|
|
|
@ -25,16 +25,18 @@
|
|||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptUG14::InitializeScene() {
|
||||
if (Game_Flag_Query(349)) {
|
||||
if (Game_Flag_Query(kFlagUG19toUG14)) {
|
||||
Setup_Scene_Information(-278.0f, 12.97f, -152.0f, 200);
|
||||
} else if (Game_Flag_Query(344)) {
|
||||
} else if (Game_Flag_Query(kFlagUG12toUG14)) {
|
||||
Setup_Scene_Information( -50.0f, 129.0f, -814.0f, 533);
|
||||
} else {
|
||||
Setup_Scene_Information( 233.0f, 186.04f, -32.0f, 865);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 0, 232, 45, 427, 3);
|
||||
Scene_Exit_Add_2D_Exit(1, 175, 44, 228, 115, 0);
|
||||
Scene_Exit_Add_2D_Exit(2, 537, 0, 639, 190, 1);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(331, 28, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
|
||||
|
@ -84,36 +86,36 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
|
|||
}
|
||||
if (!exitId) {
|
||||
if (v1) {
|
||||
if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, 0, 1, false, 0)) {
|
||||
if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, 0, true, false, 0)) {
|
||||
return false;
|
||||
}
|
||||
Actor_Face_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, true);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 0, kAnimationModeIdle);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, false, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
}
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -278.0f, 12.97f, -152.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -278.0f, 12.97f, -152.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(348);
|
||||
Game_Flag_Set(kFlagUG14toUG19);
|
||||
Set_Enter(kSetUG19, kSceneUG19);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (exitId == 1) {
|
||||
if (!v1) {
|
||||
if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, 1, false, 0)) {
|
||||
if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, true, false, 0)) {
|
||||
return false;
|
||||
}
|
||||
Actor_Face_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, true);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, kAnimationModeIdle);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, true, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
}
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -814.0f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -814.0f, 0, true, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(345);
|
||||
Game_Flag_Set(kFlagUG14toUG12);
|
||||
Set_Enter(kSetCT08_CT51_UG12, kSceneUG12);
|
||||
}
|
||||
return true;
|
||||
|
@ -121,22 +123,22 @@ bool SceneScriptUG14::ClickedOnExit(int exitId) {
|
|||
|
||||
if (exitId == 2) {
|
||||
if (!v1) {
|
||||
if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, 1, false, 0)) {
|
||||
if (Loop_Actor_Walk_To_XYZ(kActorMcCoy, -14.53f, 12.12f, -150.16f, 0, true, false, 0)) {
|
||||
return false;
|
||||
}
|
||||
Actor_Face_XYZ(kActorMcCoy, 141.47f, 128.92f, -150.16f, true);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, 1, kAnimationModeIdle);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, true, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
}
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -108.01f, 0, 1, false, 0)) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -108.01f, 0, true, false, 0)) {
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 1, kAnimationModeIdle);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 6, true, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 233.0f, 186.04f, -32.0f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 233.0f, 186.04f, -32.0f, 0, false, false, 0);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(346);
|
||||
Game_Flag_Set(kFlagUG14toUG10);
|
||||
Set_Enter(kSetUG10, kSceneUG10);
|
||||
}
|
||||
return true;
|
||||
|
@ -155,23 +157,26 @@ void SceneScriptUG14::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptUG14::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(349)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -250.0f, 12.97f, -152.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(349);
|
||||
} else if (Game_Flag_Query(344)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -604.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(344);
|
||||
if (Game_Flag_Query(kFlagUG19toUG14)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -250.0f, 12.97f, -152.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagUG19toUG14);
|
||||
} else if (Game_Flag_Query(kFlagUG12toUG14)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -50.0f, 129.0f, -604.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagUG12toUG14);
|
||||
} else {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 186.04f, -44.01f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 186.04f, -44.01f, 0, false, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 10, false);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 6, 0, kAnimationModeIdle);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 6, false, kAnimationModeIdle);
|
||||
Footstep_Sound_Override_Off();
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -148.01f, 0, 0, false, 0);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 157.0f, 128.92f, -148.01f, 0, false, false, 0);
|
||||
Actor_Face_Heading(kActorMcCoy, 807, false);
|
||||
Game_Flag_Reset(347);
|
||||
Game_Flag_Reset(kFlagUG10toUG14);
|
||||
}
|
||||
if (Global_Variable_Query(kVariableChapter) == 4 && Game_Flag_Query(kFlagDumpsterEmptied) && !Game_Flag_Query(694)) {
|
||||
if ( Global_Variable_Query(kVariableChapter) == 4
|
||||
&& Game_Flag_Query(kFlagCT04HomelessBodyThrownAway)
|
||||
&& !Game_Flag_Query(kFlagUG14DeadHomeless)
|
||||
) {
|
||||
Overlay_Play("UG14OVER", 0, 0, 1, 0);
|
||||
Delay(1000);
|
||||
Actor_Face_Heading(kActorMcCoy, 609, false);
|
||||
|
@ -179,7 +184,7 @@ void SceneScriptUG14::PlayerWalkedIn() {
|
|||
Actor_Voice_Over(270, kActorVoiceOver);
|
||||
Delay(2150);
|
||||
Actor_Voice_Over(300, kActorVoiceOver);
|
||||
Game_Flag_Set(694);
|
||||
Game_Flag_Set(kFlagUG14DeadHomeless);
|
||||
}
|
||||
//return false;
|
||||
}
|
||||
|
|
|
@ -25,30 +25,36 @@
|
|||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptUG15::InitializeScene() {
|
||||
if (Game_Flag_Query(353)) {
|
||||
if (Game_Flag_Query(kFlagUG17toUG15)) {
|
||||
Setup_Scene_Information( -25.0f, 26.31f, -434.0f, 520);
|
||||
} else if (Game_Flag_Query(kFlagUG16toUG15)) {
|
||||
} else if (Game_Flag_Query(kFlagUG16toUG15a)) {
|
||||
Setup_Scene_Information( -17.0f, 26.31f, -346.0f, 711);
|
||||
} else if (Game_Flag_Query(355)) {
|
||||
} else if (Game_Flag_Query(kFlagUG16toUG15b)) {
|
||||
Setup_Scene_Information( -18.0f, 48.07f, 62.0f, 650);
|
||||
} else {
|
||||
Setup_Scene_Information(-238.0f, 48.07f, 222.0f, 180);
|
||||
if (Game_Flag_Query(676) && Random_Query(1, 10) == 10) {
|
||||
if (Game_Flag_Query(676)
|
||||
&& Random_Query(1, 10) == 10
|
||||
) {
|
||||
Game_Flag_Reset(676);
|
||||
}
|
||||
}
|
||||
if (Game_Flag_Query(682)) {
|
||||
Scene_Loop_Set_Default(3);
|
||||
}
|
||||
if (Game_Flag_Query(353) || Game_Flag_Query(kFlagUG16toUG15)) {
|
||||
|
||||
if (Game_Flag_Query(kFlagUG17toUG15)
|
||||
|| Game_Flag_Query(kFlagUG16toUG15a)
|
||||
) {
|
||||
Scene_Exit_Add_2D_Exit(0, 260, 0, 307, 298, 0);
|
||||
Scene_Exit_Add_2D_Exit(1, 301, 147, 337, 304, 1);
|
||||
Game_Flag_Reset(353);
|
||||
Game_Flag_Reset(kFlagUG16toUG15);
|
||||
Game_Flag_Reset(kFlagUG17toUG15);
|
||||
Game_Flag_Reset(kFlagUG16toUG15a);
|
||||
} else {
|
||||
Scene_Exit_Add_2D_Exit(2, 406, 128, 480, 316, 1);
|
||||
Scene_Exit_Add_2D_Exit(3, 0, 0, 30, 479, 3);
|
||||
}
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(105, 71, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound( 95, 45, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(332, 76, 0, 1);
|
||||
|
@ -75,7 +81,6 @@ void SceneScriptUG15::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound(197, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(198, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(199, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
|
||||
|
||||
}
|
||||
|
||||
void SceneScriptUG15::SceneLoaded() {
|
||||
|
@ -107,20 +112,22 @@ bool SceneScriptUG15::ClickedOnExit(int exitId) {
|
|||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -25.0f, 26.31f, -434.0f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(352);
|
||||
Game_Flag_Set(kFlagUG15toUG17);
|
||||
Set_Enter(kSetUG17, kSceneUG17);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -17.0f, 26.31f, -346.0f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagUG15toUG16);
|
||||
Game_Flag_Set(kFlagUG15toUG16a);
|
||||
Set_Enter(kSetUG16, kSceneUG16);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 2) {
|
||||
int v1 = Actor_Query_Goal_Number(kActorFreeSlotA);
|
||||
if (v1 >= 300 && v1 <= 303) {
|
||||
|
@ -128,22 +135,22 @@ bool SceneScriptUG15::ClickedOnExit(int exitId) {
|
|||
} else if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 18.0f, 52.28f, 46.0f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(354);
|
||||
Game_Flag_Set(kFlagUG15toUG16b);
|
||||
Set_Enter(kSetUG16, kSceneUG16);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 3) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -238.0f, 52.46f, 222.0f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(350);
|
||||
Game_Flag_Set(kFlagUG15toUG13);
|
||||
Set_Enter(kSetUG13, kSceneUG13);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
bool SceneScriptUG15::ClickedOn2DRegion(int region) {
|
||||
|
@ -154,7 +161,9 @@ void SceneScriptUG15::SceneFrameAdvanced(int frame) {
|
|||
if (Actor_Query_Goal_Number(kActorFreeSlotA) == 300) {
|
||||
float x, y, z;
|
||||
Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
|
||||
if (-160.0f <= x && z < 220.0f) {
|
||||
if (-160.0f <= x
|
||||
&& z < 220.0f
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorFreeSlotA, 301);
|
||||
}
|
||||
}
|
||||
|
@ -164,14 +173,19 @@ void SceneScriptUG15::SceneFrameAdvanced(int frame) {
|
|||
if (Game_Flag_Query(677) && !Game_Flag_Query(682)) {
|
||||
float x, y, z;
|
||||
Actor_Query_XYZ(kActorMcCoy, &x, &y, &z);
|
||||
if (-180.0f <= x && (z < 220.0f && !Game_Flag_Query(724))) {
|
||||
if (-180.0f <= x
|
||||
&& z < 220.0f
|
||||
&& !Game_Flag_Query(724)
|
||||
) {
|
||||
Game_Flag_Set(724);
|
||||
Game_Flag_Set(682);
|
||||
Scene_Loop_Set_Default(3);
|
||||
Scene_Loop_Start_Special(kSceneLoopModeOnce, 2, true);
|
||||
Actor_Set_Goal_Number(kActorMcCoy, 390);
|
||||
Actor_Query_XYZ(kActorFreeSlotA, &x, &y, &z);
|
||||
if (-200.0f < x && -62.0f > x) {
|
||||
if (-200.0f < x
|
||||
&& -62.0f > x
|
||||
) {
|
||||
Actor_Set_Goal_Number(kActorFreeSlotA, 309);
|
||||
}
|
||||
}
|
||||
|
@ -183,11 +197,11 @@ void SceneScriptUG15::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptUG15::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(355)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -62.0f, 48.07f, 102.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(355);
|
||||
} else if (Game_Flag_Query(351)) {
|
||||
Game_Flag_Reset(351);
|
||||
if (Game_Flag_Query(kFlagUG16toUG15b)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, -62.0f, 48.07f, 102.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagUG16toUG15b);
|
||||
} else if (Game_Flag_Query(kFlagUG13toUG15)) {
|
||||
Game_Flag_Reset(kFlagUG13toUG15);
|
||||
if (!Game_Flag_Query(676)) {
|
||||
Actor_Set_Goal_Number(kActorFreeSlotA, 310);
|
||||
}
|
||||
|
|
|
@ -28,19 +28,22 @@ void SceneScriptUG16::InitializeScene() {
|
|||
if (Game_Flag_Query(552)) {
|
||||
Setup_Scene_Information(-270.76f, -34.88f, -504.02f, 404);
|
||||
Game_Flag_Reset(552);
|
||||
} else if (Game_Flag_Query(kFlagUG15toUG16)) {
|
||||
} else if (Game_Flag_Query(kFlagUG15toUG16a)) {
|
||||
Setup_Scene_Information(-322.0f, -34.0f, -404.0f, 345);
|
||||
Game_Flag_Reset(kFlagUG15toUG16);
|
||||
Game_Flag_Reset(kFlagUG15toUG16a);
|
||||
} else {
|
||||
Setup_Scene_Information(-318.0f, -34.0f, -216.0f, 340);
|
||||
Game_Flag_Reset(354);
|
||||
Game_Flag_Reset(kFlagUG15toUG16b);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 242, 169, 282, 262, 3);
|
||||
Scene_Exit_Add_2D_Exit(1, 375, 166, 407, 251, 3);
|
||||
Scene_Exit_Add_2D_Exit(2, 461, 148, 523, 248, 0);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(516, 33, 81, 0);
|
||||
Ambient_Sounds_Add_Looping_Sound(332, 40, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(333, 40, 0, 1);
|
||||
|
||||
if (Game_Flag_Query(568)) {
|
||||
Scene_Loop_Set_Default(5);
|
||||
} else {
|
||||
|
@ -132,24 +135,26 @@ bool SceneScriptUG16::ClickedOnExit(int exitId) {
|
|||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -322.0f, -34.0f, -216.0f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(355);
|
||||
Game_Flag_Set(kFlagUG16toUG15b);
|
||||
Set_Enter(kSetUG15, kSceneUG15);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (exitId == 1) {
|
||||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, -322.0f, -34.0f, -404.0f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(kFlagUG16toUG15);
|
||||
Game_Flag_Set(kFlagUG16toUG15a);
|
||||
Set_Enter(kSetUG15, kSceneUG15);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
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, kAnimationModeIdle);
|
||||
Loop_Actor_Travel_Stairs(kActorMcCoy, 13, true, kAnimationModeIdle);
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(551);
|
||||
|
|
|
@ -31,14 +31,17 @@ void SceneScriptUG17::InitializeScene() {
|
|||
} else {
|
||||
Setup_Scene_Information(1000.0f, 67.96f, -1539.0f, 0);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 610, 0, 639, 479, 1);
|
||||
Scene_Exit_Add_2D_Exit(1, 551, 347, 594, 386, 0);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound(589, 100, 1, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(384, 50, 1, 1);
|
||||
Ambient_Sounds_Add_Sound(72, 5, 80, 10, 11, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(73, 5, 80, 10, 11, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(74, 5, 80, 10, 11, -100, 100, -101, -101, 0, 0);
|
||||
Overlay_Play("UG17OVER", 0, 1, 0, 0);
|
||||
|
||||
Overlay_Play("UG17OVER", 0, true, false, 0);
|
||||
}
|
||||
|
||||
void SceneScriptUG17::SceneLoaded() {
|
||||
|
@ -67,7 +70,7 @@ bool SceneScriptUG17::ClickedOnExit(int exitId) {
|
|||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 1000.0f, 67.96f, -1539.0f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(353);
|
||||
Game_Flag_Set(kFlagUG17toUG15);
|
||||
Set_Enter(kSetUG15, kSceneUG15);
|
||||
}
|
||||
return true;
|
||||
|
@ -101,9 +104,9 @@ void SceneScriptUG17::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptUG17::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(352)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 961.0f, 67.96f, -1539.0f, 0, 0, false, 0);
|
||||
Game_Flag_Reset(352);
|
||||
if (Game_Flag_Query(kFlagUG15toUG17)) {
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 961.0f, 67.96f, -1539.0f, 0, false, false, 0);
|
||||
Game_Flag_Reset(kFlagUG15toUG17);
|
||||
}
|
||||
//return false;
|
||||
}
|
||||
|
|
|
@ -25,13 +25,15 @@
|
|||
namespace BladeRunner {
|
||||
|
||||
void SceneScriptUG19::InitializeScene() {
|
||||
if (Game_Flag_Query(357)) {
|
||||
if (Game_Flag_Query(kFlagMA07toUG19)) {
|
||||
Setup_Scene_Information(67.03f, 105.0f, -74.97f, 256);
|
||||
} else {
|
||||
Setup_Scene_Information(181.0f, 11.52f, -18.0f, 777);
|
||||
}
|
||||
|
||||
Scene_Exit_Add_2D_Exit(0, 351, 0, 491, 347, 0);
|
||||
Scene_Exit_Add_2D_Exit(1, 548, 124, 639, 369, 1);
|
||||
|
||||
Ambient_Sounds_Add_Looping_Sound( 95, 45, 0, 1);
|
||||
Ambient_Sounds_Add_Looping_Sound(332, 76, 0, 1);
|
||||
Ambient_Sounds_Add_Sound(291, 2, 20, 25, 33, -100, 100, -100, 100, 0, 0);
|
||||
|
@ -56,7 +58,6 @@ void SceneScriptUG19::InitializeScene() {
|
|||
Ambient_Sounds_Add_Sound(197, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(198, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
|
||||
Ambient_Sounds_Add_Sound(199, 5, 50, 27, 37, -100, 100, -101, -101, 0, 0);
|
||||
|
||||
}
|
||||
|
||||
void SceneScriptUG19::SceneLoaded() {
|
||||
|
@ -91,7 +92,7 @@ bool SceneScriptUG19::ClickedOnExit(int exitId) {
|
|||
Footstep_Sound_Override_Off();
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(356);
|
||||
Game_Flag_Set(kFlagUG19toMA07);
|
||||
Set_Enter(kSetMA07, kSceneMA07);
|
||||
}
|
||||
return true;
|
||||
|
@ -100,7 +101,7 @@ bool SceneScriptUG19::ClickedOnExit(int exitId) {
|
|||
if (!Loop_Actor_Walk_To_XYZ(kActorMcCoy, 181.0f, 11.52f, -18.0f, 0, 1, false, 0)) {
|
||||
Ambient_Sounds_Remove_All_Non_Looping_Sounds(true);
|
||||
Ambient_Sounds_Remove_All_Looping_Sounds(1);
|
||||
Game_Flag_Set(349);
|
||||
Game_Flag_Set(kFlagUG19toUG14);
|
||||
Set_Enter(kSetUG14, kSceneUG14);
|
||||
}
|
||||
return true;
|
||||
|
@ -119,13 +120,13 @@ void SceneScriptUG19::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bo
|
|||
}
|
||||
|
||||
void SceneScriptUG19::PlayerWalkedIn() {
|
||||
if (Game_Flag_Query(348)) {
|
||||
Game_Flag_Reset(348);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 129.0f, 11.52f, -18.0f, 0, 0, false, 0);
|
||||
if (Game_Flag_Query(kFlagUG14toUG19)) {
|
||||
Game_Flag_Reset(kFlagUG14toUG19);
|
||||
Loop_Actor_Walk_To_XYZ(kActorMcCoy, 129.0f, 11.52f, -18.0f, 0, false, false, 0);
|
||||
} else {
|
||||
Game_Flag_Reset(357);
|
||||
Game_Flag_Reset(kFlagMA07toUG19);
|
||||
Footstep_Sound_Override_On(3);
|
||||
Loop_Actor_Travel_Ladder(kActorMcCoy, 8, 0, 0);
|
||||
Loop_Actor_Travel_Ladder(kActorMcCoy, 8, false, 0);
|
||||
Footstep_Sound_Override_Off();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -168,11 +168,11 @@ DECLARE_SCRIPT(DR02)
|
|||
END_SCRIPT
|
||||
|
||||
DECLARE_SCRIPT(DR03)
|
||||
void sub_401B18();
|
||||
void dialogueWithChew();
|
||||
END_SCRIPT
|
||||
|
||||
DECLARE_SCRIPT(DR04)
|
||||
bool sub_401160();
|
||||
bool farEnoughFromExplosion();
|
||||
END_SCRIPT
|
||||
|
||||
DECLARE_SCRIPT(DR05)
|
||||
|
@ -441,7 +441,7 @@ DECLARE_SCRIPT(TB06)
|
|||
END_SCRIPT
|
||||
|
||||
DECLARE_SCRIPT(TB07)
|
||||
void sub_401B0C();
|
||||
void McCoyTalkWithRachaelAndTyrell();
|
||||
END_SCRIPT
|
||||
|
||||
DECLARE_SCRIPT(UG01)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue