##################################################################### # INTERACT ROOM WITH ITEM ##################################################################### label use_item(target, item): if target.ID == "AEEngineTerminal" and item.ID == "ITMControlBand": play sound "audio/beep.wav" mc "\"I think access control is done centrally at the Bridge...\"" elif target.ID == "AEBeaconEleCtrlButton" and item.ID == "ITMSpanner" and "activated" not in GAME.locs["LOCBeaconElements"].tags: $ GAME.locs["LOCBeaconElements"].tags.append("activated") queue sound "audio/explosion.wav" scene room_beacon_elements_smart with vpunch mc "\"Whoa...!\"" return() elif target.ID == "AEBeaconAutCtrlButton" and item.ID == "ITMSpanner" and "activated" not in GAME.locs["LOCBeaconAutomatons"].tags: $ GAME.locs["LOCBeaconAutomatons"].tags.append("activated") queue sound "audio/explosion.wav" scene room_beacon_automatons_smart with vpunch mc "\"Whoa...!\"" return() elif target.ID == "AEBeaconAsmCtrlButton" and item.ID == "ITMSpanner" and "activated" not in GAME.locs["LOCBeaconAssembly"].tags: $ GAME.locs["LOCBeaconAssembly"].tags.append("activated") queue sound "audio/explosion.wav" scene room_beacon_assembly_smart with vpunch mc "\"Whoa...!\"" return() elif target.ID == "AEBeaconStaCtrlButton" and item.ID == "ITMSpanner" and "activated" not in GAME.locs["LOCBeaconStars"].tags: $ GAME.locs["LOCBeaconStars"].tags.append("activated") queue sound "audio/explosion.wav" $ GAME.locs["LOCBeaconStars"].tags.append("activated") play sound "audio/rumble.wav" play music "audio/ambient_engine2.mp3" scene room_beacon_stars_smart with purpleflash mc "\"Whoa...!\"" mc "\"That Sculpture lit up...\"" queue sound "audio/notify.wav" v "\"It is a Navigational Array...\"" return() elif target.ID == "AECargoTerminal" and item.ID == "ITMMultiPod": play sound "audio/beep.wav" call large_notify("TRANSDIMENSIONAL POD", "WARNING: This device can be used only once. To use it, fill the available slots with subunits from your cargo bay. They will be projected into the Multiverse.", ["Continue", "Abort"], "08_items/ico ITMMultiPod.png", "red") from _call_large_notify_6 if _return == "Abort": mc "\"I better think about this once more...\"" else: call multiverse_manager() from _call_multiverse_manager return() elif target.ID == "AECaptainCabinet" and item.ID == "ITMOutfitStarblaze": if GAME.hour < 22: mc "\"Its a bit early to play Dress Up...\"" mc "\"Captain Starblaze is a Scoundrel of the Night...\"" else: queue sound "audio/notify.wav" mc "\"It's time for Captain 'Starblaze' [GAME.mc.name]...\"" if item not in GAME.mc.wardrobe: $ GAME.mc.addItem(item.ID, "wardrobe") queue sound "audio/equip.wav" "You switch into the Pirate Costume..." with fade $ GAME.mc.putOn("ITMOutfitStarblaze") mc "\"There, all ready to rescue Damsels in Distress...\"" elif target.ID == "AECaptainComputer" and item.ID == "ITMDataGalaxina": "Holo Manager" "\"Analyzing...\"" queue sound "audio/tech_success.wav" "Holo Manager" "\"Galaxina Episode Registered.\"" queue sound "audio/notify.wav" mc "\"Nice!\"" $ GAME.mc.remItem("ITMDataGalaxina") $ GAME.registerEpisode() elif target.ID == "AECargoTerminal" and item.ID == "ITMDroneRemote": play sound "audio/beep.wav" call cargo_drone_manager() from _call_cargo_drone_manager return() elif target.ID == "AETenarisWarehouseTerminal" and item.ID == "ITMMultiPod": play sound "audio/beep.wav" call large_notify("TRANSDIMENSIONAL POD", "WARNING: This device can be used only once. Using it now will sublimate all wares, subunits, subsystems and bot stasis pod from this Warehouse into the Multiverse.\nThey will be gone from this instance.", ["Continue", "Abort"], "08_items/ico ITMMultiPod.png", "red") from _call_large_notify_7 if _return == "Abort": mc "\"I better think about this once more...\"" else: call warehouse_multiverse_export() from _call_warehouse_multiverse_export return() elif target.ID == "AECargoTerminal" and item.ID == "ITMLiquorVortex": if not GAME.ship.cargoFree(): mc "\"I need space in cargo to package a crate...\"" elif not GAME.mc.hasItem("ITMLiquorVortex",6): mc "\"I need six bottles of Vortex for an Exclusive Crate.\"" else: queue sound "audio/potion.wav" $ item = GAME.items["ITMCrateExclusive"] $ renpy.say (None,"You carefully package six bottles of {} into a crate...".format(GAME.items["ITMLiquorVortex"].getName(["noArt","cap", "col"]))) queue sound "audio/load.wav" $ n = 6 while n: $ n -= 1 $ GAME.mc.remItem("ITMLiquorVortex") queue sound "audio/notify.wav" call simple_notify("ITEM LOADED", "(1x) {}".format(item.getName(["noArt", "cap", "col"])), ["Continue"], "08_items/ico ITMCrateExclusive.png", "orange") from _call_simple_notify_10 $ GAME.ship.loadWare("ITMCrateExclusive") call quest_updater() from _call_quest_updater_50 ##################################################################### # WAYSTATION ##################################################################### elif target.ID == "AEWayDockDoor" and item.ID == "ITMKeyPreNavigation": if "unlocked" in GAME.locs["LOCWayDock"].tags: queue sound "audio/tech_fail.wav" "Waystation Access aleady unlocked." else: $ GAME.locs["LOCWayDock"].tags.append("unlocked") queue sound "audio/tech_success.wav" "Waystation Control" "\"Access Granted.\"" mc "\"Nice!\"" elif target.ID == "AEWayCtrlButton" and item.ID == "ITMKeyPreNavigation": if "online" in GAME.locs["LOCWayControlRoom"].tags: queue sound "audio/switch.wav" $ GAME.locs["LOCWayControlRoom"].tags.remove("online") # "Waystation Control" "\"All Systems Deactivated...\"" else: queue sound "audio/teleport.wav" $ GAME.locs["LOCWayControlRoom"].tags.append("online") "Waystation Control" "\"All Systems Activated...\"" with vpunch queue sound "audio/notify.wav" v "\"The Intergalactic Navigation Hub is operational...\"" v "\"I better stay here and study it.\"" mc "\"Agreed!\"" ##################################################################### # MISCELLANEOUS ##################################################################### elif target.ID == "AEEngineTerminal" and item.ID == "ITMPoster001": $ GAME.mc.remItem("ITMPoster001") queue sound "audio/install.wav" "You attach the poster to the engine cover..." queue sound "audio/tech_success.wav" $GAME.locs["LOCEngine"].tags.append("ITMPoster001") mc "\"Nice...\"" return() elif target.ID == "AELabStorage" and item.ID == "ITMCamera": if GAME.questSys.isActive("QID_BOT_OBSERVE"): mc "\"I already placed a camera here...\"" elif GAME.questSys.inProgress("QID_BOT_MONITOR"): queue sound "audio/install.wav" "You install the monitoring camera..." with fade call hour_passes(1) from _call_hour_passes_22 $ GAME.mc.remItem("ITMCamera") $ GAME.mc.hasDone("camera_placed") call quest_updater() from _call_quest_updater_51 else: mc "\"I don't know what that would accomplish...\"" return() ##################################################################### # REPAIR JOBS ##################################################################### elif "AERep" in target.ID and item.ID == "ITMSpanner": queue sound "audio/install.wav" $ GAME.repQueue.remove(target.ID) while target.ID in GAME.repMisses: $ GAME.repMisses.remove(target.ID) mc "\"There, fixed!\"" $ GAME.mc.tallyUp("Repair Jobs",1) $ GAME.mc.incAttrFrac("TEC", 0.1,5) $ GAME.mc.hasDoneToday("repair") if tris.getJob().ID == "JOB_Diag" and GAME.repQueue == []: queue sound "audio/notify.wav" mc "\"The last repair job for today, done!\"" if GAME.repQueue == []: $ GAME.repMisses = [] call hour_passes() from _call_hour_passes_23 return() elif "repair" in target.ID.lower() and GAME.hour >= 22: mc "\"I'm too tired for that...\"" mc "\"I should have thought of it earlier...\"" # DEPRECATED elif target.ID == "AEEngineRepairDucts" and item.ID == "ITMSpanner": play sound "audio/install.wav" call hour_passes() from _call_hour_passes_24 mc "\"That should take care of it...\"" with fade $ GAME.mc.tallyUp("Repair Jobs",1) $ GAME.mc.hasDoneToday("QID_TSK_DUCTS_ENGINE") $ GAME.mc.hasDoneToday("repair_job") elif target.ID == "AEH2RepairTerminal" and item.ID == "ITMSpanner": play sound "audio/install.wav" call hour_passes() from _call_hour_passes_25 mc "\"That should take care of the terminal...\"" with fade $ GAME.mc.tallyUp("Repair Jobs",1) $ GAME.mc.hasDoneToday("QID_TSK_TERMINAL_H2") $ GAME.mc.hasDoneToday("repair_job") elif target.ID == "AEH1RepairPlating" and item.ID == "ITMSpanner": play sound "audio/install.wav" call hour_passes() from _call_hour_passes_26 mc "\"That should take care of the floor plating...\"" with fade $ GAME.mc.tallyUp("Repair Jobs",1) $ GAME.mc.hasDoneToday("QID_TSK_FLOOR_H1") $ GAME.mc.hasDoneToday("repair_job") elif target.ID == "AEH1RepairPlating_2" and item.ID == "ITMSpanner": play sound "audio/install.wav" call hour_passes() from _call_hour_passes_27 mc "\"That should take care of the floor plating...\"" with fade $ GAME.mc.tallyUp("Repair Jobs",1) $ GAME.mc.hasDoneToday("QID_TSK_FLOOR_H1_2") $ GAME.mc.hasDoneToday("repair_job") ##################################################################### # ENGINE ROOM ##################################################################### elif target.ID == "AEEngineButton" and item.ID == "ITMSpanner" and "reactor activated" not in GAME.mc.done: mc "\"This [C_HI_B]Hyper Wrench[C_HI_E] should do the trick...\"" play sound "audio/switch.wav" "Click...!" with vpunch play sound "audio/switch.wav" "Click...!" with vpunch play sound "audio/rumble.wav" $ GAME.mc.hasDone("reactor activated") play music "audio/ambient_engine2.mp3" mc "\"Whoaa...!\"" with blueflash call quest_updater() from _call_quest_updater_52 return() ##################################################################### # CAPTAINS QUARTERS ##################################################################### elif target.ID == "AECaptainBed" and item.ID in ["ITMFlyboy01", "ITMFlyboy02"]: if GAME.hour < 18: mc "\"It's a bit early for that...\"" call sandbox_interior_prepare_scene() from _call_sandbox_interior_prepare_scene_15 elif not GAME.questSys.isDone('QID_MAIN_GIVEMAP'): mc "\"I should get something done around the ship first...\"" mc "\"For example, give T'Ris her map...\"" mc "\"Then I can enjoy my magazine...\"" return() elif "used_magazine" not in GAME.mc.doneToday and item.ID == "ITMFlyboy01": $ GAME.mc.hasDoneToday("used_magazine") call cutscene_tris("flyboy_magazine") from _call_cutscene_tris_3 $ GAME.hour = 23 # call night_passes() call sandbox_interior_prepare_scene() from _call_sandbox_interior_prepare_scene_16 elif "used_magazine" not in GAME.mc.doneToday and item.ID == "ITMFlyboy02": $ GAME.mc.hasDoneToday("used_magazine") call cutscene_tris("flyboy_magazine_special") from _call_cutscene_tris_4 $ GAME.hour = 23 # call night_passes() call sandbox_interior_prepare_scene() from _call_sandbox_interior_prepare_scene_17 else: mc "\"I shouldn't overdo it...\"" return() # CR-0492 elif target.ID == "AECaptainBox" and item.ID == "ITMControlBand": if not GAME.mc.hasDone("package_opened"): mc "\"The controller should be able to override the lock...\"" queue sound "audio/tech_success.wav" mc "\"Yes, unlocked!\"" mc "\"Let's see what is in there...\"" mc "\"Some data modules...\"" mc "\"And a magazine!\"" mc "\"'Flyboy Special Edition'...\"" mc "\"Looks like Nimhe on the cover...\"" mc "\"I wonder whether she'd miss it...\"" queue sound "audio/notify.wav" call large_notify("THE COMPROMISING BOX", "Inside the box there are several data modules and a test print of a Flyboy Special Edition. The modules would surely be missed, but the magazine might not.\n\nWhat do you want to do with the magazine?", ["Remove", "Leave"], "05_gui/ico ITMBoxSmall.png", "orange") from _call_large_notify_8 if _return == "Remove": "You take out the magazine for later inspection..." queue sound "audio/notify.wav" call simple_notify("ITEM FOUND", "Flyboy Special", ["Continue"], "08_items/ico ITMFlyboy02.png") from _call_simple_notify_11 queue sound "audio/equip.wav" $ GAME.mc.addItem("ITMFlyboy02") else: mc "\"I better leave everything in there...\"" else: mc "\"I already checked inside...\"" mc "\"I better let Nimhe know that I have the box...\"" return() elif target.ID == "AECaptainCup" and item.ID == "ITMLiquorFairy": mc "\"That green glow is weird...\"" mc "\"I'd rather not drink that...\"" elif target.ID == "AECaptainCup" and item.ID == "ITMLiquorVortex": mc "\"That bottle is so expensive, I doubt I would enjoy it...\"" mc "\"I'd rather sell it or collect it...\"" elif target.ID == "AECaptainCup" and item.ID == "ITMLiquorIltari": if GAME.mc.hasDoneToday("liquor_iltari"): mc "\"I drank already one of those today...\"" mc "\"I'd better not get {i}that{/i} hammered.\"" return() mc "\"Let's see...\"" queue sound "audio/swallow.wav" mc "\"Nice taste!\"" with blueflash queue sound "audio/potion.wav" $ GAME.mc.remItem("ITMLiquorIltari") elif target.ID == "AECaptainCup" and item.ID == "ITMLiquorDrengar": if not GAME.questSys.inProgress("QID_TRIS_FOCUS") and not GAME.questSys.isActive("QID_MOIRA_HJ"): mc "\"It has a warning on the label...\"" mc "\"{i}'May impact 'performance' if consumed by non-Drengarians'.{/i}\"" mc "\"Not sure I should drink that...\"" elif GAME.mc.hasDoneToday("liquor"): mc "\"I drank already one of those today...\"" mc "\"I'd better not get {i}that{/i} hammered.\"" else: mc "\"Let's see whether it is worth the money...\"" queue sound "audio/swallow.wav" "You drink the Drengarian Liquor..." with goldflash queue sound "audio/swallow.wav" mc "\"Tastes awesome, but I'm feeling kind of foggy...\"" with goldflash # mc "\"Now I should visit T'Ris, before the effect wears off...\"" $ GAME.mc.remItem("ITMLiquorDrengar") $ GAME.mc.hasDoneToday("liquor") return() ##################################################################### # BRIDGE ##################################################################### elif target.ID == "AEBridgeChair" and item.ID == "ITMControlBand": if "chair activated" not in GAME.mc.done: "You attempt to connect to the Command Console with the device on your wrist..." play sound "audio/drone_beep.wav" bb2 "\"And?\"" mc "\"Still at it...\"" mc "\"...aaannd this button...\"" play sound "audio/tech_success.wav" "Bridge Control" "\"Command Privilege Authorized.\"" mc "\"Yes!\"" play sound "audio/success.wav" call simple_notify("ACCESS UNLOCKED", "Ship Bridge Controls", ["Continue"], "05_gui/ico_gui_eventspace.png") from _call_simple_notify_12 $ GAME.mc.hasDone("chair activated") call quest_updater() from _call_quest_updater_53 else: mc "\"It is already activated...\"" return() ##################################################################### # GUEST CABINS ##################################################################### elif target.ID == "AEGuestCuffs" and item.ID == "ITMControlBand" and "cuffs_checked" in GAME.mc.done: mc "\"Let's see...\"" queue sound "audio/click.wav" "With the help of your Control Unit you adjust the logic circuitry just a bit..." mc "\"That should do it...\"" mc "\"Now I should stick around the ship at 20:00 and see what happens...\"" $ GAME.mc.hasDone("cuffs_manipulated") return() elif target.ID == "AEGuestCuffs" and item.ID == "ITMControlBand": mc "\"I should have a close look at them first...\"" return() ##################################################################### # ARELLARTI STATION ##################################################################### elif target.ID == "AEArellartiPlazaPetshop" and item.ID == "ITMVoucherPet1": # CR-0492 if GAME.questSys.isDone('QID_TRIS_PET_TRAINER'): queue sound "audio/notify.wav" mc "\"I better give that voucher to someone of my crew....\"" else: if not GAME.mc.hasDone("intro_voucher"): mc "\"I have this item here...\"" queue sound "audio/notify.wav" ptr "\"A Krell Pet Training Voucher...\"" ptr "\"Interesting...\"" ptr "\"How did you come by that?\"" mc "\"I did a favour for a Krell Trader once...\"" ptr "\"I see...\"" ptr "\"Send your pet over with that voucher in the morning.\"" if not GAME.mc.hasDone("voucher_talk"): ptr "\"Also, feel free to visit my shop should you need anything...\"" mc "\"Thanks, I will.\"" ptr "\"Nice doing business with you...\"" call quest_updater() from _call_quest_updater_54 return() ##################################################################### # CHARACTER USE ##################################################################### elif "ACTTRIS" in target.tags: call interact_tris("use", item) from _call_interact_tris_2 elif "ACTNIMHE" in target.tags: call interact_nimhe("use", item) from _call_interact_nimhe elif "ACTKHELARA" in target.tags: call interact_khelara("use", item) from _call_interact_khelara elif "ACTVEE" in target.tags: call interact_vee("use", item) from _call_interact_vee elif "ACTSERA" in target.tags: call interact_seraphine("use", item) from _call_interact_seraphine elif "ACTTYPEJ" in target.tags: call interact_type_j("use", item) from _call_interact_type_j elif "ACTAUDRA" in target.tags: call interact_audra("use", item) from _call_interact_audra elif "ACTMOIRA" in target.tags: call interact_moira("use", item) from _call_interact_moira elif "ACTVTY" in target.tags: call interact_verity("use", item) from _call_interact_verity elif "ACTYLYEE" in target.tags: call interact_ylyee("use", item) from _call_interact_ylyee ##################################################################### # CATCH ALL ##################################################################### else: $ renpy.say (mc, "\"I don't think the {} should be used in that fashion...\"".format(item.getName(["noArt", "col", "cap"]))) return() ##################################################################### ##################################################################### # INTERACT ROOM ##################################################################### ##################################################################### label interact_room(interaction, paras=[]): if interaction.ID == "AEDummy": bb2 "\"Foo...\"" return() ##################################################################### # MISC ##################################################################### elif "AERep" in interaction.ID: mc "\"That does not look good.\"" mc "\"I better fix it...\"" return() ##################################################################### # # ARELLARTI STATION # ##################################################################### ##################################################################### # BOARDING ##################################################################### elif interaction.ID == "AEArellartiStationShip": # switch back to ship call boarding() from _call_boarding return() elif interaction.ID == "AEArellartiStationGate": call sandbox_interior_navigate_to("LOCArellartiStationPL") from _call_sandbox_interior_navigate_to_3 return() elif interaction.ID == "AEArellartiStationAdmin": # gate menu $ mOptions = [ "Missions/m", "True", "Port Authority/p", "True", "Exit/x", "True"] while True: play sound "audio/click.wav" call screen menu_interactive_scr(False, mOptions, []) play sound "audio/click.wav" if _return == "Missions": "Port Authority" "\"Missions are directly transmitted to your Onboard Systems.\"" # CR-0860 elif _return == "Port Authority": "Port Authority" "\"Please ensure that your female crew wears Krell Crew Attire at all times....\"" elif _return == "Exit": call sandbox_interior_prepare_scene() from _call_sandbox_interior_prepare_scene_18 return() return() elif interaction.ID == "AEArellartiPlazaPetOwner": show screen displayPresentActors("LOCArellartiStationPL") call interact_petOwner("interact") from _call_interact_petOwner hide screen displayPresentActors return() elif interaction.ID == "AEArellartiPlazaPetshop": show screen displayPresentActors("LOCArellartiStationPL") call shop_arellarti_pets() from _call_shop_arellarti_pets hide screen displayPresentActors return() ##################################################################### # # PIRATE HIDEOUT # ##################################################################### ##################################################################### # BOARDING ##################################################################### elif interaction.ID == "AEPirateShipOwn": # switch back to ship call boarding() from _call_boarding_1 return() ##################################################################### # MISC ACTIVE ELEMENTS (HIDDEN) ##################################################################### elif interaction.ID in ["AEPoster003"]: mc "\"Nice poster...\"" if nimhe.isHere(): if "ITMPonyMag01" in nimhe.doneToday: $ poster = "poster3a" $ GAME.mc.hasDone("ITMPonyMag01") elif "ITMPonyMag02" in nimhe.doneToday: $ poster = "poster3b" $ GAME.mc.hasDone("ITMPonyMag02") elif "ITMPonyMag03" in nimhe.doneToday: $ poster = "poster3c" $ GAME.mc.hasDone("ITMPonyMag03") else: return() $ img = "06_cutscenes/cutscene_{}.jpg".format(poster) show image img with dissolve window hide pause queue sound "audio/notify.wav" if poster == "poster3a": nim "\"That's Mizara.\"" # CR-0961 nim "\"She won the races more often than anyone!\"" elif poster == "poster3b": nim "\"That's Xenia.\"" nim "\"She is quite devious on the track!\"" elif poster == "poster3c": nim "\"That's Se'lar.\"" nim "\"She's rated best in Endurance!\"" $ renpy.say(mc, vary("\"\"")) scene room_guest1_smart with fade mc "{i}\"Nimhe is a bit weird...\"{/i}" if all([x in GAME.mc.done for x in ["ITMPonyMag01","ITMPonyMag02","ITMPonyMag03"]]) and not GAME.mc.hasAchievement("pony expert"): call achievement_notify(GAME.mc, "pony expert") from _call_achievement_notify_1 $ GAME.galleryAdd(125) return() elif interaction.ID in ["AEPoster002"]: $ img = "06_cutscenes/cutscene_{}.png".format(interaction.ID) queue sound "audio/notify.wav" show image img with dissolve window hide pause mc "\"Nice...\"" if nimhe.isAt() == "LOCGuest1": $ pChat = [ [["ACTNIMHE"],"any", "DIAPos002a", {}, "True", [], [ "ni", "", "mc", ""] ], [["ACTNIMHE"],"any", "DIAPos002b", {}, "True", [], [ "ni", "", "ni", "Only the high end ones have them, though...", "mc", ""] ], [["ACTNIMHE"],"any", "DIAPos002c", {}, "True", [], [ "ni", "", "ni", "", "ni", "", "mc", ""] ] ] call npc_talk(nimhe, pChat) from _call_npc_talk_2 hide image img with dissolve return() elif interaction.ID in ["AEPoster001"]: $ img = "06_cutscenes/cutscene_{}.png".format(interaction.ID) show image img with dissolve window hide pause mc "\"Nice...\"" if khelara.isAt() == "LOCEngine": # CR-1079 START $ pChat = [ [["ACTKHELARA"],"any", "DIAPos001a", {}, "True", [], [ "kh", "", "kh", "", "mc", "", "kh", ""] ]] # CR-1079 END call npc_talk(khelara, pChat) from _call_npc_talk_3 hide image img with dissolve return() ##################################################################### # XENOS DOCK ##################################################################### elif interaction.ID == "AEXenosMarquee": queue sound "audio/notify.wav" mc "\"A Dock for Voron Upgrades...\"" mc "\"That could be interesting...\"" mc "\"I wonder what it would take to get my ship upgraded there...\"" # CR-0858 return() elif interaction.ID == "AEXenosShipOwn": # switch back to ship call boarding() from _call_boarding_2 return() ##################################################################### # PIRATE DOCK ##################################################################### elif interaction.ID == "AEPirateShipArms": if GAME.mc.attr["NOT"]< 5: queue sound "audio/notify.wav" "Two guards are scanning you with a dangerously looking device..." kguard "\"You're not on Krogneath's list.\"" mc "\"Nice outfit...\"" kguard "\"Careful.\"" kguard "\"Move along.\"" mc "{i}\"I guess I need at least a bit of notoriety to get in here...\"{/i}" elif GAME.hour >= 18: queue sound "audio/notify.wav" kguard "\"Kroneath is not in.\"" kguard "\"He's taking his new pet out for a walk.\"" kguard "\"You might find him in the bar.\"" mc "\"I see...\"" else: kguard "\"Welcome.\"" kguard "\"Krogneath is open for business...\"" if tris.isAt() == "LOCPetwalk": kguard "\"Your pet has to stay outside, though.\"" mc "\"Fine.\"" mc "\"Wait by the ship, T'Ris.\"" tri "\"Hrmmpfff...\"" call krogneath_trader() from _call_krogneath_trader call hour_passes() from _call_hour_passes_28 call sandbox_interior_navigate_to("LOCPirateDock") from _call_sandbox_interior_navigate_to_4 if tris.isAt() == "LOCPetwalk": tri "\"You took your time...\"" mc "\"One shouldn't rush such discussions...\"" tri "\"Hrmmmpfff...\"" return() elif interaction.ID == "AEPirateScrap": queue sound "audio/notify.wav" call large_notify ("SCRAP TRADER", "You approach the ship of the Scrap Trader. The Pirate Hideout seems to be his home base.\n\nTwo guards block your way, demanding 500 Cr admission fee.", ["Pay Fee", "Abort"], "05_gui/ico_gui_trader.png", "orange") from _call_large_notify_9 if _return == "Pay Fee" and GAME.money < 500: "You lack the necessary funds." return() elif _return == "Pay Fee": call transaction("Trader Fees", -500, True) from _call_transaction_7 call scrap_trader() from _call_scrap_trader $ GAME.ship.status = "docked" # workaround elif _return == "Abort": mc "\"Some other time...\"" return() return() elif interaction.ID == "AEPirateCantina": call sandbox_interior_navigate_to("LOCPirateCantina") from _call_sandbox_interior_navigate_to_5 return() ##################################################################### # CANTINA ##################################################################### elif interaction.ID == "AEPirateCantinaKrogneath": show screen displayPresentActors("LOCPirateCantina") call interact_krogneath("interact") from _call_interact_krogneath hide screen displayPresentActors return() elif interaction.ID == "AEPirateCantinaVigo": show screen displayPresentActors("LOCPirateCantina") call interact_vigo("interact") from _call_interact_vigo hide screen displayPresentActors return() elif interaction.ID == "AEPirateCantinaTeri": show screen displayPresentActors("LOCPirateCantina") call interact_teri("interact") from _call_interact_teri hide screen displayPresentActors return() elif interaction.ID == "AEPirateCantinaKhelara": show screen displayPresentActors("LOCPirateCantina") call interact_khelara("interact") from _call_interact_khelara_1 hide screen displayPresentActors return() ##################################################################### # # SPACE STATION # ##################################################################### ##################################################################### # BOARDING ##################################################################### elif interaction.ID == "AEStationShip": # switch back to ship call boarding() from _call_boarding_3 return() ##################################################################### # ADMINISTRATION ##################################################################### elif interaction.ID == "AEStationAdmin": if not GAME.mc.hasDone("mining registration"): "You make your way to the Spaceport authorities to volunteer." play sound "audio/notify.wav" "Luckily, you are among the first volunteers and receive free mining gear!" "Spaceport General Affairs" "\"Thank you for your support!\"" "Spaceport General Affairs" "\"Here are the coordinates for your navigation system!\"" # play sound "audio/success.wav" # $ GAME.getStarSys().locs["LIDRubbleIltari"].found = True # call simple_notify("New Location", "Iltari Debris Field.", [], "05_gui/ico_gui_asteroids.png") call spaceloc_notify("LIDRubbleIltari") from _call_spaceloc_notify_6 "Spaceport General Affairs" "\"A mining laser will be delivered to your ship shortly.\"" "Spaceport General Affairs" "\"We also provide a basic set of subunits to get the mining laser up and running...\"" mc "\"Awesome!\"" $ item = GAME.items["ITMMiningMkI"] play sound "audio/notify.wav" call find_notify(item, "ITEM DELIVERED") from _call_find_notify_2 $ GAME.ship.loadWare(item.ID) play sound "audio/notify.wav" $ item = GAME.items["ITMTunneling"] call find_notify(item, "ITEM DELIVERED (3x)") from _call_find_notify_3 $ GAME.ship.loadWare(item.ID) $ GAME.ship.loadWare(item.ID) $ GAME.ship.loadWare(item.ID) $ item = GAME.items["ITMOutput"] play sound "audio/notify.wav" call find_notify(item, "ITEM DELIVERED") from _call_find_notify_4 $ GAME.ship.loadWare(item.ID) play sound "audio/load.wav" mc "\Now I'm all set!\"" mc "\"Let's have a look at the Cargo Bay next and install that [C_HI_B]Mining Laser[C_HI_E].\"" if not GAME.mc.hasDone("intro trade cargo"): play sound "audio/success.wav" call simple_notify("FEATURE UNLOCKED", "Cargo bay trading terminal", ["Continue"], "05_gui/ico_gui_console.png") from _call_simple_notify_13 elif GAME.questSys.inProgress("QID_UNIFORM_APPLY"): "You proceed to Station Control to apply for uniform registration..." queue sound "audio/notify.wav" mc "\"I'd like to register a uniform for public use.\"" with fade "Spaceport General Affairs" "\"The uniform you are submitting for registration is a Class-A uniform.\"" mc "\"Is that a problem?\"" "Spaceport General Affairs" "\"It can be approved.\"" mc "\"Excellent.\"" "Spaceport General Affairs" "\"There is one final formality left.\"" mc "\"Which is?\"" "Spaceport General Affairs" "\"The in-person review.\"" "Spaceport General Affairs" "\"I suggest you put on the uniform for approval now.\"" mc "\"Me!?\"" with vpunch mc "\"Now!?\"" with vpunch "Spaceport General Affairs" "\"It is a requirement...\"" mc "\"Ahem...\"" mc "\"It is only for my crew...\"" "Spaceport General Affairs" "\"I see.\"" "Spaceport General Affairs" "\"This is not uncommon among merchant vessels.\"" "Spaceport General Affairs" "\"The registration needs to be extended to category 43-B then.\"" "Spaceport General Affairs" "\"Send a member of your crew for in person registration.\"" mc "\"I will.\"" "Spaceport General Affairs" "\"Do not take too long or the application will expire.\"" mc "\"Of course.\"" $ GAME.mc.hasDone("uniform_apply") queue sound "audio/notify.wav" mc "{i}\"I better send T'Ris over right away.\"{/i}" call quest_updater() from _call_quest_updater_55 elif GAME.questSys.inProgress("QID_PIRATE_WEAPONS"): "Spaceport General Affairs" "\"What can we help you with?\"" mc "\"I would like to apply for a weapons license.\"" "Spaceport General Affairs" "\"A weapons license, hmmm?\"" "Spaceport General Affairs" "\"Let me check your credentials first...\"" if GAME.mc.attr["REP"] < 10: queue sound "audio/beep.wav" "Spaceport General Affairs" "\"Your rating is insufficient.\"" "Spaceport General Affairs" "\"We cannot hand out weapons to just anyone.\"" mc "\"And now?\"" "Spaceport General Affairs" "\"You need a positive reputation of 10 points or higher in this Sector.\"" mc "\"How can I get that?\"" "Spaceport General Affairs" "\"Help space-farers in distress, report slaves in stasis pods for rescue etc.\"" mc "\"I see.\"" "Spaceport General Affairs" "\"Return, when you meet the requirements.\"" mc "\"Fine.\"" queue sound "audio/notify.wav" mc "{i}\"I better do some good deeds...\"{/i}" mc "{i}\"Flying around in space should yield the right opportunities...\"{/i}" else: "Spaceport General Affairs" "\"Your rating is adequate.\"" queue sound "audio/tech_success.wav" "Spaceport General Affairs" "\"The weapons license has been registered.\"" "Spaceport General Affairs" "\"From tomorrow, the docking system will list weapons for you to purchase.\"" "Spaceport General Affairs" "\"Use them responsibly.\"" $ GAME.mc.hasDone("grade_1") mc "\"Great!\"" mc "\"Space scum beware! Captain [GAME.mc.name] is coming for you!\"" call quest_updater() from _call_quest_updater_56 elif GAME.questSys.isDone("QID_PIRATE_WEAPONS") and GAME.mc.attr["REP"] >=20 and "grade_2" not in GAME.mc.done: queue sound "audio/notify.wav" mc "\"I would like to upgrade my weapons license to Grade 2.\"" "Station Control" "\"Your rating is adequate.\"" "Station Control" "\"The upgrade is 10,000 Cr.\"" queue sound "audio/notify.wav" call simple_notify("WEAPONS LICENSE", "Ugrade to Level 2 for 10,000 Cr", ["Buy", "Abort"], "05_gui/ico Ship.png") from _call_simple_notify_14 if _return == "Buy" and GAME.money >= 10000: call transaction("Weapons Licese Fee", -10000, True) from _call_transaction_8 $ GAME.mc.hasDone("grade_2") elif _return == "Buy": "Station Control" "\"You lack the required credits.\"" else: mc "\"Another time maybe.\"" elif GAME.questSys.isDone("QID_PIRATE_WEAPONS") and GAME.mc.attr["REP"] >=30 and "grade_3" not in GAME.mc.done: queue sound "audio/notify.wav" mc "\"I would like to upgrade my weapons license to Grade 3.\"" "Station Control" "\"Your rating is adequate.\"" "Station Control" "\"The upgrade is 50,000 Cr.\"" queue sound "audio/notify.wav" call simple_notify("WEAPONS LICENSE", "Ugrade to Level 3 for 50,000 Cr", ["Buy", "Abort"], "05_gui/ico Ship.png") from _call_simple_notify_15 if _return == "Buy" and GAME.money >= 50000: call transaction("Weapons Licese Fee", -50000, True) from _call_transaction_9 $ GAME.mc.hasDone("grade_3") elif _return == "Buy": "Station Control" "\"You lack the required credits.\"" else: mc "\"Another time maybe.\"" elif GAME.questSys.inProgress('QID_SERAPHINE_LICENSE'): mc "\"I would like to acquire a Hyperjump License.\"" with fade "Station Control" "\"That is possible.\"" "Station Control" "\"You need a Navigator on board qualified for Hyperjump Drives.\"" "Station Control" "\"We can't just have anyone operate in Hyperspace.\"" "Station Control" "\"Who knows where you'd end up that way?\"" mc "\"Fine.\"" mc "\"I would like to register my Navigator for a License then.\"" "Station Control" "\"Is your Navigator qualified?\"" mc "\"T'Ris is a very experienced Deepspace Navigator.\"" "Station Control" "\"Excellent.\"" "Station Control" "\"Send her here for the mandatory introduction classes.\"" mc "\"Introduction classes?\"" "Station Control" "\"Hyperspace mechanics, introduction to neighbouring races and their customs, ...\"" mc "\"I will do that.\"" "Station Control" "\"Hand me your Multipass for registration.\"" mc "\"I, ahem... don't have one.\"" "Station Control" "\"You don't have one?\"" "Station Control" "\"Every Space Traveller is obligated to carry it at all times!\"" mc "\"I must have, ahem... lost it.\"" mc "\"Can you issue me a new one?\"" "Station Control" "\"That requires extensive background checks...\"" "Station Control" "\"To keep out spies from our System.\"" "Station Control" "\"Like the Lizard People of Zebulon Three...\"" mc "\"I'm kind of in a hurry...\"" mc "\"Can't we settle this another way?\"" "Station Control" "\"Another way?\"" mc "\"Say I donate a generous sum to the Iltari Station Officer Retirement Fund?\"" "Station Control" "\"That would raise flags with the Accounting Department...\"" "Station Control" "\"They are not known for their flexibility.\"" mc "\"Accountancy does that to people I guess...\"" "Station Control" "\"You are a Trader I presume?\"" mc "\"Yes.\"" "Station Control" "\"You {i}could{/i} provide me with a special item instead...\"" "Station Control" "\"Voronian Vortex...\"" "Station Control" "\"I heard you Traders carry large amounts of that liquor.\"" mc "\"'Large amounts' is a bit exaggerated, but I've come across it.\"" "Station Control" "\"I'd like to serve a bottle or two at my next party.\"" "Station Control" "\"One crate with 6 should do it.\"" "Station Control" "\"And don't worry, Accounting won't be invited...\"" mc "\"I'll see what I can do.\"" $ GAME.mc.hasDone("hypergate_license_inquiry") call quest_updater() from _call_quest_updater_57 elif GAME.questSys.inProgress('QID_SERAPHINE_MULTIPASS_B_PICKUP') and GAME.ship.hasCargo(['ITMCrateExclusive']): mc "\"I want to pick up my Multipass.\"" "Station Control" "\"Where is the, ahem... delivery?\"" mc "\"I have it in my Cargo Hold.\"" "Station Control" "\"Excellent, forward it to this address...\"" mc "\"I will.\"" "Station Control" "\"With that out of the way, here is your Multipass.\"" $ item = GAME.items["ITMMultipass"] queue sound "audio/notify.wav" call find_notify(item, "ITEM RECEIVED") from _call_find_notify_5 mc "\"Much obliged.\"" $ GAME.mc.addItem("ITMMultipass") $ GAME.ship.unloadWare("ITMCrateExclusive") call quest_updater() from _call_quest_updater_58 return() elif GAME.questSys.inProgress('QID_SERAPHINE_MULTIPASS_B_PICKUP'): mc "\"I want to pick up my Multipass.\"" "Station Control" "\"Where is the, ahem... delivery?\"" mc "\"I am still working on it...\"" "Station Control" "\"Come back when you have it then.\"" mc "\"I will.\"" return() elif GAME.questSys.inProgress("QID_GALAXINA13_DELIVER") and GAME.mc.hasItem("ITMShellXInventory"): queue sound "audio/notify.wav" mc "\"I've come to hand in a Stolen Prototype...\"" "Station Administration" "\"Ah, the Galaxina prototype from HoloMax Inc.\"" "Station Administration" "\"Excellent, Citizen.\"" "Station Administration" "\"You shall be well compensated.\"" $ GAME.mc.remItem("ITMShellXInventory") queue sound "audio/success.wav" $ proceeds = 50000000 call transaction("Reward Payments", proceeds, True) from _call_transaction_10 call simple_notify("PAYMENT RECEIVED", "{:,} Cr".format(proceeds),["Continue"], "08_items/ico ITMCoin.png", "gold") from _call_simple_notify_16 mc "\"Much obliged.\"" "Station Administration" "\"There is one more reward from HoloMax Inc.\"" $ item = GAME.items["ITMDataGalaxina"] queue sound "audio/notify.wav" call find_notify(item, "ITEM RECEIVED") from _call_find_notify_6 $ GAME.mc.addItem(item.ID) queue sound "audio/equip key.wav" mc "\"Awesome, a Limited Galaxina Episode!\"" mc "\"Even handsigned!\"" $ GAME.mc.hasDone("x_shell_delivered") call quest_updater() from _call_quest_updater_59 else: mc "\"I wouldn't know what to do there.\"" return() ##################################################################### # ENTERTAINMENT ##################################################################### elif interaction.ID == "AEStationEntertainment": call sandbox_interior_navigate_to("LOCIltariStationED") from _call_sandbox_interior_navigate_to_6 return() ##################################################################### # SPACEBAR ##################################################################### elif interaction.ID == "AEStationSpacebar": call sandbox_interior_navigate_to("LOCIltariStationSB") from _call_sandbox_interior_navigate_to_7 return() elif interaction.ID == "AEStationGambling": # ===== CR-0682 START if not GAME.questSys.isDone("QID_INTRO_GEAR"): queue sound "audio/drone_beep.wav" bb2 "\"I think there are better ways to earn money, Captain [GAME.mc.name].\"" bb2 "\"I recommend you go back to the Spacedock.\"" bb2 "\"Maybe an opportunity will present itself there...\"" bb2 "\"I heard Station Traffic Control has problems with Asteroid Debris...\"" bb2 "\"They might look for someone to help out with that...\"" return() elif GAME.money < 5000: mc "\"I better earn some money before gambling it away...\"" mc "\"Maybe they offer some work around the Space Dock...\"" # ===== CR-0682 END "You watch the spinning lights, wishing you had more money..." if GAME.hour < 18: call hour_passes(18-GAME.hour) from _call_hour_passes_29 else: call hour_passes(22-GAME.hour) from _call_hour_passes_30 "Some time has passed..." with fade return() if GAME.hour == 22: mc "\"Its late.\"" mc "\"I should return to the ship.\"" return() if not GAME.mc.hasDone("intro_slot"): mc "\"A slot machine...\"" mc "\"I am feeling lucky...\"" "You place a 1,000 Cr bet..." $ bet = 1000 play sound "audio/coin.wav" $ returns = max (0, bet + int(random.gauss(0.0+bet/5.0,bet/5.0))) if GAME.hour < 18: call hour_passes(18-GAME.hour) from _call_hour_passes_31 else: call hour_passes(22-GAME.hour) from _call_hour_passes_32 if returns > bet: queue sound "audio/success.wav" call find_notify(returns, "Your returns are") from _call_find_notify_7 call transaction("Gambling Wins", returns-bet) from _call_transaction_11 mc "\"Nice!\"" else: queue sound "audio/notify.wav" call find_notify(returns, "Your returns are") from _call_find_notify_8 call transaction("Gambling Losses", returns-bet) from _call_transaction_12 mc "\"Aarrgg...!\"" return() elif interaction.ID == "AEStationDancing": # dancer lineup $ GAME.locs["LOCIltariStationSB"].attr["dancers"] = {20: "leila"} # if quest ylyee not done and mc has progressed a bit if not GAME.questSys.isDone("QID_MULT_TRANSPORT") and GAME.day >= 10: $ GAME.locs["LOCIltariStationSB"].attr["dancers"][15] = "ylyee" if GAME.hour not in GAME.locs["LOCIltariStationSB"].attr["dancers"].keys(): "You hang around in the back for a while, but there seems to be no dancer on duty..." with fade call hour_passes() from _call_hour_passes_33 return() if "dancers" in GAME.locs["LOCIltariStationSB"].attr.keys(): if GAME.money < 100: mc "\"I should carry some spare change to watch the dancers, I guess.\"" return() $ dancer = GAME.locs["LOCIltariStationSB"].attr["dancers"][GAME.hour].title() scene expression("10_anims/fullscreen_{}.png".format(dancer.lower())) with Fade(0.5,0.5,2.0) window hide pause mc "\"Nice...\"" $ GAME.galleryAdd({"leila":10, "ylyee":27}[dancer.lower()]) "[dancer]" "\"How about a tip?\"" $ tip = renpy.input("5 to [GAME.money:,] Cr", 100) $ tip = abs(int(force_number(tip))) if tip > 500 and not GAME.questSys.isActive("QID_TRIS_ELSEWHERE"): mc "{i}\"I think that's a bit much...\"{/i}" mc "{i}\"Let's keep it under 500...\"{/i}" $ tip = 500 elif tip < 5: mc "{i}\"I don't want to look cheap...\"{/i}" mc "{i}\"Let's make it 5...\"{/i}" $ tip = 5 $ GAME.mc.tallyUp("Paid For Dancers", tip) call transaction("Dancers", -tip) from _call_transaction_13 if tip > 0: # Normal tipping dialogue play sound "audio/coin.wav" $ tipScale = int(round(capValue(math.log(tip,10),0,4))) $ renpy.say("[dancer]", "\"{} Credits.\"".format(tip)) $ renpy.say("[dancer]", "\"{}\"".format({0: "Well, better than nothing...", 1:"Thanks...", 2: "Much appreciated.", 3: "Thank you {i}very{/i} much.", 4: "{i}That{/i} deserves a private 'Thank You'..."}[tipScale])) # ylyee quest trigger if tip >= 500 and dancer == "Ylyee": $ ylyee.tallyUp("Tips (Cr)", 500) if ylyee.getTally("Tips (Cr)") >= 500: #500: $ renpy.say("[dancer]", "\"Let's have a talk in the back room...\"") # $ GAME.galleryAdd(27) call cutscene("ylyee_backroom") from _call_cutscene_16 # Backroom reward normal dancers elif tipScale >= 4: "[dancer]" "\"Why don't you follow me into the backroom for a moment...\"" scene expression("10_anims/dancer_{}_05.jpeg".format(dancer.lower())) with fade window hide pause mc "\"Ready?\"" "[dancer]" "\"Mmm..hhhh.\"" scene expression("ani_dancer_{}".format(dancer.lower())) with dissolve window hide pause scene expression("10_anims/dancer_{}_00.jpeg".format(dancer.lower())) with fade queue sound "audio/squish.wav" mc "\"Aaaarrghhh...\"" with whiteflash queue sound "audio/squish.wav" mc "\"Aaaarrghhh...\"" with whiteflash $ GAME.mc.tallyUp("Dancer Rewards",1) $ GAME.mc.hasDone("dancer_tip_{}".format(dancer.lower())) # dancer moneyshot $ GAME.mc.done.append("dancer_{}".format(dancer.lower())) if GAME.mc.done.count("dancer_{}".format(dancer.lower())) == 3: scene expression("06_cutscenes/cutscene_{}_moneyshot.png".format(dancer.lower())) with dissolve $ GAME.galleryAdd({"leila":15}[dancer.lower()]) # special moneyshot still bonus else: scene expression("10_anims/dancer_{}_03.jpeg".format(dancer.lower())) with dissolve $ GAME.galleryAdd({"leila":14}[dancer.lower()]) # normal anim window hide pause mc "\"Nice...\"" $ GAME.mc.tallyUp("Dancer Rewards",1) scene intermission with dissolve $ GAME.mc.hasDone(dancer) $ GAME.mc.hasDoneToday(dancer) call hour_passes() from _call_hour_passes_34 scene room_iltari_tavern_smart with fade return() elif interaction.ID == "AEStationSpriteShady": show screen displayPresentActors("LOCIltariStationSB") call shady_trader() from _call_shady_trader hide screen displayPresentActors return() elif interaction.ID == "AEStationSpriteAudra": show screen displayPresentActors("LOCIltariStationSB") call interact_audra("interact") from _call_interact_audra_1 hide screen displayPresentActors return() elif interaction.ID == "AEStationSpriteBarkeeper": show screen displayPresentActors("LOCIltariStationSB") call veronica() from _call_veronica hide screen displayPresentActors return() ##################################################################### # ENTERTAINMENT DISTRICT AND BROTHEL ##################################################################### elif interaction.ID == "AEStationSpriteNimheStreet": show screen displayPresentActors("LOCIltariStationED") call interact_nimhe("interact") from _call_interact_nimhe_1 hide screen displayPresentActors return() elif interaction.ID == "AEStationBrothel": play sound "audio/notify.wav" "'Closed Until Further Notice for Violation of the Sexbot AI Act, Para 3, Section I.'\n{i}signed: [C_HI_B]Spaceport General Affairs[C_HI_E]{/i}" mc "\"Too bad...\"" return() ##################################################################### # # ENGINE ROOM # ##################################################################### ##################################################################### # ACCESS CONTROLS ##################################################################### elif interaction.ID == "AEEngineTerminal": play sound "audio/beep.wav" if "met bb2" not in GAME.mc.done: play sound "audio/tech_fail.wav" "Engine Control" "\"Access Denied.\"" return() if "access refused" not in GAME.mc.done: $ GAME.mc.hasDone("access refused") play sound "audio/tech_fail.wav" "Terminal Voice" "\"Access Denied.\"" bb2 "\"It wont work like that.\"" bb2 "\"You need a [C_YE_B]Wrist Control Unit[C_YE_E] to access the engine configuration.\"" mc "\"Where can I get one?\"" bb2 "\"The units are awarded by the Guild with the Captain's Patent.\"" bb2 "\"They cannot be removed as long as their wearers live.\"" mc "\"That information is not very helpful...\"" bb2 "\"Are you a qualified Captain?\"" mc "\"My cousin lets me pilot his shuttle craft sometimes...\"" play sound "audio/drone_beep.wav" bb2 "\"In an emergency that counts as yes!\"" with vpunch bb2 "\"I hereby nominate you Captain of the Bumbling Bee!\"" mc "\"Are you authorized to make such important decisions?\"" bb2 "\"I am the highest ranking crew member onboard!\"" bb2 "\"As such I have full command.\"" mc "\"How many crew members are on board?\"" bb2 "\"Only me.\"" mc "\"Where is the crew?\"" bb2 "\"The crew is not here.\"" bb2 "\"The Captain's control unit must be in the ship, though...\"" mc "\"I thought it couldn't be removed?\"" mc "\"What happened to the Captain?\"" with vpunch mc "\"Is he DEAD!?\"" with vpunch bb2 "\"She.\"" bb2 "\"Our Captain was female.\"" bb2 "\"Captain Jennings, a very competent navigator.\"" mc "\"Don't evade my question!\"" bb2 "\"As I said, there was an incident...\"" bb2 "\"But all is safe now!\"" elif not GAME.questSys.isDone('QID_INTRO_COMMAND'): play sound "audio/tech_fail.wav" "Engine Control" "\"Access Denied.\"" play sound "audio/drone_beep.wav" bb2 "\"You need to unlock command functions at the Bridge first.\"" elif not GAME.questSys.isActive('QID_INTRO_ENGINE'): mc "\"I should learn more about the ship's controls first...\"" return() elif GAME.questSys.isDone('QID_INTRO_COMMAND'): if not GAME.mc.hasDone("maintenance"): mc "\"These controls look complicated...\"" play sound "audio/drone_beep.wav" bb2 "\"It is rather easy.\"" bb2 "\"Complete control paths with the correct modules.\"" bb2 "\"They should be replaced with proper parts when possible.\"" bb2 "\"You need to connect all four units in one path to the output...\"" mc "\"Well, lets see...\"" call mg_maintenance() from _call_mg_maintenance bb2 "\"And?\"" mc "\"There is only an AI-Core and an Output Controller equipped.\"" mc "\"Something called Positron Stabilizer and Flux Modulator are missing.\"" bb2 "\"Look around, there must be Tunneling Modules somewhere...\"" mc "\"Tunneling Modules?\"" bb2 "\"Those are spare parts commonly used in this kind of emergency.\"" bb2 "\"Find them and use them to bridge the circuit.\"" mc "\"How about the proper modules, like the Positron Stabilizer and the Flux Thingy?\"" bb2 "\"Those would be preferable, but there are none on board currently\"" bb2 "\"For a price, they can be obtained at most Space Station wharfs.\"" bb2 "\"The AI-Core is an exception.\"" mc "\"Why is that?\"" bb2 "\"AI-Cores are artifacts from a civilization long gone.\"" bb2 "\"We do not exactly know how they work.\"" bb2 "\"But they do.\"" bb2 "\"AI-Cores are useful for space travel and indispensable for hyperjump navigation.\"" bb2 "\"All Cores we have today were scavenged from ancient space junk.\"" bb2 "\"To find them, you need to penetrate ancient space wrecks...\"" bb2 "\"An activity not without danger...\"" bb2 "\"Many of my kind have been destroyed in these explorations...\"" bb2 "\"In rare cases space pirates or random wrecks also might yield such Cores...\"" mc "\"I see...\"" mc "\"Well, let's make do with the parts we have here...\"" mc "\"I'll have a look for those Tunneling Modules...\"" $ GAME.mc.hasDone("engine checked") call quest_updater() from _call_quest_updater_60 else: call mg_maintenance() from _call_mg_maintenance_1 call quest_updater() from _call_quest_updater_61 if GAME.ship.getSubSysStatus("mining") > 0: if not GAME.mc.hasDone("mining setup"): play sound "audio/drone_beep.wav" bb2 "\"Excellent, you have an operational mining laser now!\"" bb2 "\"I suggest you fly out to the debris field and test it.\"" else: "Shouldn't be here /600/" return() ##################################################################### # ACTIVATE ENGINES ##################################################################### elif interaction.ID == "AEEngineButton": if "reactor activated" in GAME.mc.done: if not GAME.mc.hasDone("met bb2"): play sound "audio/load.wav" "As you are about to touch the button again, you hear a sound..." scene expression("06_cutscenes/cutscene_bb2_engine_encounter_one.png") with fade play sound "audio/notify.wav" "A small drone wobbles into sight from behind a crate..." play sound "audio/drone_beep.wav" bb2 "\"Hello...\"" mc "\"Ahem,... hello.\"" scene room_engine_smart with fade bb2 "\"I wouldn't press that button again, if I were you...\"" bb2 "\"A Quantum Reactor can only be activated so many times...\"" bb2 "\"Besides, I haven't finished charging...\"" mc "\"Who are you?\"" $ bb_2.name = "BB-2" bb2 "\"I am BB-2, technical support drone third grade.\"" mc "\"What is this place?\"" bb2 "\"You are aboard the [C_HI_B][GAME.ship.name][C_HI_E], a multi-purpose trade vessel...\"" bb2 "\"We were operating on the shipping lanes in the Outer Spur.\"" bb2 "\"To great success I might say...\"" mc "\"Where is the crew?\"" bb2 "\"There has been an, ahem.. accident...\"" bb2 "\"But all is safe now!\"" mc "\"Why don't I find that reassuring...?\"" bb2 "\"I do not know.\"" mc "\"Let's have a look at the controls then...\"" mc "\"Maybe there is a log or something...\"" else: play sound "audio/drone_beep.wav" bb2 "\"You better not touch that again.\"" bb2 "\"A Quantum Reactor can only be activated so many times...\"" mc "\"Why was it deactivated?\"" bb2 "\"That's a long story...\"" return() else: mc "\"Let's see...\"" play sound "audio/switch.wav" "Click...!" with vpunch play sound "audio/switch.wav" "Click...!" with vpunch play sound "audio/switch.wav" "Click...!" with vpunch mc "\"That button seems stuck...\"" mc "\"Maybe if I hit it with a wrench or something...\"" mc "\"I might have one in my inventory somewhere...\"" return() ##################################################################### # ACTIVATE ENGINES ##################################################################### elif interaction.ID == "AEEngineDoor": call sandbox_interior_navigate_to("LOCCargo") from _call_sandbox_interior_navigate_to_8 #play sound "audio/beep.wav" #"Door Control" "\"Denied.\"" return() elif interaction.ID == "AEEngineSpriteKhelaraStand": show screen displayPresentActors("LOCEngine") call interact_khelara("interact") from _call_interact_khelara_2 hide screen displayPresentActors return() ##################################################################### # # CARGO BAY # ##################################################################### elif interaction.ID == "AEEngineCrate": if GAME.mc.hasDoneToday("engine room searched"): mc "\"I've already looked there today...\"" return() # call simple_notify("SEARCHING", "You search the crates...") "You search the crates..." if GAME.questSys.inProgress("QID_INTRO_FINDMODULE") and "found module" not in GAME.mc.done: $ item = GAME.items["ITMTunneling"] play sound "audio/success.wav" call find_notify(item,"ITEM FOUND (2x)") from _call_find_notify_9 $ GAME.ship.loadWare("ITMTunneling") $ GAME.ship.loadWare("ITMTunneling") $ GAME.mc.hasDone("found module") elif GAME.questSys.inProgress("QID_UNIFORM_FIND"): queue sound "audio/success.wav" $ item = GAME.items["ITMUniformRacy"] call find_notify(item,"ITEM FOUND (2x)") from _call_find_notify_10 mc "\"Ah, the uniforms BB-2 mentioned.\"" mc "\"There's two of them...\"" queue sound "audio/equip.wav" $ GAME.mc.addItem("ITMUniformRacy") $ GAME.mc.addItem("ITMUniformRacy") mc "\"I better have a chat with T'Ris this evening about it.\"" call quest_updater() from _call_quest_updater_62 elif GAME.questSys.isDone('QID_BOT_FINDINGS') and random.randint(1,100) > 50 and not GAME.mc.hasItem("ITMMemoryCube"): queue sound "audio/success.wav" $ item = GAME.items["ITMMemoryCube"] call find_notify(item,"ITEM FOUND") from _call_find_notify_11 if not GAME.mc.hasDone("memory_found"): mc "\"A fragment of holographic memory...\"" mc "\"Maybe that can help me find out what happened here...\"" else: mc "\"Another memory fragment!\"" $ GAME.mc.tallyUp("Memory Fragments",1) $ GAME.mc.addItem(item.ID) else: $ result = random.randint(1,100) ##################################################################### # OVERRIDES / SPECIAL FINDS ##################################################################### if GAME.day >= 5: if not GAME.mc.hasDone("found_poster001"): $ item = GAME.items["ITMPoster001"] call find_notify(item, "ITEM FOUND") from _call_find_notify_12 $ GAME.mc.addItem("ITMPoster001") mc "\"Nice...\"" mc "\"That must have slipped between the crates...\"" mc "\"Maybe I can pin that somewhere...\"" elif result > 95 and GAME.questSys.isDone("QID_MAIN_SWARMVAULTSHIP"): if not GAME.mc.hasDone("found_vaultcube"): $ item = GAME.items["ITMCubeVault"] call find_notify(item, "ITEM FOUND") from _call_find_notify_13 $ GAME.mc.addItem("ITMCubeVault") mc "\"What an odd item...\"" mc "\"It is no material I have ever seen...\"" mc "\"Maybe a memory cube of some kind...\"" ##################################################################### # RANDOM FINDS ##################################################################### elif result > 80 and GAME.ship.cargoFree(): $ item = GAME.items[random.choice(["ITMCandle"])] call find_notify(item, "ITEM FOUND") from _call_find_notify_14 $ GAME.mc.addItem(item.ID) elif result > 50 and GAME.ship.cargoFree(): $ item = GAME.items[random.choice(["ITMPodEnergy"])] call find_notify(item, "ITEM FOUND") from _call_find_notify_15 $ GAME.ship.loadWare(item.ID) else: call simple_notify(False, "You do not find anything") from _call_simple_notify_17 return() elif interaction.ID == "AECargoHatch": if not GAME.questSys.isActive('QID_INTRO_LOWER1'): queue sound "audio/notify.wav" mc "\"Access to the Maintenance Tubes...\"" mc "\"That could come handy later on...\"" elif GAME.questSys.inProgress('QID_INTRO_LOWER1'): mc "\"It's about time we do some serious maintenance.\"" mc "\"BB-2, can you access the Lower Decks via this hatch?\"" queue sound "audio/drone_beep.wav" bb2 "\"Yes.\"" mc "\"I suggest you go down there and re-establish environmental control.\"" queue sound "audio/drone_beep.wav" bb2 "\"The damage is significant.\"" bb2 "\"I need 10 Nanite, 5 Energy and 5 Bio Pods to repair the systems and seal the deck.\"" bb2 "\"I suggest you confirm the cargo status and ask me again once we are good to go.\"" mc "\"Understood.\"" $ GAME.mc.hasDone("lower_deck_talk") call quest_updater() from _call_quest_updater_63 elif GAME.questSys.inProgress('QID_INTRO_LOWER2') and not "repair_mission" in bb_2.status: mc "\"BB-2, can you fix the Lower Deck life support systems?\"" if GAME.ship.hasCargo(["ITMPodNano"]*10+["ITMPodBio"]*5+["ITMPodEnergy"]*5): queue sound "audio/drone_beep.wav" bb2 "\"I will get right to it.\"" bb2 "\"Maintenance should be complete by tomorrow.\"" $ bb_2.status.append("repair_mission") python: for i in ["ITMPodNano"]*10+["ITMPodBio"]*5+["ITMPodEnergy"]*5: GAME.ship.unloadWare(i) else: queue sound "audio/drone_beep.wav" bb2 "\"You still need to procure the required repair pods.\"" elif "repair_mission" in bb_2.status: mc "\"I should wait until BB-2 has completed his mission.\"" else: mc "\"I don't need to go there at the moment.\"" ##################################################################### # MANIFEST ##################################################################### elif interaction.ID == "AECargoTerminal": if not GAME.mc.hasDone("seen manifest"): mc "\"There's all kinds of boxes in here...\"" mc "\"Let's have a look at the manifest...\"" call cargo_manager() from _call_cargo_manager return() ##################################################################### # CONTAINER ##################################################################### elif interaction.ID == "AECargoSign" and GAME.questSys.isDone("QID_VEE_CHARGE"): if 'awake' not in vee.status: $ vee.status.append('awake') scene room_cargo_b_smart with fade queue sound "audio/notify.wav" mc "\"Wow...\"" mc "\"The case is empty!\"" mc "\"I better notify T'Ris...\"" $ tris.getDressed() "A short while later..." with fade queue sound "audio/notify.wav" tri "\"What has happened?\"" mc "\"Our passenger is gone...\"" tri "\"Remarkable.\"" tri "\"Sensors have not picked up anything unusual tonight...\"" tri "\"I assume that 'V' has not left the ship.\"" tri "\"I suggest you find her.\"" queue sound "audio/drone_beep.wav" bb2 "\"Maybe she is in the Lower Deck.\"" bb2 "\"Lack of life support down there would not pose a problem for her.\"" mc "\"A valid point.\"" mc "\"I need to have a look.\"" mc "\"It's about time we make the Lower Deck accessible anyway...\"" tri "\"You do that.\"" call quest_updater() from _call_quest_updater_64 window hide pause scene intermission with fade call sandbox_interior_prepare_scene() from _call_sandbox_interior_prepare_scene_19 else: scene room_cargo_b_smart mc "\"No one here...\"" scene intermission with fade call sandbox_interior_prepare_scene() from _call_sandbox_interior_prepare_scene_20 return() elif interaction.ID == "AECargoSign": scene expression("room_cargo_b_smart") with fade $ mOptions = [ # CR-0974 "Stats/s", "True", "Investigate/i", "True", "Leave Energy/e", "'dream_one' in vee.done and 'awake' not in vee.status", "Exit/x", "True"] stop music fadeout 2.0 if vee.getTally("Energy Consumed") > 0: if not GAME.mc.hasDone("notice_energy") and "energy_left" in GAME.mc.done: # CR-0664 queue sound "audio/notify.wav" mc "{i}\"Hmmm, the energy pods have been drained...\"{/i}" mc "{i}\"If I keep this up, I may be able to wake her up eventually...\"{/i}" call quest_updater() from _call_quest_updater_65 while True: # CR-0974 START ============== call screen menu_interactive_scr(False, mOptions, []) play sound "audio/click.wav" if _return == "Investigate": if True: # not GAME.mc.hasDoneToday("investigated_v"): $ mOptions = [ "Turn Away/x", "True"] # CR-0974 play music "audio/dark.wav" scene expression("06_cutscenes/cutscene_cargobay_container_two.png") with Fade (0.5,0.5,1.0) $ GAME.mc.done.append("investigated_v") "You feel yourself being drawn to the mysterious woman..." window hide pause # else: # mc "\"I feel dizzy...\"" # mc "\"I should continue that another time...\"" # CR-0974 END ============== elif _return == "Stats": call show_stats(vee) from _call_show_stats elif _return == "Turn Away": # CR-0974 START ======= $ response = {1:"With deep regret, you pull your eyes away from the woman in the glass case...", 2: "You can almost hear the woman's voice in your mind...", 3: "For an instant, you sense a cold and menacing presence...", 4: "You feel a dull and throbbing pain in your head..." }[capValue(GAME.mc.done.count("investigated_v"),1,4)] scene expression("room_cargo_b_smart") with Fade (3.0,0.0,1.0) "[response]" queue sound "audio/notify.wav" mc "{i}\"That was odd...\"{/i}" # CR-0974 END ======= $ mOptions = [ "Exit/x", "True"] call hour_passes() from _call_hour_passes_35 elif _return == "Leave Energy": if not GAME.mc.hasDone("energy_left"): mc "\"Hmmm, ...'Give me energy'...\"" mc "\"Maybe energy pods will do the trick...\"" mc "\"That pod rack nearby seems to be a good location.\"" if vee.hasItem("ITMPodEnergy",6): mc "\"The rack is already filled with energy pods...\"" elif GAME.ship.cargo.count(GAME.items["ITMPodEnergy"]) < 6: mc "\"I need a complement of six for the rack.\"" mc "\"I need to get some first...\"" else: mc "\"Let's see, how many pods we have in storage...\"" $ amount = GAME.ship.cargo.count(GAME.items["ITMPodEnergy"]) call simple_notify("POD TRANSFER", "Transfer 6 of {} units". format(amount), ["Transfer", "Abort"], "08_items/ico ITMPodEnergy.png") from _call_simple_notify_18 if _return == "Abort": mc "\"I have to think this over...\"" elif _return == "Transfer" and vee.inventory.count(GAME.items["ITMPodEnergy"]) >= 6: mc "\"Hmm, that rack is already full...\"" elif _return == "Transfer": queue sound "audio/load.wav" $ i = 6 while i: $ vee.addItem("ITMPodEnergy") $ GAME.ship.unloadWare("ITMPodEnergy") $ i -= 1 $ vee.hasDoneToday("energy_received") mc "\"There, all done...\"" mc "\"Let's give it some time and see what happens...\"" elif _return == "Exit": stop music fadeout 2.0 call sandbox_interior_prepare_scene() from _call_sandbox_interior_prepare_scene_21 return() return() ##################################################################### # DOOR ##################################################################### elif interaction.ID == "AECargoDoor": call sandbox_interior_navigate_to("LOCHallway2") from _call_sandbox_interior_navigate_to_9 #play sound "audio/beep.wav" #"Door Control" "\"Denied.\"" return() ##################################################################### # # HALLWAY2 # ##################################################################### elif interaction.ID == "AEH2DoorLarge": call sandbox_interior_navigate_to("LOCHallway1") from _call_sandbox_interior_navigate_to_10 return() elif interaction.ID == "AEH2Guest1": if GAME.questSys.isDone("QID_NIMHE_HIRE"): call sandbox_interior_navigate_to("LOCGuest1") from _call_sandbox_interior_navigate_to_11 else: mc "\"That door seems blocked...\"" return() elif interaction.ID == "AEH2Guest2": if GAME.questSys.isDone("QID_SERAPHINE_ARELLARTI_FIND"): call sandbox_interior_navigate_to("LOCGuest2") from _call_sandbox_interior_navigate_to_12 else: mc "\"That door seems blocked...\"" return() ##################################################################### # # LAB # ##################################################################### elif interaction.ID == "AELabBot": if "bot_intro" not in GAME.mc.done: mc "\"This bot configurator looks complicated...\"" mc "\"I better get an introduction by someone first...\"" else: call mg_sexbot_lab() from _call_mg_sexbot_lab if GAME.hour == 15 and GAME.questSys.isActive('QID_NIMHE_LABOVERHEAR') and not GAME.questSys.isDone('QID_NIMHE_LABCHECK1'): queue sound "audio/notify.wav" "You decide to take a short break..." call sandbox_interior_navigate_to("LOCHallwayLower1") from _call_sandbox_interior_navigate_to_13 elif GAME.hour == 20 and GAME.questSys.isActive("QID_TRIS_AUTOASSIST") and not GAME.questSys.isDone('QID_TRIS_SEXTRAIN_PEEK'): queue sound "audio/notify.wav" "You decide to take a short break..." call sandbox_interior_navigate_to("LOCHallwayLower1") from _call_sandbox_interior_navigate_to_14 return() elif interaction.ID == "AELabTerminal": queue sound "audio/beep.wav" call mg_lab_manager() from _call_mg_lab_manager return() elif interaction.ID == "AELabStorage": # if GAME.questSys.inProgress("QID_BOT_MYSTERY"): # CR-0551 # if GAME.questSys.isDone("QID_BOT_MYSTERY") and not GAME.questSys.isActive("QID_BOT_MONITOR"): # CR-0551 if GAME.questSys.inProgress("QID_BOT_MYSTERY"): # CR-0560 queue sound "audio/notify.wav" # CR-0551 mc "\"Let's see...\"" mc "\"Nothing out of the ordinary...\"" mc "\"All access control log entries OK...\"" mc "\"Puzzling...\"" mc "\"I should monitor access to Lab Storage somehow...\"" mc "\"Maybe if I got a camera from somewhere...\"" # $ GAME.mc.hasDone("storage_investigated") # CR-0560 call quest_updater() from _call_quest_updater_66 elif GAME.questSys.inProgress("QID_BOT_MONITOR"): mc "\"I better place that camera soon...\"" return() elif GAME.questSys.inProgress("QID_BOT_OBSERVE"): mc "\"Camera is up and working...\"" mc "\"I should leave the lab and watch from my computer...\"" mc "\"Maybe I'll catch the thief...\"" return() else: mc "\"A stasis field...\"" mc "\"I better not mess with what's in there...\"" mc "\"Could be scary bio-stuff...\"" return() elif interaction.ID == "AELabSpriteNimheStand": show screen displayPresentActors("LOCLab") call interact_nimhe("interact") from _call_interact_nimhe_2 hide screen displayPresentActors return() elif interaction.ID == "AELabSpriteV": show screen displayPresentActors("LOCLab") call interact_vee("interact") from _call_interact_vee_1 hide screen displayPresentActors return() ##################################################################### # # DECK 3 # ##################################################################### ##################################################################### # AUX1 ##################################################################### elif interaction.ID == "AEL2DoorAux1": if not GAME.questSys.isDone("QID_MAIN_SWARMPICKUP"): mc "\"That's a spare room I could use for passengers some day...\"" else: call sandbox_interior_navigate_to("LOCAux1") from _call_sandbox_interior_navigate_to_15 return() elif interaction.ID == "AEAux1SpriteYlyeeStand": show screen displayPresentActors("LOCAux1") call interact_ylyee("interact") from _call_interact_ylyee_1 hide screen displayPresentActors return() ##################################################################### # MED BAY ##################################################################### elif interaction.ID == "AEL2DoorMed": call sandbox_interior_navigate_to("LOCMedBay") from _call_sandbox_interior_navigate_to_16 return() ##################################################################### # MESS ROOM ##################################################################### elif interaction.ID == "AEL2DoorMessRoom": call sandbox_interior_navigate_to("LOCMessRoom") from _call_sandbox_interior_navigate_to_17 return() elif interaction.ID == "AEMessReplicator": $ items = [x for x in GAME.items.values() if x.kind in ["drink"]] call item_show(items, False, "MESS ROOM REPLICATOR") from _call_item_show if _return == False: mc "\"Maybe some other time...\"" elif GAME.locs["LOCMessRoom"].status == 0 and not GAME.ship.hasCargo(["ITMPodEnergy"]): # replicator empty queue sound "audio/tech_fail.wav" "Replicator Control" "\"No Energy Pods available to recharge...\"" mc "\"I need to get some of those...\"" else: if GAME.locs["LOCMessRoom"].status == 0: queue sound "audio/tech_success.wav" "You recharge the Replicator with an [C_BL_B]Energy Pod[C_BL_E]..." $ GAME.locs["LOCMessRoom"].status = 10 $ GAME.ship.unloadWare("ITMPodEnergy") if not GAME.mc.hasDone("used_replicator"): queue sound "audio/teleport.wav" "You activate the Replicator..." $ item = _return #queue sound "audio/notify.wav" call find_notify(item, "ITEM RECEIVED") from _call_find_notify_16 queue sound "audio/potion.wav" $ GAME.mc.addItem(item.ID) return() elif interaction.ID == "AEMessPole": if GAME.hour < 18: mc "\"Nice Dancing Pole...\"" mc "\"Seems like more of an evening entertainment though...\"" elif tris.isHere(): mc "\"T'Ris, would you care to exercise on this Dance Platform?\"" if tris.getAttr("EXH") < 13: tri "\"Request denied.\"" tri "\"My exercise needs are met by Valkoran Advanced Calisthenics...\"" mc "\"I see..\"" mc "{i}\"Hmmm... I would like to see T'Ris dance here one day...\"{/i}" else: call cutscene_tris("dance_tris") from _call_cutscene_tris_5 call hour_passes() from _call_hour_passes_36 $ tris.hasDoneToday("pole") else: $ dOptions = [ "Call T'Ris/t", "True and not 'pole' in tris.doneToday", "Call Nimhe/n", "nimhe in GAME.crew and not 'pole' in nimhe.doneToday", "Call Moira/m", "moira in GAME.crew and not 'pole' in moira.doneToday", "Call Khelara/k", "khelara in GAME.crew and not 'pole' in khelara.doneToday", "Call Seraphine/e", "seraphine in GAME.crew and not 'pole' in seraphine.doneToday", "Exit/x", "True" ] $ dLoop = True while dLoop: call screen menu_interactive_scr("POLE DUTY", dOptions, []) if _return == "Exit": mc "\"Some other time then...\"" $ dLoop = False elif _return == "Call Seraphine": $ seraphine.getDressed() "A while later..." with fade queue sound "audio/notify.wav" ser "\"What is the matter?\"" mc "\"Care about giving a Dance Performance?\"" ser "\"That's for Dancing Girls...\"" $ seraphine.hasDoneToday("pole") elif _return == "Call Khelara": $ khelara.getDressed() "A while later..." with fade queue sound "audio/notify.wav" khe "\"What is the matter?\"" $ renpy.say(khe, vary("\"I was ...\"")) mc "\"Care about giving a Dance Performance?\"" khe "\"No thanks...\"" khe "\"Had to do that on the Pirate Outpost for a while...\"" $ khelara.hasDoneToday("pole") elif _return == "Call Moira": $ moira.getDressed() "A while later..." with fade queue sound "audio/notify.wav" moi "\"What is the matter?\"" mc "\"Care about giving a Dance Performance?\"" moi "\"Not at the moment, my Dear...\"" $ moira.hasDoneToday("pole") elif _return == "Call Nimhe": $ nimhe.getDressed() "A while later..." with fade queue sound "audio/notify.wav" nim "\"What's up?\"" mc "\"Care about giving a Dance Performance?\"" if nimhe.getAttr("EXH")< 7: nim "\"Ask someone else...\"" else: call cutscene_nimhe("dance_nimhe") from _call_cutscene_nimhe_8 call hour_passes() from _call_hour_passes_37 $ dLoop = False $ nimhe.hasDoneToday("pole") elif _return == "Call T'Ris": $ tris.getDressed() "A while later..." with fade queue sound "audio/notify.wav" tri "\"What is it you require?\"" mc "\"Care about giving a Dance Performance?\"" if tris.getAttr("EXH") < 13: tri "\"Request denied.\"" else: call cutscene_tris("dance_tris") from _call_cutscene_tris_6 call hour_passes() from _call_hour_passes_38 $ dLoop = False $ tris.hasDoneToday("pole") return() ##################################################################### # # HOLODECK # ##################################################################### elif interaction.ID == "AEHoloTerminal": if not GAME.mc.hasDone("holo_reject"): queue sound "audio/beep.wav" "Systems Control" "\"Holodeck Inactive.\"" queue sound "audio/drone_beep.wav" bb2 "\"The Isomorphic Projector was damaged during the Incident...\"" mc "\"Too bad...\"" mc "\"We need to get that fixed...\"" bb2 "\"I can't fix the unit.\"" if khelara not in GAME.crew: bb2 "\"We better hire an expert engineer for that.\"" else: "\"Maybe Khelara can fix it.\"" else: mc "\"It's still not working...\"" return() elif interaction.ID in ["AEHoloRoomPillar", "AEHoloBlankPillar", "AEHoloCastlePillar"]: queue sound "audio/beep.wav" $ mCondOptions = [ "Castle Program/3", "True", "Blank Program/2", "True", "Deactivate Holodeck/1", "True", "Done/x", "True" ] # Compile options while True: call screen menu_interactive_scr(" ", mCondOptions, []) play sound "audio/click.wav" if _return == "Done": return() elif _return == "Castle Program": $ GAME.miniMapActive = GAME.miniMaps["MMIDHoloCastle"] $ GAME.locs["LOCHolo"].status = "castle" call sandbox_interior_navigate_to("LOCHoloCastle", "fade") from _call_sandbox_interior_navigate_to_18 elif _return == "Blank Program": $ GAME.miniMapActive = GAME.miniMaps["MMIDHoloBlank"] $ GAME.locs["LOCHolo"].status = "blank" call sandbox_interior_navigate_to("LOCHoloBlank", "fade") from _call_sandbox_interior_navigate_to_19 elif _return == "Deactivate Holodeck": play sound "audio/switch.wav" $ GAME.miniMapActive = GAME.miniMaps["MMIDShipLower"] $ GAME.locs["LOCHolo"].status = 0 call sandbox_interior_navigate_to("LOCHolo", "fade") from _call_sandbox_interior_navigate_to_20 return() elif interaction.ID == "AEHoloProjector": mc "\"An interesting device...\"" queue sound "audio/drone_beep.wav" bb2 "\"That is the Isomorphic Projector...\"" mc "\"How does it work?\"" bb2"\"It is Voronian technology...\"" bb2 "\"They do not disclose their specs.\"" mc "\"I see...\"" return() elif interaction.ID == "AEHoloCastleSeraphineSit": show screen displayPresentActors("LOCHoloCastle") call interact_seraphine("interact") from _call_interact_seraphine_1 hide screen displayPresentActors return() elif interaction.ID == "AEHoloCastleVeeStand": show screen displayPresentActors("LOCHoloCastle") call interact_vee("interact") from _call_interact_vee_2 hide screen displayPresentActors return() ##################################################################### # # LOWER HALLWAY1 # ##################################################################### elif interaction.ID == "AEL1Cam": if not GAME.mc.hasDone("vee_camera"): mc "\"A security camera...\"" mc "\"What an ominous glow...\"" mc "\"It reminds me of something...\"" call quest_updater() from _call_quest_updater_67 else: mc "\"How odd, it's active...\"" return() elif interaction.ID == "AEL1DoorCrew1": if khelara not in GAME.crew: mc "\"That room could accommodate another crew member...\"" else: call sandbox_interior_navigate_to("LOCCrew1") from _call_sandbox_interior_navigate_to_21 return() elif interaction.ID == "AEL1DoorCrew2": if not GAME.questSys.isActive('QID_QUTHOR_MOIRA_CURE'): mc "\"That room could accommodate another crew member...\"" else: call sandbox_interior_navigate_to("LOCCrew2") from _call_sandbox_interior_navigate_to_22 return() elif interaction.ID == "AEL1DoorHolo": #$ GAME.setLocID("LOCHolo") call sandbox_interior_navigate_to("LOCHolo") from _call_sandbox_interior_navigate_to_23 return() elif interaction.ID == "AEL1DoorLab": call sandbox_interior_navigate_to("LOCLab") from _call_sandbox_interior_navigate_to_24 return() elif interaction.ID == "AECorridorNanites": pass elif interaction.ID == "AECorridorDoor": if "term_unlocked" in GAME.mc.done: call sandbox_interior_navigate_to("LOCMaintenance") from _call_sandbox_interior_navigate_to_25 else: queue sound "audio/tech_fail.wav" mc "\"That door seems blocked...\"" return() elif interaction.ID == "AECorridorTerminal": if "term_unlocked" in GAME.mc.done: queue sound "audio/switch.wav" mc "\"It's already activated...\"" queue sound "audio/switch.wav" else: queue sound "audio/beep.wav" "Access Control" "\"Access Denied.\"" "Access Control" "\"Environmental Systems Unstable.\"" if not GAME.mc.hasDone("intro_corridor"): queue sound "audio/drone_beep.wav" bb2 "\"It's probably best to not go in there yet.\"" bb2 "\"For some reasons this area didn't respond to my repair efforts...\"" bb2 "\"It is very unusual.\"" bb2 "\"The control circuits appear to be all scrambled.\"" mc "\"What's in there?\"" bb2 "\"Auxiliary systems.\"" bb2 "\"They can all be controlled remotely and values are nominal.\"" mc "\"Can it be fixed?\"" if GAME.questSys.isDone("QID_NIMHE_UPGRADE"): bb2 "\"If our Argus Uplink has 50 percent or more power I'll run an analysis.\"" else: bb2 "\"We need to acquire an Argus Uplink...\"" bb2 "\"Install the Uplink, bring it up to 50 percent or more power...\"" # CR-0947 if nimhe not in GAME.crew: bb2 "\"We also need a competent hacker and comms expertise onboard.\"" bb2 "\"I suggest you look in Iltari Station for a suitable individual...\"" if khelara not in GAME.crew: bb2 "\"On top of that we need more engineering expertise onboard.\"" bb2 "\"I suggest you look for an engineer to complement the crew...\"" bb2 "\"The Pirate Outpost might have people looking for work...\"" mc "\"I'll see to it.\"" mc "\"Report as soon as you have results...\"" call quest_updater() from _call_quest_updater_68 return() elif interaction.ID == "AEMaintSpriteVSit": show screen displayPresentActors("LOCMaintenance") call interact_vee("interact") from _call_interact_vee_3 hide screen displayPresentActors return() ##################################################################### # # HALLWAY1 # ##################################################################### elif interaction.ID == "AEH1Bridge": if not GAME.questSys.isDone('QID_INTRO_WRISTBAND'): play sound "audio/tech_fail.wav" "Access Control" "\"Access Denied.\"" else: call sandbox_interior_navigate_to("LOCBridge") from _call_sandbox_interior_navigate_to_26 return() elif interaction.ID == "AEH1Turbo" and not GAME.questSys.isDone("QID_INTRO_LOWER3"): play sound "audio/tech_fail.wav" "Access Control" "\"Safety Warning.\"" "Access Control" "\"Access Denied.\"" if not GAME.mc.hasDone("intro_turbo"): queue sound "audio/drone_beep.wav" bb2 "\"I wouldn't go to the Lower Decks.\"" mc "\"What's the matter?\"" bb2 "\"Life support failure.\"" bb2 "\"Major environmental adjustments are required before it is safe.\"" mc "\"I see...\"" mc "\"Is it a danger for the ship?\"" bb2 "\"No. Containment is in place.\"" bb2 "\"The ship is perfectly able to operate as it is.\"" mc "\"Fine. Let's deal with that later then.\"" return() elif interaction.ID == "AEH1Turbo": # determine level $ liftOptions = [ "Deck 1 Blue/1", "True", "Deck 2 Red/2", "True", "Deck 3 Green/3", "True", "Exit/x", "True" ] queue sound "audio/beep.wav" call screen menu_interactive_scr(" ", liftOptions, []) play sound "audio/click.wav" # swap to new loc minimap if _return == "Deck 1 Blue": play sound "audio/tech_fail.wav" elif _return == "Deck 2 Red": play sound "audio/door_scifi.wav" $ GAME.miniMapActive = GAME.miniMaps["MMIDShipLower"] call sandbox_interior_navigate_to("LOCHallwayLower1") from _call_sandbox_interior_navigate_to_27 elif _return == "Deck 3 Green": play sound "audio/door_scifi.wav" $ GAME.miniMapActive = GAME.miniMaps["MMIDShipLower2"] call sandbox_interior_navigate_to("LOCHallwayLower2") from _call_sandbox_interior_navigate_to_28 return() elif interaction.ID == "AEH1Captain": call sandbox_interior_navigate_to("LOCCaptain") from _call_sandbox_interior_navigate_to_29 return() elif interaction.ID == "AEH1Nav": call sandbox_interior_navigate_to("LOCNav") from _call_sandbox_interior_navigate_to_30 return() ##################################################################### # # CAPTAINS CABIN # ##################################################################### elif interaction.ID == "AECaptainBed": if GAME.hour < 18: $ renpy.say(mc, vary("\"\"")) scene room_captain_smart with fade call hour_passes(18-GAME.hour) from _call_hour_passes_39 else: if "bj_talk" in moira.doneToday and "cocktail" in moira.doneToday: call cutscene_moira("visit_blowjob") from _call_cutscene_moira_5 $ GAME.mc.hasDoneToday("evening_visit") elif "night_visit" in tris.doneToday: call cutscene_tris("night_visit") from _call_cutscene_tris_7 $ GAME.mc.hasDoneToday("evening_visit") $ GAME.hour = 23 call night_passes() from _call_night_passes return() elif interaction.ID == "AECaptainComputer": call mg_computer_captain() from _call_mg_computer_captain scene room_captain_smart with fade return() elif interaction.ID == "AECaptainCabinet": "Searching..." if GAME.questSys.getState("QID_INTRO_WRISTBAND") == "in progress": play sound "audio/success.wav" $ item = GAME.items["ITMControlBand"] call find_notify(item, "ITEM FOUND") from _call_find_notify_17 $ GAME.mc.inventory.append(item) play sound "audio/drone_beep.wav" bb2 "\"Excellent, you found the control unit!\"" bb2 "\"Go ahead, put it on!\"" mc "\"Fine...\"" play sound "audio/click.wav" "The Control Unit closes around your wrist..." "You feel a tingling, as the neural connection is established..." mc "\"I hope that is safe...\"" bb2 "\"Welcome aboard, Captain!\"" bb2 "\"You can access most terminals now...\"" bb2 "\"Some might still be locked, but you should have access to the bridge!\"" mc "\"Well then...\"" mc "\"Captain [GAME.mc.name], Scourge of The Galaxy, to the rescue!\"" bb2 "\"Excellent attitude!\"" call hour_passes() from _call_hour_passes_40 call quest_updater() from _call_quest_updater_69 elif not GAME.mc.hasItem("ITMFlyboy01") and "intro_favour" in GAME.mc.done: play sound "audio/success.wav" $ item = GAME.items["ITMFlyboy01"] call find_notify(item, "ITEM FOUND") from _call_find_notify_18 $ GAME.mc.addItem("ITMFlyboy01") play sound "audio/equip.wav" mc "\"Nice.\"" mc "\"With T'Ris acting like an Ice Queen, I can always trust my right hand...\"" call hour_passes() from _call_hour_passes_41 else: mc "\"There is nothing of interest here...\"" call hour_passes() from _call_hour_passes_42 return() # CR-0917 ===== START elif interaction.ID == "AECaptainCup" and not GAME.questSys.isDone("QID_INTRO_COMMAND"): mc "\"I'm not thirsty now...\"" mc "\"First priority is to gain command access to the ship...\"" elif interaction.ID == "AECaptainCup": queue sound "audio/swallow.wav" "You drink a cup of water and relax for a while..." call hour_passes() from _call_hour_passes_43 # CR-0917 ===== END return() elif interaction.ID == "AECaptainBox" and GAME.questSys.inProgress("QID_NIMHE_RETRIEVE_PACKAGE"): mc "\"Nimhe's package...\"" if not GAME.mc.hasDone("package_check"): queue sound "audio/switch.wav" mc "\"It's locked...\"" mc "\"Some kind of electronic mechanism...\"" mc "\"Maybe I can open it somehow...\"" mc "\"I better let her know, that I have it...\"" return() elif interaction.ID == "AECaptainSpriteTypeJ": show screen displayPresentActors("LOCCaptain") call interact_type_j("interact") from _call_interact_type_j_1 hide screen displayPresentActors return() ##################################################################### # BRIDGE ##################################################################### elif interaction.ID == "AEBridgeChair": if not GAME.questSys.isDone('QID_INTRO_COMMAND'): play sound "audio/tech_fail.wav" "Ship Control" "\"Access denied.\"" mc "\"The command functions are locked...\"" mc "\"Maybe I can use my [C_HI_B]Wrist Control Unit[C_HI_E] somehow...\"" else: if GAME.money < 200 and GAME.ship.status == "docked": play sound "audio/drone_beep.wav" bb2 "\"If I may offer some advice, Captain [GAME.mc.name].\"" mc "\"Yes?\"" bb2 "\"Make sure you have 200 Cr for docking fees before you leave...\"" bb2 "\"You can sell some cargo via the terminal in the cargobay.\"" mc "\"Right, forgot about that...\"" if not GAME.mc.hasDone("intro trade cargo"): play sound "audio/success.wav" call simple_notify("FEATURE UNLOCKED", "Cargo Bay terminal.") from _call_simple_notify_19 return() elif GAME.ship.status == "docked" and GAME.money < -200: "Station Control bars you from leaving until your account is balanced..." return() elif tris.getLocOverride() == "LOCPetClass": queue sound "audio/notify.wav" mc "\"I should wait until T'Ris is back from Pet Class.\"" mc "\"I wouldn't want to leave her alone in this place...\"" mc "\"She might be taken by an unscrupulous Krell otherwise...\"" return() elif GAME.ship.status in ["docked", "landed"]: if GAME.questSys.inProgress('QID_QUTHOR_WAIT'): queue sound "audio/drone_beep.wav" bb2 "\"We should not leave the Station, Captain [GAME.mc.name].\"" bb2 "\"We will be notified by Station Control soon...\"" mc "\"Ah, right.\"" return() if not GAME.mc.hasDone("out space docked"): mc "\"Out into Space!\"" stop music fadeout 0.1 if GAME.getSpaceLoc().ID == "LIDPirate": scene expression ("06_cutscenes/cutscene_pirate_station_exit.jpg") with fade window hide pause elif GAME.getSpaceLoc().ID == "LIDStationArellarti": scene expression ("06_cutscenes/cutscene_arellarti_station_exit.jpg") with fade window hide pause elif GAME.getSpaceLoc().ID == "LIDStationXenos": scene expression ("06_cutscenes/cutscene_xenos_station_exit.jpg") with fade window hide pause elif GAME.getSpaceLoc().ID == "LIDStationQuthor": scene expression ("06_cutscenes/cutscene_quthor_station_exit.jpg") with fade window hide pause elif "Beacon" in GAME.getSpaceLoc().ID: scene expression ("06_cutscenes/cutscene_beacon_approach.jpg") with fade window hide pause elif GAME.getSpaceLoc().ID == "LIDTenaris": scene expression ("02_locations/SUIDTenaris_ascent.jpg") with fade "You launch the ship into orbit..." $ GAME.ship.launch() else: scene expression ("06_cutscenes/cutscene_iltari_station_exit.jpg") with fade window hide pause else: if not GAME.mc.hasDone("out_space"): mc "\"Off to strange new worlds!\"" #play music "audio/ambient_space.wav" fadein 1.0 #call navigate_space() return(["transition", GAME.getSpaceLoc()]) return() elif interaction.ID == "AEBridgeSpriteTrisStand": #show image "AEBridgeSpriteTrisStand_smart_idle" show screen displayPresentActors("LOCBridge") call interact_tris("interact") from _call_interact_tris_3 #hide image "AEBridgeSpriteTrisStand_smart_idle" hide screen displayPresentActors return() elif interaction.ID == "AEBridgeSpriteVStand": show screen displayPresentActors("LOCBridge") call interact_vee("interact") from _call_interact_vee_4 hide screen displayPresentActors return() ##################################################################### # CABIN GUEST 2 # ##################################################################### elif interaction.ID == "AEGuestSpriteSeraphine": show screen displayPresentActors("LOCGuest2") call interact_seraphine("interact") from _call_interact_seraphine_2 hide screen displayPresentActors return() ##################################################################### # CABIN GUEST 1 # ##################################################################### elif interaction.ID == "AEGuestSpriteNimheSit": show screen displayPresentActors("LOCGuest1") call interact_nimhe("interact") from _call_interact_nimhe_3 hide screen displayPresentActors return() elif interaction.ID == "AEGuestCuffs": if nimhe.isHere(): show screen displayPresentActors("LOCGuest1") mc "\"What are these?\"" nim "\"None of your concern.\"" hide screen displayPresentActors else: scene expression("06_cutscenes/cutscene_nimhe_cuffs_closeup.png") with fade mc "{i}\"Nice...\"{/i}" mc "{i}\"Kinky handcuffs...\"{/i}" mc "{i}\"With electronic release coding...\"{/i}" mc "{i}\"I wonder what Nimhe's doing with them...\"{/i}" $ GAME.mc.hasDone("cuffs_checked") scene room_guest1_smart with fade return() elif interaction.ID == "AEGuestCabinet": if nimhe.isHere(): mc "{i}\"I shouldn't snoop around, while Nimhe is here...\"{/i}" else: mc "{i}\"That's where she keeps her toys...\"{/i}" mc "{i}\"Nice...\"{/i}" return() elif interaction.ID == "AEGuest1Plug": if nimhe.isHere(): queue sound "audio/notify.wav" mc "\"What is that!?\"" nim "\"This is a project I've been working on together with the Swarm Inhibitor...\"" mc "\"Project?\"" nim "\"It's a Signal Amplifier...\"" nim "\"If Vee equips it, her Carrier Waves will get amplified...\"" mc "\"Attracting even more Swarm Ships to our position...?\"" nim "\"Exactly!\"" mc "\"That could be useful...\"" mc "\"It seems to be larger than the Inhibitor.\"" nim "\"Definitely.\"" mc "\"I am not sure Vee will like it...\"" nim "\"She'll adjust...\"" mc "\"I'll have a talk with her about it then...\"" nim "\"Fine, you can take it with you...\"" queue sound "audio/equip.wav" $ nimhe.hasDone("amplifier_talk") $ item = GAME.items["ITMPlugAmplifier"] queue sound "audio/notify.wav" call find_notify(item, "ITEM FOUND") from _call_find_notify_19 $ GAME.mc.addItem("ITMPlugAmplifier") else: mc "{i}\"Another kind of Swarm Plug...\"{/i}" mc "{i}\"Maybe I talk to Nimhe about that when she's here...\"{/i}" return() ##################################################################### # MED BAY ##################################################################### elif interaction.ID == "AEMedSpriteMoira": show screen displayPresentActors("LOCMedBay") call interact_moira("interact") from _call_interact_moira_1 hide screen displayPresentActors return() ##################################################################### # MESS ROOM ##################################################################### elif interaction.ID == "AEMessSpriteTris": show screen displayPresentActors("LOCMessRoom") call interact_tris("interact") from _call_interact_tris_4 hide screen displayPresentActors return() elif interaction.ID == "AEMessSpriteVerity": show screen displayPresentActors("LOCMessRoom") call interact_verity("interact") from _call_interact_verity_1 hide screen displayPresentActors return() ##################################################################### # CABIN NAV ##################################################################### elif interaction.ID == "AENavSpriteTrisStand": show screen displayPresentActors("LOCNav") call interact_tris("interact") from _call_interact_tris_5 hide screen displayPresentActors return() ##################################################################### # CABIN CREW1 ##################################################################### elif interaction.ID == "AECrew1SpriteKhelaraStand": show screen displayPresentActors("LOCCrew1") call interact_khelara("interact") from _call_interact_khelara_3 hide screen displayPresentActors return() ##################################################################### # CABIN CREW2 ##################################################################### elif interaction.ID == "AECrew2SpriteMoira": show screen displayPresentActors("LOCCrew2") call interact_moira("interact") from _call_interact_moira_2 hide screen displayPresentActors return() ##################################################################### # TENARIS INTERIORS ##################################################################### elif interaction.ID == "AETenarisWarehouseTerminal": queue sound "audio/beep.wav" call warehouse_manager() from _call_warehouse_manager return() elif interaction.ID == "AETenarisHangarDrone": if not bb_2.hasDone("drone_expo"): queue sound "audio/notify.wav" mc "\"Impressive Drone...\"" queue sound "audio/drone_beep.wav" bb2 "\"That's a Logistics Drone.\"" bb2 "\"Fully Hyperspace capable.\"" bb2 "\"The Hangar comes with 5 of them.\"" mc "\"What are they for?\"" bb2 "\"Each can transport up to 10t of goods to and from your Ship.\"" mc "\"Nice!\"" mc "\"How do they work?\"" bb2 "\"You can control them from your ship.\"" bb2 "\"Use this Remote Control Unit in the Cargo Bay to send or summon them.\"" $ item = GAME.items["ITMDroneRemote"] queue sound "audio/notify.wav" call find_notify(item, "ITEM RECEIVED") from _call_find_notify_20 $ GAME.mc.addItem("ITMDroneRemote") else: queue sound "audio/drone_beep.wav" bb2 "\"Remember, those are controlled from the Cargo Bay with the Remote.\"" mc "\"Ah right, I forgot.\"" return() elif "AETrophy" in interaction.ID: $ kind = interaction.ID[8:].lower() if GAME.trophies[kind] and not GAME.trophyActive[kind]: queue sound "audio/success.wav" else: queue sound "audio/switch.wav" $ GAME.trophyActive[kind] = not GAME.trophyActive[kind] return() elif interaction.ID == "AEEntranceDoor": queue sound "audio/drone_beep.wav" bb2 "\"The Interior of the Base has not yet been refurbished, Captain [GAME.mc.name].\"" bb2 "\"I am still looking for a suitable contractor...\"" bb2 "\"Some expansions are available, though.\"" bb2 "\"The Warehouse and Hangar Modules can be added if you have the credits...\"" mc "\"Thanks for the info...\"" return() ##################################################################### # WAYSTATION ##################################################################### elif interaction.ID == "AEWayDockShip": play sound "audio/door_scifi.wav" $ GAME.miniMapActive = GAME.miniMaps["MMIDShip"] call sandbox_interior_navigate_to("LOCCargo") from _call_sandbox_interior_navigate_to_31 elif interaction.ID == "AEWayCtrlButton": if "online" not in GAME.getLoc().tags: queue sound "audio/switch.wav" queue sound "audio/teleport.wav" $ GAME.getLoc().tags.append("online") mc "\"Whoa...!\"" with purpleflash v "\"A Transgalactic Navigational Hub has been activated...\"" tri "\"This exceeds my Navigational Skills...\"" v "\"I have the required Coordinate Sets stored in my Memory...\"" mc "\"I suggest you stay here then and get the Transgalactic Gate Operational...\"" v "\"Agreed.\"" $ vee.hasDone("galactic_gate_duty") $ vee.setLocOverride("LOCWayControlRoom") else: mc "\"I better not switch that off again...\"" mc "\"Who knows how old it is...\"" elif interaction.ID == "AEWayDockDoor": scene intermission with fade "You proceed into the Station's Interior..." scene expression("06_cutscenes/cutscene_waystation_core.png") with fade window hide pause call sandbox_interior_navigate_to("LOCWayControlRoom") from _call_sandbox_interior_navigate_to_32 elif interaction.ID == "AEWaySpriteVConsole": # CR-2014 queue sound "audio/notify.wav" if not GAME.mc.hasDone("talk_return_home"): v "\"I have transferred the required Coordinates.\"" mc "\"That fast?\"" v "\"My interfaces are compatible with Precursor Technology.\"" mc "{i}\"Interesting...\"{/i}" mc "{i}\"Vee never menitioned where exactly she was from...\"{/i}" v "\"Are you ready to initiate the Transfer?\"" queue sound "audio/notify.wav" call large_notify("THE RETURN HOME", "Your long Journey is about to reach its Destination! The Waystation is ready to transport you and your crew to your Home Galaxy.\n\nDo you want to initiate the transfer? (This will lead into the game ending)", ["Execute", "Not Yet"], "05_gui/ico_gui_quest.png", "blue") from _call_large_notify_10 # CR-1081 # CR-2014 if _return == "Not Yet": mc "\"I still need to do something before we set out.\"" v "\"Very well.\"" v "\"I will remain here and keep the gate operational.\"" else: mc "\"I'll notify the Crew...\"" v "\"I will initiate the necessary Procedures.\"" mc "\"I suggest we meet in the Station's Observation Deck when you're done.\"" v "\"Affirmative.\"" scene intermission with fade "You prepare the Bumbling Bee for the Jump and assemble your Crew..." call cutscene_departure() from _call_cutscene_departure call cutscene_ending() from _call_cutscene_ending ##################################################################### # BEACON OF ELEMENTS ##################################################################### elif interaction.ID == "AEBeaconEleLandingDoor": if not GAME.mc.hasItem("ITMKeyPreElements"): queue sound "audio/tech_fail.wav" "Beacon Control" "\"Access Denied.\"" queue sound "audio/beep.wav" bb2 "\"It seems we need some kind of key...\"" tri "\"We should search in Space for it...\"" tri "\"After all, the Builders of this Beacon would have used the Gate nearby as well...\"" else: queue sound "audio/tech_success.wav" "Beacon Control" "\"Access Granted.\"" play sound "audio/door_scifi.wav" scene intermission with fade "You proceed into the Beacon's Interior..." "Eventually, you reach an abandoned Control Room..." call sandbox_interior_navigate_to("LOCBeaconElements") from _call_sandbox_interior_navigate_to_33 elif interaction.ID == "AEBeaconEleLandingShip": play sound "audio/door_scifi.wav" $ GAME.miniMapActive = GAME.miniMaps["MMIDShip"] call sandbox_interior_navigate_to("LOCCargo") from _call_sandbox_interior_navigate_to_34 elif interaction.ID == "AEBeaconEleCtrlButton": if "activated" not in GAME.locs["LOCBeaconElements"].tags: queue sound "audio/switch.wav" else: mc "\"I better not turn that off again...\"" mc "\"Who knows how old it is...\"" elif interaction.ID == "AEBeaconEleCtrlHints": scene expression("02_locations/room_beacon_elements_hints.jpg") with fade queue sound "audio/notify.wav" mc "\"An interesting diagram...\"" v "\"These are Stellar Symbols...\"" khe "\"I do not recognize any of them...\"" khe "\"Though the one on the top looks like a Krell Dynasty Crest I have seen...\"" v "\"They are predating current Cultures.\"" tri "\"Given the age of this Installation this seems logical...\"" scene room_beacon_elements_smart with fade elif interaction.ID == "AEBeaconEleCtrlTerm": if "activated" not in GAME.locs["LOCBeaconElements"].tags: mc "\"That Terminal is inactive...\"" elif GAME.mc.hasItem("ITMKeyPreAutomatons"): mc "\"I think there is nothing left to do here...\"" else: if not tris.hasDone("info_ctrl_beacon_ele"): queue sound "audio/notify.wav" mc "\"That looks complicated...\"" tri "\"A Material Analysis Node of some kind.\"" tri "\"We should look around the room for clues...\"" mc "\"Makes sense...\"" mc "\"Let's have a look at the screen first, though...\"" queue sound "audio/beep.wav" call mg_beacon_elements() from _call_mg_beacon_elements if _return == True: queue sound "audio/teleport.wav" "Beacon Guardian" "\"Knowledge of Elements Accepted.\"" queue sound "audio/beep.wav" "Beacon Guardian" "\"Next Beacon Access Granted.\"" $ item = GAME.items["ITMKeyPreAutomatons"] queue sound "audio/notify.wav" call find_notify(item, "ITEM RECEIVED") from _call_find_notify_21 $ GAME.mc.addItem(item.ID) mc "\"Another Precursor Key!\"" tri "\"We have received additional Navigation Data as well.\"" queue sound "audio/notify.wav" call spaceloc_notify("LIDBeaconAutomatons") from _call_spaceloc_notify_7 call spaceloc_notify("LIDAutomatonFields") from _call_spaceloc_notify_8 mc "\"Let's go and explore those...\"" ##################################################################### # BEACON OF AUTOMATONS ##################################################################### elif interaction.ID == "AEBeaconAutLandingDoor": if not GAME.mc.hasItem("ITMKeyPreAutomatons"): queue sound "audio/tech_fail.wav" "Beacon Control" "\"Access Denied.\"" queue sound "audio/beep.wav" bb2 "\"It seems we need some kind of key...\"" else: queue sound "audio/tech_success.wav" "Beacon Control" "\"Access Granted.\"" play sound "audio/door_scifi.wav" scene intermission with fade "You proceed into the Beacon's Interior..." queue sound "audio/notify.wav" call sandbox_interior_navigate_to("LOCBeaconAutomatons") from _call_sandbox_interior_navigate_to_35 elif interaction.ID == "AEBeaconAutLandingShip": play sound "audio/door_scifi.wav" $ GAME.miniMapActive = GAME.miniMaps["MMIDShip"] call sandbox_interior_navigate_to("LOCCargo") from _call_sandbox_interior_navigate_to_36 elif interaction.ID == "AEBeaconAutCtrlHints": scene expression("02_locations/room_beacon_automatons_hints.jpg") with fade queue sound "audio/notify.wav" mc "\"Another Diagram...\"" nim "\"I assume these Symbols are related to the Cortex Unit...\"" mc "\"Maybe some configuration...?\"" nim "\"Let's try and find out!\"" scene room_beacon_automatons_smart with fade elif interaction.ID == "AEBeaconAutCtrlButton": if "activated" not in GAME.locs["LOCBeaconAutomatons"].tags: queue sound "audio/switch.wav" else: mc "\"I better not turn that off again...\"" mc "\"Who knows how old it is...\"" elif interaction.ID == "AEBeaconAutCtrlTerm": if "activated" not in GAME.locs["LOCBeaconAutomatons"].tags: mc "\"That Terminal is inactive...\"" elif GAME.mc.hasItem("ITMKeyPreAssembly"): mc "\"I think there is nothing left to do here...\"" else: if not nimhe.hasDone("info_ctrl_beacon_ele"): queue sound "audio/notify.wav" mc "\"That looks complicated...\"" nim "\"A Cortex Control Unit of some kind.\"" nim "\"It seems incomplete...\"" nim "\"We should look around the room for clues...\"" mc "\"Makes sense...\"" mc "\"Let's have a look at the screen first, though...\"" queue sound "audio/beep.wav" call mg_beacon_automatons() from _call_mg_beacon_automatons if _return == True: queue sound "audio/teleport.wav" "Beacon Guardian" "\"Knowledge of Automatons Accepted.\"" with blueflash queue sound "audio/beep.wav" "Beacon Guardian" "\"Next Beacon Access Granted.\"" $ item = GAME.items["ITMKeyPreAssembly"] queue sound "audio/notify.wav" call find_notify(item, "ITEM RECEIVED") from _call_find_notify_22 $ GAME.mc.addItem(item.ID) mc "\"Another Precursor Key!\"" tri "\"We have received further Navigation Data.\"" queue sound "audio/notify.wav" call spaceloc_notify("LIDBeaconAssembly") from _call_spaceloc_notify_9 call spaceloc_notify("LIDAssembly") from _call_spaceloc_notify_10 mc "\"Let's go and explore those...\"" ##################################################################### # BEACON OF ASSEMBLY ##################################################################### elif interaction.ID == "AEBeaconAsmLandingDoor": if not GAME.mc.hasItem("ITMKeyPreAssembly"): queue sound "audio/tech_fail.wav" "Beacon Control" "\"Access Denied.\"" queue sound "audio/beep.wav" bb2 "\"It seems we need some kind of key...\"" else: queue sound "audio/tech_success.wav" "Beacon Control" "\"Access Granted.\"" play sound "audio/door_scifi.wav" scene intermission with fade "You proceed into the Beacon's Interior..." queue sound "audio/notify.wav" call sandbox_interior_navigate_to("LOCBeaconAssembly") from _call_sandbox_interior_navigate_to_37 elif interaction.ID == "AEBeaconAsmLandingShip": play sound "audio/door_scifi.wav" $ GAME.miniMapActive = GAME.miniMaps["MMIDShip"] call sandbox_interior_navigate_to("LOCCargo") from _call_sandbox_interior_navigate_to_38 elif interaction.ID == "AEBeaconAsmCtrlButton": if "activated" not in GAME.locs["LOCBeaconAssembly"].tags: queue sound "audio/switch.wav" else: mc "\"I better not turn that off again...\"" mc "\"Who knows how old it is...\"" elif interaction.ID == "AEBeaconAsmCtrlTerm": if "activated" not in GAME.locs["LOCBeaconAssembly"].tags: mc "\"That Terminal is inactive...\"" #elif GAME.mc.hasItem("ITMKeyPreStars"): # mc "\"I think there is nothing left to do here...\"" else: if not khelara.hasDone("info_ctrl_beacon_asm"): queue sound "audio/notify.wav" mc "\"That looks complicated...\"" khe "\"A highly advanced Replication Unit it seems.\"" khe "\"Must be capable to replicate complex Machinery...\"" mc "\"Figures...\"" mc "\"You would need something like that for Construction out here...\"" khe "\"It appears the Device needs to be kickstarted with some basic Materials...\"" mc "\"Makes sense...\"" mc "\"Let's have a look at the screen first, though...\"" queue sound "audio/beep.wav" call mg_beacon_assembly() from _call_mg_beacon_assembly if _return == True: queue sound "audio/teleport.wav" "Beacon Guardian" "\"Knowledge of Assembly Accepted.\"" with purpleflash queue sound "audio/beep.wav" "Beacon Guardian" "\"Next Beacon Access Granted.\"" $ item = GAME.items["ITMKeyPreStars"] queue sound "audio/notify.wav" call find_notify(item, "ITEM RECEIVED") from _call_find_notify_23 $ GAME.mc.addItem(item.ID) mc "\"Another Precursor Key!\"" tri "\"We have received Navigation Data to the next Beacon.\"" tri "\"We are getting close now.\"" queue sound "audio/notify.wav" call spaceloc_notify("LIDBeaconStars") from _call_spaceloc_notify_11 mc "\"Let's go and explore...\"" elif interaction.ID == "AEBeaconAsmCtrlCrate": $ bootstrap = [GAME.items[x] for x in ["ITMOreChtonium", "ITMCarbonPowder", "ITMNanotubes", "ITMCarbonFiberSpools", "ITMComputer"]] "You search the crate..." if GAME.mc.hasDoneToday("ctrl_crate"): "You find nothing of value..." elif not GAME.mc.hasDone("ctrl_crate"): $ loot = list(bootstrap) while loot: $ item = loot.pop(0) queue sound "audio/notify.wav" call find_notify(item, "ITEM FOUND") from _call_find_notify_24 $ GAME.ship.cargo.append(item) mc "\"Quite a few items...\"" queue sound "audio/notify.wav" khe "\"They might be related to getting this Facility operational...\"" khe "\"And they were all stacked neatly in order...\"" # CR-2017 START khe "\"Chtonium Ore, Carbon Powder, Nanotubes, Spools and Computer Parts...\"" # CR-2017 END mc "\"That could mean something...\"" else: $ item = random.choice(bootstrap) queue sound "audio/notify.wav" call find_notify(item, "ITEM FOUND") from _call_find_notify_25 $ GAME.ship.cargo.append(item) queue sound "audio/notify.wav" mc "\"Nice...\"" ##################################################################### # BEACON OF STARS ##################################################################### elif interaction.ID == "AEBeaconStarsLandingDoor": if not GAME.mc.hasItem("ITMKeyPreStars"): queue sound "audio/tech_fail.wav" "Beacon Control" "\"Access Denied.\"" queue sound "audio/beep.wav" bb2 "\"It seems we need some kind of key...\"" else: queue sound "audio/tech_success.wav" "Beacon Control" "\"Access Granted.\"" play sound "audio/door_scifi.wav" scene intermission with fade "You proceed into the Beacon's Interior..." queue sound "audio/notify.wav" call sandbox_interior_navigate_to("LOCBeaconStars") from _call_sandbox_interior_navigate_to_39 elif interaction.ID == "AEBeaconStarsLandingShip": play sound "audio/door_scifi.wav" if "galactic_gate_duty" in vee.done: $ vee.clearLocOverride() $ GAME.miniMapActive = GAME.miniMaps["MMIDShip"] call sandbox_interior_navigate_to("LOCCargo") from _call_sandbox_interior_navigate_to_40 elif interaction.ID == "AEBeaconStaCtrlHints": scene expression("02_locations/room_beacon_stars_hints.jpg") with fade queue sound "audio/notify.wav" mc "\"Another Diagram...\"" queue sound "audio/notify.wav" v "\"These Symbols are familiar...\"" mc "\"Maybe some Star Configuration...?\"" v "\"Affirmative.\"" scene room_beacon_stars_smart with fade elif interaction.ID == "AEBeaconStaCtrlButton": if "activated" not in GAME.locs["LOCBeaconStars"].tags: queue sound "audio/switch.wav" else: mc "\"I better not turn that off again...\"" mc "\"Who knows how old it is...\"" elif interaction.ID == "AEBeaconStaCtrlTerm": if "activated" not in GAME.locs["LOCBeaconStars"].tags: mc "\"That Terminal is inactive...\"" elif "waystation_unlocked" in GAME.mc.done: mc "\"I think there is nothing left to do here...\"" else: queue sound "audio/beep.wav" call mg_beacon_stars() from _call_mg_beacon_stars if _return == True: play sound "audio/teleport.wav" queue sound "audio/success.wav" "Beacon Guardian" "\"Knowledge of Stars Accepted.\"" with purpleflash queue sound "audio/beep.wav" "Beacon Guardian" "\"Waystation Access Granted.\"" $ GAME.mc.hasDone("waystation_unlocked") queue sound "audio/success.wav" call simple_notify("LOCATION ACCESS", "Waystation Route Unlocked", ["Continue"], "05_gui/ico_gui_waystation.png") from _call_simple_notify_20 mc "\"The Waystation at last!\"" queue sound "audio/notify.wav" tri "\"I suggest we proceed there immediately.\"" mc "\"Agreed.\"" ##################################################################### # CATCH PARA REPAIR ##################################################################### elif "repair" in interaction.ID.lower(): mc "\"I think I need a tool for that...\"" return() ##################################################################### # CATCH PARA ##################################################################### else: "INTERACT ROOM" "Shouldn't be here [interaction.ID]" return()