Files
barotrauma-gamefiles/Content/Tutorials/TutorialEvents.xml

4081 lines
213 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Randomevents>
<EventPrefabs>
<!-- BASICS TUTORIAL -->
<ScriptedEvent identifier="tutorial_basic_1">
<WaitAction time="1" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="captain" targettag="tutorial_instructor" spawnlocation="Outpost" spawnpointtag="instructorspawn" offset="0" />
<GodModeAction targettag="tutorial_instructor" enabled="true" />
<TagAction criteria="player" tag="player" />
<NPCWaitAction npctag="tutorial_instructor" wait="true" />
<ConversationAction targettag="player" text="tutorial.basics.message.1" eventsprite="captain">
<Option text="tutorial.basics.message.1_player">
<ConversationAction targettag="player" text="tutorial.basics.message.2">
<Option text="tutorial.basics.message.2_player">
<ConversationAction targettag="player" text="tutorial.basics.message.3">
<Option text="tutorial.basics.message.3_player">
<ConversationAction targettag="player" text="tutorial.basics.message.4">
<Option text="tutorial.continue" endconversation="true">
<MessageBoxAction text="tutorial.basics.wasd" iconstyle="GUINotificationButton" CloseOnInput="Right" targettag="player" />
<TriggerEventAction identifier="tutorial_basic_2" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<!-- Room 1: Tags used: tutorialbutton, firstdoor -->
<ScriptedEvent identifier="tutorial_basic_2">
<!--TagAction criteria="hullname:room1" tag="airlock" submarinetype="Outpost" -->
<TriggerEventAction identifier="tutorial_basic_3" />
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialbutton" tag="button" />
<TagAction criteria="itemtag:firstdoor" tag="door" />
<TriggerEventAction identifier="tutorial_basics_objective1" />
<MessageBoxAction text="tutorial.basics.looking" iconstyle="GUINotificationButton" tag="closepressbutton" />
<TriggerAction target1tag="player" target2tag="button" radius="40" />
<Label name="beforecheck2" />
<WaitAction time="3" />
<CheckConditionalAction targettag="door" targetitemcomponent="Door" IsOpen="true" >
<Failure>
<MessageBoxAction type="close" tag="closereachdispenser" />
<MessageBoxAction text="tutorial.basics.cursor" iconstyle="GUINotificationButton" tag="closereachdispenser" />
<WaitAction time="30" /><!-- Longer 2nd wait, before showing message again -->
<GoTo name="beforecheck2" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basics_objective1">
<EventObjectiveAction type="add" identifier="tutorial.basics.objective1" />
<TagAction criteria="itemtag:tutorialbutton" tag="button" />
<TagAction criteria="itemtag:firstdoor" tag="door" />
<TutorialHighlightAction targettag="button" />
<Label name="objective1check" />
<WaitAction time="1" />
<CheckConditionalAction targettag="door" targetitemcomponent="Door" IsOpen="true" >
<Success>
<MessageBoxAction type="close" tag="closepressbutton" />
<EventObjectiveAction type="completeandremove" identifier="tutorial.basics.objective1" />
<TutorialHighlightAction state="false" targettag="button" />
<MessageBoxAction type="clear" />
</Success>
<Failure>
<GoTo name="objective1check" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<!-- Room 2 - Tags used: iddispenser, lockeddoor -->
<ScriptedEvent identifier="tutorial_basic_3">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:iddispenser" tag="dispenser" />
<TriggerAction target1tag="player" target2tag="dispenser" radius="240" />
<MessageBoxAction type="close" tag="closereachdispenser" />
<MessageBoxAction identifier="objective2" text="tutorial.basics.obtain" objectivetag="tutorial.basics.objective2" iconstyle="GUINotificationButton" tag="closeonobtain" />
<TriggerEventAction identifier="tutorial_basics_objective2" />
<TriggerEventAction identifier="tutorial_basic_4" />
<TriggerEventAction identifier="tutorial_basic_5" />
<TriggerEventAction identifier="tutorial_basic_stairs" />
<TriggerEventAction identifier="tutorial_basic_sprint" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basics_objective2">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:identitycard" tag="idcard" />
<TagAction criteria="itemtag:lockeddoor" tag="door" />
<TutorialHighlightAction targettag="idcard" />
<Label name="objective2check" />
<WaitAction time="0.5" />
<CheckItemAction targettag="player" itemtags="identitycard" >
<Success>
<MessageBoxAction type="close" tag="closeonobtain" />
<TutorialHighlightAction state="false" targettag="idcard" />
<EventObjectiveAction type="complete" identifier="objective2" />
<EventObjectiveAction type="add" identifier="tutorial.basics.objective3" />
<TutorialHighlightAction targettag="door" />
<TriggerEventAction identifier="tutorial_basics_objective3" />
</Success>
<Failure>
<GoTo name="objective2check" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basics_objective3">
<TagAction criteria="itemtag:lockeddoor" tag="door" />
<Label name="objective3check" />
<WaitAction time="0.5" />
<CheckConditionalAction targettag="door" targetitemcomponent="Door" IsOpen="true" >
<Success>
<MessageBoxAction type="close" tag="closeonopen" />
<TutorialHighlightAction state="false" targettag="door" />
<EventObjectiveAction type="complete" identifier="tutorial.basics.objective3" />
</Success>
<Failure>
<GoTo name="objective3check" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_4">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:lockeddoor" tag="door" />
<TriggerAction target1tag="player" target2tag="door" radius="40" />
<WaitAction time="3" />
<CheckConditionalAction targettag="door" targetitemcomponent="Door" IsOpen="true" >
<Failure>
<MessageBoxAction text="tutorial.basics.lockeddoor" iconstyle="GUINotificationButton" tag="closeonopen" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<!-- Staircase - Tags used: stairsdown, sprint -->
<ScriptedEvent identifier="tutorial_basic_stairs">
<TagAction criteria="player" tag="player" />
<TagAction criteria="structurespecialtag:stairsdown" tag="label" />
<TriggerAction target1tag="player" target2tag="label" radius="90" />
<EventObjectiveAction type="remove" identifier="objective2" />
<EventObjectiveAction type="remove" identifier="tutorial.basics.objective3" />
<MessageBoxAction text="tutorial.basics.stairsusage" iconstyle="GUINotificationButton" CloseOnInput="Down" targettag="player" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_sprint">
<TagAction criteria="player" tag="player" />
<TagAction criteria="structurespecialtag:sprint" tag="label" />
<TriggerAction target1tag="player" target2tag="label" radius="90" />
<MessageBoxAction text="tutorial.basics.sprint" iconstyle="GUINotificationButton" CloseOnInput="Run" targettag="player" tag="close_reachjb" />
</ScriptedEvent>
<!-- Room 3 - Tags used: screwdrivercontainer, tutorialjb, jbdoor, taskdisplay1 -->
<ScriptedEvent identifier="tutorial_basic_5">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:screwdrivercontainer" tag="screwdrivercontainer" />
<TriggerAction target1tag="player" target2tag="screwdrivercontainer" radius="120" />
<MessageBoxAction type="close" tag="close_reachjb" />
<MessageBoxAction text="tutorial.basics.repair" iconstyle="GUINotificationButton" CloseOnSelectTag="screwdrivercontainer" targettag="player" tag="closein5" />
<MessageBoxAction identifier="objective_opencontainer" text="tutorial.basics.containers" objectivetag="tutorial.basics.objective_screwdrivercontainer" iconstyle="GUINotificationButton" CloseOnSelectTag="screwdrivercontainer" targettag="player"/>
<TriggerEventAction identifier="tutorial_basic_closepopupin5s" />
<TriggerEventAction identifier="tutorial_basic_screwdriver1" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_closepopupin5s">
<WaitAction time="10" />
<MessageBoxAction type="close" tag="closein5" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_closepopupin10s">
<WaitAction time="20" />
<MessageBoxAction type="close" tag="closein10" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_screwdriver1">
<!-- Check opening the cabinet with the screwdriver -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:screwdrivercontainer" tag="screwdrivercontainer" />
<TutorialHighlightAction targettag="screwdrivercontainer" />
<Label name="beforecheck" />
<WaitAction time="1" />
<CheckSelectedAction targettag="screwdrivercontainer" charactertag="player">
<Success>
<EventObjectiveAction type="complete" identifier="objective_opencontainer" />
<MessageBoxAction identifier="objective_obtainscrewdriver" text="tutorial.basics.popup.obtainitems" objectivetag="tutorial.basics.objective4" iconstyle="GUINotificationButton" tag="closeon_obtainscrewdriver" />
<TriggerEventAction identifier="tutorial_basic_screwdriver2" />
</Success>
<Failure>
<!-- if the player has already picked up the screwdriver, skip straight to equipping it -->
<CheckItemAction targettag="player" itemidentifiers="screwdriver">
<Success>
<EventObjectiveAction type="complete" identifier="objective_opencontainer" />
<TutorialHighlightAction state="false" targettag="screwdrivercontainer" />
<TriggerEventAction identifier="tutorial_basic_equip" />
</Success>
<Failure>
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</Failure>
</CheckSelectedAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_screwdriver2">
<!-- Check picking up the screwdriver -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:screwdrivercontainer" tag="container" />
<TutorialHighlightAction targettag="container" />
<Label name="beforecheck" />
<WaitAction time="1" />
<InventoryHighlightAction targettag="container" itemidentifier="screwdriver" />
<CheckItemAction targettag="player" itemidentifiers="screwdriver">
<Success>
<MessageBoxAction type="close" tag="closeon_obtainscrewdriver" />
<MessageBoxAction text="tutorial.basics.popup.deselect" tag="closeon_deselectcontainer" />
<EventObjectiveAction type="complete" identifier="objective_obtainscrewdriver" />
<TutorialHighlightAction state="false" targettag="container" />
<TriggerEventAction identifier="tutorial_basic_equip" />
</Success>
<Failure>
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_equip">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:screwdrivercontainer" tag="container" />
<!-- Wait for the player to deselect the container before prompting them to equip the screwdriver -->
<Label name="beforeselected" />
<CheckSelectedAction charactertag="player">
<Success>
<MessageBoxAction type="close" tag="closeon_deselectcontainer" />
</Success>
<Failure>
<WaitAction time="0.5" />
<GoTo name="beforeselected" />
</Failure>
</CheckSelectedAction>
<MessageBoxAction text="tutorial.basics.equip" iconstyle="GUINotificationButton" tag="closeonequip" />
<Label name="beforeequipped" />
<InventoryHighlightAction targettag="player" itemidentifier="screwdriver" />
<CheckItemAction targettag="player" itemidentifiers="screwdriver" requireequipped="true">
<Success>
<MessageBoxAction type="close" tag="closeonequip" />
<TriggerEventAction identifier="tutorial_basic_jbplayerhurt" />
<TriggerEventAction identifier="tutorial_basic_6" />
</Success>
<Failure>
<WaitAction time="0.5" />
<GoTo name="beforeequipped" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_jbplayerhurt">
<TagAction criteria="player" tag="player" />
<Label name="beforecheck" />
<WaitAction time="1" />
<CheckAfflictionAction identifier="burn" minstrength="0.01" targettag="player">
<Success>
<MessageBoxAction text="tutorial.basics.repairouchie" iconstyle="GUINotificationButton" tag="closeonrepair" />
</Success>
<Failure>
<GoTo name="beforecheck" />
</Failure>
</CheckAfflictionAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_6">
<!-- Check when Junction Box gets repaired -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialjb" tag="tutorialjb" />
<TriggerEventAction identifier="tutorial_basic_weldingtool" />
<MessageBoxAction identifier="objective5" text="tutorial.basics.repair2" objectivetag="tutorial.basics.objective5" iconstyle="GUINotificationButton" targettag="player" CloseOnSelectTag="tutorialjb" />
<TutorialHighlightAction targettag="tutorialjb" />
<Label name="beforecheck6" />
<WaitAction time="0.5" />
<UIHighlightAction id="RepairButton"/>
<!-- Prevent dying -->
<CheckAfflictionAction identifier="burn" minstrength="50" targettag="player">
<Success>
<AfflictionAction targettag="player" affliction="burn" strength="-100" />
</Success>
</CheckAfflictionAction>
<CheckConditionalAction targettag="tutorialjb" ConditionPercentage="gt 60">
<Success>
<MessageBoxAction type="close" tag="closeonrepair" />
<TagAction criteria="itemtag:taskdisplay1" tag="display1" />
<StatusEffectAction targettag="display1">
<StatusEffect target="This" setvalue="true" text="tutorial.roomcompleted" />
</StatusEffectAction>
<EventObjectiveAction type="complete" identifier="objective5" />
<TutorialHighlightAction state="false" targettag="tutorialjb" />
<MessageBoxAction identifier="objective6" text="tutorial.basics.waitdrain" objectivetag="tutorial.basics.objective6" iconstyle="GUINotificationButton" tag="closedooropen" />
<TriggerEventAction identifier="tutorial_basics_objective6" />
</Success>
<Failure>
<GoTo name="beforecheck6" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basics_objective6">
<TagAction criteria="itemtag:jbdoor" tag="door" />
<Label name="beforeobjective6" />
<WaitAction time="0.5" />
<CheckConditionalAction targettag="door" targetitemcomponent="Door" IsOpen="true">
<Success>
<MessageBoxAction type="close" tag="closedooropen" />
<EventObjectiveAction type="complete" identifier="objective6" />
</Success>
<Failure>
<GoTo name="beforeobjective6" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<!-- Room 4 - Tags used: weldingtutorialdoor, weldingsensor, weldingtoolholder, weldinghatch, leak, taskdisplay2, weldingladder -->
<ScriptedEvent identifier="tutorial_basic_weldingtool">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:weldingtoolholder" tag="container" />
<TriggerAction target1tag="player" target2tag="container" radius="70" />
<EventObjectiveAction type="remove" identifier="objective_opencontainer" />
<EventObjectiveAction type="remove" identifier="objective_obtainscrewdriver" />
<EventObjectiveAction type="remove" identifier="objective5" />
<EventObjectiveAction type="remove" identifier="objective6" />
<MessageBoxAction identifier="objective7" text="tutorial.basics.weldingtool" objectivetag="tutorial.basics.objective7" iconstyle="GUINotificationButton" targettag="player" CloseOnPickUpTag="weldingequipment" />
<TriggerEventAction identifier="tutorial_basic_weldingtool2" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_weldingtool2">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:weldingtoolholder" tag="container" />
<TagAction criteria="itemtag:weldingtooltutorial" tag="tool" />
<TutorialHighlightAction targettag="container" />
<TutorialHighlightAction targettag="tool" />
<Label name="beforecheck" />
<WaitAction time="1" />
<InventoryHighlightAction targettag="container" itemidentifier="weldingtool" />
<CheckItemAction targettag="player" itemidentifiers="weldingtool">
<Success>
<TutorialHighlightAction state="false" targettag="container" />
<TutorialHighlightAction state="false" targettag="tool" />
<EventObjectiveAction type="complete" identifier="objective7" />
<TriggerEventAction identifier="tutorial_basic_weldingfuel" />
<TriggerEventAction identifier="tutorial_basic_7" />
</Success>
<Failure>
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_weldingfuel">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:weldingfuelcontainer" tag="tankcontainer" />
<TagAction criteria="itemtag:weldingfuel" tag="fuel" />
<TagAction criteria="itemtag:weldingtooltutorial" tag="tool" />
<TutorialHighlightAction targettag="tankcontainer" />
<TutorialHighlightAction targettag="fuel" />
<MessageBoxAction identifier="objective_weldingfuel" text="tutorial.basics.weldingfuel" objectivetag="tutorial.basics.objective_weldingfuel" iconstyle="GUINotificationButton" tag="closeweldingfuel" targettag="player" CloseOnPickUpTag="weldingfueltank" />
<Label name="beforecheck" />
<WaitAction time="0.5" />
<InventoryHighlightAction targettag="tankcontainer" itemidentifier="weldingfueltank" />
<CheckItemAction targettag="player" itemidentifiers="weldingfueltank">
<Success>
<MessageBoxAction type="close" tag="closeweldingfuel" />
<TutorialHighlightAction state="false" targettag="fuel" />
<TutorialHighlightAction state="false" targettag="tankcontainer" />
<EventObjectiveAction type="complete" identifier="objective_weldingfuel" />
<TriggerEventAction identifier="tutorial_basic_equipweldingtool" />
</Success>
<Failure>
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_equipweldingtool">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:weldingtooltutorial" tag="tool" />
<MessageBoxAction identifier="objective_equipweldingtool" text="tutorial.basics.equip" objectivetag="tutorial.basics.objective_weldingtoolequip" iconstyle="GUINotificationButton" tag="close_equipweldingtool" targettag="player" CloseOnEquipTag="weldingequipment" />
<Label name="beforecheck" />
<WaitAction time="1" />
<InventoryHighlightAction targettag="player" itemidentifier="weldingtool" />
<CheckItemAction targettag="player" itemidentifiers="weldingtool" requireequipped="true">
<Success>
<EventObjectiveAction type="complete" identifier="objective_equipweldingtool" />
<TriggerEventAction identifier="tutorial_basic_insertweldingfuel" />
<GoTo name="completeevent" />
</Success>
</CheckItemAction>
<CheckItemAction targettag="tool" itemidentifiers="weldingfueltank">
<Success>
<MessageBoxAction type="close" tag="closeweldingfuel" />
<MessageBoxAction type="close" tag="closeinsertweldingfuel" />
<TriggerEventAction identifier="tutorial_basic_ladder" />
</Success>
<Failure>
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
<Label name="completeevent" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_insertweldingfuel">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:weldingfuel" tag="fuel" />
<TagAction criteria="itemtag:weldingtooltutorial" tag="tool" />
<MessageBoxAction identifier="objective_fillweldingtool" text="tutorial.basics.insertweldingfuel" objectivetag="tutorial.basics.objective_weldingtoolfill" iconstyle="GUINotificationButton" tag="closeinsertweldingfuel" />
<Label name="beforeinsertcheck" />
<InventoryHighlightAction targettag="player" itemidentifier="weldingtool" />
<InventoryHighlightAction targettag="player" itemidentifier="weldingfueltank" />
<CheckItemAction targettag="tool" itemidentifiers="weldingfueltank">
<Success>
<EventObjectiveAction type="complete" identifier="objective_fillweldingtool" />
<MessageBoxAction type="close" tag="closeinsertweldingfuel" />
<TriggerEventAction identifier="tutorial_basic_ladder" />
</Success>
<Failure>
<WaitAction time="0.5" />
<GoTo name="beforeinsertcheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_ladder">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:weldingladder" tag="ladder" />
<WaitAction time="2" />
<EventObjectiveAction type="remove" identifier="objective7" />
<EventObjectiveAction type="remove" identifier="objective_weldingfuel" />
<EventObjectiveAction type="remove" identifier="objective_equipweldingtool" />
<EventObjectiveAction type="remove" identifier="objective_fillweldingtool" />
<TutorialHighlightAction targettag="ladder" />
<MessageBoxAction text="tutorial.basics.ladders" iconstyle="GUINotificationButton" targettag="player" CloseOnInput="Down" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_7">
<!-- Approach the weldable wall -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:weldingladder" tag="ladder" />
<TagAction criteria="itemtag:weldingsensor" tag="sensor" />
<TriggerAction target1tag="player" target2tag="sensor" radius="250" />
<MessageBoxAction identifier="objective8" text="tutorial.basics.aimandfire" objectivetag="tutorial.basics.objective8" iconstyle="GUINotificationButton" CloseOnInput="Aim" targettag="player" />
<TriggerEventAction identifier="tutorial_basic_8" />
<WaitAction time="5" />
<TutorialHighlightAction state="false" targettag="ladder" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_8">
<TagAction criteria="itemtag:weldingladder" tag="ladder" />
<TutorialHighlightAction state="false" targettag="ladder" />
<!-- Weld the leak. Instruct right click + left click, check when the hatch opens (due to sensor not detecting water) -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="structurespecialtag:leak" tag="wall" />
<TutorialHighlightAction targettag="wall" />
<StatusEffectAction targettag="wall">
<StatusEffect target="This" setvalue="true" indestructible="false" />
</StatusEffectAction>
<!--MessageBoxAction text="tutorial.basics.holdaim" iconstyle="GUINotificationButton" CloseOnInput="Aim" targettag="player" /-->
<MessageBoxAction text="tutorial.basics.holdaim2" iconstyle="GUINotificationButton" CloseOnInput="Shoot" targettag="player" />
<TagAction criteria="itemtag:weldinghatch" tag="hatch" />
<Label name="beforecheck8" />
<WaitAction time="1" />
<CheckConditionalAction targettag="hatch" targetitemcomponent="Door" IsOpen="true" >
<Success>
<TagAction criteria="itemtag:taskdisplay2" tag="display2" />
<StatusEffectAction targettag="display2">
<StatusEffect target="This" setvalue="true" text="tutorial.roomcompleted" />
</StatusEffectAction>
<TutorialHighlightAction state="false" targettag="wall" />
<StatusEffectAction targettag="wall">
<StatusEffect target="This" setvalue="true" indestructible="true" />
</StatusEffectAction>
<EventObjectiveAction type="complete" identifier="objective8" />
<TriggerEventAction identifier="tutorial_basic_9" />
<TriggerEventAction identifier="tutorial_basic_divingsuit" />
</Success>
<Failure>
<GoTo name="beforecheck8" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<!-- Room 5 - Tags used: divingsuitcontainer, pumpsdoor, pumpleft, wrenchcontainer -->
<ScriptedEvent identifier="tutorial_basic_9">
<TagAction criteria="itemtag:weldingladder" tag="ladder" />
<TutorialHighlightAction state="false" targettag="ladder" />
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:divingsuitcontainer" tag="divingsuitcontainer" submarinetype="outpost" />
<TriggerAction target1tag="player" target2tag="divingsuitcontainer" radius="250" />
<EventObjectiveAction type="remove" identifier="objective8" />
<EventObjectiveAction type="add" identifier="tutorial.basics.objective9" />
<TutorialHighlightAction targettag="divingsuitcontainer" />
<MessageBoxAction type="connectobjective" identifier="tutorial.basics.objective9" text="tutorial.basics.divingsuits" iconstyle="GUINotificationButton" tag="closeonequip" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_divingsuit">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:divingsuitcontainer" tag="container" submarinetype="outpost" />
<Label name="beforecheck" />
<WaitAction time="0.5" />
<InventoryHighlightAction targettag="container" itemidentifier="divingsuit" />
<CheckItemAction targettag="player" itemidentifiers="divingsuit">
<Success>
<TutorialHighlightAction state="false" targettag="container" />
<MessageBoxAction type="close" tag="closeonequip" />
<EventObjectiveAction type="complete" identifier="tutorial.basics.objective9" />
<MessageBoxAction identifier="objective10" text="tutorial.basics.nooxygen" objectivetag="tutorial.basics.objective10" iconstyle="GUINotificationButton" tag="closeonoxygen" />
<TriggerEventAction identifier="tutorial_basic_oxygen1" />
</Success>
<Failure>
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_oxygen1">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:deepdiving" tag="divingsuit" submarinetype="outpost" />
<TagAction criteria="itemtag:oxygensource" tag="tank" submarinetype="outpost" />
<TagAction criteria="itemtag:oxygentankrefiller" tag="tankcontainer" />
<TutorialHighlightAction targettag="tank" />
<Label name="beforecheck" />
<WaitAction time="0.5" />
<InventoryHighlightAction targettag="tankcontainer" itemidentifier="oxygensource" />
<InventoryHighlightAction targettag="player" itemidentifier="oxygensource" />
<InventoryHighlightAction targettag="player" itemidentifier="divingsuit" />
<CheckItemAction targettag="divingsuit" itemtags="oxygensource">
<Success>
<MessageBoxAction type="close" tag="closeonoxygen" />
<TutorialHighlightAction state="false" targettag="tank" />
<EventObjectiveAction type="complete" identifier="objective10" />
<TriggerEventAction identifier="tutorial_basic_oxygen2" />
<TriggerEventAction identifier="tutorial_basic_10" />
<TriggerEventAction identifier="tutorial_basic_11" />
</Success>
<Failure>
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_oxygen2">
<TagAction criteria="player" tag="player" />
<Label name="beforecheck" />
<WaitAction time="1" />
<CheckAfflictionAction identifier="oxygenlow" minstrength="10" targettag="player">
<Success>
<MessageBoxAction text="tutorial.basics.oxygen" iconstyle="GUINotificationButton" tag="closein5" />
<MessageBoxAction text="tutorial.basics.oxygen2" iconstyle="GUINotificationButton" tag="closein10" />
<TriggerEventAction identifier="tutorial_basic_closepopupin5s" />
<TriggerEventAction identifier="tutorial_basic_closepopupin10s" />
</Success>
<Failure>
<GoTo name="beforecheck" />
</Failure>
</CheckAfflictionAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_10">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:wrenchcontainer" tag="wrenchcontainer" />
<SpawnAction itemidentifier="wrench" targetinventory="wrenchcontainer" />
<TriggerAction target1tag="player" target2tag="wrenchcontainer" radius="180" />
<TutorialHighlightAction targettag="wrenchcontainer" />
<MessageBoxAction identifier="objective11" text="tutorial.basics.righttool" objectivetag="tutorial.basics.objective11" iconstyle="GUINotificationButton" CloseOnSelectTag="wrenchcontainer" targettag="player" />
<MessageBoxAction identifier="objective12" text="tutorial.basics.wrenchrepair" objectivetag="tutorial.basics.objective12" iconstyle="GUINotificationButton" CloseOnEquipTag="wrenchitem" targettag="player" />
<TriggerEventAction identifier="tutorial_basics_objective11" />
<Label name="checkwrenchequipped" />
<WaitAction time="0.5" />
<CheckItemAction targettag="player" itemidentifiers="wrench" RequireEquipped="true">
<Failure>
<InventoryHighlightAction targettag="player" itemidentifier="wrench" />
<GoTo name="checkwrenchequipped" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basics_objective11">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:wrenchcontainer" tag="container" />
<Label name="beforeobjective11" />
<WaitAction time="0.5" />
<InventoryHighlightAction targettag="container" itemidentifier="wrench" />
<CheckItemAction targettag="player" itemidentifiers="wrench" >
<Success>
<TutorialHighlightAction state="false" targettag="container" />
<EventObjectiveAction type="complete" identifier="objective11" />
</Success>
<Failure>
<GoTo name="beforeobjective11" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_11">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:pumpleft" tag="pump" />
<TriggerAction target1tag="player" target2tag="pump" radius="180" />
<TutorialHighlightAction targettag="pump" />
<TriggerEventAction identifier="tutorial_basics_objective12" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basics_objective12">
<TagAction criteria="itemtag:pumpleft" tag="pump" />
<Label name="beforeobjective12" />
<UIHighlightAction id="RepairButton"/>
<WaitAction time="0.5" />
<CheckConditionalAction targettag="pump" ConditionPercentage="gt 50">
<Success>
<TutorialHighlightAction state="false" targettag="pump" />
<EventObjectiveAction type="complete" identifier="objective12" />
<TriggerEventAction identifier="tutorial_basic_12" />
</Success>
<Failure>
<GoTo name="beforeobjective12" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<!-- Room 6 - Tags used: pumpright, fillingsensor, puzzlelight -->
<ScriptedEvent identifier="tutorial_basic_12">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:pumpright" tag="pump" />
<TriggerAction target1tag="player" target2tag="pump" radius="200" />
<EventObjectiveAction type="remove" identifier="tutorial.basics.objective9" />
<EventObjectiveAction type="remove" identifier="objective10" />
<EventObjectiveAction type="remove" identifier="objective11" />
<EventObjectiveAction type="remove" identifier="objective12" />
<TutorialHighlightAction targettag="pump" />
<MessageBoxAction identifier="objective13" text="tutorial.basics.interact2" objectivetag="tutorial.basics.objective13" iconstyle="GUINotificationButton" targettag="player" CloseOnInput="Select" />
<MessageBoxAction text="tutorial.basics.puzzle" iconstyle="GUINotificationButton" tag="closeonwaterreachlamp" />
<TriggerEventAction identifier="tutorial_basics_objective13" />
<TriggerEventAction identifier="tutorial_basic_end" />
<WaitAction time="30" />
<TriggerAction target1tag="player" target2tag="pump" radius="600" />
<MessageBoxAction text="tutorial.basics.puzzlehelp" iconstyle="GUINotificationButton" tag="closeonwaterreachlamp" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basics_objective13">
<TagAction criteria="itemtag:puzzlelight" tag="light" />
<TagAction criteria="itemtag:pumpright" tag="pump" />
<Label name="beforeobjective13" />
<UIHighlightAction Id="PumpSpeedSlider"/>
<WaitAction time="0.5" />
<CheckConditionalAction targettag="light" InWater="true">
<Success>
<MessageBoxAction type="close" tag="closeonwaterreachlamp" />
<EventObjectiveAction type="add" identifier="tutorial.basics.objective14" />
<TutorialHighlightAction state="false" targettag="pump" />
<EventObjectiveAction type="complete" identifier="objective13" />
</Success>
<Failure>
<GoTo name="beforeobjective13" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<!-- Exit Room - Tags used: mudraptordoor, mudraptorspawn -->
<ScriptedEvent identifier="tutorial_basic_end">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:mudraptordoor" tag="door" />
<TriggerAction target1tag="player" target2tag="door" radius="300" />
<TriggerEventAction identifier="tutorial_basic_end2" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_basic_end2">
<WaitAction time="0.5" />
<EventObjectiveAction type="remove" identifier="objective13" />
<EventObjectiveAction type="remove" identifier="tutorial.basics.objective14" />
<TagAction criteria="player" tag="player" />
<TagAction criteria="humanprefabidentifier:captain" tag="tutorial_instructor" />
<ConversationAction targettag="player" text="tutorial.basics.endmessage.1" eventsprite="captain">
<Option text="tutorial.basics.endmessage.1_player">
<ConversationAction targettag="player" text="tutorial.basics.endmessage.2">
<Option text="tutorial.basics.endmessage.2_player" endconversation="true">
<SpawnAction speciesname="mudraptor" spawnpointtag="mudraptorspawn" SpawnLocation="Outpost" targettag="mudraptor" offset="0"/>
<WaitAction time="2" />
<TutorialCompleteAction />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<!-- ROLES TUTORIAL -->
<ScriptedEvent identifier="tutorial_roles_start">
<TagAction criteria="itemtag:receptionchair" tag="receptionchair" />
<!-- receptionspawn tag needed -->
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="receptiondude" targettag="tutorial_reception" spawnlocation="Outpost" spawnpointtag="receptionspawn" offset="0" />
<NPCOperateItemAction npctag="tutorial_reception" targettag="receptionchair" itemcomponentname="controller" operate="true" />
<GodModeAction targettag="tutorial_reception" enabled="true" />
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="captaintrainee" targettag="captain_trainee" spawnlocation="Outpost" spawnpointtag="traineespawn1" offset="0" />
<NPCWaitAction npctag="captain_trainee" wait="true" />
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="engineertrainee" targettag="engineer_trainee" spawnlocation="Outpost" spawnpointtag="traineespawn2" offset="0" />
<NPCWaitAction npctag="engineer_trainee" wait="true" />
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="mechanictrainee" targettag="mechanic_trainee" spawnlocation="Outpost" spawnpointtag="traineespawn3" offset="0" />
<NPCWaitAction npctag="mechanic_trainee" wait="true" />
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="securitytrainee" targettag="security_trainee" spawnlocation="Outpost" spawnpointtag="traineespawn4" offset="0" />
<NPCWaitAction npctag="security_trainee" wait="true" />
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="medictrainee" targettag="medic_trainee" spawnlocation="Outpost" spawnpointtag="traineespawn5" offset="0" />
<NPCWaitAction npctag="medic_trainee" wait="true" />
<WaitAction time="1" />
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.message.1" eventsprite="Receptiondude">
<Option text="tutorial.roles.message.1_player">
<ConversationAction targettag="player" text="tutorial.roles.message.2">
<Option text="tutorial.roles.message.2_player1">
<ConversationAction targettag="player" text="tutorial.roles.message.3">
<Option text="tutorial.roles.message.3_player">
<ConversationAction targettag="player" text="tutorial.roles.message.4">
<Option text="tutorial.roles.message.4_player">
<ConversationAction targettag="player" text="tutorial.roles.message.5">
<Option text="tutorial.roles.message.5_player">
<ConversationAction targettag="player" text="tutorial.roles.message.6a">
<Option text="tutorial.roles.message.6a_player">
<ConversationAction targettag="player" text="tutorial.roles.message.6b">
<Option text="tutorial.roles.message.6b_player">
<ConversationAction targettag="player" text="tutorial.roles.message.6c">
<Option text="tutorial.roles.message.6c_player">
<ConversationAction targettag="player" text="tutorial.roles.message.6d">
<Option text="tutorial.roles.message.6_player" endconversation="true">
<MessageBoxAction text="tutorial.roles.popup.moveright" iconstyle="GUINotificationButton" CloseOnExitRoomName="roomname.reception" targettag="player" hideclosebutton="true" />
<TriggerEventAction identifier="tutorial_roles_1" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
<Option text="tutorial.roles.message.2_player2">
<ConversationAction targettag="player" text="tutorial.roles.message.3_skip">
<Option text="tutorial.roles.message.3_skip_player" endconversation="true">
<MessageBoxAction text="tutorial.roles.popup.moveright" iconstyle="GUINotificationButton" CloseOnExitRoomName="roomname.reception" targettag="player" hideclosebutton="true" />
<TriggerEventAction identifier="tutorial_roles_1" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
<Option text="tutorial.skiptotutorial" endconversation="true">
<MessageBoxAction text="tutorial.roles.popup.moveright" iconstyle="GUINotificationButton" CloseOnExitRoomName="roomname.reception" targettag="player" hideclosebutton="true" />
<TriggerEventAction identifier="tutorial_roles_1" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_1">
<TagAction criteria="player" tag="player" />
<TagAction criteria="hullname:lounge" tag="lounge" submarinetype="Outpost" />
<TriggerAction target1tag="player" target2tag="lounge" radius="200" />
<TagAction criteria="humanprefabidentifier:captaintrainee" tag="captain_trainee" />
<TagAction criteria="humanprefabidentifier:engineertrainee" tag="engineer_trainee" />
<TagAction criteria="humanprefabidentifier:mechanictrainee" tag="mechanic_trainee" />
<TagAction criteria="humanprefabidentifier:securitytrainee" tag="security_trainee" />
<TagAction criteria="humanprefabidentifier:medictrainee" tag="medic_trainee" />
<NPCChangeTeamAction npctag="medic_trainee" teamtag="1" addtocrew="true" />
<NPCChangeTeamAction npctag="security_trainee" teamtag="1" addtocrew="true" />
<NPCChangeTeamAction npctag="mechanic_trainee" teamtag="1" addtocrew="true" />
<NPCChangeTeamAction npctag="engineer_trainee" teamtag="1" addtocrew="true" />
<NPCChangeTeamAction npctag="captain_trainee" teamtag="1" addtocrew="true" />
<WaitAction time="0.1" />
<!-- changing the team clears orders, we need to reorder the bots to wait -->
<NPCWaitAction npctag="medic_trainee" wait="true" />
<NPCWaitAction npctag="security_trainee" wait="true" />
<NPCWaitAction npctag="mechanic_trainee" wait="true" />
<NPCWaitAction npctag="engineer_trainee" wait="true" />
<NPCWaitAction npctag="captain_trainee" wait="true" />
<TriggerEventAction identifier="tutorial_roles_2" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_2">
<TagAction criteria="player" tag="player" />
<MessageBoxAction text="tutorial.roles.popup.creworders" iconstyle="GUINotificationButton" CloseOnInput="CrewOrders" targettag="player" tag="closewhenselectchar" />
<MessageBoxAction text="tutorial.roles.popup.creworders2" iconstyle="GUINotificationButton" CloseOnInput="Select" targettag="player" tag="closewhenselectchar" />
<TriggerEventAction identifier="tutorial_roles_descriptions" />
<TriggerEventAction identifier="tutorial_roles_startprompt" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_descriptions">
<Label name="beforecheck" />
<WaitAction time="1" />
<TagAction criteria="player" tag="player" />
<CheckItemAction targettag="player" itemidentifiers="idcard">
<Success>
<CheckConditionalAction IsAssistant="true" targettag="player">
<Success>
<GoTo name="beforecheck" />
</Success>
</CheckConditionalAction>
</Success>
<Failure>
<CheckConditionalAction IsCaptain="true" targettag="player">
<Success>
<MessageBoxAction text="tutorial.roles.captaindescription" iconstyle="GUITutorialCaptainDescription" tag="closeonleavelounge" />
<MessageBoxAction type="close" tag="closeonrepeat" />
<MessageBoxAction type="close" tag="closewhenselectchar" />
<MessageBoxAction text="tutorial.roles.popup.moveright" iconstyle="GUINotificationButton" CloseOnExitRoomName="roomname.lounge" targettag="player" hideclosebutton="true" tag="closeonrepeat" />
<SpawnAction itemidentifier="idcard" targettag="idcard_captain" targetinventory="player" />
<StatusEffectAction targettag="idcard_captain">
<!--StatusEffect description="tutorial.roles.idcarddescription"/-->
<StatusEffect target="This" Tags="smallitem,identitycard,idcard,idcard_tutorial,idcard_captain" />
</StatusEffectAction>
</Success>
</CheckConditionalAction>
<CheckConditionalAction IsEngineer="true" targettag="player">
<Success>
<MessageBoxAction text="tutorial.roles.engineerdescription" iconstyle="GUITutorialEngineerDescription" tag="closeonleavelounge" />
<MessageBoxAction type="close" tag="closeonrepeat" />
<MessageBoxAction type="close" tag="closewhenselectchar" />
<MessageBoxAction text="tutorial.roles.popup.moveright" iconstyle="GUINotificationButton" CloseOnExitRoomName="roomname.lounge" targettag="player" hideclosebutton="true" tag="closeonrepeat" />
<SpawnAction itemidentifier="idcard" targettag="idcard_engineer" targetinventory="player" />
<StatusEffectAction targettag="idcard_engineer">
<!--StatusEffect description="tutorial.roles.idcarddescription"/-->
<StatusEffect target="This" Tags="smallitem,identitycard,idcard,idcard_tutorial,idcard_engineer" />
</StatusEffectAction>
</Success>
</CheckConditionalAction>
<CheckConditionalAction IsMechanic="true" targettag="player">
<Success>
<MessageBoxAction text="tutorial.roles.mechanicdescription" iconstyle="GUITutorialMechanicDescription" tag="closeonleavelounge" />
<MessageBoxAction type="close" tag="closeonrepeat" />
<MessageBoxAction type="close" tag="closewhenselectchar" />
<MessageBoxAction text="tutorial.roles.popup.moveright" iconstyle="GUINotificationButton" CloseOnExitRoomName="roomname.lounge" targettag="player" hideclosebutton="true" tag="closeonrepeat" />
<SpawnAction itemidentifier="idcard" targettag="idcard_mechanic" targetinventory="player" />
<StatusEffectAction targettag="idcard_mechanic">
<!--StatusEffect description="tutorial.roles.idcarddescription"/-->
<StatusEffect target="This" Tags="smallitem,identitycard,idcard,idcard_tutorial,idcard_mechanic" />
</StatusEffectAction>
</Success>
</CheckConditionalAction>
<CheckConditionalAction IsSecurity="true" targettag="player">
<Success>
<MessageBoxAction text="tutorial.roles.securitydescription" iconstyle="GUITutorialSecurityDescription" tag="closeonleavelounge" />
<MessageBoxAction type="close" tag="closeonrepeat" />
<MessageBoxAction type="close" tag="closewhenselectchar" />
<MessageBoxAction text="tutorial.roles.popup.moveright" iconstyle="GUINotificationButton" CloseOnExitRoomName="roomname.lounge" targettag="player" hideclosebutton="true" tag="closeonrepeat" />
<SpawnAction itemidentifier="idcard" targettag="idcard_security" targetinventory="player" />
<StatusEffectAction targettag="idcard_security">
<!--StatusEffect description="tutorial.roles.idcarddescription"/-->
<StatusEffect target="This" Tags="smallitem,identitycard,idcard,idcard_tutorial,idcard_security" />
</StatusEffectAction>
</Success>
</CheckConditionalAction>
<CheckConditionalAction IsMedic="true" targettag="player">
<Success>
<MessageBoxAction text="tutorial.roles.medicdescription" iconstyle="GUITutorialMedicDescription" tag="closeonleavelounge" />
<MessageBoxAction type="close" tag="closeonrepeat" />
<MessageBoxAction type="close" tag="closewhenselectchar" />
<MessageBoxAction text="tutorial.roles.popup.moveright" iconstyle="GUINotificationButton" CloseOnExitRoomName="roomname.lounge" targettag="player" hideclosebutton="true" tag="closeonrepeat" />
<SpawnAction itemidentifier="idcard" targettag="idcard_medic" targetinventory="player" />
<StatusEffectAction targettag="idcard_medic">
<!--StatusEffect description="tutorial.roles.idcarddescription"/-->
<StatusEffect target="This" Tags="smallitem,identitycard,idcard,idcard_tutorial,idcard_medic" />
</StatusEffectAction>
</Success>
</CheckConditionalAction>
</Failure>
</CheckItemAction>
<GoTo name="beforecheck" /><!-- TODO break the loop after actually starting the tutorial maybe?-->
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_startprompt">
<Label name="beforecheck" />
<TagAction criteria="player" tag="player" />
<TagAction criteria="hullname:subtopcenter" tag="tutstart" submarinetype="Outpost" />
<TriggerAction target1tag="player" target2tag="tutstart" radius="150" />
<MessageBoxAction type="close" tag="closeonleavelounge" />
<CheckConditionalAction IsCaptain="true" targettag="player">
<Success>
<ConversationAction targettag="player" text="tutorial.roles.startprompt_captain" eventsprite="Receptiondude">
<Option text="tutorial.roles.startprompt_yes">
<ConversationAction targettag="player" text="tutorial.roles.reception_notification">
<Option text="tutorial.roles.reception_notification_player" endconversation="true">
<MessageBoxAction type="close" tag="closeonrepeat" />
<MessageBoxAction text="tutorial.roles.popup.start" iconstyle="GUINotificationButton" CloseOnInRoomName="roomname.commandroom" targettag="player" hideclosebutton="true" tag="findcaptain" />
<TriggerEventAction identifier="tutorial_roles_captain_start" />
</Option>
</ConversationAction>
</Option>
<Option text="tutorial.roles.startprompt_no" endconversation="true">
<TeleportAction targettag="player" position="outpost" spawnpointtag="traineespawn4" />
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Option>
</ConversationAction>
</Success>
<Failure>
<!-- not captain ******************************************************************** -->
<CheckConditionalAction IsEngineer="true" targettag="player">
<Success>
<ConversationAction targettag="player" text="tutorial.roles.startprompt_engineer" eventsprite="Receptiondude">
<Option text="tutorial.roles.startprompt_yes">
<ConversationAction targettag="player" text="tutorial.roles.reception_notification">
<Option text="tutorial.roles.reception_notification_player" endconversation="true">
<MessageBoxAction type="close" tag="closeonrepeat" />
<MessageBoxAction text="tutorial.roles.popup.start" iconstyle="GUINotificationButton" CloseOnInRoomName="roomname.reactorroom" targettag="player" hideclosebutton="true" tag="findengineer" />
<TriggerEventAction identifier="tutorial_roles_engineer_start" />
</Option>
</ConversationAction>
</Option>
<Option text="tutorial.roles.startprompt_no" endconversation="true">
<TeleportAction targettag="player" position="outpost" spawnpointtag="traineespawn4" />
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Option>
</ConversationAction>
</Success>
<Failure>
<!-- not engineer ******************************************************************** -->
<CheckConditionalAction IsMechanic="true" targettag="player">
<Success>
<ConversationAction targettag="player" text="tutorial.roles.startprompt_mechanic" eventsprite="Receptiondude">
<Option text="tutorial.roles.startprompt_yes">
<ConversationAction targettag="player" text="tutorial.roles.reception_notification">
<Option text="tutorial.roles.reception_notification_player" endconversation="true">
<MessageBoxAction type="close" tag="closeonrepeat" />
<MessageBoxAction text="tutorial.roles.popup.start" iconstyle="GUINotificationButton" CloseOnInRoomName="roomname.engineroom" targettag="player" hideclosebutton="true" tag="findmechanic" />
<TriggerEventAction identifier="tutorial_roles_mechanic_start" />
</Option>
</ConversationAction>
</Option>
<Option text="tutorial.roles.startprompt_no" endconversation="true">
<TeleportAction targettag="player" position="outpost" spawnpointtag="traineespawn4" />
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Option>
</ConversationAction>
</Success>
<Failure>
<!-- not mechanic ******************************************************************** -->
<CheckConditionalAction IsSecurity="true" targettag="player">
<Success>
<ConversationAction targettag="player" text="tutorial.roles.startprompt_security" eventsprite="Receptiondude">
<Option text="tutorial.roles.startprompt_yes">
<ConversationAction targettag="player" text="tutorial.roles.reception_notification">
<Option text="tutorial.roles.reception_notification_player" endconversation="true">
<MessageBoxAction type="close" tag="closeonrepeat" />
<MessageBoxAction text="tutorial.roles.popup.start" iconstyle="GUINotificationButton" CloseOnInRoomName="roomname.subbottomcenter" targettag="player" hideclosebutton="true" tag="findsecurity" />
<TriggerEventAction identifier="tutorial_roles_security_start" />
</Option>
</ConversationAction>
</Option>
<Option text="tutorial.roles.startprompt_no" endconversation="true">
<TeleportAction targettag="player" position="outpost" spawnpointtag="traineespawn4" />
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Option>
</ConversationAction>
</Success>
<Failure>
<!-- not security ******************************************************************** -->
<CheckConditionalAction IsMedic="true" targettag="player">
<Success>
<ConversationAction targettag="player" text="tutorial.roles.startprompt_medic" eventsprite="Receptiondude">
<Option text="tutorial.roles.startprompt_yes">
<ConversationAction targettag="player" text="tutorial.roles.reception_notification">
<Option text="tutorial.roles.reception_notification_player" endconversation="true">
<MessageBoxAction type="close" tag="closeonrepeat" />
<MessageBoxAction text="tutorial.roles.popup.start" iconstyle="GUINotificationButton" CloseOnInRoomName="roomname.medbay" targettag="player" hideclosebutton="true" tag="findmedic" />
<TriggerEventAction identifier="tutorial_roles_medic_start" />
</Option>
</ConversationAction>
</Option>
<Option text="tutorial.roles.startprompt_no" endconversation="true">
<TeleportAction targettag="player" position="outpost" spawnpointtag="traineespawn4" />
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Option>
</ConversationAction>
</Success>
<Failure>
<!-- no job selected ******************************************************************** -->
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</Failure>
</CheckConditionalAction>
</Failure>
</CheckConditionalAction>
</Failure>
</CheckConditionalAction>
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_start">
<TagAction allowhiddenitems="true" criteria="itemtag:door_captain" tag="door_captain" />
<StatusEffectAction targettag="door_captain">
<StatusEffect target="This" setvalue="true" IsOpen="true" />
</StatusEffectAction>
<TagAction criteria="player" tag="player" />
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="captaininstructor" targettag="captaininstructor" spawnlocation="Outpost" spawnpointtag="captaininstructor" offset="0" />
<GodModeAction targettag="captaininstructor" enabled="true" />
<NPCWaitAction npctag="captaininstructor" wait="true" />
<TutorialIconAction targettag="captaininstructor" iconstyle="CampaignInteractionIcon.Talk" />
<TagAction criteria="humanprefabidentifier:engineertrainee" tag="engineer_trainee" />
<TagAction criteria="humanprefabidentifier:mechanictrainee" tag="mechanic_trainee" />
<TagAction criteria="humanprefabidentifier:securitytrainee" tag="security_trainee" />
<TagAction criteria="humanprefabidentifier:medictrainee" tag="medic_trainee" />
<NPCChangeTeamAction npctag="engineer_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="mechanic_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="security_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="medic_trainee" teamtag="3" removefromcrew="true" />
<WaitAction time="0.1" />
<!-- changing the team clears orders, we need to reorder the bots to wait -->
<NPCWaitAction npctag="medic_trainee" wait="true" />
<NPCWaitAction npctag="security_trainee" wait="true" />
<NPCWaitAction npctag="mechanic_trainee" wait="true" />
<NPCWaitAction npctag="engineer_trainee" wait="true" />
<TriggerAction target1tag="player" target2tag="captaininstructor" radius="100" />
<MessageBoxAction type="close" tag="findcaptain" />
<TriggerEventAction identifier="tutorial_roles_captain_intro" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_start">
<TagAction allowhiddenitems="true" criteria="itemtag:door_engineer" tag="door_engineer" />
<StatusEffectAction targettag="door_engineer">
<StatusEffect target="This" setvalue="true" IsOpen="true" />
</StatusEffectAction>
<TagAction criteria="player" tag="player" />
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="engineerinstructor" targettag="engineerinstructor" spawnlocation="Outpost" spawnpointtag="engineerinstructor" offset="0" />
<GodModeAction targettag="engineerinstructor" enabled="true" />
<NPCWaitAction npctag="engineerinstructor" wait="true" />
<TutorialIconAction targettag="engineerinstructor" iconstyle="CampaignInteractionIcon.Talk" />
<TagAction criteria="humanprefabidentifier:captaintrainee" tag="captain_trainee" />
<TagAction criteria="humanprefabidentifier:mechanictrainee" tag="mechanic_trainee" />
<TagAction criteria="humanprefabidentifier:securitytrainee" tag="security_trainee" />
<TagAction criteria="humanprefabidentifier:medictrainee" tag="medic_trainee" />
<NPCChangeTeamAction npctag="captain_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="mechanic_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="security_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="medic_trainee" teamtag="3" removefromcrew="true" />
<WaitAction time="0.1" />
<!-- changing the team clears orders, we need to reorder the bots to wait -->
<NPCWaitAction npctag="medic_trainee" wait="true" />
<NPCWaitAction npctag="security_trainee" wait="true" />
<NPCWaitAction npctag="mechanic_trainee" wait="true" />
<NPCWaitAction npctag="captain_trainee" wait="true" />
<TriggerAction target1tag="player" target2tag="engineerinstructor" radius="100" />
<MessageBoxAction type="close" tag="findengineer" />
<TriggerEventAction identifier="tutorial_roles_engineer_intro" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_start">
<TagAction allowhiddenitems="true" criteria="itemtag:door_mechanic" tag="door_mechanic" />
<StatusEffectAction targettag="door_mechanic">
<StatusEffect target="This" setvalue="true" IsOpen="true" />
</StatusEffectAction>
<TagAction criteria="player" tag="player" />
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="mechanicinstructor" targettag="mechanicinstructor" spawnlocation="Outpost" spawnpointtag="mechanicinstructor" offset="0" />
<GodModeAction targettag="mechanicinstructor" enabled="true" />
<NPCWaitAction npctag="mechanicinstructor" wait="true" />
<TutorialIconAction targettag="mechanicinstructor" iconstyle="CampaignInteractionIcon.Talk" />
<TagAction criteria="humanprefabidentifier:captaintrainee" tag="captain_trainee" />
<TagAction criteria="humanprefabidentifier:engineertrainee" tag="engineer_trainee" />
<TagAction criteria="humanprefabidentifier:securitytrainee" tag="security_trainee" />
<TagAction criteria="humanprefabidentifier:medictrainee" tag="medic_trainee" />
<NPCChangeTeamAction npctag="captain_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="engineer_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="security_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="medic_trainee" teamtag="3" removefromcrew="true" />
<WaitAction time="0.1" />
<!-- changing the team clears orders, we need to reorder the bots to wait -->
<NPCWaitAction npctag="medic_trainee" wait="true" />
<NPCWaitAction npctag="security_trainee" wait="true" />
<NPCWaitAction npctag="engineer_trainee" wait="true" />
<NPCWaitAction npctag="captain_trainee" wait="true" />
<TriggerAction target1tag="player" target2tag="mechanicinstructor" radius="100" />
<MessageBoxAction type="close" tag="findmechanic" />
<TriggerEventAction identifier="tutorial_roles_mechanic_intro" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_start">
<TagAction allowhiddenitems="true" criteria="itemtag:door_security" tag="door_security" />
<StatusEffectAction targettag="door_security">
<StatusEffect target="This" setvalue="true" IsOpen="true" />
</StatusEffectAction>
<TagAction criteria="player" tag="player" />
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="securityinstructor" targettag="securityinstructor" spawnlocation="Outpost" spawnpointtag="securityinstructor" offset="0" />
<GodModeAction targettag="securityinstructor" enabled="true" />
<NPCWaitAction npctag="securityinstructor" wait="true" />
<TutorialIconAction targettag="securityinstructor" iconstyle="CampaignInteractionIcon.Talk" />
<TagAction criteria="humanprefabidentifier:captaintrainee" tag="captain_trainee" />
<TagAction criteria="humanprefabidentifier:engineertrainee" tag="engineer_trainee" />
<TagAction criteria="humanprefabidentifier:mechanictrainee" tag="mechanic_trainee" />
<TagAction criteria="humanprefabidentifier:medictrainee" tag="medic_trainee" />
<NPCChangeTeamAction npctag="captain_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="engineer_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="mechanic_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="medic_trainee" teamtag="3" removefromcrew="true" />
<WaitAction time="0.1" />
<!-- changing the team clears orders, we need to reorder the bots to wait -->
<NPCWaitAction npctag="medic_trainee" wait="true" />
<NPCWaitAction npctag="mechanic_trainee" wait="true" />
<NPCWaitAction npctag="engineer_trainee" wait="true" />
<NPCWaitAction npctag="captain_trainee" wait="true" />
<TriggerAction target1tag="player" target2tag="securityinstructor" radius="100" />
<MessageBoxAction type="close" tag="findsecurity" />
<TriggerEventAction identifier="tutorial_roles_security_intro" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medic_start">
<TagAction allowhiddenitems="true" criteria="itemtag:door_medic" tag="door_medic" />
<StatusEffectAction targettag="door_medic">
<StatusEffect target="This" setvalue="true" IsOpen="true" />
</StatusEffectAction>
<TagAction criteria="player" tag="player" />
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="medicalinstructor" targettag="medicalinstructor" spawnlocation="Outpost" spawnpointtag="medicalinstructor" offset="0" />
<GodModeAction targettag="medicalinstructor" enabled="true" />
<NPCWaitAction npctag="medicalinstructor" wait="true" />
<TutorialIconAction targettag="medicalinstructor" iconstyle="CampaignInteractionIcon.Talk" />
<TagAction criteria="humanprefabidentifier:captaintrainee" tag="captain_trainee" />
<TagAction criteria="humanprefabidentifier:engineertrainee" tag="engineer_trainee" />
<TagAction criteria="humanprefabidentifier:mechanictrainee" tag="mechanic_trainee" />
<TagAction criteria="humanprefabidentifier:securitytrainee" tag="security_trainee" />
<NPCChangeTeamAction npctag="captain_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="engineer_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="mechanic_trainee" teamtag="3" removefromcrew="true" />
<NPCChangeTeamAction npctag="security_trainee" teamtag="3" removefromcrew="true" />
<WaitAction time="0.1" />
<!-- changing the team clears orders, we need to reorder the bots to wait -->
<NPCWaitAction npctag="security_trainee" wait="true" />
<NPCWaitAction npctag="mechanic_trainee" wait="true" />
<NPCWaitAction npctag="engineer_trainee" wait="true" />
<NPCWaitAction npctag="captain_trainee" wait="true" />
<!-- Patients tutorialpatient1, tutorialpatient2, tutorialpatient3, tutorialpatient4 -->
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="patient1" targettag="patient1" spawnlocation="Outpost" spawnpointtag="tutorialpatient1" offset="0" />
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="patient2" targettag="patient2" spawnlocation="Outpost" spawnpointtag="tutorialpatient2" offset="0" />
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="patient3" targettag="patient3" spawnlocation="Outpost" spawnpointtag="tutorialpatient3" offset="0" />
<TagAction criteria="itemtag:patient1bunk" tag="patient1bunk" />
<NPCOperateItemAction npctag="patient1" targettag="patient1bunk" itemcomponentname="controller" operate="true" />
<TagAction criteria="itemtag:patient2bunk" tag="patient2bunk" />
<NPCOperateItemAction npctag="patient2" targettag="patient2bunk" itemcomponentname="controller" operate="true" />
<TagAction criteria="itemtag:patient3bunk" tag="patient3bunk" />
<NPCOperateItemAction npctag="patient3" targettag="patient3bunk" itemcomponentname="controller" operate="true" />
<TriggerAction target1tag="player" target2tag="medicalinstructor" radius="100" />
<MessageBoxAction type="close" tag="findmedic" />
<TriggerEventAction identifier="tutorial_roles_medical_intro" />
</ScriptedEvent>
<!-- CAPTAIN TUTORIAL -->
<ScriptedEvent identifier="tutorial_roles_captain_intro">
<TutorialIconAction type="clear" />
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.captaininstructor" eventsprite="Instructor">
<Option text="tutorial.roles.yescaptain_player">
<ConversationAction targettag="player" text="tutorial.roles.commandroomdescription">
<Option text="eventtext.missionevent_clownoutbreak.o3"> <!-- Stay silent -->
<ConversationAction targettag="player" text="tutorial.roles.commandroomdescription2">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal">
<Option text="tutorial.roles.yescaptain_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_captain_sonar" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_sonar">
<!-- Instruct player to interact with the sonar -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:sonarnavterminal" tag="navterminal" />
<EventObjectiveAction type="add" id="tutorial.roles.captain.objective.sonar1" />
<MessageBoxAction text="tutorial.roles.popup.navigationterminal_sonar" iconstyle="GUINotificationButton" CloseOnSelectTag="navterminal" targettag="player" />
<TutorialHighlightAction targettag="navterminal" />
<StatusEffectAction targettag="navterminal">
<StatusEffect target="This" setvalue="true" DisableControls="true" AutoPilot="true" MaintainPos="True" />
<StatusEffect target="This" setvalue="true" DisableControls="true" AutoPilot="true" MaintainPos="True" />
</StatusEffectAction>
<Label name="beforecheck" />
<CheckSelectedAction targettag="navterminal" charactertag="player" >
<Success>
<EventObjectiveAction type="complete" id="tutorial.roles.captain.objective.sonar1" />
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_sonar" eventsprite="Instructor">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_sonar2">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<UIHighlightAction id="PassiveSonarIndicator"/>
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_sonar3">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<UIHighlightAction id="activeSonarIndicator"/>
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_sonar4">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<UIHighlightAction id="DirectionalSonarFrame"/>
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_sonar5">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_sonar6">
<Option text="tutorial.roles.yescaptain_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_captain_sonar2" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckSelectedAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_sonar2">
<!-- Create objectives, task player to switch to Active sonar -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:sonarnavterminal" tag="navterminal" />
<EventObjectiveAction type="add" id="tutorial.roles.captain.objective.sonar2" />
<MessageBoxAction text="tutorial.roles.popup.navigationterminal_sonar2" iconstyle="GUINotificationButton" tag="closesonar" />
<Label name="beforecheck" />
<UIHighlightAction id="SonarModeSwitch"/>
<CheckConditionalAction targettag="navterminal" targetitemcomponent="Sonar" CurrentMode="Active" >
<Success>
<MessageBoxAction type="close" tag="closesonar" />
<EventObjectiveAction type="complete" id="tutorial.roles.captain.objective.sonar2" />
<TriggerEventAction identifier="tutorial_roles_captain_sonar_directional" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_sonar_directional">
<!-- Task player with using Directional Ping -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:sonarnavterminal" tag="navterminal" />
<EventObjectiveAction type="add" id="tutorial.roles.captain.objective.sonar3" />
<Label name="beforecheck" />
<UIHighlightAction id="DirectionalSonarFrame"/>
<CheckConditionalAction targettag="navterminal" targetitemcomponent="Sonar" UseDirectionalPing="true" >
<Success>
<EventObjectiveAction type="complete" id="tutorial.roles.captain.objective.sonar3" />
<TriggerEventAction identifier="tutorial_roles_captain_sonar3" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_sonar3">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:sonarnavterminal" tag="navterminal" />
<WaitAction time="1" />
<MessageBoxAction text="tutorial.roles.popup.close_interface" iconstyle="GUINotificationButton" tag="closeinterface" />
<Label name="beforecheck" />
<CheckSelectedAction targettag="navterminal" charactertag="player" >
<Failure>
<MessageBoxAction type="close" tag="closeinterface" />
<TutorialHighlightAction state="false" targettag="navterminal" />
<TriggerEventAction identifier="tutorial_roles_captain_steering" />
</Failure>
<Success>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Success>
</CheckSelectedAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_steering">
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_steering" eventsprite="Instructor">
<Option text="tutorial.roles.yescaptain_player">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_steering2">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_steering3">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_steering4">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_steering5">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_steering6">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_steering7">
<Option text="tutorial.roles.yescaptain_player">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_steering8">
<Option text="tutorial.roles.yescaptain_player" endconversation="true">
<EventObjectiveAction type="Remove" id="tutorial.roles.captain.objective.sonar1" />
<EventObjectiveAction type="Remove" id="tutorial.roles.captain.objective.sonar2" />
<EventObjectiveAction type="Remove" id="tutorial.roles.captain.objective.sonar3" />
<TriggerEventAction identifier="tutorial_roles_captain_steering_setup" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<!-- tag tutorialdronedock isOpen conditional for drone docking check -->
<ScriptedEvent identifier="tutorial_roles_captain_steering_setup">
<MessageBoxAction identifier="droneobj_undock" text="tutorial.roles.popup.navigationterminal_steering" objectivetag="tutorial.roles.captain.objective.drone1" iconstyle="GUINotificationButton" tag="closeon_undockdrone" />
<MessageBoxAction identifier="droneobj_manual" text="tutorial.roles.captain.objective.drone2" objectivetag="tutorial.roles.captain.objective.drone2" iconstyle="GUINotificationButton" tag="closeon_manual" />
<MessageBoxAction identifier="droneobj_auto" text="tutorial.roles.captain.objective.drone3" objectivetag="tutorial.roles.captain.objective.drone3" iconstyle="GUINotificationButton" tag="closeon_autopilot" />
<MessageBoxAction identifier="droneobj_redock" text="tutorial.roles.popup.navigationterminal_steering2" objectivetag="tutorial.roles.captain.objective.drone4" iconstyle="GUINotificationButton" tag="closeon_redock" />
<TagAction criteria="itemtag:tutorialdronedock" tag="tutorialdronedock" />
<TagAction criteria="itemtag:steeringnavterminal" tag="navterminal" />
<TutorialHighlightAction targettag="navterminal" />
<Label name="beforecheck" />
<CheckConditionalAction targettag="tutorialdronedock" targetitemcomponent="Door" isOpen="false">
<Success>
<MessageBoxAction type="close" tag="closeon_undockdrone" />
<EventObjectiveAction type="completeandremove" id="droneobj_undock" />
<WaitAction time="3" />
<TriggerEventAction identifier="tutorial_roles_captain_steering_manual" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_steering_manual">
<TagAction criteria="itemtag:steeringnavterminal" tag="navterminal" />
<Label name="beforecheck" />
<UIHighlightAction id="SteeringModeSwitch"/>
<CheckConditionalAction targettag="navterminal" targetitemcomponent="Steering" AutoPilot="false" >
<Success>
<MessageBoxAction type="close" tag="closeon_manual" />
<EventObjectiveAction type="complete" id="droneobj_manual" />
<TriggerEventAction identifier="tutorial_roles_captain_steering_auto" />
</Success>
<Failure>
<WaitAction time="2" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_steering_auto">
<TagAction criteria="itemtag:steeringnavterminal" tag="navterminal" />
<Label name="beforecheck" />
<UIHighlightAction id="SteeringModeSwitch"/>
<UIHighlightAction id="MaintainPosTickBox"/>
<CheckConditionalAction targettag="navterminal" targetitemcomponent="Steering" AutoPilot="true" >
<Success>
<MessageBoxAction type="close" tag="closeon_autopilot" />
<EventObjectiveAction type="complete" id="droneobj_auto" />
<TriggerEventAction identifier="tutorial_roles_captain_steering_redock" />
</Success>
<Failure>
<WaitAction time="2" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_steering_redock">
<TagAction criteria="itemtag:tutorialdronedock" tag="tutorialdronedock" />
<Label name="beforecheck" />
<CheckConditionalAction targettag="tutorialdronedock" targetitemcomponent="Door" isOpen="true" >
<Success>
<MessageBoxAction type="close" tag="closeon_redock" />
<EventObjectiveAction type="complete" id="droneobj_redock" />
<TriggerEventAction identifier="tutorial_roles_captain_steering_unselectterminal" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_steering_unselectterminal">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:steeringnavterminal" tag="navterminal" />
<MessageBoxAction text="tutorial.roles.popup.close_interface" iconstyle="GUINotificationButton" tag="closeinterface" />
<Label name="beforecheck" />
<CheckSelectedAction targettag="navterminal" charactertag="player" >
<Failure>
<MessageBoxAction type="close" tag="closeinterface" />
<EventObjectiveAction type="remove" id="droneobj_undock" />
<EventObjectiveAction type="remove" id="droneobj_manual" />
<EventObjectiveAction type="remove" id="droneobj_auto" />
<EventObjectiveAction type="remove" id="droneobj_redock" />
<TriggerEventAction identifier="tutorial_roles_captain_commanding" />
<TutorialHighlightAction state="false" targettag="navterminal" />
</Failure>
<Success>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Success>
</CheckSelectedAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_commanding">
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_commanding" eventsprite="Instructor">
<Option text="tutorial.roles.yescaptain_player">
<TagAction criteria="humanprefabidentifier:captaininstructor" tag="captaininstructor" />
<NPCChangeTeamAction npctag="captaininstructor" teamtag="1" addtocrew="false" />
<SpawnAction itemidentifier="idcard" targettag="idcard_captain" targetinventory="captaininstructor" />
<TagAction criteria="itemtag:tutorial_submarinedoor" tag="hatch" />
<StatusEffectAction targettag="hatch">
<StatusEffect target="This" setvalue="true" isopen="true" />
</StatusEffectAction>
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_commanding2">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_commanding3">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_commanding4">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_commanding5">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.navigationterminal_commanding6">
<Option text="tutorial.roles.yescaptain_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_captain_commanding2" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_commanding2">
<!-- Follow the captain into the sub -->
<TagAction criteria="player" tag="player" />
<MessageBoxAction text="tutorial.roles.popup.captain_follow" iconstyle="GUINotificationButton" tag="closewhenarrived" />
<EventObjectiveAction type="add" id="tutorial.roles.captain.objective.follow" />
<!--TagAction criteria="hullname:commandroom" tag="tutstart" submarinetype="Player" /-->
<!-- Unlock/Open: tutorial_submarinedoor -->
<TagAction criteria="itemtag:primarynavterminal" tag="tutstart" submarinetype="Player" />
<TagAction criteria="humanprefabidentifier:captaininstructor" tag="captaininstructor" />
<NPCFollowAction npctag="captaininstructor" targettag="tutstart" follow="true" />
<!-- Give the player a crew -->
<TagAction criteria="humanprefabidentifier:engineertrainee" tag="engineer_trainee" />
<TagAction criteria="humanprefabidentifier:mechanictrainee" tag="mechanic_trainee" />
<TagAction criteria="humanprefabidentifier:securitytrainee" tag="security_trainee" />
<TagAction criteria="humanprefabidentifier:medictrainee" tag="medic_trainee" />
<SpawnAction itemidentifier="idcard" targettag="idcard_engineer" targetinventory="engineer_trainee" />
<SpawnAction itemidentifier="idcard" targettag="idcard_mechanic" targetinventory="mechanic_trainee" />
<SpawnAction itemidentifier="idcard" targettag="idcard_security" targetinventory="security_trainee" />
<SpawnAction itemidentifier="idcard" targettag="idcard_medic" targetinventory="medic_trainee" />
<TeleportAction targettag="engineer_trainee" position="MainSub" spawnpointtag="" />
<TeleportAction targettag="mechanic_trainee" position="MainSub" spawnpointtag="" />
<TeleportAction targettag="security_trainee" position="MainSub" spawnpointtag="" />
<TeleportAction targettag="medic_trainee" position="MainSub" spawnpointtag="" />
<NPCWaitAction npctag="engineer_trainee" wait="true" />
<NPCWaitAction npctag="mechanic_trainee" wait="true" />
<NPCWaitAction npctag="security_trainee" wait="true" />
<NPCWaitAction npctag="medic_trainee" wait="true" />
<TriggerAction target1tag="player" target2tag="tutstart" radius="350" />
<MessageBoxAction type="close" tag="closewhenarrived" />
<EventObjectiveAction type="completeandremove" id="tutorial.roles.captain.objective.follow" />
<NPCChangeTeamAction npctag="engineer_trainee" teamtag="1" addtocrew="true" />
<NPCChangeTeamAction npctag="mechanic_trainee" teamtag="1" addtocrew="true" />
<NPCChangeTeamAction npctag="security_trainee" teamtag="1" addtocrew="true" />
<NPCChangeTeamAction npctag="medic_trainee" teamtag="1" addtocrew="true" />
<!-- changing the team clears orders, we need to reorder the bots to wait -->
<NPCWaitAction npctag="engineer_trainee" wait="true" />
<NPCWaitAction npctag="mechanic_trainee" wait="true" />
<NPCWaitAction npctag="security_trainee" wait="true" />
<NPCWaitAction npctag="medic_trainee" wait="true" />
<ConversationAction targettag="player" text="tutorial.roles.captaininstructor_start" eventsprite="Instructor">
<Option text="tutorial.roles.yescaptain_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_captain_commanding3" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_commanding3">
<TagAction criteria="player" tag="player" />
<MessageBoxAction text="tutorial.roles.popup.captain_command" iconstyle="GUINotificationButton" CloseOnInput="Command" targettag="player" tag="powerupordergiven" />
<MessageBoxAction text="tutorial.roles.popup.captain_command2" iconstyle="GUITutorialCommandPowerUp" tag="powerupordergiven" />
<MessageBoxAction text="tutorial.roles.popup.captain_command3" iconstyle="GUINotificationButton" tag="powerupordergiven" />
<MessageBoxAction text="tutorial.roles.popup.captain_command4" iconstyle="GUINotificationButton" CloseOnInput="CrewOrders" targettag="player" tag="closepostconvo" />
<EventObjectiveAction type="add" id="tutorial.roles.captain.objective.orders1" />
<TagAction criteria="humanprefabidentifier:engineertrainee" tag="engineer" />
<Label name="beforecheck" />
<UIHighlightAction ordercategory="Operate" orderidentifier="operatereactor" orderoption="powerup"/>
<CheckOrderAction targettag="engineer" orderidentifier="operatereactor" orderoption="powerup" priority="top">
<Success>
<MessageBoxAction type="close" tag="powerupordergiven" />
<EventObjectiveAction type="complete" id="tutorial.roles.captain.objective.orders1" />
<TriggerEventAction identifier="tutorial_roles_captain_commanding4" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckOrderAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_commanding4">
<!-- Flavor conversation about sidearms, moving on to maintenance -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.captaininstructor_repairs" eventsprite="Instructor">
<Option text="tutorial.roles.yescaptain_player" endconversation="true">
<MessageBoxAction type="close" tag="closepostconvo" />
<TriggerEventAction identifier="tutorial_roles_captain_commanding5" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_commanding5">
<!-- Order fix leaks -->
<MessageBoxAction text="tutorial.roles.popup.captain_commandmaintenance" iconstyle="GUITutorialCommandFixLeaks" tag="fixleaksordergiven" />
<EventObjectiveAction type="add" id="tutorial.roles.captain.objective.orders2" />
<TagAction criteria="humanprefabidentifier:mechanictrainee" tag="mechanic" />
<Label name="beforecheck" />
<UIHighlightAction ordercategory="Maintenance" orderidentifier="fixleaks"/>
<CheckOrderAction targettag="mechanic" orderidentifier="fixleaks" priority="top">
<Success>
<MessageBoxAction type="close" tag="fixleaksordergiven" />
<EventObjectiveAction type="complete" id="tutorial.roles.captain.objective.orders2" />
<TriggerEventAction identifier="tutorial_roles_captain_commanding6" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckOrderAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_commanding6">
<!-- Order electrical fixing -->
<MessageBoxAction text="tutorial.roles.popup.captain_commandmaintenance2" iconstyle="GUITutorialCommandRepairElectrical" tag="repairelectricalordergiven" />
<EventObjectiveAction type="add" id="tutorial.roles.captain.objective.orders3" />
<TagAction criteria="humanprefabidentifier:engineertrainee" tag="engineer" />
<Label name="beforecheck" />
<UIHighlightAction ordercategory="Maintenance" orderidentifier="repairelectrical"/>
<CheckOrderAction targettag="engineer" orderidentifier="repairelectrical" priority="top">
<Success>
<MessageBoxAction type="close" tag="repairelectricalordergiven" />
<EventObjectiveAction type="complete" id="tutorial.roles.captain.objective.orders3" />
<TriggerEventAction identifier="tutorial_roles_captain_commanding7" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckOrderAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_commanding7">
<!-- Order mechanical fixing -->
<MessageBoxAction text="tutorial.roles.popup.captain_commandmaintenance3" iconstyle="GUITutorialCommandRepairMechanical" tag="repairmechanicalordergiven" />
<EventObjectiveAction type="add" id="tutorial.roles.captain.objective.orders4" />
<TagAction criteria="humanprefabidentifier:mechanictrainee" tag="mechanic" />
<Label name="beforecheck" />
<UIHighlightAction ordercategory="Maintenance" orderidentifier="repairmechanical"/>
<CheckOrderAction targettag="mechanic" orderidentifier="repairmechanical" priority="top">
<Success>
<MessageBoxAction type="close" tag="repairmechanicalordergiven" />
<EventObjectiveAction type="complete" id="tutorial.roles.captain.objective.orders4" />
<TriggerEventAction identifier="tutorial_roles_captain_commanding_8" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckOrderAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_commanding_8">
<!-- More flavor conversation, move on to operating turret commands -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.captaininstructor_firearms" eventsprite="Instructor">
<Option text="tutorial.roles.yescaptain_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_captain_commanding9" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_commanding9">
<!-- Order turret operation -->
<MessageBoxAction text="tutorial.roles.popup.captain_commandsecurity" iconstyle="GUITutorialCommandOperateTurret" tag="turretordergiven" />
<EventObjectiveAction type="add" id="tutorial.roles.captain.objective.orders5" />
<TagAction criteria="humanprefabidentifier:securitytrainee" tag="securityofficer" />
<Label name="beforecheck" />
<UIHighlightAction ordercategory="Operate" orderidentifier="operateweapons" ordertargettag="bottomcoilgun"/>
<CheckOrderAction targettag="securityofficer" orderidentifier="operateweapons" ordertargettag="bottomcoilgun" priority="top">
<Success>
<MessageBoxAction type="close" tag="turretordergiven" />
<EventObjectiveAction type="complete" id="tutorial.roles.captain.objective.orders5" />
<TriggerEventAction identifier="tutorial_roles_captain_commanding_end" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckOrderAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_commanding_end">
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.captaininstructor_end" eventsprite="Instructor">
<Option text="tutorial.roles.yescaptain_player" endconversation="true">
<MessageBoxAction identifier="captainobjectiveend" text="tutorial.roles.popup.captain_graduation" objectivetag="tutorial.roles.captain.objective.station" tag="reachoutpost" iconstyle="GUINotificationButton" />
<EventObjectiveAction type="remove" id="tutorial.roles.captain.objective.orders1" />
<EventObjectiveAction type="remove" id="tutorial.roles.captain.objective.orders2" />
<EventObjectiveAction type="remove" id="tutorial.roles.captain.objective.orders3" />
<EventObjectiveAction type="remove" id="tutorial.roles.captain.objective.orders4" />
<EventObjectiveAction type="remove" id="tutorial.roles.captain.objective.orders5" />
<TriggerEventAction identifier="tutorial_roles_captain_reach_outpost" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_captain_reach_outpost">
<TagAction criteria="itemtag:tutorialsubdock" tag="dock" />
<TagAction criteria="itemtag:primarynavterminal" tag="navterminal" submarinetype="Player" />
<Label name="undockcheck" />
<WaitAction time="1" />
<CheckConditionalAction targettag="dock" targetitemcomponent="DockingPort" Docked="false">
<Success>
<WaitAction time="5" />
<StatusEffectAction targettag="navterminal">
<StatusEffect target="This" targetitemcomponent="Sonar" UseAutoDocking="false" Zoom="1" setvalue="true" />
</StatusEffectAction>
</Success>
<Failure>
<GoTo name="undockcheck" />
</Failure>
</CheckConditionalAction>
<Label name="dockingproximitycheck" />
<WaitAction time="1" />
<CheckConditionalAction targettag="dock" WorldPositionX="gt 35000">
<Success>
<MessageBoxAction type="close" tag="reachoutpost" />
<StatusEffectAction targettag="navterminal">
<StatusEffect target="This" targetitemcomponent="Sonar" UseAutoDocking="true" />
</StatusEffectAction>
<CheckConditionalAction targettag="dock" targetitemcomponent="DockingPort" AnotherPortInProximity="true">
<Success>
<WaitAction time="1" />
<MessageBoxAction tag="dockinfo" text="captain.docktext" iconstyle="GUINotificationButton" />
</Success>
<Failure>
<GoTo name="dockingproximitycheck" />
</Failure>
</CheckConditionalAction>
</Success>
<Failure>
<GoTo name="dockingproximitycheck" />
</Failure>
</CheckConditionalAction>
<!--TagAction criteria="itemtag:tutorialsubhatch" tag="hatch" /-->
<Label name="beforecheck" />
<WaitAction time="1" />
<CheckConditionalAction targettag="dock" targetitemcomponent="DockingPort" Docked="true">
<Success>
<CheckConditionalAction targettag="dock" targetitemcomponent="DockingPort" AtEndExit="true">
<Success>
<MessageBoxAction type="close" tag="dockinfo" />
<EventObjectiveAction type="complete" id="captainobjectiveend" />
<WaitAction time="1" />
<TutorialCompleteAction />
</Success>
<Failure>
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</Success>
<Failure>
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<!-- ENGINEER TUTORIAL -->
<ScriptedEvent identifier="tutorial_roles_engineer_intro">
<TutorialIconAction type="clear" />
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor" eventsprite="Instructor">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.reactorroomdescription">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_fuelrods">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_fuelrods2">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_fuelrods3">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_fuelrods4">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_fuelrods5">
<Option text="tutorial.roles.engineerinstructor_fuelrods5_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_engineer_fuelrod" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<!-- tags used: tutorialreactor, tutorialrewirebox, tutorialrewirelamp-->
<ScriptedEvent identifier="tutorial_roles_engineer_fuelrod">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialreactor" tag="reactor" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.reactor1" />
<MessageBoxAction text="tutorial.roles.popup.engineer_fuelrods" iconstyle="GUINotificationButton" tag="closeinsertfuelrod" />
<SpawnAction itemidentifier="fuelrod" targetinventory="player" />
<TutorialHighlightAction state="true" targettag="reactor" />
<Label name="beforereactorselected" />
<CheckSelectedAction targettag="reactor" charactertag="player">
<Success>
<TutorialHighlightAction state="false" targettag="reactor" />
<StatusEffectAction targettag="reactor">
<StatusEffect target="This" setvalue="true" triggerinfographic="true" />
</StatusEffectAction>
</Success>
<Failure>
<WaitAction time="0.1" />
<GoTo name="beforereactorselected" />
</Failure>
</CheckSelectedAction>
<Label name="beforeinfoclosed" />
<CheckConditionalAction targettag="reactor" targetitemcomponent="Reactor" IsInfographicVisible="false">
<Failure>
<WaitAction time="0.5" />
<UIHighlightAction id="CloseButton" />
<GoTo name="beforeinfoclosed" />
</Failure>
</CheckConditionalAction>
<Label name="beforerodcheck" />
<InventoryHighlightAction targettag="player" itemidentifier="fuelrod" />
<InventoryHighlightAction targettag="reactor" itemidentifier="" />
<CheckItemAction targettag="reactor" itemidentifiers="fuelrod">
<Success>
<MessageBoxAction type="close" tag="closeinsertfuelrod" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.engineer.objective.reactor1" />
<TriggerEventAction identifier="tutorial_roles_engineer_reactor" />
<StatusEffectAction targettag="reactor">
<StatusEffect target="This" targetitemcomponent="ItemContainer" Locked="true" />
</StatusEffectAction>
<StatusEffectAction targettag="fuelrod">
<StatusEffect target="This" Indestructible="true" />
</StatusEffectAction>
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforerodcheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_reactor">
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_reactor" eventsprite="Instructor">
<Option text="tutorial.roles.engineerinstructor_reactor_player">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_reactor2">
<Option text="tutorial.roles.engineerinstructor_reactor2_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_engineer_reactor2" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_reactor2">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialreactor" tag="reactor" />
<MessageBoxAction text="tutorial.roles.popup.engineer_reactor" iconstyle="GUINotificationButton" hideclosebutton="true" tag="closeonpowerup" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.reactor2" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.reactor3" />
<Label name="beforecheck" />
<CheckConditionalAction targettag="reactor" targetitemcomponent="Reactor" PowerOn="true" >
<Success>
<EventObjectiveAction type="complete" identifier="tutorial.roles.engineer.objective.reactor2" />
<UIHighlightAction id="AutoTempSwitch"/>
<CheckConditionalAction targettag="reactor" targetitemcomponent="Reactor" AutoTemp="true" >
<Success>
<MessageBoxAction type="close" tag="closeonpowerup" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.engineer.objective.reactor3" />
<WaitAction time="1" />
<TriggerEventAction identifier="tutorial_roles_engineer_reactormanual" />
</Success>
<Failure>
<WaitAction time="0.5" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</Success>
<Failure>
<WaitAction time="0.5" />
<UIHighlightAction id="PowerButton"/>
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_reactormanual">
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_reactormanual" eventsprite="Instructor">
<Option text="tutorial.roles.engineerinstructor_reactormanual_player">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_reactormanual2">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_reactormanual3">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_reactormanual4">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_reactormanual5">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_reactormanual6">
<Option text="tutorial.roles.engineerinstructor_reactormanual6_player">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_reactormanual7">
<Option text="tutorial.roles.engineerinstructor_reactormanual7_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_engineer_reactormanual2" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_reactormanual2">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialreactor" tag="reactor" />
<MessageBoxAction text="tutorial.roles.engineer_reactormanual" iconstyle="GUINotificationButton" hideclosebutton="true" tag="closeonmanual" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.reactor4" />
<Label name="beforecheck" />
<UIHighlightAction id="AutoTempSwitch"/>
<CheckConditionalAction targettag="reactor" targetitemcomponent="Reactor" AutoTemp="false" >
<Success>
<MessageBoxAction type="close" tag="closeonmanual" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.engineer.objective.reactor4" />
<TriggerEventAction identifier="tutorial_roles_engineer_reactormanual3" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_reactormanual3">
<TagAction criteria="itemtag:mainjunctionbox" tag="mainjunctionbox" allowhiddenitems="true" />
<TagAction criteria="itemtag:tutorialreactor" tag="reactor" allowhiddenitems="true" />
<MessageBoxAction text="tutorial.roles.engineer_reactormanual2" iconstyle="GUINotificationButton" tag="operatereactor" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.reactor5" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.reactor6" />
<TagAction criteria="itemtag:tutorialbatterycontroller" tag="tutorialbatterycontroller" allowhiddenitems="true" />
<StatusEffectAction targettag="tutorialbatterycontroller">
<StatusEffect target="This" setvalue="true" IsOn="True" />
</StatusEffectAction>
<Label name="retry" />
<UIHighlightAction id="FissionRateSlider"/>
<UIHighlightAction id="TurbineOutputSlider"/>
<!-- check voltage every 3 seconds, restart if it's incorrect. Needs to be correct 3 times -->
<WaitAction time="3" />
<CheckConditionalAction voltage="gt 0.8" targetitemcomponent="PowerTransfer" targettag="mainjunctionbox">
<Success>
<CheckConditionalAction voltage="lt 1.2" targetitemcomponent="PowerTransfer" targettag="mainjunctionbox">
<Success>
<CheckConditionalAction temperature="lt 75" targetitemcomponent="Reactor" targettag="reactor">
<Failure>
<GoTo name="retry" />
</Failure>
</CheckConditionalAction>
</Success>
<Failure>
<GoTo name="retry" />
</Failure>
</CheckConditionalAction>
</Success>
<Failure>
<GoTo name="retry" />
</Failure>
</CheckConditionalAction>
<UIHighlightAction id="FissionRateSlider"/>
<UIHighlightAction id="TurbineOutputSlider"/>
<WaitAction time="3" />
<CheckConditionalAction voltage="gt 0.8" targetitemcomponent="PowerTransfer" targettag="mainjunctionbox">
<Success>
<CheckConditionalAction voltage="lt 1.2" targetitemcomponent="PowerTransfer" targettag="mainjunctionbox">
<Success>
<CheckConditionalAction temperature="lt 75" targetitemcomponent="Reactor" targettag="reactor">
<Failure>
<GoTo name="retry" />
</Failure>
</CheckConditionalAction>
</Success>
<Failure>
<GoTo name="retry" />
</Failure>
</CheckConditionalAction>
</Success>
<Failure>
<GoTo name="retry" />
</Failure>
</CheckConditionalAction>
<MessageBoxAction type="close" tag="operatereactor" />
<UIHighlightAction id="FissionRateSlider"/>
<UIHighlightAction id="TurbineOutputSlider"/>
<WaitAction time="3" />
<CheckConditionalAction voltage="gt 0.8" targetitemcomponent="PowerTransfer" targettag="mainjunctionbox">
<Success>
<CheckConditionalAction voltage="lt 1.2" targetitemcomponent="PowerTransfer" targettag="mainjunctionbox">
<Success>
<CheckConditionalAction temperature="lt 75" targetitemcomponent="Reactor" targettag="reactor">
<Failure>
<GoTo name="retry" />
</Failure>
</CheckConditionalAction>
</Success>
<Failure>
<GoTo name="retry" />
</Failure>
</CheckConditionalAction>
</Success>
<Failure>
<GoTo name="retry" />
</Failure>
</CheckConditionalAction>
<UIHighlightAction id="FissionRateSlider"/>
<UIHighlightAction id="TurbineOutputSlider"/>
<WaitAction time="0.5" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.engineer.objective.reactor5" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.engineer.objective.reactor6" />
<TriggerEventAction identifier="tutorial_roles_engineer_transition" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_transition">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialreactor" tag="reactor" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.engineer.objective.reactor1" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.engineer.objective.reactor2" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.engineer.objective.reactor3" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.engineer.objective.reactor4" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.engineer.objective.reactor5" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.engineer.objective.reactor6" />
<ConversationAction targettag="player" text="tutorial.roles.engineer_backtoauto" eventsprite="Instructor">
<Option text="tutorial.continue" endconversation="true" />
</ConversationAction>
<WaitAction time="0.5" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.reactor3" />
<Label name="beforecheck" />
<CheckConditionalAction targettag="reactor" targetitemcomponent="Reactor" AutoTemp="true" >
<Failure>
<UIHighlightAction id="AutoTempSwitch"/>
<WaitAction time="0.5" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
<EventObjectiveAction type="completeandremove" identifier="tutorial.roles.engineer.objective.reactor3" />
<ConversationAction targettag="player" text="tutorial.roles.engineer_followme" eventsprite="Instructor">
<Option text="tutorial.continue" endconversation="true" />
</ConversationAction>
<TagAction criteria="itemtag:tutorialrewirebox" tag="tutstart" />
<TagAction criteria="humanprefabidentifier:engineerinstructor" tag="engineerinstructor" />
<NPCFollowAction npctag="engineerinstructor" targettag="tutstart" follow="true" />
<TriggerAction target1tag="player" target2tag="tutstart" radius="150" />
<MessageBoxAction type="close" tag="closeonfollowed" />
<TriggerEventAction identifier="tutorial_roles_engineer_electrical" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_electrical">
<TagAction criteria="itemtag:tutorialreactor" tag="reactor" />
<StatusEffectAction targettag="reactor">
<StatusEffect target="This" setvalue="true" AutoTemp="True" />
</StatusEffectAction>
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.electricaldescription" eventsprite="Instructor">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.electricaldescription2">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_junctionboxes">
<Option text="tutorial.roles.engineerinstructor_junctionboxes_player">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_junctionboxes2">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_junctionboxes3">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_junctionboxes4">
<Option text="tutorial.roles.engineerinstructor_junctionboxes4_player">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_junctionboxes5">
<Option text="tutorial.roles.engineerinstructor_junctionboxes5_player" endconversation="true">
<SpawnAction itemidentifier="screwdriver" targetinventory="player" />
<TriggerEventAction identifier="tutorial_roles_engineer_electrical_wounded" />
<TriggerEventAction identifier="tutorial_roles_engineer_electrical_repair" />
<TriggerEventAction identifier="tutorial_roles_engineer_electrical_equipscrewdriver" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_electrical_equipscrewdriver">
<TagAction criteria="player" tag="player" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.rewire1" />
<Label name="beforecheck" />
<CheckItemAction targettag="player" itemidentifiers="screwdriver" RequireEquipped="true">
<Success>
<EventObjectiveAction type="completeandremove" identifier="tutorial.roles.engineer.objective.rewire1" />
</Success>
<Failure>
<InventoryHighlightAction targettag="player" itemidentifier="screwdriver" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_electrical_wounded">
<TagAction criteria="player" tag="player" IgnoreIncapacitatedCharacters="false"/>
<TagAction criteria="itemtag:tutorialrewirebox" tag="junctionbox" />
<MessageBoxAction text="tutorial.roles.popup.engineer_junctionboxes" iconstyle="GUINotificationButton" tag="closeonwounded" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.repair1" />
<WaitAction time="1" />
<Label name="beforecheck" />
<CheckAfflictionAction identifier="burn" minstrength="0.01" targettag="player">
<Success>
<MessageBoxAction type="close" tag="closeonwounded" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.engineer.objective.repair1" />
<MessageBoxAction text="tutorial.roles.popup.engineer_junctionboxes2" iconstyle="GUINotificationButton" tag="closeonrepair" />
<MessageBoxAction text="tutorial.roles.popup.engineer_junctionboxes3" iconstyle="GUINotificationButton" tag="closeonrepair" />
</Success>
<Failure>
<!-- Highlight the message box close button here where it might block the repair button -->
<CheckSelectedAction targettag="junctionbox" charactertag="player" >
<Success>
<CheckObjectiveAction type="Incomplete" identifier="tutorial.roles.engineer.objective.repair1">
<Success>
<UIHighlightAction id="MessageBoxCloseButton" />
</Success>
</CheckObjectiveAction>
</Success>
</CheckSelectedAction>
<WaitAction time="0.5" />
<!-- Stop looping this event when player has progressed without getting hurt. -->
<CheckObjectiveAction identifier="tutorial.roles.engineer.objective.repair1">
<Failure>
<GoTo name="beforecheck" />
</Failure>
</CheckObjectiveAction>
</Failure>
</CheckAfflictionAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_electrical_repair">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialrewirebox" tag="junctionbox" />
<TutorialHighlightAction targettag="junctionbox" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.repair2" />
<Label name="beforecheck" />
<CheckItemAction targettag="player" itemidentifiers="screwdriver" RequireEquipped="true">
<Failure>
<InventoryHighlightAction targettag="player" itemidentifier="screwdriver" />
</Failure>
</CheckItemAction>
<WaitAction time="1" />
<!-- Doesn't actually check if the player repaired quickly enough... some waittime magic? -->
<CheckConditionalAction targettag="junctionbox" ConditionPercentage="gt 80">
<Success>
<MessageBoxAction type="close" tag="closeonrepair" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.engineer.objective.repair1" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.engineer.objective.repair2" />
<TriggerEventAction identifier="tutorial_roles_engineer_electrical4" />
</Success>
<Failure>
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_electrical4">
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_wiring" eventsprite="Instructor">
<Option text="tutorial.roles.engineerinstructor_wiring_player">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_wiring2">
<Option text="tutorial.roles.engineerinstructor_wiring2_player">
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_wiring3">
<Option text="tutorial.roles.engineerinstructor_wiring3_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_engineer_rewiring" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_rewiring">
<MessageBoxAction text="tutorial.roles.popup.engineer_wiring" iconstyle="GUINotificationButton" tag="closeonequipboth" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.rewire1" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.rewire2" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.rewire3" />
<EventObjectiveAction type="add" identifier="tutorial.roles.engineer.objective.rewire4" />
<TagAction criteria="player" tag="player" />
<SpawnAction itemidentifier="redwire" targetinventory="player" />
<Label name="beforecheck" />
<WaitAction time="1" />
<CheckItemAction targettag="player" itemidentifiers="screwdriver" RequireEquipped="true">
<Success>
<EventObjectiveAction type="complete" identifier="tutorial.roles.engineer.objective.rewire1" />
<CheckItemAction targettag="player" itemidentifiers="redwire" RequireEquipped="true">
<Success>
<MessageBoxAction type="close" tag="closeonequipboth" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.engineer.objective.rewire2" />
<TriggerEventAction identifier="tutorial_roles_engineer_rewiring2" />
</Success>
<Failure>
<InventoryHighlightAction targettag="player" itemidentifier="redwire" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</Success>
<Failure>
<InventoryHighlightAction targettag="player" itemidentifier="screwdriver" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_rewiring2">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialrewirebox" tag="junctionbox" />
<MessageBoxAction text="tutorial.roles.popup.engineer_wiring2" iconstyle="GUINotificationButton" CloseOnInput="Use" targettag="player" />
<Label name="beforecheck" />
<CheckSelectedAction targettag="junctionbox" charactertag="player" >
<Success>
<TriggerEventAction identifier="tutorial_roles_engineer_rewiring3" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckSelectedAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_rewiring3">
<TagAction criteria="itemtag:tutorialrewirebox" tag="junctionbox" />
<MessageBoxAction text="tutorial.roles.popup.engineer_wiring3" iconstyle="GUINotificationButton" tag="closeonwired" />
<Label name="beforecheck" />
<CheckConnectionAction itemtag="junctionbox" connectionname="power" minamount="2">
<Success>
<MessageBoxAction type="close" tag="closeonwired" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.engineer.objective.rewire3" />
<TriggerEventAction identifier="tutorial_roles_engineer_rewiring4" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConnectionAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_rewiring4">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialrewirelamp" tag="lamp" />
<TutorialHighlightAction targettag="lamp" />
<MessageBoxAction text="tutorial.roles.popup.engineer_wiring4" iconstyle="GUINotificationButton" CloseOnInput="Use" targettag="player" />
<Label name="beforecheck" />
<CheckSelectedAction targettag="lamp" charactertag="player" >
<Success>
<TriggerEventAction identifier="tutorial_roles_engineer_rewiring5" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckSelectedAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_rewiring5">
<TagAction criteria="itemtag:tutorialrewirelamp" tag="lamp" />
<TagAction criteria="itemtag:tutorialrewirebox" tag="junctionbox" />
<MessageBoxAction text="tutorial.roles.popup.engineer_wiring5" iconstyle="GUINotificationButton" tag="closeonwired" />
<Label name="beforecheck" />
<CheckConnectionAction itemtag="lamp" connectionname="power">
<Success>
<TutorialHighlightAction targettag="junctionbox" state="false" />
<TutorialHighlightAction targettag="lamp" state="false" />
<MessageBoxAction type="close" tag="closeonwired" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.engineer.objective.rewire4" />
<TriggerEventAction identifier="tutorial_roles_engineer_end" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConnectionAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_engineer_end">
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.engineerinstructor_end" eventsprite="Instructor">
<Option text="tutorial.roles.engineerinstructor_end_player" endconversation="true">
<TutorialCompleteAction />
</Option>
</ConversationAction>
</ScriptedEvent>
<!-- MECHANIC TUTORIAL -->
<ScriptedEvent identifier="tutorial_roles_mechanic_intro">
<TutorialIconAction type="clear" />
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor" eventsprite="Instructor">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.engineroomdescription">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor_engine">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor_engine2">
<Option text="tutorial.continue" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_mechanic_enginerepair" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_enginerepair">
<!-- Give wrench and check for equip -->
<TagAction criteria="player" tag="player" />
<MessageBoxAction text="tutorial.roles.popup.mechanic_engine" iconstyle="GUINotificationButton" CloseOnEquipTag="wrenchitem" targettag="player" hideclosebutton="true" />
<EventObjectiveAction type="add" identifier="tutorial.roles.mechanic.objective.engine" />
<SpawnAction itemidentifier="wrench" targetinventory="player" />
<Label name="beforecheck" />
<InventoryHighlightAction targettag="player" itemidentifier="wrench" />
<CheckItemAction targettag="player" itemidentifiers="wrench" RequireEquipped="true">
<Success>
<TriggerEventAction identifier="tutorial_roles_mechanic_enginerepair2" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_enginerepair2">
<!-- Instruct & wait for engine repair -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialengine" tag="engine" />
<MessageBoxAction text="tutorial.roles.popup.mechanic_engine2" iconstyle="GUINotificationButton" CloseOnSelectTag="engine" targettag="player" tag="closeonrepair" />
<TutorialHighlightAction targettag="engine" />
<Label name="beforecheck" />
<UIHighlightAction id="RepairButton"/>
<CheckConditionalAction targettag="engine" ConditionPercentage="gt 50">
<Success>
<EventObjectiveAction type="complete" identifier="tutorial.roles.mechanic.objective.engine" />
<TutorialHighlightAction state="false" targettag="engine" />
<MessageBoxAction type="close" tag="closeonrepair" />
<TriggerEventAction identifier="tutorial_roles_mechanic_enginerepair3" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_enginerepair3">
<TagAction criteria="itemtag:door_bottomdeck" tag="door_bottomdeck" />
<StatusEffectAction targettag="door_bottomdeck">
<StatusEffect target="This" setvalue="true" targetitemcomponent="door" isopen="false" isjammed="true" />
</StatusEffectAction>
<StatusEffectAction targettag="pump_out">
<StatusEffect target="This" setvalue="true" MaxFlow="150" />
</StatusEffectAction>
<!-- Tell player that the roof is leaking -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor_engine3" eventsprite="Instructor">
<Option text="tutorial.roles.mechanicinstructor_engine3_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_mechanic_fixleak" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_fixleak">
<!-- Equip the welding tool -->
<TagAction criteria="player" tag="player" />
<SpawnAction itemidentifier="weldingtool" targetinventory="player" targettag="weldingtool" />
<SpawnAction itemidentifier="weldingfueltank" targetinventory="weldingtool" />
<MessageBoxAction text="tutorial.roles.popup.mechanic_welding" iconstyle="GUINotificationButton" CloseOnEquipTag="weldingequipment" targettag="player" />
<EventObjectiveAction type="add" identifier="tutorial.roles.mechanic.objective.leaks" />
<TagAction criteria="structurespecialtag:leak" tag="wall" />
<StatusEffectAction targettag="wall">
<StatusEffect target="This" setvalue="true" indestructible="false" />
</StatusEffectAction>
<TagAction allowhiddenitems="true" criteria="itemtag:mechanicleakpump" tag="pump_in" />
<StatusEffectAction targettag="pump_in">
<StatusEffect target="This" setvalue="true" IsOn="true" />
</StatusEffectAction>
<TagAction allowhiddenitems="true" criteria="itemtag:mechanicleakpump_out" tag="pump_out" />
<StatusEffectAction targettag="pump_out">
<StatusEffect target="This" setvalue="true" IsOn="true" />
</StatusEffectAction>
<Label name="beforecheck" />
<InventoryHighlightAction targettag="player" itemidentifier="weldingtool" />
<InventoryHighlightAction targettag="player" itemidentifier="weldingfueltank" />
<CheckItemAction targettag="player" itemidentifiers="weldingtool" RequireEquipped="true">
<Success>
<TriggerEventAction identifier="tutorial_roles_mechanic_fixleak2" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_fixleak2">
<!-- Simulate a leak, instruct player to fix the leak. tags: mechanicleakpump, mechanicleakpump_out -->
<TagAction criteria="player" tag="player" />
<MessageBoxAction text="tutorial.roles.popup.mechanic_welding2" iconstyle="GUINotificationButton" tag="closeonrepair" />
<TagAction allowhiddenitems="true" criteria="itemtag:leaksensor" tag="leaksensor" />
<WaitAction time="0.3" />
<Label name="beforecheck" />
<!-- Only allow moving on after the water actually started dripping (prevent event from never happening due to room starting unflooded) -->
<CheckConditionalAction targettag="leaksensor" targetitemcomponent="WaterDetector" WaterDetected="true">
<Success>
<TriggerEventAction identifier="tutorial_roles_mechanic_fixleak2b" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_fixleak2b">
<!-- Wait until the leak was fixed (no more water detected) -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="structurespecialtag:leak" tag="wall" />
<TagAction allowhiddenitems="true" criteria="itemtag:mechanicleakpump" tag="pump_in" />
<TagAction allowhiddenitems="true" criteria="itemtag:mechanicleakpump_out" tag="pump_out" />
<StatusEffectAction targettag="pump_out">
<StatusEffect target="This" setvalue="true" MaxFlow="150" />
</StatusEffectAction>
<TagAction allowhiddenitems="true" criteria="itemtag:leaksensor" tag="leaksensor" />
<Label name="beforecheck" />
<CheckConditionalAction targettag="leaksensor" targetitemcomponent="WaterDetector" WaterDetected="false">
<Success>
<MessageBoxAction type="close" tag="closeonrepair" />
<StatusEffectAction targettag="wall">
<StatusEffect target="This" setvalue="true" indestructible="true" />
</StatusEffectAction>
<StatusEffectAction targettag="pump_in">
<StatusEffect target="This" setvalue="true" IsOn="false" />
</StatusEffectAction>
<StatusEffectAction targettag="pump_out">
<StatusEffect target="This" setvalue="true" IsOn="false" />
</StatusEffectAction>
<EventObjectiveAction type="remove" identifier="tutorial.roles.mechanic.objective.engine" />
<EventObjectiveAction type="completeandremove" identifier="tutorial.roles.mechanic.objective.leaks" />
<TriggerEventAction identifier="tutorial_roles_mechanic_fixleak3" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_fixleak3">
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor_ballast" eventsprite="Instructor">
<Option text="tutorial.roles.mechanicinstructor_ballast_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_mechanic_ballast" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_ballast">
<!-- Equip the diving mask -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:mechanicdivingmaskcontainer" tag="mechanicdivingmaskcontainer" />
<MessageBoxAction text="tutorial.roles.popup.mechanic_divingmask" iconstyle="GUINotificationButton" CloseOnEquipTag="lightdiving" targettag="player" />
<EventObjectiveAction type="add" identifier="tutorial.roles.mechanic.objective.divingmask" />
<EventObjectiveAction type="add" identifier="tutorial.roles.mechanic.objective.ballast1" />
<EventObjectiveAction type="add" identifier="tutorial.roles.mechanic.objective.ballast2" />
<EventObjectiveAction type="add" identifier="tutorial.roles.mechanic.objective.ballast3" />
<TutorialHighlightAction targettag="mechanicdivingmaskcontainer" />
<Label name="beforecheck" />
<InventoryHighlightAction targettag="player" itemidentifier="divingmask" />
<InventoryHighlightAction targettag="mechanicdivingmaskcontainer" itemidentifier="divingmask" />
<CheckItemAction targettag="player" itemidentifiers="divingmask" RequireEquipped="true">
<Success>
<EventObjectiveAction type="completeandremove" identifier="tutorial.roles.mechanic.objective.divingmask" />
<TutorialHighlightAction state="false" targettag="mechanicdivingmaskcontainer" />
<TriggerEventAction identifier="tutorial_roles_mechanic_ballast_convo" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_ballast_convo">
<!-- Instruct to go into the ballast-->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.ballastdescription" eventsprite="Instructor">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor_ballast2">
<Option text="tutorial.roles.mechanicinstructor_ballast2_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_mechanic_ballast_diveobj" />
<TriggerEventAction identifier="tutorial_roles_mechanic_ballast_pumprepair" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_ballast_diveobj">
<TagAction criteria="player" tag="player" />
<TagAction criteria="hullname:ballast" tag="ballast" submarinetype="Outpost" />
<TriggerAction target1tag="player" target2tag="ballast" radius="150" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.mechanic.objective.ballast1" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_ballast_pumprepair">
<!-- Instruct & wait for pump repair -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialpump" tag="tutorialpump" />
<MessageBoxAction text="tutorial.roles.popup.mechanic_ballast" iconstyle="GUINotificationButton" CloseOnSelectTag="tutorialpump" targettag="player" />
<TutorialHighlightAction targettag="tutorialpump" />
<Label name="beforecheck" />
<CheckItemAction targettag="player" itemidentifiers="wrench" RequireEquipped="true">
<Failure>
<InventoryHighlightAction targettag="player" itemidentifier="wrench" />
</Failure>
</CheckItemAction>
<CheckConditionalAction targettag="tutorialpump" ConditionPercentage="gt 80">
<Success>
<EventObjectiveAction type="complete" identifier="tutorial.roles.mechanic.objective.ballast2" />
<TriggerEventAction identifier="tutorial_roles_mechanic_ballast_endconvo" />
<TutorialHighlightAction state="false" targettag="tutorialpump" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_ballast_endconvo">
<!-- Ballast done. Leave ballast, then instruct to follow -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:mechanicdivingmaskcontainer" tag="mechanicdivingmaskcontainer" />
<TriggerAction target1tag="player" target2tag="mechanicdivingmaskcontainer" radius="100" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.mechanic.objective.ballast3" />
<WaitAction time="0.5" />
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor_ballast3" eventsprite="Instructor">
<Option text="tutorial.roles.mechanicinstructor_ballast3_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_mechanic_fabrication_transition" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_fabrication_transition">
<!-- Follow to engineeringtutorial tag-->
<TagAction criteria="player" tag="player" />
<RemoveItemAction targettag="player" itemidentifiers="wrench" />
<TagAction criteria="itemtag:engineeringtutorial" tag="tutstart" />
<TagAction criteria="humanprefabidentifier:mechanicinstructor" tag="mechanicinstructor" />
<NPCFollowAction npctag="mechanicinstructor" targettag="tutstart" follow="true" />
<TriggerAction target1tag="player" target2tag="tutstart" radius="200" />
<TriggerEventAction identifier="tutorial_roles_mechanic_fabrication" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_fabrication">
<!-- Instruct the player on Engineering -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.engineeringdescription" eventsprite="Instructor">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor_fabrication">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor_fabrication2">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor_fabrication3">
<Option text="tutorial.continue" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_mechanic_fabrication2" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_fabrication2">
<!-- Use fabricators to make a wrench -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:ironcabinet" tag="ironcabinet" />
<TagAction criteria="itemtag:tutfabricator" tag="fabricator" />
<TagAction criteria="itemtag:tutdeconstructor" tag="deconstructor" />
<!-- Set SkillRequirementMultiplier as it's later used in a hacky way to replace SetDataAction functionality (setting and checking a state) -->
<StatusEffectAction targettag="fabricator">
<StatusEffect target="This" setvalue="true" targetitemcomponent="Fabricator" SkillRequirementMultiplier="1" />
</StatusEffectAction>
<MessageBoxAction text="tutorial.roles.popup.mechanic_fabrication" iconstyle="GUINotificationButton" CloseOnSelectTag="ironcabinet" tag="getiron" targettag="player" />
<MessageBoxAction text="tutorial.roles.popup.mechanic_fabrication2" iconstyle="GUINotificationButton" CloseOnSelectTag="tutdeconstructor" targettag="player" />
<EventObjectiveAction type="add" identifier="tutorial.roles.mechanic.objective.engineering1" />
<EventObjectiveAction type="add" identifier="tutorial.roles.mechanic.objective.engineering2" />
<EventObjectiveAction type="add" identifier="tutorial.roles.mechanic.objective.engineering3" />
<TutorialHighlightAction targettag="ironcabinet" />
<SpawnAction itemidentifier="ironore" targetinventory="ironcabinet" amount="2"/>
<!-- wait for the player to get iron ore -->
<Label name="beforecheck0" />
<InventoryHighlightAction targettag="ironcabinet" itemidentifier="ironore" />
<CheckItemAction targettag="player" itemidentifiers="ironore" itemcontainerindex="1">
<Success>
<MessageBoxAction type="close" tag="getiron" />
<TutorialHighlightAction state="false" targettag="ironcabinet" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck0" />
</Failure>
</CheckItemAction>
<TutorialHighlightAction targettag="deconstructor" />
<!-- wait for ore to be placed in deconstructor -->
<Label name="beforecheck1" />
<InventoryHighlightAction targettag="deconstructor" itemidentifier="" itemcontainerindex="0" />
<InventoryHighlightAction targettag="player" itemidentifier="ironore" />
<CheckItemAction targettag="deconstructor" itemidentifiers="ironore" itemcontainerindex="0">
<Success>
<TutorialHighlightAction state="false" targettag="deconstructor" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck1" />
</Failure>
</CheckItemAction>
<!-- wait for iron to appear in deconstructors output slots -->
<Label name="beforecheck2" />
<UIHighlightAction id="DeconstructButton"/>
<CheckItemAction targettag="deconstructor" itemidentifiers="iron" itemcontainerindex="1">
<Success>
<MessageBoxAction text="tutorial.roles.popup.mechanic_fabrication3" iconstyle="GUINotificationButton" tag="closeacquirerefined" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.mechanic.objective.engineering1" />
</Success>
<Failure>
<CheckItemAction targettag="player" itemidentifiers="iron">
<Success>
<MessageBoxAction text="tutorial.roles.popup.mechanic_fabrication3" iconstyle="GUINotificationButton" tag="closeacquirerefined" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.mechanic.objective.engineering1" />
</Success>
<Failure>
<WaitAction time="0.5" />
<GoTo name="beforecheck2" />
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
<!-- wait for player to get iron -->
<Label name="beforecheck3" />
<InventoryHighlightAction targettag="deconstructor" itemidentifier="iron" />
<CheckItemAction targettag="player" itemidentifiers="iron">
<Success>
<MessageBoxAction text="tutorial.roles.popup.mechanic_fabrication4" iconstyle="GUINotificationButton" tag="close_fabricatewrench" />
<MessageBoxAction type="close" tag="closeacquirerefined" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.mechanic.objective.engineering2" />
</Success>
<Failure>
<WaitAction time="0.5" />
<GoTo name="beforecheck3" />
</Failure>
</CheckItemAction>
<TutorialHighlightAction state="false" targettag="deconstructor" />
<TutorialHighlightAction targettag="fabricator" />
<Label name="beforecheck4" />
<CheckItemAction targettag="player" itemidentifiers="iron">
<Failure>
<CheckItemAction targettag="fabricator" itemidentifiers="iron">
<Failure>
<CheckItemAction targettag="deconstructor" itemidentifiers="iron">
<Failure>
<CheckItemAction targettag="ironcabinet" itemidentifiers="iron">
<Failure>
<WaitAction time="5" />
<!-- spawn more materials if the player runs out -->
<SpawnAction itemidentifier="iron" targetinventory="ironcabinet"/>
<SpawnAction itemidentifier="iron" targetinventory="ironcabinet"/>
<SpawnAction itemidentifier="ironore" targetinventory="ironcabinet"/>
<SpawnAction itemidentifier="ironore" targetinventory="ironcabinet"/>
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
<InventoryHighlightAction targettag="fabricator" itemidentifier="wrench" itemcontainerindex="1" />
<CheckItemAction targettag="fabricator" itemidentifiers="wrench">
<Success>
<!-- CheckConditionalAction uses SkillRequirementMultiplier to replace CheckDataAction functionality (setting and checking a state) -->
<CheckConditionalAction targettag="fabricator" targetitemcomponent="Fabricator" SkillRequirementMultiplier="eq 1" >
<Success>
<StatusEffectAction targettag="fabricator">
<StatusEffect target="This" setvalue="true" targetitemcomponent="Fabricator" SkillRequirementMultiplier="1.1" />
</StatusEffectAction>
<MessageBoxAction type="close" tag="close_fabricatewrench" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.mechanic.objective.engineering3" />
<EventObjectiveAction type="add" identifier="tutorial.roles.mechanic.objective.engineering4" />
<MessageBoxAction text="tutorial.roles.popup.mechanic_fabrication5" iconstyle="GUINotificationButton" tag="close_acquirewrench" />
</Success>
</CheckConditionalAction>
</Success>
</CheckItemAction>
<InventoryHighlightAction targettag="fabricator" itemidentifier="wrench" itemcontainerindex="1" />
<CheckItemAction targettag="player" itemidentifiers="wrench">
<Success>
<TutorialHighlightAction state="false" targettag="fabricator" />
<MessageBoxAction type="close" tag="close_fabricatewrench" />
<MessageBoxAction type="close" tag="close_acquirewrench" />
<EventObjectiveAction type="completeandremove" identifier="tutorial.roles.mechanic.objective.engineering4" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.mechanic.objective.engineering1" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.mechanic.objective.engineering2" />
<EventObjectiveAction type="completeandremove" identifier="tutorial.roles.mechanic.objective.engineering3" />
<TriggerEventAction identifier="tutorial_roles_mechanic_fabrication3" />
</Success>
<Failure>
<WaitAction time="0.5" />
<GoTo name="beforecheck4" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_fabrication3">
<!-- Done with fabrication -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor_fabrication4" eventsprite="Instructor">
<Option text="tutorial.roles.mechanicinstructor_fabrication4_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_mechanic_oxygen_transition" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_oxygen_transition">
<!-- Follow to oxygengenerator tag-->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialoxygen" tag="tutstart" />
<TagAction criteria="humanprefabidentifier:mechanicinstructor" tag="mechanicinstructor" />
<NPCFollowAction npctag="mechanicinstructor" targettag="tutstart" follow="true" />
<TriggerAction target1tag="player" target2tag="tutstart" radius="150" />
<TriggerEventAction identifier="tutorial_roles_mechanic_oxygen" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_oxygen">
<!-- Oxygen instructions -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.oxygendescription" eventsprite="Instructor">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor_oxygen" eventsprite="Instructor">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor_oxygen2" eventsprite="Instructor">
<Option text="tutorial.roles.mechanicinstructor_oxygen2_player" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_mechanic_oxygen2" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_oxygen2">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialoxygen" tag="tutorialoxygen" />
<TagAction criteria="itemidentifier:divingmask" tag="divingmask" />
<MessageBoxAction text="tutorial.roles.popup.mechanic_oxygen" iconstyle="GUINotificationButton" CloseOnSelectTag="tutorialoxygen" targettag="player" />
<MessageBoxAction text="tutorial.roles.popup.mechanic_oxygen2" iconstyle="GUINotificationButton" tag="dragoxygen" />
<EventObjectiveAction type="add" identifier="tutorial.roles.mechanic.objective.oxygen" />
<TutorialHighlightAction targettag="tutorialoxygen" />
<WaitAction time="5" />
<Label name="beforecheck" />
<InventoryHighlightAction targettag="divingmask" itemidentifier="oxygentank" />
<InventoryHighlightAction targettag="tutorialoxygen" itemidentifier="" />
<CheckItemAction targettag="player" itemidentifiers="divingmask" RequireEquipped="true">
<Success>
<StatusEffectAction targettag="divingmask">
<StatusEffect target="This" targetitemcomponent="ItemContainer" KeepOpenWhenEquipped="true" />
</StatusEffectAction>
</Success>
</CheckItemAction>
<CheckItemAction targettag="tutorialoxygen" itemidentifiers="oxygentank">
<Success>
<StatusEffectAction targettag="reactor">
<StatusEffect target="This" targetitemcomponent="ItemContainer" KeepOpenWhenEquipped="false" />
</StatusEffectAction>
<WaitAction time="1" />
<TutorialHighlightAction state="false" targettag="tutorialoxygen" />
<MessageBoxAction type="close" tag="dragoxygen" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.mechanic.objective.oxygen" />
<WaitAction time="1" />
<TriggerEventAction identifier="tutorial_roles_mechanic_oxygen3" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_mechanic_oxygen3">
<!-- Tutorial end -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.mechanicinstructor_oxygen3" eventsprite="Instructor">
<Option text="tutorial.roles.mechanicinstructor_oxygen3_player" endconversation="true">
<TutorialCompleteAction />
</Option>
</ConversationAction>
</ScriptedEvent>
<!-- SECURITY TUTORIAL -->
<ScriptedEvent identifier="tutorial_roles_security_intro">
<!-- Intro conversation -->
<TutorialIconAction type="clear" />
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.securityinstructor" eventsprite="Instructor">
<Option text="tutorial.roles.securityinstructor.yesmaam1">
<ConversationAction targettag="player" text="tutorial.roles.armorydescription">
<Option text="tutorial.roles.securityinstructor.yesmaam1">
<ConversationAction targettag="player" text="tutorial.roles.securityinstructor.bodyarmor">
<Option text="tutorial.roles.securityinstructor.yesmaam2" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_security_bodyarmor" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_bodyarmor">
<!-- Equip body armor -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:officer_rangedweaponcabinet" tag="armorcabinet" />
<TagAction criteria="humanprefabidentifier:securityinstructor" tag="securityinstructor" />
<MessageBoxAction text="tutorial.roles.popup.bodyarmor" iconstyle="GUINotificationButton" tag="closeonfind" />
<EventObjectiveAction type="add" identifier="tutorial.roles.security.objective.gearup1" />
<TutorialHighlightAction targettag="armorcabinet" />
<NPCFollowAction npctag="securityinstructor" targettag="armorcabinet" follow="true" abandononreset="false" />
<Label name="beforecheck" />
<InventoryHighlightAction targettag="armorcabinet" itemidentifier="bodyarmor" />
<CheckItemAction targettag="player" itemidentifiers="bodyarmor" >
<Success>
<TutorialHighlightAction state="false" targettag="armorcabinet" />
<MessageBoxAction type="close" tag="closeonfind" />
<MessageBoxAction text="tutorial.roles.popup.bodyarmorequip" iconstyle="GUINotificationButton" tag="closeonequip" />
<Label name="beforecheckequip" />
<InventoryHighlightAction targettag="player" itemidentifier="bodyarmor" />
<CheckItemAction targettag="player" itemidentifiers="bodyarmor" RequireEquipped="true">
<Success>
<TutorialHighlightAction state="false" targettag="armorcabinet" />
<MessageBoxAction type="close" tag="closeonequip" />
<EventObjectiveAction type="completeandremove" identifier="tutorial.roles.security.objective.gearup1" />
<TriggerEventAction identifier="tutorial_roles_security_gun_convo" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheckequip" />
</Failure>
</CheckItemAction>
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_gun_convo">
<!-- Conversation about guns -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.securityinstructor.gun1" eventsprite="Instructor">
<Option text="tutorial.continue" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_security_gun" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_gun">
<!-- Equip gun -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:officer_rangedweaponholder" tag="weaponholder" />
<TagAction criteria="itemidentifier:shotgun" tag="shotgun" />
<TagAction criteria="itemtag:officer_rangedweaponcabinet" tag="armorcabinet" />
<MessageBoxAction text="tutorial.roles.popup.gun" iconstyle="GUINotificationButton" tag="closeonfind" />
<EventObjectiveAction type="add" identifier="tutorial.roles.security.objective.gearup2" />
<EventObjectiveAction type="add" identifier="tutorial.roles.security.objective.gearup3" />
<TutorialHighlightAction targettag="shotgun" />
<Label name="beforecheck" />
<CheckItemAction targettag="player" itemidentifiers="shotgunshell">
<Failure>
<InventoryHighlightAction targettag="armorcabinet" itemidentifier="shotgunshell" />
<CheckItemAction targettag="armorcabinet" itemidentifiers="shotgunshell">
<Failure>
<!-- spawn more ammo if the player has already wasted all of them at this point -->
<SpawnAction itemidentifier="shotgunshell" targetinventory="armorcabinet"/>
<SpawnAction itemidentifier="shotgunshell" targetinventory="armorcabinet"/>
<SpawnAction itemidentifier="shotgunshell" targetinventory="armorcabinet"/>
<SpawnAction itemidentifier="shotgunshell" targetinventory="armorcabinet"/>
<SpawnAction itemidentifier="shotgunshell" targetinventory="armorcabinet"/>
<SpawnAction itemidentifier="shotgunshell" targetinventory="armorcabinet"/>
<WaitAction time="3" />
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
<InventoryHighlightAction targettag="weaponholder" itemidentifier="shotgun" />
<CheckItemAction targettag="player" itemidentifiers="shotgun">
<Success>
<EventObjectiveAction type="complete" identifier="tutorial.roles.security.objective.gearup2" />
<TutorialHighlightAction state="false" targettag="shotgun" />
<MessageBoxAction type="close" tag="closeonfind" />
<CheckItemAction targettag="player" itemidentifiers="shotgunshell">
<Success>
<EventObjectiveAction type="complete" identifier="tutorial.roles.security.objective.gearup3" />
<TriggerEventAction identifier="tutorial_roles_security_shooting_convo" />
</Success>
<Failure>
<TutorialHighlightAction targettag="armorcabinet" />
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
<TutorialHighlightAction targettag="armorcabinet" state="false" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_shooting_convo">
<!-- Conversation about trigger discipline -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.securityinstructor.gun2" eventsprite="Instructor">
<Option text="tutorial.roles.securityinstructor.yesmaam1">
<ConversationAction targettag="player" text="tutorial.roles.securityinstructor.shooting1">
<Option text="tutorial.roles.securityinstructor.yesmaam1" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_security_checkloadedgun" />
<TriggerEventAction identifier="tutorial_roles_security_shooting" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_checkloadedgun">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemidentifier:shotgun" tag="shotgun" />
<TagAction criteria="itemtag:officer_rangedweaponcabinet" tag="armorcabinet" />
<MessageBoxAction text="tutorial.roles.popup.loadgun" iconstyle="GUINotificationButton" tag="loadgun" />
<EventObjectiveAction type="add" identifier="tutorial.roles.security.objective.gearup4" />
<InventoryHighlightAction targettag="armorcabinet" itemidentifier="shotgunshell" />
<InventoryHighlightAction targettag="player" itemidentifier="shotgun" />
<InventoryHighlightAction targettag="player" itemidentifier="shotgunshell" />
<TutorialHighlightAction targettag="armorcabinet" />
<Label name="beforecheck" />
<CheckItemAction targettag="shotgun" itemidentifiers="shotgunshell">
<Success>
<TutorialHighlightAction targettag="armorcabinet" state="false" />
<MessageBoxAction type="close" tag="loadgun" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.security.objective.gearup4" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_shooting">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:officer_rangedweaponcabinet" tag="armorcabinet" />
<!-- Spawn an enemy, kill the enemy -->
<SpawnAction speciesname="husk" spawnpointtag="enemyinside" SpawnLocation="Outpost" targettag="spawnedenemy" offset="0"/>
<TagAction criteria="structurespecialtag:shootingrange" tag="shootingrange" />
<TagAction criteria="humanprefabidentifier:securityinstructor" tag="securityinstructor" />
<NPCFollowAction npctag="securityinstructor" targettag="shootingrange" follow="true" abandononreset="false" />
<WaitAction time="2" />
<MessageBoxAction text="tutorial.roles.popup.shooting" iconstyle="GUINotificationButton" tag="killenemy" />
<EventObjectiveAction type="add" identifier="tutorial.roles.security.objective.killtarget" />
<Label name="beforecheck" />
<CheckItemAction targettag="player" itemidentifiers="shotgunshell">
<Failure>
<CheckItemAction targettag="armorcabinet" itemidentifiers="shotgunshell">
<Failure>
<!-- spawn more ammo if the player runs out -->
<WaitAction time="5" />
<SpawnAction itemidentifier="shotgunshell" targetinventory="armorcabinet"/>
<SpawnAction itemidentifier="shotgunshell" targetinventory="armorcabinet"/>
<SpawnAction itemidentifier="shotgunshell" targetinventory="armorcabinet"/>
<SpawnAction itemidentifier="shotgunshell" targetinventory="armorcabinet"/>
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
<CheckConditionalAction isDead="true" targettag="spawnedenemy">
<Success>
<MessageBoxAction type="close" tag="killenemy" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.security.objective.killtarget" />
<TriggerEventAction identifier="tutorial_roles_security_shooting_end" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_shooting_end">
<!-- "Good job" conversation, move on -->
<EventObjectiveAction type="remove" identifier="tutorial.roles.security.objective.gearup2" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.security.objective.gearup3" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.security.objective.gearup4" />
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.securityinstructor.shooting2" eventsprite="Instructor">
<Option text="tutorial.roles.securityinstructor.yesmaam1" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_security_gunnery_transition" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_gunnery_transition">
<!-- Move/follow NPC to Gunnery Compartment -->
<EventObjectiveAction type="add" identifier="tutorial.roles.captain.objective.follow" />
<TagAction allowhiddenitems="true" criteria="itemtag:door_security2" tag="door_security2" />
<StatusEffectAction targettag="door_security2">
<StatusEffect target="This" setvalue="true" IsOpen="true" />
</StatusEffectAction>
<TagAction criteria="player" tag="player" />
<TagAction criteria="hullname:gunnerycompartment" tag="gunnery" submarinetype="Outpost" />
<TagAction criteria="humanprefabidentifier:securityinstructor" tag="securityinstructor" />
<NPCFollowAction npctag="securityinstructor" targettag="gunnery" follow="true" />
<TriggerAction target1tag="securityinstructor" target2tag="gunnery" radius="50" />
<TriggerAction target1tag="player" target2tag="securityinstructor" radius="50" />
<TriggerEventAction identifier="tutorial_roles_security_gunnery" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_gunnery">
<EventObjectiveAction type="completeandremove" identifier="tutorial.roles.captain.objective.follow" />
<!-- Gunnery introduction convo -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.gunnerydescription" eventsprite="Instructor">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.securityinstructor.subweapons">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.securityinstructor.loader">
<Option text="tutorial.roles.securityinstructor.yesmaam1" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_security_gunnery2" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_gunnery2">
<!-- Insert coilgun ammo, tutorialloader, tutorialammoshelf -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialammoshelf" tag="shelf" />
<TagAction criteria="itemtag:tutorialloader" tag="loader" />
<MessageBoxAction text="tutorial.roles.popup.loader" iconstyle="GUINotificationButton" tag="closeonloaded" />
<EventObjectiveAction type="add" identifier="tutorial.roles.security.objective.turret1" />
<TutorialHighlightAction targettag="shelf" />
<Label name="beforecheck" />
<InventoryHighlightAction targettag="shelf" itemidentifier="coilgunammobox" />
<CheckItemAction targettag="player" itemidentifiers="coilgunammobox">
<Success>
<TutorialHighlightAction state="false" targettag="shelf" />
<TutorialHighlightAction targettag="loader" />
<TriggerEventAction identifier="tutorial_roles_security_gunnery3" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_gunnery3">
<!-- Insert coilgun ammo, tutorialloader -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialloader" tag="loader" />
<Label name="beforecheck" />
<InventoryHighlightAction targettag="player" itemidentifier="coilgunammobox" />
<InventoryHighlightAction targettag="loader" itemidentifier="" />
<CheckItemAction targettag="loader" itemidentifiers="coilgunammobox">
<Success>
<TutorialHighlightAction state="false" targettag="loader" />
<MessageBoxAction type="close" tag="closeonloaded" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.security.objective.turret1" />
<TriggerEventAction identifier="tutorial_roles_security_supercapacitor" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_supercapacitor">
<!-- Supercapacitor convo -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.securityinstructor.supercapacitor" eventsprite="Instructor">
<Option text="tutorial.roles.securityinstructor.yesmaam1" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_security_supercapacitor2" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_supercapacitor2">
<!-- Supercapacitor charging - tutorialsupercapacitor -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialsupercapacitor" tag="capacitor" />
<MessageBoxAction text="tutorial.roles.popup.supercapacitor" iconstyle="GUINotificationButton" tag="closeoncharge" />
<EventObjectiveAction type="add" identifier="tutorial.roles.security.objective.turret2" />
<TutorialHighlightAction targettag="capacitor" />
<Label name="beforecheck" />
<UIHighlightAction id="RechargeSpeedSlider"/>
<CheckConditionalAction ChargePercentage="gt 5" targetitemcomponent="PowerContainer" targettag="capacitor">
<Success>
<TutorialHighlightAction state="false" targettag="capacitor" />
<MessageBoxAction type="close" tag="closeoncharge" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.security.objective.turret2" />
<TriggerEventAction identifier="tutorial_roles_security_killoutside" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_killoutside">
<!-- Periscope convo -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.securityinstructor.periscope" eventsprite="Instructor">
<Option text="tutorial.roles.securityinstructor.yesmaam1" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_security_killoutside2" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_killoutside2">
<!-- Spawn & kill enemy outside - tutorialperiscope, enemyoutside -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialperiscope" tag="periscope" />
<TagAction criteria="itemtag:tutorialammoshelf" tag="shelf" />
<TagAction criteria="itemtag:tutorialloader" tag="loader" />
<TutorialHighlightAction targettag="periscope" />
<SpawnAction speciesname="mudraptor_passive" spawnpointtag="enemyoutside" SpawnLocation="Outpost" targettag="spawnedenemy"/>
<MessageBoxAction text="tutorial.roles.popup.killoutsideenemy" iconstyle="GUINotificationButton" tag="killenemy" />
<EventObjectiveAction type="add" identifier="tutorial.roles.security.objective.turret3" />
<EventObjectiveAction type="add" identifier="tutorial.roles.security.objective.turret4" />
<Label name="beforecheck" />
<CheckItemAction targettag="loader" itemidentifiers="coilgunammobox">
<Conditional condition="lte 0"/>
<!-- if there's an empty box in the loader... -->
<Success>
<CheckItemAction targettag="shelf" itemidentifiers="coilgunammobox">
<Conditional condition="gt 0"/>
<!-- ...and no non-empty boxes in the shelf -->
<Failure>
<WaitAction time="10" />
<!-- spawn more ammo if the player has already wasted all -->
<SpawnAction itemidentifier="coilgunammobox" targetinventory="shelf"/>
</Failure>
</CheckItemAction>
</Success>
</CheckItemAction>
<CheckSelectedAction targettag="periscope" charactertag="player" >
<Success>
<EventObjectiveAction type="complete" identifier="tutorial.roles.security.objective.turret3" />
</Success>
</CheckSelectedAction>
<CheckConditionalAction isDead="true" targettag="spawnedenemy">
<Success>
<TutorialHighlightAction state="false" targettag="periscope" />
<MessageBoxAction type="close" tag="killenemy" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.security.objective.turret4" />
<TriggerEventAction identifier="tutorial_roles_security_completed" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_security_completed">
<!-- Tutorial end -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.securityinstructor.complete" eventsprite="Instructor">
<Option text="tutorial.roles.securityinstructor.yesmaam2" endconversation="true">
<TutorialCompleteAction />
</Option>
</ConversationAction>
</ScriptedEvent>
<!-- MEDICAL DOCTOR TUTORIAL, tags: tutorialmedfab, morphinecabinet, medicalinstructor, tutorialpatient1, tutorialpatient2, tutorialpatient3, tutorialpatient4, crewquartercabinet -->
<ScriptedEvent identifier="tutorial_roles_medical_intro">
<TutorialIconAction type="clear" />
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor" eventsprite="Instructor">
<Option text="eventtext.missionevent_clownoutbreak.o3">
<ConversationAction targettag="player" text="tutorial.roles.medbay">
<Option text="tutorial.roles.medicalinstructor.player">
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.morphine">
<Option text="tutorial.continue" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_medical_morphine" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_morphine">
<!-- Find morphine -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:morphinecabinet" tag="morphinecabinet" />
<MessageBoxAction text="tutorial.roles.popup.morphine" iconstyle="GUINotificationButton" targettag="player" CloseOnSelectTag="morphinecabinet" tag="findmorphine" />
<EventObjectiveAction type="add" identifier="tutorial.roles.medic.objective.morphine1" />
<TutorialHighlightAction targettag="morphinecabinet" />
<Label name="beforecheck" />
<CheckItemAction targettag="player" itemidentifiers="antidama1">
<Failure>
<CheckItemAction targettag="morphinecabinet" itemidentifiers="antidama1">
<Failure>
<WaitAction time="5" />
<!-- spawn more morphine if the player has already wasted all -->
<SpawnAction itemidentifier="antidama1" targetinventory="morphinecabinet"/>
<SpawnAction itemidentifier="antidama1" targetinventory="morphinecabinet"/>
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
<InventoryHighlightAction targettag="morphinecabinet" itemidentifier="antidama1" />
<CheckItemAction targettag="player" itemidentifiers="antidama1">
<Success>
<MessageBoxAction type="close" tag="findmorphine" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.medic.objective.morphine1" />
<TutorialHighlightAction state="false" targettag="morphinecabinet" />
<TriggerEventAction identifier="tutorial_roles_medical_morphine2" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_morphine2">
<!-- Morphine administer convo -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.healthui" eventsprite="Instructor">
<Option text="tutorial.continue" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_medical_morphine3" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_morphine3">
<!-- Administer the morphine -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="humanprefabidentifier:medicalinstructor" tag="medicalinstructor" />
<TagAction criteria="itemtag:morphinecabinet" tag="morphinecabinet" />
<MessageBoxAction text="tutorial.roles.popup.healthui1" iconstyle="GUINotificationButton" tag="closeonhealthuiopen" />
<EventObjectiveAction type="add" identifier="tutorial.roles.medic.objective.healthinterface" />
<GodModeAction targettag="medicalinstructor" enabled="false" />
<AfflictionAction affliction="concussion" strength="10" limbtype="Head" targettag="medicalinstructor" />
<WaitAction time="3" />
<GodModeAction targettag="medicalinstructor" enabled="true" updateafflictions="true" />
<Label name="waitforhealthinterface" />
<CheckSelectedAction charactertag="player" targettag="medicalinstructor">
<Success>
<WaitAction time="0.5" />
<MessageBoxAction type="close" tag="closeonhealthuiopen" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.medic.objective.healthinterface" />
<MessageBoxAction text="hint.onshowhealthinterface" iconstyle="GUINotificationButton" tag="closeontreatment" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="waitforhealthinterface" />
</Failure>
</CheckSelectedAction>
<EventObjectiveAction type="add" identifier="tutorial.roles.medic.objective.morphine2" />
<Label name="beforecheck" />
<CheckItemAction targettag="player" itemidentifiers="antidama1">
<Failure>
<CheckItemAction targettag="morphinecabinet" itemidentifiers="antidama1">
<Failure>
<WaitAction time="5" />
<!-- spawn more morphine if the player has already wasted all -->
<SpawnAction itemidentifier="antidama1" targetinventory="morphinecabinet"/>
<SpawnAction itemidentifier="antidama1" targetinventory="morphinecabinet"/>
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
<InventoryHighlightAction targettag="player" itemidentifier="antidama1" />
<UIHighlightAction EntityIdentifier="antidama1"/>
<CheckAfflictionAction identifier="concussion" targettag="medicalinstructor" minstrength="5">
<Success>
<CheckAfflictionAction identifier="opiateaddiction" targettag="medicalinstructor" minstrength="1">
<Failure>
<!-- if the instructor has no opiate addiction, morphine hasn't been applied yet -->
<CheckAfflictionAction identifier="concussion" targettag="medicalinstructor" minstrength="10">
<Failure>
<!-- ensure the concussion doesn't heal by itself -->
<AfflictionAction affliction="concussion" strength="0.1" limbtype="Head" targettag="medicalinstructor" />
</Failure>
</CheckAfflictionAction>
</Failure>
</CheckAfflictionAction>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Success>
<Failure>
<WaitAction time="1" />
<MessageBoxAction type="close" tag="closeontreatment" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.medic.objective.morphine2" />
<TriggerEventAction identifier="tutorial_roles_medical_naloxone" />
</Failure>
</CheckAfflictionAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_naloxone">
<!-- Naloxone ingredients convo -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.medfabricator1" eventsprite="Instructor">
<Option text="tutorial.continue" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_medical_naloxone2" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.medic.objective.morphine1" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.medic.objective.morphine2" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_naloxone2">
<!-- Find Opium and Stabilozine, in naloxonecabinet -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:naloxonecabinet" tag="naloxonecabinet" />
<MessageBoxAction text="tutorial.roles.popup.medfabricator1" iconstyle="GUINotificationButton" targettag="player" CloseOnSelectTag="naloxonecabinet" tag="ingredientsacquired" />
<EventObjectiveAction type="add" identifier="tutorial.roles.medic.objective.medfabricator1" />
<TutorialHighlightAction targettag="naloxonecabinet" />
<TriggerEventAction identifier="tutorial_roles_medical_spawnnaloxoneingredients" />
<Label name="beforecheck" />
<InventoryHighlightAction targettag="naloxonecabinet" itemidentifier="stabilozine" />
<InventoryHighlightAction targettag="naloxonecabinet" itemidentifier="opium" />
<CheckItemAction targettag="player" itemidentifiers="stabilozine">
<Success>
<CheckItemAction targettag="player" itemidentifiers="opium">
<Success>
<MessageBoxAction type="close" tag="ingredientsacquired" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.medic.objective.medfabricator1" />
<TutorialHighlightAction state="false" targettag="naloxonecabinet" />
<TriggerEventAction identifier="tutorial_roles_medical_naloxone3" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_naloxone3">
<!-- Naloxone create convo -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.medfabricator2" eventsprite="Instructor">
<Option text="tutorial.continue" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_medical_medfabricator" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_spawnnaloxoneingredients">
<TagAction criteria="itemtag:naloxonecabinet" tag="naloxonecabinet" />
<TagAction criteria="player" tag="player" />
<Label name="beginning" />
<WaitAction time="5" />
<CheckItemAction targettag="player" itemidentifiers="opium">
<Failure>
<CheckItemAction targettag="naloxonecabinet" itemidentifiers="opium">
<Failure>
<!-- spawn more opium if the player has already wasted all -->
<SpawnAction itemidentifier="opium" targetinventory="naloxonecabinet"/>
<SpawnAction itemidentifier="opium" targetinventory="naloxonecabinet"/>
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
<CheckItemAction targettag="player" itemidentifiers="stabilozine">
<Failure>
<CheckItemAction targettag="naloxonecabinet" itemidentifiers="stabilozine">
<Failure>
<!-- spawn more stabilozine if the player has already wasted all -->
<SpawnAction itemidentifier="stabilozine" targetinventory="naloxonecabinet"/>
<SpawnAction itemidentifier="stabilozine" targetinventory="naloxonecabinet"/>
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
<GoTo name="beginning" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_medfabricator">
<!-- Medfabricator instructions -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:tutorialmedfab" tag="medfab" />
<StatusEffectAction targettag="medfab" >
<StatusEffect target="This" setvalue="true" fabricationspeed="10" />
</StatusEffectAction>
<TutorialHighlightAction targettag="medfab" />
<EventObjectiveAction type="add" identifier="tutorial.roles.medic.objective.medfabricator2" />
<Label name="waitformedfab" />
<CheckSelectedAction targettag="medfab" charactertag="player" >
<Success />
<Failure>
<WaitAction time="1" />
<GoTo name="waitformedfab" />
</Failure>
</CheckSelectedAction>
<MessageBoxAction text="tutorial.roles.popup.medfabricator2" iconstyle="GUINotificationButton" tag="closeonrecipeselected" />
<Label name="recipeselectedcheck" />
<CheckConditionalAction targettag="medfab" targetitemcomponent="Fabricator" SelectedItemIdentifier="antinarc" >
<Success>
<MessageBoxAction type="close" tag="closeonrecipeselected" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="recipeselectedcheck" />
</Failure>
</CheckConditionalAction>
<MessageBoxAction text="tutorial.roles.popup.medfabricator3" iconstyle="GUINotificationButton" tag="closeonstartfabricating" />
<Label name="medfabingredientcheck" />
<CheckItemAction targettag="medfab" itemidentifiers="opium">
<Success>
<CheckItemAction targettag="medfab" itemidentifiers="stabilozine">
<Success>
<CheckConditionalAction targettag="medfab" targetitemcomponent="Fabricator" IsActive="true" >
<Success>
<MessageBoxAction type="close" tag="closeonstartfabricating" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="medfabingredientcheck" />
</Failure>
</CheckConditionalAction>
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="medfabingredientcheck" />
</Failure>
</CheckItemAction>
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="medfabingredientcheck" />
</Failure>
</CheckItemAction>
<Label name="medfabcheck" />
<InventoryHighlightAction targettag="medfab" itemidentifier="antinarc" />
<CheckItemAction targettag="medfab" itemidentifiers="antinarc">
<Success>
<MessageBoxAction text="tutorial.roles.popup.medfabricator4" iconstyle="GUINotificationButton" tag="closeonobtain" />
</Success>
<Failure>
<CheckItemAction targettag="player" itemidentifiers="antinarc">
<Success>
<GoTo name="beforecheck" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="medfabcheck" />
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
<Label name="beforecheck" />
<InventoryHighlightAction targettag="medfab" itemidentifier="antinarc" />
<CheckItemAction targettag="player" itemidentifiers="antinarc">
<Success>
<TutorialHighlightAction targettag="medfab" state="false" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.medic.objective.medfabricator2" />
<MessageBoxAction type="close" tag="closeonobtain" />
<TriggerEventAction identifier="tutorial_roles_medical_medfabricator2" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_medfabricator2">
<!-- Naloxone use convo -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.healthui2" eventsprite="Instructor">
<Option text="tutorial.continue" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_medical_medfabricator3" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_medfabricator3">
<!-- Administer naloxone -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="humanprefabidentifier:medicalinstructor" tag="medicalinstructor" />
<MessageBoxAction text="tutorial.roles.popup.naloxone" iconstyle="GUINotificationButton" tag="closeonadminister" />
<EventObjectiveAction type="add" identifier="tutorial.roles.medic.objective.medfabricator3" />
<GodModeAction targettag="medicalinstructor" enabled="false" />
<GodModeAction targettag="medicalinstructor" enabled="false" updateafflictions="true" />
<AfflictionAction affliction="opiatewithdrawal" strength="55" targettag="medicalinstructor" />
<AfflictionAction affliction="opiateaddiction" strength="30" targettag="medicalinstructor" />
<WaitAction time="3" />
<GodModeAction targettag="medicalinstructor" enabled="true" updateafflictions="true" />
<Label name="beforecheck" />
<InventoryHighlightAction targettag="player" itemidentifier="antinarc" />
<UIHighlightAction entityidentifier="antinarc"/>
<CheckAfflictionAction identifier="opiatewithdrawal" targettag="medicalinstructor" minstrength="55">
<Failure>
<!-- make sure the withdrawal doesn't heal by itself -->
<AfflictionAction affliction="opiatewithdrawal" strength="1" targettag="medicalinstructor" />
</Failure>
</CheckAfflictionAction>
<CheckAfflictionAction identifier="opiateaddiction" targettag="medicalinstructor" minstrength="30">
<Failure>
<!-- make sure the addiction doesn't heal by itself -->
<AfflictionAction affliction="opiateaddiction" strength="1" targettag="medicalinstructor" />
</Failure>
</CheckAfflictionAction>
<CheckAfflictionAction identifier="opiatewithdrawal" targettag="medicalinstructor" minstrength="45">
<Success>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Success>
<Failure>
<!-- Ensure the naloxone was used, and not just extra morphine was administered. -->
<CheckAfflictionAction identifier="opiateaddiction" targettag="medicalinstructor" minstrength="20">
<Success>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Success>
<Failure>
<EventObjectiveAction type="complete" identifier="tutorial.roles.medic.objective.medfabricator3" />
<MessageBoxAction type="close" tag="closeonadminister" />
<TriggerEventAction identifier="tutorial_roles_medical_crewquarters" />
<GodModeAction targettag="medicalinstructor" enabled="true" />
</Failure>
</CheckAfflictionAction>
</Failure>
</CheckAfflictionAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_crewquarters">
<!-- Done with doctor, introduce to crewquarter patients -->
<TagAction criteria="itemtag:hospitalbed" tag="hospitalbed" />
<TagAction criteria="player" tag="player" />
<TagAction criteria="humanprefabidentifier:medicalinstructor" tag="medicalinstructor" />
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.patients1" eventsprite="Instructor">
<Option text="tutorial.continue" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_medical_crewquarters2" />
<NPCWaitAction npctag="medicalinstructor" wait="false" />
<NPCOperateItemAction npctag="medicalinstructor" targettag="hospitalbed" itemcomponentname="controller" operate="true" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.medic.objective.medfabricator" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.medic.objective.medfabricator1" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.medic.objective.medfabricator2" />
<EventObjectiveAction type="remove" identifier="tutorial.roles.medic.objective.medfabricator3" />
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_crewquarters2">
<!-- Check player arrival near patient 1, tell player what to do -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="humanprefabidentifier:patient1" tag="patient1" />
<TagAction criteria="itemtag:crewquartersdoor" tag="crewquartersdoor" />
<EventObjectiveAction type="add" identifier="tutorial.roles.medic.objective.crewquarters1" />
<TutorialHighlightAction targettag="crewquartersdoor" />
<TriggerAction target1tag="player" target2tag="patient1" radius="125" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.medic.objective.crewquarters1" />
<TutorialHighlightAction state="false" targettag="crewquartersdoor" />
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.patients2" eventsprite="Instructor">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.patients3">
<Option text="tutorial.continue" endconversation="true">
<SpawnAction itemidentifier="healthscanner" targetinventory="player" />
<TriggerEventAction identifier="tutorial_roles_medical_equipscanner" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_spawnmedicalitems">
<TagAction criteria="itemtag:crewquartercabinet" tag="crewquartercabinet" />
<TagAction criteria="player" tag="player" />
<Label name="beginning" />
<WaitAction time="5" />
<CheckItemAction targettag="player" itemidentifiers="antidama1">
<Failure>
<CheckItemAction targettag="crewquartercabinet" itemidentifiers="antidama1">
<Failure>
<SpawnAction itemidentifier="antidama1" targetinventory="crewquartercabinet"/>
<SpawnAction itemidentifier="antidama1" targetinventory="crewquartercabinet"/>
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
<CheckItemAction targettag="player" itemidentifiers="antipsychosis">
<Failure>
<CheckItemAction targettag="crewquartercabinet" itemidentifiers="antipsychosis">
<Failure>
<SpawnAction itemidentifier="antipsychosis" targetinventory="crewquartercabinet"/>
<SpawnAction itemidentifier="antipsychosis" targetinventory="crewquartercabinet"/>
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
<CheckItemAction targettag="player" itemidentifiers="antibleeding2">
<Failure>
<CheckItemAction targettag="crewquartercabinet" itemidentifiers="antibleeding2">
<Failure>
<SpawnAction itemidentifier="antibleeding2" targetinventory="crewquartercabinet"/>
<SpawnAction itemidentifier="antibleeding2" targetinventory="crewquartercabinet"/>
</Failure>
</CheckItemAction>
</Failure>
</CheckItemAction>
<GoTo name="beginning" />
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_equipscanner">
<TagAction criteria="player" tag="player" />
<MessageBoxAction text="tutorial.roles.popup.medical_healthscanner" iconstyle="GUINotificationButton" tag="closeequip" />
<EventObjectiveAction type="add" identifier="tutorial.roles.medic.objective.healthscanner" />
<Label name="beforecheck" />
<InventoryHighlightAction targettag="player" itemidentifier="healthscanner" />
<CheckItemAction targettag="player" itemidentifiers="healthscanner" RequireEquipped="true">
<Success>
<MessageBoxAction type="close" tag="closeequip" />
<EventObjectiveAction type="completeandremove" identifier="tutorial.roles.medic.objective.healthscanner" />
<TriggerEventAction identifier="tutorial_roles_medical_patient1" />
</Success>
<Failure>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Failure>
</CheckItemAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_patient1">
<!-- Treat all patients popup, treat patient1 burn-->
<TagAction criteria="player" tag="player" />
<TagAction criteria="humanprefabidentifier:patient1" tag="patient1" />
<TagAction criteria="itemtag:crewquartercabinet" tag="crewquartercabinet" />
<MessageBoxAction text="tutorial.roles.popup.treatpatients" iconstyle="GUINotificationButton" tag="closetreating" />
<EventObjectiveAction type="add" identifier="tutorial.roles.medic.objective.crewquarters2" />
<TutorialHighlightAction targettag="crewquartercabinet" />
<TriggerEventAction identifier="tutorial_roles_medical_spawnmedicalitems" />
<TriggerAction target1tag="player" target2tag="patient1" radius="90" />
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.burns" eventsprite="Instructor">
<Option text="tutorial.continue" endconversation="true">
<MessageBoxAction type="close" tag="closetreating" />
<MessageBoxAction text="tutorial.roles.popup.burns" iconstyle="GUINotificationButton" tag="treataffliction" />
</Option>
</ConversationAction>
<AfflictionAction affliction="burn" strength="15" limbtype="RightArm" targettag="patient1" />
<WaitAction time="2" />
<Label name="beforecheck" />
<UIHighlightAction EntityIdentifier="antibleeding2"/>
<CheckAfflictionAction TargetLimb="RightArm" identifier="burn" targettag="patient1" minstrength="15">
<Failure>
<!-- make sure the burns don't heal by themselves -->
<AfflictionAction affliction="burn" strength="2.5" limbtype="RightArm" targettag="patient1" />
</Failure>
</CheckAfflictionAction>
<CheckAfflictionAction TargetLimb="RightArm" identifier="burn" targettag="patient1" minstrength="11">
<Success>
<WaitAction time="2" />
<GoTo name="beforecheck" />
</Success>
<Failure>
<MessageBoxAction type="close" tag="treataffliction" />
<TriggerEventAction identifier="tutorial_roles_medical_patient2" />
<TutorialHighlightAction state="false" targettag="crewquartercabinet" />
</Failure>
</CheckAfflictionAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_patient2">
<!-- patient2 - psychosis -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="humanprefabidentifier:patient2" tag="patient2" />
<TriggerAction target1tag="player" target2tag="patient2" radius="90" />
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.psychosis" eventsprite="Instructor">
<Option text="tutorial.continue" endconversation="true">
<MessageBoxAction text="tutorial.roles.popup.psychosis" iconstyle="GUINotificationButton" tag="treataffliction_psychosis" />
</Option>
</ConversationAction>
<AfflictionAction affliction="psychosis" strength="75" targettag="patient2" />
<WaitAction time="2" />
<Label name="beforecheck" />
<UIHighlightAction EntityIdentifier="antipsychosis"/>
<CheckAfflictionAction identifier="psychosis" targettag="patient1" minstrength="75">
<Failure>
<!-- make sure the psychosis doesn't heal by itself -->
<AfflictionAction affliction="psychosis" strength="2" targettag="patient2" />
</Failure>
</CheckAfflictionAction>
<CheckAfflictionAction identifier="psychosis" targettag="patient2" minstrength="60">
<Success>
<WaitAction time="1" />
<GoTo name="beforecheck" />
</Success>
<Failure>
<MessageBoxAction type="close" tag="treataffliction_psychosis" />
<TriggerEventAction identifier="tutorial_roles_medical_patient3" />
</Failure>
</CheckAfflictionAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_patient3">
<!-- patient3 - blunttrauma -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="humanprefabidentifier:patient3" tag="patient3" />
<GodModeAction targettag="medicalinstructor" enabled="true" updateafflictions="true" />
<AfflictionAction affliction="blunttrauma" strength="40" limbtype="Torso" targettag="patient3" />
<WaitAction time="3" />
<MessageBoxAction text="tutorial.roles.popup.damage" iconstyle="GUINotificationButton" tag="treataffliction_blunttrauma" />
<Label name="beforecheck" />
<UIHighlightAction EntityIdentifier="antidama1"/>
<CheckAfflictionAction TargetLimb="Torso" identifier="blunttrauma" targettag="patient3" minstrength="40">
<Failure>
<!-- make sure the blunt trauma doesn't heal by itself -->
<AfflictionAction affliction="blunttrauma" strength="1" limbtype="Torso" targettag="patient3" />
</Failure>
</CheckAfflictionAction>
<CheckAfflictionAction TargetLimb="Torso" identifier="blunttrauma" targettag="patient3" minstrength="36">
<Success>
<WaitAction time="2" />
<GoTo name="beforecheck" />
</Success>
<Failure>
<MessageBoxAction type="close" tag="treataffliction_blunttrauma" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.medic.objective.crewquarters2" />
<WaitAction time=".5" />
<TriggerEventAction identifier="tutorial_roles_medical_patient4_convo" />
</Failure>
</CheckAfflictionAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_patient4_convo">
<!-- spawn patient4 - CPR introduction convo -->
<SpawnAction npcsetidentifier="tutorialnpcs" npcidentifier="patient4" targettag="patient4" spawnlocation="Outpost" spawnpointtag="medicalinstructor" />
<NPCWaitAction npctag="patient4" wait="true" />
<AfflictionAction targettag="patient4" affliction="oxygenlow" strength="150" />
<GodModeAction targettag="patient4" enabled="true" />
<EventObjectiveAction type="add" identifier="tutorial.roles.medic.objective.cpr" />
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.cpr1" eventsprite="Instructor">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.cpr2">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.cpr3">
<Option text="tutorial.continue">
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.cpr4">
<Option text="tutorial.continue" endconversation="true">
<TriggerEventAction identifier="tutorial_roles_medical_patient4" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_patient4">
<!-- patient4 - cpr -->
<TagAction criteria="player" tag="player" />
<TagAction criteria="humanprefabidentifier:patient4" tag="patient" />
<Label name="waitforselect" />
<CheckSelectedAction charactertag="player" targettag="patient">
<Failure>
<WaitAction time="0.5" />
<GoTo name="waitforselect" />
</Failure>
</CheckSelectedAction>
<MessageBoxAction text="tutorial.roles.popup.cpr" iconstyle="GUINotificationButton" tag="givecpr" />
<WaitAction time="1" />
<Label name="waitforcpr" />
<WaitAction time="1" />
<CheckConditionalAction targettag="player" Anim="CPR" >
<Success>
<MessageBoxAction type="close" tag="givecpr" />
<WaitAction time="3" />
<GodModeAction targettag="patient" enabled="false" />
<EventObjectiveAction type="complete" identifier="tutorial.roles.medic.objective.cpr" />
<AfflictionAction targettag="patient" affliction="oxygenlow" strength="-200" />
<WaitAction time="3" />
<TriggerEventAction identifier="tutorial_roles_medical_completed" />
</Success>
<Failure>
<UIHighlightAction id="CPRButton"/>
<GoTo name="waitforcpr" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<ScriptedEvent identifier="tutorial_roles_medical_completed">
<!-- Tutorial end -->
<TagAction criteria="player" tag="player" />
<ConversationAction targettag="player" text="tutorial.roles.medicalinstructor.complete" eventsprite="Instructor">
<Option text="tutorial.continue" endconversation="true">
<TutorialCompleteAction />
</Option>
</ConversationAction>
</ScriptedEvent>
</EventPrefabs>
</Randomevents>