Files
BarotraumaModServer/LocalMods/DynamicEuropa/Events/OutpostEvents.xml
2026-06-09 00:42:10 +03:00

3529 lines
241 KiBLFS
XML
Executable File

<?xml version="1.0" encoding="utf-8"?>
<Override>
<Randomevents>
<!-- GENERIC IGNORE OPTION
USE THIS TO CLEAR TAG AND LOOP INTO THE CONVERSATION -->
<!-- <Label name="retry" />
<ClearTagAction tag="triggerer_player" />
<Option text="eventtext.option.ignore" endconversation="true">
<WaitAction time="2" />
<GoTo name="retry" />
</Option> -->
<!-- GENERIC NO REPEAT OPTION
PLACE THIS AT THE START OF THE EVENT AND LABEL AT THE END, SETDATAACTION SOMEWHERE -->
<!-- <CheckDataAction identifier="eventnorepeat" condition="eq 0" >
<Failure>
<Goto name="end" />
</Failure>
</CheckDataAction>
<SetDataAction identifier="eventnorepeat" operation="set" value="1" />
<Label name="end" /> -->
<EventSprites>
<Sprite identifier="piratehaven" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="23,0,234,242" origin="0.5,0.5" />
<Sprite identifier="piratehaven2" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="263,6,242,238" origin="0.5,0.5" />
<Sprite identifier="banditcaptain" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="529,0,236,254" origin="0.5,0.5" />
<Sprite identifier="bandittalk" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="768,0,256,256" origin="0.5,0.5" />
<Sprite identifier="radiocall" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="25,269,216,216" origin="0.5,0.5" />
<Sprite identifier="sonar" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="270,266,225,222" origin="0.5,0.5" />
<Sprite identifier="subblueprint" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="530,260,239,235" origin="0.5,0.5" />
<Sprite identifier="hitthelever" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="792,278,210,210" origin="0.5,0.5" />
<Sprite identifier="bloodycuffs" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="11,529,221,221" origin="0.5,0.5" />
<Sprite identifier="firefight" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="267,529,224,224" origin="0.5,0.5" />
<Sprite identifier="traitoress" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="527,529,223,224" origin="0.5,0.5" />
<Sprite identifier="hostage" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="779,526,225,225" origin="0.5,0.5" />
<Sprite identifier="huskoutbreak" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="25,769,226,235" origin="0.5,0.5" />
<Sprite identifier="brokenmachinery" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="283,792,199,199" origin="0.5,0.5" />
<Sprite identifier="malfunction" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="540,796,208,208" origin="0.5,0.5" />
<Sprite identifier="destruction" texture="%ModDir:2532991202%/Events/DE_Event_pic1.png" sourcerect="768,768,256,256" origin="0.5,0.5" />
</EventSprites>
<EventPrefabs>
<!-- Starter outpost teleport bullshit TODO: this doesn't work, camera is hard zoomed on characters when level loads -->
<!-- <ScriptedEvent identifier="starteroutpostelevatorteleport" >
<CheckDataAction identifier="visitedstarteroutpost" condition="eq 0" >
<Failure>
<Goto name="end" />
</Failure>
</CheckDataAction>
<WaitAction time="1" />
<TagAction criteria="player" SubmarineType="player" tag="teleportme" team="Team1"/>
<TagAction criteria="crew" SubmarineType="player" tag="teleportme" team="Team1"/>
<TeleportAction targettag="teleportme" Position="Outpost" SpawnPointTag="elevatorteleport" />
<SetDataAction identifier="visitedstarteroutpost" operation="set" value="1" />
<Label name="end" />
</ScriptedEvent> -->
<!-- Starter outpost event, introduction to campaign. Very WIP
TODO: work on "first mission" event when starteroutpost is finally enabled -->
<ScriptedEvent identifier="firstmission" commonness="100" requiredDestinationTypes="anyoutpost">
<CheckDataAction identifier="visitedfirstmission" condition="eq 0">
<Failure>
<Goto name="end" />
</Failure>
</CheckDataAction>
<ConversationAction text="EventText.firstmission.justarrived" speakertag="outpostmanager" invokertag="firstmission_player" eventsprite="heartofgold">
<Option text="EventText.firstmission.ready">
<ConversationAction TargetTag="firstmission_player" text="EventText.firstmission.notready" eventsprite="heartofgold">
<Option text="eventtext.generic.continue">
<Label name="restofconvo" />
<ConversationAction TargetTag="firstmission_player" text="EventText.firstmission.anyway" eventsprite="JacovSubra1">
<Option text="EventText.firstmission.timetodive">
<ConversationAction TargetTag="firstmission_player" text="EventText.firstmission.mission" eventsprite="instructor" endconversation="true" />
<MissionAction missiontag="cargo" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
<Option text="EventText.firstmission.thebest">
<ConversationAction TargetTag="firstmission_player" text="EventText.firstmission.notdonebefore" eventsprite="heartofgold">
<Option text="eventtext.generic.continue">
<Goto name="restofconvo" endconversation="false" />
</Option>
</ConversationAction>
</Option>
<Option text="EventText.firstmission.donebefore">
<ConversationAction TargetTag="firstmission_player" text="EventText.firstmission.notdonebefore" eventsprite="heartofgold">
<Option text="eventtext.generic.continue">
<Goto name="restofconvo" endconversation="false" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
<SetDataAction identifier="visitedfirstmission" operation="set" value="1" />
<Label name="end" />
</ScriptedEvent>
<ScriptedEvent identifier="removestarteroutpostice">
<LayerAction layer="RemoveIce" enabled="false" />
</ScriptedEvent>
<ScriptedEvent identifier="forcestarteroutpostchange">
<OnRoundEndAction>
<ModifyLocationAction type="StarterOutpostAFTER" />
</OnRoundEndAction>
</ScriptedEvent>
<!-- spawns NPCs in the fake militaryforces subs, not a fan of this one -->
<ScriptedEvent identifier="militaryforces_position_npcs" commonness="100">
<WaitAction time="3" />
<TagAction criteria="humanprefabidentifier:outpostmanager" tag="outpostmanager" ContinueIfNoTargetsFound="true" />
<TagAction criteria="humanprefabidentifier:outpostmanagercoalition" tag="outpostmanager" ContinueIfNoTargetsFound="true" />
<TagAction criteria="humanprefabidentifier:outpostmanagerseparatists" tag="outpostmanager" ContinueIfNoTargetsFound="true" />
<!--TagAction criteria="humanprefabidentifier:hrmanager" tag="hrmanager" ContinueIfNoTargetsFound="true" /-->
<TagAction criteria="humanprefabidentifier:reactoroperator" tag="reactoroperator" ContinueIfNoTargetsFound="true" />
<TagAction criteria="humanprefabidentifier:merchantmilitary" tag="merchantmilitary" ContinueIfNoTargetsFound="true" />
<TagAction criteria="humanprefabidentifier:merchantarmory" tag="merchantarmory" ContinueIfNoTargetsFound="true" />
<TagAction criteria="humanprefabidentifier:outpostdoctor" tag="outpostdoctor" ContinueIfNoTargetsFound="true" />
<TagAction criteria="itemtag:adminseat" tag="adminseat" ContinueIfNoTargetsFound="true" />
<TagAction criteria="itemtag:hrseat" tag="hrseat" ContinueIfNoTargetsFound="true" />
<TagAction criteria="itemtag:reactoroperatorseat" tag="reactoroperatorseat" ContinueIfNoTargetsFound="true" />
<TagAction criteria="itemtag:merchantmilitaryseat" tag="merchantmilitaryseat" ContinueIfNoTargetsFound="true" />
<TagAction criteria="itemtag:merchantarmoryseat" tag="merchantarmoryseat" ContinueIfNoTargetsFound="true" />
<TagAction criteria="itemtag:doctorseat" tag="doctorseat" ContinueIfNoTargetsFound="true" />
<NPCOperateItemAction npctag="outpostmanager" targettag="adminseat" ItemComponentName="Controller" operate="true" />
<!--NPCOperateItemAction npctag="hrmanager" targettag="hrseat" ItemComponentName="Controller" operate="true" /-->
<NPCOperateItemAction npctag="reactoroperator" targettag="reactoroperatorseat" ItemComponentName="Controller" operate="true" />
<NPCOperateItemAction npctag="merchantmilitary" targettag="merchantmilitaryseat" ItemComponentName="Controller" operate="true" />
<NPCOperateItemAction npctag="merchantarmory" targettag="merchantarmoryseat" ItemComponentName="Controller" operate="true" />
<NPCOperateItemAction npctag="outpostdoctor" targettag="doctorseat" ItemComponentName="Controller" operate="true" />
</ScriptedEvent>
<!-- ////////////////////// -->
<!-- ////////////////////// -->
<!-- ////////////////////// -->
<!-- ////////////////////// -->
<!-- ////////////////////// -->
<!-- only exists to help players figure out how to make construction crates, triggered by event below -->
<ScriptedEvent identifier="Constructionrecipe" commonness="100">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:constructioncargounit" tag="constructioncargounit" SubmarineType="Outpost" chooserandom="true" />
<TriggerAction target1tag="constructioncargounit" target2tag="player" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="eventtext.constructionrecipe.recipe" eventsprite="mines" endconversation="true" />
</ScriptedEvent>
<!-- Construction event
Deliver 5 construction crates to a construction site, put them inside ULD (crate storage thingy)
If you have >50 reputation, you can pick the type of outpost that will be built.
Undock for the outpost to be built. -->
<ScriptedEvent identifier="Constructionprogress" commonness="100">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:fabricator" tag="selectedfabricator" SubmarineType="Outpost" chooserandom="true" />
<TagAction criteria="itemtag:deconstructor" tag="selecteddeconstructor" SubmarineType="Outpost" chooserandom="true" />
<TagAction criteria="itemtag:constructioncargounit" tag="constructioncargounit" SubmarineType="Outpost" chooserandom="true" />
<TriggerEventAction identifier="Constructionrecipe" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="miner" targettag="worker1" spawnlocation="Outpost" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="miner" targettag="worker2" spawnlocation="Outpost" />
<TriggerAction target1tag="worker1" target2tag="player" applytotarget1="contruction_manager" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.starterdialogue" eventsprite="mines">
<Option text="eventtext.Constructionprogress.wehavecrates">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.speaktomeagain" />
<GoTo name="waitingforgoods" />
</Option>
<Option text="eventtext.Constructionprogress.letmecheck">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.ifyoufindcrates" />
<GoTo name="waitingforgoods" />
</Option>
<Option text="eventtext.Constructionprogress.notinterested">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.findmeagain" />
<GoTo name="changemind" />
</Option>
<Option text="eventtext.Constructionprogress.nomaterials">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.wellwait" />
<GoTo name="changemind" />
</Option>
</ConversationAction>
<Label name="changemind" />
<ClearTagAction tag="triggerer_player" />
<ClearTagAction tag="contruction_manager" />
<TriggerAction target1tag="worker1" target2tag="player" applytotarget1="contruction_manager" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.changeyourmind" eventsprite="mines">
<Option text="eventtext.Constructionprogress.cratescoming">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.speaktomeagain" />
<GoTo name="waitingforgoods" />
</Option>
<Option text="eventtext.generic.ignore" endconversation="true" />
</ConversationAction>
<Label name="waitingforgoods" />
<ClearTagAction tag="triggerer_player" />
<ClearTagAction tag="contruction_manager" />
<HighlightAction targettag="constructioncargounit" targetcharacter="player" />
<TriggerAction target1tag="worker1" target2tag="player" applytotarget1="contruction_manager" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<CheckItemAction targettag="constructioncargounit" itemidentifiers="constructionmaterialcrate" amount="5">
<Success>
<StatusEffectAction targettag="constructioncargounit">
<StatusEffect target="this" noninteractable="true" setvalue="true" />
</StatusEffectAction>
<CheckReputationAction targettype="Location" condition="gte 50">
<Success>
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.cratesdelivered" eventsprite="mines">
<Option text="eventtext.Constructionprogress.thanks">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.youdecide" eventsprite="mines">
<Option text="eventtext.Constructionprogress.settlement">
<ModifyLocationAction type="Settlement" />
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.settlementpicked" />
<GoTo name="reward" />
</Option>
<Option text="eventtext.Constructionprogress.base">
<ModifyLocationAction type="Base" />
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.basepicked" />
<GoTo name="reward" />
</Option>
<Option text="eventtext.Constructionprogress.research">
<ModifyLocationAction type="Research" />
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.researchpicked" />
<GoTo name="reward" />
</Option>
<Option text="eventtext.Constructionprogress.hospital">
<ModifyLocationAction type="Hospital" />
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.hospitalpicked" />
<GoTo name="reward" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Success>
<Failure>
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.cratesdelivered" eventsprite="mines">
<Option text="eventtext.Constructionprogress.thanks">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.backtowork" />
<!-- 25% chance of any outcome -->
<RNGAction chance="0.50">
<Success>
<RNGAction chance="0.50">
<Success>
<ModifyLocationAction type="Settlement" />
<GoTo name="reward" />
</Success>
<Failure>
<ModifyLocationAction type="Base" />
<GoTo name="reward" />
</Failure>
</RNGAction>
</Success>
<Failure>
<RNGAction chance="0.50">
<Success>
<ModifyLocationAction type="Research" />
<GoTo name="reward" />
</Success>
<Failure>
<ModifyLocationAction type="Hospital" />
<GoTo name="reward" />
</Failure>
</RNGAction>
</Failure>
</RNGAction>
</Option>
</ConversationAction>
</Failure>
</CheckReputationAction>
</Success>
<Failure>
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.notenough" eventsprite="mines">
<Option text="eventtext.Constructionprogress.checkagain" endconversation="true">
<GoTo name="waitingforgoods" />
</Option>
<Option text="eventtext.Constructionprogress.allwegot">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.takecargoback" eventsprite="mines" />
<GoTo name="changemind" />
</Option>
</ConversationAction>
</Failure>
</CheckItemAction>
<Label name="reward" />
<NPCOperateItemAction npctag="worker1" targettag="selectedfabricator" ItemComponentName="Fabricator" Operate="true" />
<NPCOperateItemAction npctag="worker2" targettag="selecteddeconstructor" ItemComponentName="Deconstructor" Operate="true" />
<HighlightAction targettag="constructioncargounit" targetcharacter="player" state="false" />
<MoneyAction amount="2000" />
<ReputationAction targettype="Location" increase="5" />
<SpawnAction itemidentifier="coalitioncommendation" targetinventory="triggerer_player" />
<ClearTagAction tag="triggerer_player" />
<ClearTagAction tag="contruction_manager" />
</ScriptedEvent>
<!-- ////////////////////// -->
<!-- Construction UPGRADE events, allow upgrading an outpost, simplified from construction (3 crates instead of 5) -->
<ScriptedEvent identifier="ConstructionUpgradeToColony" commonness="100">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:constructioncargounit" tag="constructioncargounit" SubmarineType="Outpost" chooserandom="true" />
<TriggerEventAction identifier="Constructionrecipe" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="miner" targettag="worker1" spawnlocation="Outpost" spawnpointtag="constructionworker" requirespawnpointtag="true" ContinueIfFailedToSpawn="false" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="miner" targettag="worker2" spawnlocation="Outpost" spawnpointtag="constructionworker" requirespawnpointtag="true" ContinueIfFailedToSpawn="false" />
<NPCFollowAction npctag="worker1" targettag="constructioncargounit" follow="true" priority="50" />
<NPCFollowAction npctag="worker2" targettag="worker1" follow="true" priority="50" />
<TriggerAction target1tag="worker1" target2tag="player" applytotarget1="contruction_manager" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="eventtext.ConstructionUpgrade.starterdialogue" eventsprite="mines">
<Option text="eventtext.Constructionprogress.letmecheck">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.ifyoufindcrates" />
</Option>
<Option text="eventtext.Constructionprogress.notinterested">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.findmeagain" />
</Option>
</ConversationAction>
<ClearTagAction tag="triggerer_player" />
<HighlightAction targettag="constructioncargounit" targetcharacter="player" />
<Label name="waitingforgoods" />
<CheckItemAction targettag="constructioncargounit" itemidentifiers="constructionmaterialcrate" amount="3">
<Success>
<StatusEffectAction targettag="constructioncargounit">
<StatusEffect target="this" noninteractable="true" setvalue="true" />
</StatusEffectAction>
<TriggerAction target1tag="worker1" target2tag="player" applytotarget1="contruction_manager" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.cratesdelivered" eventsprite="mines">
<Option text="eventtext.Constructionprogress.thanks">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.backtowork" />
<ModifyLocationAction type="Colony" />
<GoTo name="reward" />
</Option>
</ConversationAction>
</Success>
<Failure>
<GoTo name="waitingforgoods" />
</Failure>
</CheckItemAction>
<Label name="reward" />
<HighlightAction targettag="constructioncargounit" targetcharacter="player" state="false" />
<MoneyAction amount="1000" />
<ReputationAction targettype="Location" increase="3" />
</ScriptedEvent>
<ScriptedEvent identifier="ConstructionUpgradeToBase" commonness="100">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:constructioncargounit" tag="constructioncargounit" SubmarineType="Outpost" chooserandom="true" />
<TriggerEventAction identifier="Constructionrecipe" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="miner" targettag="worker1" spawnlocation="Outpost" spawnpointtag="constructionworker" requirespawnpointtag="true" ContinueIfFailedToSpawn="false" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="miner" targettag="worker2" spawnlocation="Outpost" spawnpointtag="constructionworker" requirespawnpointtag="true" ContinueIfFailedToSpawn="false" />
<NPCFollowAction npctag="worker1" targettag="constructioncargounit" follow="true" priority="50" />
<NPCFollowAction npctag="worker2" targettag="worker1" follow="true" priority="50" />
<TriggerAction target1tag="worker1" target2tag="player" applytotarget1="contruction_manager" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="eventtext.ConstructionUpgrade.starterdialogue" eventsprite="mines">
<Option text="eventtext.Constructionprogress.letmecheck">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.ifyoufindcrates" />
</Option>
<Option text="eventtext.Constructionprogress.notinterested">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.findmeagain" />
</Option>
</ConversationAction>
<ClearTagAction tag="triggerer_player" />
<HighlightAction targettag="constructioncargounit" targetcharacter="player" />
<Label name="waitingforgoods" />
<CheckItemAction targettag="constructioncargounit" itemidentifiers="constructionmaterialcrate" amount="3">
<Success>
<StatusEffectAction targettag="constructioncargounit">
<StatusEffect target="this" noninteractable="true" setvalue="true" />
</StatusEffectAction>
<TriggerAction target1tag="worker1" target2tag="player" applytotarget1="contruction_manager" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.cratesdelivered" eventsprite="mines">
<Option text="eventtext.Constructionprogress.thanks">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.backtowork" />
<ModifyLocationAction type="base" />
<GoTo name="reward" />
</Option>
</ConversationAction>
</Success>
<Failure>
<GoTo name="waitingforgoods" />
</Failure>
</CheckItemAction>
<Label name="reward" />
<HighlightAction targettag="constructioncargounit" targetcharacter="player" state="false" />
<MoneyAction amount="1000" />
<ReputationAction targettype="Location" increase="3" />
</ScriptedEvent>
<ScriptedEvent identifier="ConstructionUpgradeToHospital" commonness="100">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:constructioncargounit" tag="constructioncargounit" SubmarineType="Outpost" chooserandom="true" />
<TriggerEventAction identifier="Constructionrecipe" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="miner" targettag="worker1" spawnlocation="Outpost" spawnpointtag="constructionworker" requirespawnpointtag="true" ContinueIfFailedToSpawn="false" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="miner" targettag="worker2" spawnlocation="Outpost" spawnpointtag="constructionworker" requirespawnpointtag="true" ContinueIfFailedToSpawn="false" />
<NPCFollowAction npctag="worker1" targettag="constructioncargounit" follow="true" priority="50" />
<NPCFollowAction npctag="worker2" targettag="worker1" follow="true" priority="50" />
<TriggerAction target1tag="worker1" target2tag="player" applytotarget1="contruction_manager" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="eventtext.ConstructionUpgrade.starterdialogue" eventsprite="mines">
<Option text="eventtext.Constructionprogress.letmecheck">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.ifyoufindcrates" />
</Option>
<Option text="eventtext.Constructionprogress.notinterested">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.findmeagain" />
</Option>
</ConversationAction>
<ClearTagAction tag="triggerer_player" />
<HighlightAction targettag="constructioncargounit" targetcharacter="player" />
<Label name="waitingforgoods" />
<CheckItemAction targettag="constructioncargounit" itemidentifiers="constructionmaterialcrate" amount="3">
<Success>
<StatusEffectAction targettag="constructioncargounit">
<StatusEffect target="this" noninteractable="true" setvalue="true" />
</StatusEffectAction>
<TriggerAction target1tag="worker1" target2tag="player" applytotarget1="contruction_manager" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.cratesdelivered" eventsprite="mines">
<Option text="eventtext.Constructionprogress.thanks">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.backtowork" />
<ModifyLocationAction type="hospital" />
<GoTo name="reward" />
</Option>
</ConversationAction>
</Success>
<Failure>
<GoTo name="waitingforgoods" />
</Failure>
</CheckItemAction>
<Label name="reward" />
<HighlightAction targettag="constructioncargounit" targetcharacter="player" state="false" />
<MoneyAction amount="1000" />
<ReputationAction targettype="Location" increase="3" />
</ScriptedEvent>
<ScriptedEvent identifier="ConstructionUpgradeToResearch" commonness="100">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:constructioncargounit" tag="constructioncargounit" SubmarineType="Outpost" chooserandom="true" />
<TriggerEventAction identifier="Constructionrecipe" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="miner" targettag="worker1" spawnlocation="Outpost" spawnpointtag="constructionworker" requirespawnpointtag="true" ContinueIfFailedToSpawn="false" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="miner" targettag="worker2" spawnlocation="Outpost" spawnpointtag="constructionworker" requirespawnpointtag="true" ContinueIfFailedToSpawn="false" />
<NPCFollowAction npctag="worker1" targettag="constructioncargounit" follow="true" priority="50" />
<NPCFollowAction npctag="worker2" targettag="worker1" follow="true" priority="50" />
<TriggerAction target1tag="worker1" target2tag="player" applytotarget1="contruction_manager" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="eventtext.ConstructionUpgrade.starterdialogue" eventsprite="mines">
<Option text="eventtext.Constructionprogress.letmecheck">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.ifyoufindcrates" />
</Option>
<Option text="eventtext.Constructionprogress.notinterested">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.findmeagain" />
</Option>
</ConversationAction>
<ClearTagAction tag="triggerer_player" />
<HighlightAction targettag="constructioncargounit" targetcharacter="player" />
<Label name="waitingforgoods" />
<CheckItemAction targettag="constructioncargounit" itemidentifiers="constructionmaterialcrate" amount="3">
<Success>
<StatusEffectAction targettag="constructioncargounit">
<StatusEffect target="this" noninteractable="true" setvalue="true" />
</StatusEffectAction>
<TriggerAction target1tag="worker1" target2tag="player" applytotarget1="contruction_manager" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.cratesdelivered" eventsprite="mines">
<Option text="eventtext.Constructionprogress.thanks">
<ConversationAction targettag="triggerer_player" text="eventtext.Constructionprogress.backtowork" />
<ModifyLocationAction type="research" />
<GoTo name="reward" />
</Option>
</ConversationAction>
</Success>
<Failure>
<GoTo name="waitingforgoods" />
</Failure>
</CheckItemAction>
<Label name="reward" />
<HighlightAction targettag="constructioncargounit" targetcharacter="player" state="false" />
<MoneyAction amount="1000" />
<ReputationAction targettype="Location" increase="3" />
</ScriptedEvent>
<!-- ////////////////////// -->
<!-- ////////////////////// -->
<!-- ////////////////////// -->
<!-- ////////////////////// -->
<!-- ////////////////////// -->
<!-- ////////////////////// -->
<!-- ////////////////////// -->
<!-- Mine door event
Pay to get access to the mines / dry cave -->
<ScriptedEvent identifier="minedoorevent" commonness="100">
<WaitAction time="2" />
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:mineterminal" tag="mineterminal" ContinueIfNoTargetsFound="false" />
<TagAction criteria="itemtag:mineentrance" tag="mineentrance" ContinueIfNoTargetsFound="false" />
<TriggerEventAction identifier="checkminepayment" />
<StatusEffectAction targettag="mineterminal">
<StatusEffect target="This" noninteractable="false" nonplayerteaminteractable="false" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
<Label name="restart" />
<TriggerAction target1tag="player" target2tag="mineterminal" applytotarget1="mde_player" waitforinteraction="true" />
<ConversationAction targettag="mde_player" text="eventtext.mine.terminal.interact" eventsprite="mines" dialogtype="small">
<Option text="EventText.option.pay">
<CheckMoneyAction targettag="mde_player" amount="250">
<Success>
<MoneyAction targettag="mde_player" amount="-250" />
<ConversationAction targettag="mde_player" text="EventText.mine.terminal.interact.pay.success" eventsprite="mines" dialogtype="small" />
<StatusEffectAction targettag="mineentrance">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
<StatusEffectAction targettag="mineterminal">
<StatusEffect target="This" LightColor="0,92,23,255" noninteractable="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
<SetDataAction identifier="mineopened" value="1" />
<ClearTagAction tag="mde_player" />
</Success>
<Failure>
<ConversationAction targettag="mde_player" text="EventText.mine.terminal.interact.pay.failure" eventsprite="mines" dialogtype="small" />
<ClearTagAction tag="mde_player" />
<GoTo name="restart" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.option.leave" endconversation="true">
<ClearTagAction tag="mde_player" />
<GoTo name="restart" />
</Option>
</ConversationAction>
</ScriptedEvent>
<!-- check if you paid for the mine access, -reputation if you dont -->
<ScriptedEvent identifier="checkminepayment">
<TagAction criteria="player" tag="player" />
<TagAction criteria="hullname:entrance" tag="entrance" submarinetype="Outpost" />
<TriggerAction target1tag="player" target2tag="entrance" radius="10" waitforinteraction="false" />
<CheckDataAction identifier="mineopened" condition="eq 1">
<Success>
<SetDataAction identifier="mineopened" value="0" />
</Success>
<Failure>
<StatusEffectAction targettag="alarm">
<StatusEffect IsOn="true" target="This" setvalue="true" />
</StatusEffectAction>
<ConversationAction text="EventText.mine.breakin" ContinueAutomatically="true" dialogtype="small" />
<ReputationAction targettype="Location" increase="-5" />
<SetDataAction identifier="mineopened" value="0" />
</Failure>
</CheckDataAction>
</ScriptedEvent>
<!-- Events that randomly delete cave/lair items -->
<!-- randomizes ore nodes in dry caves -->
<ScriptedEvent identifier="unlockorenodes" commonness="100">
<WaitAction time="2" />
<TagAction criteria="itemidentifier:mineralspawner" tag="deleteorenode" submarinetype="Outpost" chooserandom="true" ChoosePercentage="66" />
<!-- 2/3 nodes are deleted -->
<StatusEffectAction targettag="deleteorenode">
<StatusEffect target="This">
<Remove />
</StatusEffect>
</StatusEffectAction>
</ScriptedEvent>
<!-- randomizes ore nodes in lairs -->
<ScriptedEvent identifier="unlockorenodeslair" commonness="100">
<WaitAction time="2" />
<TagAction criteria="itemidentifier:mineralspawner" tag="deleteorenode" submarinetype="Outpost" ChoosePercentage="80" />
<!-- 4/5 nodes are deleted -->
<StatusEffectAction targettag="deleteorenode">
<StatusEffect target="This">
<Remove />
</StatusEffect>
</StatusEffectAction>
</ScriptedEvent>
<!-- randomizes plant nodes in dry caves -->
<ScriptedEvent identifier="unlockplantnodes" commonness="100">
<WaitAction time="2" />
<TagAction criteria="itemidentifier:plantcluster" tag="plantnode" submarinetype="Outpost" chooserandom="true" ChoosePercentage="75" />
<!-- 3/4 nodes are deleted -->
<StatusEffectAction targettag="plantnode">
<StatusEffect target="This">
<Remove />
</StatusEffect>
</StatusEffectAction>
</ScriptedEvent>
<!-- randomizes plant nodes in lairs -->
<ScriptedEvent identifier="unlockplantnodeslair" commonness="100">
<WaitAction time="2" />
<TagAction criteria="itemidentifier:plantcluster" tag="deleteplantnode" submarinetype="Outpost" chooserandom="true" ChoosePercentage="75" />
<!-- 3/4 nodes are deleted -->
<StatusEffectAction targettag="deleteplantnode">
<StatusEffect target="This">
<Remove />
</StatusEffect>
</StatusEffectAction>
</ScriptedEvent>
<!-- randomizes pest nests in dry caves -->
<ScriptedEvent identifier="unlockpestnests" commonness="100">
<WaitAction time="2" />
<TagAction criteria="itemidentifier:cavepestspawner" tag="deletepestnest" submarinetype="Outpost" chooserandom="true" ChoosePercentage="75" />
<!-- 3/4 nodes are deleted -->
<StatusEffectAction targettag="deletepestnest">
<StatusEffect target="This">
<Remove />
</StatusEffect>
</StatusEffectAction>
</ScriptedEvent>
<!-- "Reactor operator sale"
Spawns a NPC that sells fuel rods at stations that do not have an engineering merchant so people don't get soft-locked.
TODO: replace basic supply seller event with "proxy" items that spawn the real items, add a new merchant that sells basic supplies (rods, fuel, coilgun ammo) in those locations instead? -->
<ScriptedEvent identifier="reactoroperatorsale" commonness="100">
<TagAction criteria="player" tag="player" />
<Label name="waitforinput" />
<TriggerAction target1tag="reactoroperator" target2tag="player" applytotarget2="ro_trig_player" waitforinteraction="true" />
<CheckReputationAction targettype="faction" identifier="Location" condition="gte -20">
<Success>
<ConversationAction targettag="ro_trig_player" text="eventtext.shop.engineer.interact" eventsprite="engineer">
<Option text="eventtext.shop.engineer.option.fuelrod">
<CheckMoneyAction targettag="ro_trig_player" Amount="900">
<Success>
<MoneyAction targettag="ro_trig_player" amount="-900" />
<SpawnAction itemidentifier="fuelrod" targetinventory="ro_trig_player" />
<SpawnAction itemidentifier="fuelrod" targetinventory="ro_trig_player" />
<SpawnAction itemidentifier="fuelrod" targetinventory="ro_trig_player" />
<SpawnAction itemidentifier="fuelrod" targetinventory="ro_trig_player" />
<ConversationAction targettag="ro_trig_player" text="eventtext.shop.engineer.option.fuelrod.buy.success" eventsprite="engineer" />
<ClearTagAction tag="ro_trig_player" />
</Success>
<Failure>
<ConversationAction targettag="ro_trig_player" text="eventtext.shop.engineer.option.fuelrod.buy.failure" eventsprite="engineer" />
<ClearTagAction tag="ro_trig_player" />
<GoTo name="waitforinput" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.shop.engineer.option.fpga">
<CheckMoneyAction targettag="ro_trig_player" Amount="250">
<Success>
<MoneyAction targettag="ro_trig_player" amount="-250" />
<SpawnAction itemidentifier="fpgacircuit" targetinventory="ro_trig_player" />
<SpawnAction itemidentifier="fpgacircuit" targetinventory="ro_trig_player" />
<ConversationAction targettag="ro_trig_player" text="eventtext.shop.engineer.option.fpga.buy.success" eventsprite="engineer" />
<ClearTagAction tag="ro_trig_player" />
</Success>
<Failure>
<ConversationAction targettag="ro_trig_player" text="eventtext.shop.engineer.option.fpga.buy.failure" eventsprite="engineer" />
<ClearTagAction tag="ro_trig_player" />
<GoTo name="waitforinput" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.shop.engineer.option.extinguisher">
<CheckMoneyAction targettag="ro_trig_player" Amount="100">
<Success>
<MoneyAction targettag="ro_trig_player" amount="-100" />
<SpawnAction itemidentifier="extinguisher" targetinventory="ro_trig_player" />
<ConversationAction targettag="ro_trig_player" text="eventtext.shop.engineer.option.extinguisher.buy.success" eventsprite="engineer" />
<ClearTagAction tag="ro_trig_player" />
</Success>
<Failure>
<ConversationAction targettag="ro_trig_player" text="eventtext.shop.engineer.option.extinguisher.buy.failure" eventsprite="engineer" />
<ClearTagAction tag="ro_trig_player" />
<GoTo name="waitforinput" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.option.leave">
<ConversationAction text="eventtext.general.decline" targettag="ro_trig_player" />
<ClearTagAction tag="ro_trig_player" />
<GoTo name="waitforinput" />
</Option>
</ConversationAction>
</Success>
<Failure>
<ConversationAction targettag="ro_trig_player" text="eventtext.shop.engineer.unfriedly" eventsprite="group" />
<ClearTagAction tag="ro_trig_player" />
</Failure>
</CheckReputationAction>
</ScriptedEvent>
<!-- Unused since welding fuel is sold in vending machines -->
<ScriptedEvent identifier="quartermaster" commonness="100">
<TagAction criteria="player" tag="player" />
<SpawnAction npcsetidentifier="DE_outpostnpcs" npcidentifier="quartermaster" targettag="quartermaster" spawnlocation="Outpost" />
<Label name="waitforinput" />
<TriggerAction target1tag="quartermaster" target2tag="player" applytotarget2="qm_trig_player" radius="200" waitforinteraction="true" />
<ConversationAction targettag="qm_trig_player" text="eventtext.shop.quartermaster.interact" eventsprite="mechanic">
<Option text="eventtext.shop.quartermaster.option.weldingfuel">
<CheckMoneyAction targettag="qm_trig_player" Amount="1000">
<Success>
<MoneyAction targettag="qm_trig_player" amount="-1000" />
<SpawnAction itemidentifier="weldingfueltank" targetinventory="qm_trig_player" />
<SpawnAction itemidentifier="weldingfueltank" targetinventory="qm_trig_player" />
<SpawnAction itemidentifier="weldingfueltank" targetinventory="qm_trig_player" />
<SpawnAction itemidentifier="weldingfueltank" targetinventory="qm_trig_player" />
<ConversationAction targettag="qm_trig_player" text="eventtext.shop.quartermaster.option.weldingfuel.buy.success" eventsprite="mechanic" />
<ClearTagAction tag="qm_trig_player" />
</Success>
<Failure>
<ConversationAction targettag="qm_trig_player" text="eventtext.shop.quartermaster.option.weldingfuel.buy.failure" eventsprite="mechanic" />
<ClearTagAction tag="qm_trig_player" />
<GoTo name="waitforinput" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.option.leave">
<ConversationAction text="eventtext.general.decline" targettag="qm_trig_player" />
<ClearTagAction tag="qm_trig_player" />
<GoTo name="waitforinput" />
</Option>
</ConversationAction>
</ScriptedEvent>
<!-- "Scrap dealer 1"
Buy scrap and acess to scrap dealer 2 -->
<ScriptedEvent identifier="scrapdealer1" commonness="100">
<CheckDataAction identifier="scrapdealerprogress" condition="eq 0">
<Failure></Failure>
<Success>
<TagAction criteria="player" tag="player" />
<SpawnAction npcsetidentifier="customnpcs" npcidentifier="scrapdealer" targettag="scrapdealer" spawnlocation="Outpost" targetmoduletags="crewmodule" />
<Label name="waitforinput" />
<TriggerAction target1tag="scrapdealer" target2tag="player" applytotarget2="triggerer_player" radius="200" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="EventText.scrapdealer1.scrapseller" eventsprite="office">
<Option text="EventText.scrapdealer1.sellmescrap">
<ConversationAction targettag="triggerer_player" text="EventText.scrapdealer1.junktreasure" eventsprite="ScrapMetal" />
<GoTo name="skiptrigger" />
<Label name="scrapproposition" />
<TriggerAction target1tag="scrapdealer" target2tag="player" applytotarget2="triggerer_player" radius="200" waitforinteraction="true" />
<Label name="skiptrigger" />
<ConversationAction targettag="triggerer_player" text="EventText.scrapdealer1.buyscrap" eventsprite="ScrapMetal">
<Option text="EventText.scrapdealer1.deal">
<CheckMoneyAction targettag="triggerer_player" Amount="250">
<Success>
<MoneyAction targettag="triggerer_player" amount="-250" />
<SpawnAction itemidentifier="scrap" amount="4" targetinventory="triggerer_player" />
<SetDataAction identifier="scrapdealerprogress" value="1" />
<ConversationAction targettag="triggerer_player" text="EventText.scrapdealer1.scrapbought" />
</Success>
<Failure>
<ConversationAction targettag="triggerer_player" text="EventText.scrapdealer1.nomoney" eventsprite="ScrapMetal" />
<ClearTagAction tag="triggerer_player" />
<GoTo name="scrapproposition" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.option.leave" endconversation="true">
<ClearTagAction tag="triggerer_player" />
<GoTo name="scrapproposition" />
</Option>
</ConversationAction>
</Option>
<Option text="eventtext.option.leave" endconversation="true">
<ClearTagAction tag="triggerer_player" />
<GoTo name="waitforinput" />
</Option>
</ConversationAction>
</Success>
</CheckDataAction>
<OnRoundEndAction>
<CheckConditionalAction targettag="scrapdealer" IsDead="true">
<Success>
<SetDataAction identifier="scrapdealerprogress" value="3" />
</Success>
</CheckConditionalAction>
</OnRoundEndAction>
</ScriptedEvent>
<!-- "Scrap dealer 2"
Buy scrap and gain get a salvage mission -->
<ScriptedEvent identifier="scrapdealer2" commonness="100">
<CheckDataAction identifier="scrapdealerprogress" condition="eq 1">
<Failure></Failure>
<Success>
<TagAction criteria="player" tag="player" />
<SpawnAction npcsetidentifier="customnpcs" npcidentifier="scrapdealer" targettag="scrapdealer" spawnlocation="Outpost" targetmoduletags="crewmodule" />
<Label name="waitforinput" />
<TriggerAction target1tag="scrapdealer" target2tag="player" applytotarget2="triggerer_player" radius="200" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="EventText.scrapdealer2.scrapseller" eventsprite="office" />
<GoTo name="skiptrigger" />
<Label name="scrapproposition" />
<TriggerAction target1tag="scrapdealer" target2tag="player" applytotarget2="triggerer_player" radius="200" waitforinteraction="true" />
<Label name="skiptrigger" />
<ConversationAction targettag="triggerer_player" text="EventText.scrapdealer2.buyscrap" eventsprite="ScrapMetal">
<Option text="EventText.scrapdealer1.deal">
<CheckMoneyAction targettag="triggerer_player" Amount="250">
<Success>
<MoneyAction targettag="triggerer_player" amount="-250" />
<SpawnAction itemidentifier="scrap" amount="6" targetinventory="triggerer_player" />
<SetDataAction identifier="scrapdealerprogress" value="2" />
<ConversationAction targettag="triggerer_player" text="EventText.scrapdealer2.scrapbought" />
<MissionAction missiontag="salvagewreck" />
</Success>
<Failure>
<ConversationAction targettag="triggerer_player" text="eventtext.shop.quartermaster.option.scrap.buy.failure" eventsprite="ScrapMetal" />
<ClearTagAction tag="triggerer_player" />
<GoTo name="scrapproposition" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.option.leave" endconversation="true">
<ClearTagAction tag="triggerer_player" />
<GoTo name="waitforinput" />
</Option>
</ConversationAction>
</Success>
</CheckDataAction>
<OnRoundEndAction>
<CheckConditionalAction targettag="scrapdealer" IsDead="true">
<Success>
<SetDataAction identifier="scrapdealerprogress" value="3" />
</Success>
</CheckConditionalAction>
</OnRoundEndAction>
</ScriptedEvent>
<!-- "Scrap dealer 3"
Transit event, spawns the corpse of the scrap dealer inside a wreck (RIP) -->
<ScriptedEvent identifier="scrapdealer3" commonness="25">
<CheckDataAction identifier="scrapdealerprogress" condition="eq 2">
<Failure></Failure>
<Success>
<TagAction criteria="player" tag="player" />
<SpawnAction npcsetidentifier="customnpcs" npcidentifier="scrapdealer" targettag="scrapdealer" spawnlocation="wreck" />
<TriggerAction target1tag="player" target2tag="scrapdealer" applytotarget2="triggerer_player" radius="200" waitforinteraction="false" />
<SetDataAction identifier="scrapdealerprogress" value="3" />
</Success>
</CheckDataAction>
</ScriptedEvent>
<!-- "Psychovisions"
Spooky research station event, if you interact with a research station while psychotic. Way too hard to trigger -->
<ScriptedEvent identifier="psychovisions" commonness="100">
<CheckDataAction identifier="psychovisionsnorepeat" condition="eq 0">
<Failure>
<!-- does not spawn the event if already done -->
</Failure>
<Success>
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemidentifier:op_researchterminal" tag="potentialresearchterminal" submarinetype="outpost" chooserandom="true" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="researcher" targettag="psychoresearcher" spawnpointtag="potentialresearchterminal" spawnlocation="Outpost" />
<NPCFollowAction npctag="psychoresearcher" targettag="potentialresearchterminal" follow="true" />
<TriggerAction target1tag="psychoresearcher" target2tag="player" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<AfflictionAction targettag="psychoresearcher" affliction="psychosis" strength="100" />
<ConversationAction targettag="triggerer_player" text="eventtext.psychovisions.ghosts" eventsprite="MentalBreakdown">
<Option text="eventtext.psychovisions.noghosts">
<ConversationAction targettag="triggerer_player" text="eventtext.psychovisions.insidemyhead" eventsprite="MentalBreakdown">
<Option text="eventtext.psychovisions.psychotic">
<ConversationAction targettag="triggerer_player" text="eventtext.psychovisions.panic" ContinueAutomatically="true" endconversation="true" eventsprite="MentalBreakdown" />
<CombatAction combatmode="Retreat" npctag="psychoresearcher" enemytag="triggerer_player" isinstigator="false" witnessreaction="none" cooldown="10" />
</Option>
<Option text="eventtext.psychovisions.leave" endconversation="true"></Option>
</ConversationAction>
</Option>
</ConversationAction>
<Label name="checkpsychosisloop" />
<WaitAction time="2" />
<TriggerAction target1tag="potentialresearchterminal" target2tag="player" applytotarget2="psychoplayer" radius="150" waitforinteraction="false" />
<CheckAfflictionAction identifier="psychosis" targettag="psychoplayer" minstrength="20">
<Success>
<TriggerAction target1tag="potentialresearchterminal" target2tag="triggerer_player" applytotarget2="psychoplayer" radius="150" waitforinteraction="true" />
<StatusEffectAction targettag="psychoplayer">
<StatusEffect target="This">
<Sound file="Content/Characters/Jove/JOVE_idle1.ogg" range="150" volume="2" frequencymultiplier="1" />
<Explosion range="500" force="0" empstrength="0.5" showeffects="false" />
</StatusEffect>
</StatusEffectAction>
<SetDataAction identifier="spookytext" operation="set" value="0" />
<Label name="spawnmoretext" />
<CheckDataAction identifier="spookytext" condition="lt 15">
<Success>
<SpawnAction itemidentifier="alienwritingdecalevent" targettag="alientext" spawnpointtag="potentialresearchterminal" offset="200" />
<SetDataAction identifier="spookytext" operation="add" value="1" />
<WaitAction time="0.1" />
<Goto name="spawnmoretext" />
</Success>
<Failure>
<SetDataAction identifier="psychovisionsnorepeat" operation="set" value="1" />
<ConversationAction targettag="psychoplayer" text="eventtext.psychovisions.listenalien" eventsprite="Ancient1" dialogtype="small" />
<WaitAction time="2" />
<ConversationAction targettag="psychoplayer" text="eventtext.psychovisions.paranoid" endconversation="true" dialogtype="small" />
<GiveSkillEXPAction skill="helm" amount="5" targettag="psychoplayer" />
<GiveSkillEXPAction skill="weapons" amount="2" targettag="psychoplayer" />
</Failure>
</CheckDataAction>
</Success>
<Failure>
<ClearTagAction tag="psychoplayer" />
<Goto name="checkpsychosisloop" />
</Failure>
</CheckAfflictionAction>
</Success>
</CheckDataAction>
</ScriptedEvent>
<!-- COALITION SECURITY OFFICER - Super old and unused
<ScriptedEvent identifier="securityofficer" commonness="100">
<TagAction criteria="player" tag="player"/>
<Label name="restart"/>
<TriggerAction target1tag="securitynpc" target2tag="player" applytotarget2="cso_trig_player" radius="200" allowmultipletargets="true"/>
<CheckReputationAction targettype="faction" identifier="coalition" condition="gte 20">
<Success>
<TriggerAction target1tag="securitynpc" target2tag="player" applytotarget2="cso_trig_player" radius="200" waitforinteraction="true"/>
<NPCWaitAction npctag="securitynpc" wait="true"/>
<ConversationAction targettag="cso_trig_player" text="eventtext.shop.securityofficer.interact" eventsprite="security">
<Option text="eventtext.shop.securityofficer.option.coilgunammo">
<CheckMoneyAction Amount="150">
<Success>
<MoneyAction amount="-150"/>
<SpawnAction itemidentifier="coilgunammobox" targetinventory="cso_trig_player"/>
<ConversationAction targettag="cso_trig_player" text="eventtext.shop.securityofficer.option.coilgunammo.buy.success"/>
<NPCWaitAction npctag="securitynpc" wait="false"/>
<ClearTagAction tag="cso_trig_player"/>
</Success>
<Failure>
<ConversationAction targettag="cso_trig_player" text="eventtext.shop.securityofficer.option.coilgunammo.buy.failure"/>
<NPCWaitAction npctag="securitynpc" wait="false"/>
<ClearTagAction tag="cso_trig_player"/>
<GoTo name="restart"/>
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.shop.securityofficer.option.revolverammo">
<CheckMoneyAction Amount="600">
<Success>
<MoneyAction amount="-600"/>
<SpawnAction itemidentifier="revolverround" targetinventory="cso_trig_player" />
<SpawnAction itemidentifier="revolverround" targetinventory="cso_trig_player" />
<SpawnAction itemidentifier="revolverround" targetinventory="cso_trig_player" />
<SpawnAction itemidentifier="revolverround" targetinventory="cso_trig_player" />
<SpawnAction itemidentifier="revolverround" targetinventory="cso_trig_player" />
<SpawnAction itemidentifier="revolverround" targetinventory="cso_trig_player" />
<SpawnAction itemidentifier="revolverround" targetinventory="cso_trig_player" />
<SpawnAction itemidentifier="revolverround" targetinventory="cso_trig_player" />
<SpawnAction itemidentifier="revolverround" targetinventory="cso_trig_player" />
<SpawnAction itemidentifier="revolverround" targetinventory="cso_trig_player" />
<SpawnAction itemidentifier="revolverround" targetinventory="cso_trig_player" />
<SpawnAction itemidentifier="revolverround" targetinventory="cso_trig_player" />
<ConversationAction targettag="cso_trig_player" text="eventtext.shop.securityofficer.option.revolverammo.buy.success"/>
<NPCWaitAction npctag="securitynpc" wait="false"/>
<ClearTagAction tag="cso_trig_player"/>
</Success>
<Failure>
<ConversationAction targettag="cso_trig_player" text="eventtext.shop.securityofficer.option.revolverammo.buy.failure"/>
<NPCWaitAction npctag="securitynpc" wait="false"/>
<ClearTagAction tag="cso_trig_player"/>
<GoTo name="restart"/>
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.shop.securityofficer.option.smgmagazine">
<CheckMoneyAction Amount="400">
<Success>
<MoneyAction amount="-400"/>
<SpawnAction itemidentifier="smgmagazine" targetinventory="cso_trig_player" />
<SpawnAction itemidentifier="smgmagazine" targetinventory="cso_trig_player" />
<ConversationAction targettag="cso_trig_player" text="eventtext.shop.securityofficer.option.smgmagazine.buy.success"/>
<NPCWaitAction npctag="securitynpc" wait="false"/>
<ClearTagAction tag="cso_trig_player"/>
</Success>
<Failure>
<ConversationAction targettag="cso_trig_player" text="eventtext.shop.securityofficer.option.smgmagazine.buy.failure"/>
<NPCWaitAction npctag="securitynpc" wait="false"/>
<ClearTagAction tag="cso_trig_player"/>
<GoTo name="restart"/>
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.securityofficer.option.insult">
<ReputationAction targettype="Faction" identifier="coalition" increase="-10"/>
<ConversationAction text="eventtext.securityofficer.option.insult.answer" targettag="cso_trig_player">
<Option text="eventtext.securityofficer.option.insult">
<ReputationAction targettype="Faction" identifier="coalition" increase="-20"/>
<ConversationAction text="eventtext.securityofficer.option.insult.answer.insult.answer" targettag="cso_trig_player"/>
<NPCWaitAction npctag="securitynpc" wait="false"/>
<GoTo name="arrest"/>
</Option>
<Option text="eventtext.option.leave">
<ConversationAction text="eventtext.securityofficer.option.insult.leave.answer" targettag="cso_trig_player"/>
<NPCWaitAction npctag="securitynpc" wait="false"/>
</Option>
</ConversationAction>
</Option>
<Option text="eventtext.option.leave">
<ConversationAction text="eventtext.general.decline" targettag="cso_trig_player"/>
<NPCWaitAction npctag="securitynpc" wait="false"/>
<ClearTagAction tag="cso_trig_player"/>
<GoTo name="restart"/>
</Option>
</ConversationAction>
</Success>
<Failure>
<CheckReputationAction targettype="faction" identifier="coalition" condition="gte -60">
<Success>
<RNGAction chance="0.4">
<Success>
<NPCFollowAction npctag="securitynpc" targettag="cso_trig_player" follow="true"/>
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="securitynpccoalition" targettag="backup" spawnlocation="Outpost" spawnpointtype="Path"/>
<CheckItemAction targettag="cso_trig_player" RequiredConditionalMatchPercentage="1">
<Conditional HasTag="stolen" targetcontainedItem="true" />
<Success>
<ReputationAction targettype="Faction" identifier="coalition" increase="-10"/>
<NPCFollowAction npctag="securitynpc" targettag="cso_trig_player" follow="false"/>
<GoTo name="arrest"/>
</Success>
<Failure>
<ConversationAction text="eventtext.securityofficer.interact" targettag="cso_trig_player">
<Option text="eventtext.securityofficer.option.rude">
<ReputationAction targettype="Faction" identifier="coalition" increase="-1"/>
<ConversationAction text="eventtext.securityofficer.option.rude.answer" targettag="cso_trig_player"/>
</Option>
<Option text="eventtext.securityofficer.option.polite">
<ConversationAction text="eventtext.securityofficer.option.polite.answer" targettag="cso_trig_player"/>
</Option>
</ConversationAction>
</Failure>
</CheckItemAction>
<ConversationAction targettag="cso_trig_player" text="eventtext.securityofficer.bribe.interact" continueconversation="true">
<Option text="eventtext.securityofficer.bribe.option.polite">
<ConversationAction targettag="cso_trig_player" text="eventtext.securityofficer.bribe.option.polite.answer">
<Option text="eventtext.securityofficer.bribe.option.bribe.high">
<CheckMoneyAction Amount="500">
<Success>
<MoneyAction amount="-500"/>
<ConversationAction text="eventtext.securityofficer.bribe.option.bribe.success" targettag="cso_trig_player"/>
<ReputationAction targettype="Faction" identifier="coalition" increase="1"/>
<NPCFollowAction npctag="securitynpc" targettag="cso_trig_player" follow="false"/>
<ClearTagAction tag="cso_trig_player"/>
</Success>
<Failure>
<ConversationAction targettag="cso_trig_player" text="eventtext.securityofficer.bribe.option.bribe.failure"/>
<GoTo name="arrest"/>
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.securityofficer.bribe.option.bribe.medium">
<RNGAction chance="0.75">
<Success>
<CheckMoneyAction Amount="250">
<Success>
<MoneyAction amount="-250"/>
<ConversationAction text="eventtext.securityofficer.bribe.option.bribe.success" targettag="cso_trig_player"/>
<ReputationAction targettype="Faction" identifier="coalition" increase="1"/>
<NPCFollowAction npctag="securitynpc" targettag="cso_trig_player" follow="false"/>
<ClearTagAction tag="cso_trig_player"/>
</Success>
<Failure>
<ConversationAction targettag="cso_trig_player" text="eventtext.securityofficer.bribe.option.bribe.failure"/>
<GoTo name="arrest"/>
</Failure>
</CheckMoneyAction>
</Success>
<Failure>
<ConversationAction targettag="cso_trig_player" text="eventtext.securityofficer.bribe.option.bribe.rejected"/>
<GoTo name="arrest"/>
</Failure>
</RNGAction>
</Option>
<Option text="eventtext.securityofficer.bribe.option.bribe.low">
<RNGAction chance="0.50">
<Success>
<CheckMoneyAction Amount="75">
<Success>
<MoneyAction amount="-75"/>
<ConversationAction text="eventtext.securityofficer.bribe.option.bribe.success" targettag="cso_trig_player"/>
<ReputationAction targettype="Faction" identifier="coalition" increase="1"/>
<NPCFollowAction npctag="securitynpc" targettag="cso_trig_player" follow="false"/>
<ClearTagAction tag="cso_trig_player"/>
</Success>
<Failure>
<ConversationAction targettag="cso_trig_player" text="eventtext.securityofficer.bribe.option.bribe.failure"/>
<GoTo name="arrest"/>
</Failure>
</CheckMoneyAction>
</Success>
<Failure>
<ConversationAction targettag="cso_trig_player" text="eventtext.securityofficer.bribe.option.bribe.rejected"/>
<GoTo name="arrest"/>
</Failure>
</RNGAction>
</Option>
<Option text="eventtext.option.leave">
<ConversationAction text="eventtext.securityofficer.bribe.option.leave.answer" targettag="cso_trig_player"/>
<ClearTagAction tag="cso_trig_player"/>
</Option>
</ConversationAction>
</Option>
<Option text="eventtext.securityofficer.bribe.option.rude">
<ReputationAction targettype="Faction" identifier="coalition" increase="-5"/>
<CombatAction combatmode="arrest" npctag="securitynpc" enemytag="cso_trig_player" witnessreaction="retreat"/>
<ConversationAction text="eventtext.securityofficer.bribe.option.rude.answer" targettag="cso_trig_player"/>
<ClearTagAction tag="cso_trig_player"/>
</Option>
<Option text="eventtext.option.leave">
<ConversationAction text="eventtext.securityofficer.bribe.option.leave.answer" targettag="cso_trig_player"/>
<GoTo name="arrest"/>
</Option>
</ConversationAction>
</Success>
<Failure>
<Label name="tolloptions"/>
<NPCWaitAction npctag="securityofficer" wait="false"/>
<ClearTagAction tag="cso_trig_player"/>
</Failure>
</RNGAction>
</Success>
<Failure>
<Label name="arrest"/>
<CombatAction combatmode="arrest" npctag="securitynpc" enemytag="cso_trig_player" isinstigator="false" guardreaction="none" witnessreaction="retreat"/>
<WaitAction time="60"/>
<GoTo name="tolloptions"/>
</Failure>
</CheckReputationAction>
</Failure>
</CheckReputationAction>
</ScriptedEvent>
-->
<!--/////////////////// BLOCKADE EVENTS ////////////////
/////////////////// BLOCKADE EVENTS ////////////////
/////////////////// BLOCKADE EVENTS //////////////// -->
<!-- Check if a blockade of the same faction to the same biome has been opened, so you don't have to pay twice if you visit another allied blockade. -->
<ScriptedEvent identifier="checkblockadestate_coldcaverns_coalition" commonness="100">
<WaitAction time="8" />
<!-- check if a blockade of this faction was unlocked previously for this biome -->
<CheckDataAction identifier="blockade_coldcaverns_coalition_unlocked" condition="true">
<Success>
<TriggerEventAction identifier="opendoortoblockade" />
</Success>
<Failure>
<!-- do nothing -->
</Failure>
</CheckDataAction>
</ScriptedEvent>
<ScriptedEvent identifier="checkblockadestate_europanridge_coalition" commonness="100">
<WaitAction time="8" />
<!-- check if a blockade of this faction was unlocked previously for this biome -->
<CheckDataAction identifier="blockade_europanridge_coalition_unlocked" condition="true">
<Success>
<TriggerEventAction identifier="opendoortoblockade" />
</Success>
<Failure>
<!-- do nothing -->
</Failure>
</CheckDataAction>
</ScriptedEvent>
<ScriptedEvent identifier="checkblockadestate_aphoticplateau_coalition" commonness="100">
<WaitAction time="8" />
<!-- check if a blockade of this faction was unlocked previously for this biome -->
<CheckDataAction identifier="blockade_aphoticplateau_coalition_unlocked" condition="true">
<Success>
<TriggerEventAction identifier="opendoortoblockade" />
</Success>
<Failure>
<!-- do nothing -->
</Failure>
</CheckDataAction>
</ScriptedEvent>
<ScriptedEvent identifier="checkblockadestate_greatsea_coalition" commonness="100">
<WaitAction time="8" />
<!-- check if a blockade of this faction was unlocked previously for this biome -->
<CheckDataAction identifier="blockade_greatsea_coalition_unlocked" condition="true">
<Success>
<TriggerEventAction identifier="opendoortoblockade" />
</Success>
<Failure>
<!-- do nothing -->
</Failure>
</CheckDataAction>
</ScriptedEvent>
<ScriptedEvent identifier="checkblockadestate_coldcaverns_separatists" commonness="100">
<WaitAction time="8" />
<!-- check if a blockade of this faction was unlocked previously for this biome -->
<CheckDataAction identifier="blockade_coldcaverns_separatists_unlocked" condition="true">
<Success>
<TriggerEventAction identifier="opendoortoblockade" />
</Success>
<Failure>
<!-- do nothing -->
</Failure>
</CheckDataAction>
</ScriptedEvent>
<ScriptedEvent identifier="checkblockadestate_europanridge_separatists" commonness="100">
<WaitAction time="8" />
<!-- check if a blockade of this faction was unlocked previously for this biome -->
<CheckDataAction identifier="blockade_europanridge_separatists_unlocked" condition="true">
<Success>
<TriggerEventAction identifier="opendoortoblockade" />
</Success>
<Failure>
<!-- do nothing -->
</Failure>
</CheckDataAction>
</ScriptedEvent>
<ScriptedEvent identifier="checkblockadestate_aphoticplateau_separatists" commonness="100">
<WaitAction time="8" />
<!-- check if a blockade of this faction was unlocked previously for this biome -->
<CheckDataAction identifier="blockade_aphoticplateau_separatists_unlocked" condition="true">
<Success>
<TriggerEventAction identifier="opendoortoblockade" />
</Success>
<Failure>
<!-- do nothing -->
</Failure>
</CheckDataAction>
</ScriptedEvent>
<ScriptedEvent identifier="checkblockadestate_greatsea_separatists" commonness="100">
<WaitAction time="8" />
<!-- check if a blockade of this faction was unlocked previously for this biome -->
<CheckDataAction identifier="blockade_greatsea_separatists_unlocked" condition="true">
<Success>
<TriggerEventAction identifier="opendoortoblockade" />
</Success>
<Failure>
<!-- do nothing -->
</Failure>
</CheckDataAction>
</ScriptedEvent>
<!--"Unlock Path blockade" (generic template, versions by biome/cost below)
Only used for negociating and disabling the alarm, the actual event that unlocks the biome is openblockade -->
<ScriptedEvent identifier="unlockpathblockade" commonness="0" unlockpathevent="true">
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="watchman" targettag="unlockpathnpc" spawnlocation="Outpost" spawnpointtag="unlockpath" />
<TriggerEventAction identifier="blockadealarm" />
<TriggerEventAction identifier="openblockade" />
<CheckReputationAction targettype="Location" condition="gte 30">
<Success>
<ConversationAction text="EventText.unlockpathgeneric.c1" speakertag="unlockpathnpc" dialogtype="Regular" />
<SetDataAction identifier="blockadeopened" value="1" />
<TriggerEventAction identifier="opendoortoblockade" />
</Success>
<Failure>
<Label name="retry" />
<ConversationAction text="EventText.unlockpathgeneric.c2" speakertag="unlockpathnpc" invokertag="unlock_player" dialogtype="Regular" eventsprite="captain">
<Option text="EventText.unlockpathgeneric.o1">
<CheckMoneyAction amount="2000">
<Success>
<MoneyAction amount="-2000" />
<SetDataAction identifier="blockadeopened" value="1" />
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathgeneric.o1.c1" eventsprite="captain" />
<TriggerEventAction identifier="opendoortoblockade" />
</Success>
<Failure>
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathgeneric.nomoney" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="EventText.unlockpathgeneric.o2">
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathgeneric.o2.c1" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Option>
</ConversationAction>
</Failure>
</CheckReputationAction>
</ScriptedEvent>
<ScriptedEvent identifier="unlockpathcoldcaverns" commonness="1" unlockpathevent="true" unlockpathtooltip="lockedpathtooltipcoalitionreputation" unlockpathreputation="30" faction="coalition" biome="coldcaverns">
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="watchman" targettag="unlockpathnpc" spawnlocation="Outpost" spawnpointtag="unlockpath" />
<TriggerEventAction identifier="blockadealarm" />
<TriggerEventAction identifier="openblockade" />
<CheckDataAction identifier="blockade_coldcaverns_coalition_unlocked" condition="true">
<Success>
<Goto name="skip" />
</Success>
</CheckDataAction>
<CheckReputationAction targettype="Location" condition="gte 30">
<Success>
<ConversationAction text="EventText.unlockpathcoldcaverns.c1" speakertag="unlockpathnpc" dialogtype="Regular" />
<SetDataAction identifier="blockadeopened" value="1" />
<SetDataAction identifier="blockade_coldcaverns_coalition_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<Label name="retry" />
<ConversationAction text="EventText.unlockpathcoldcaverns.c2" speakertag="unlockpathnpc" invokertag="unlock_player" dialogtype="Regular" eventsprite="captain">
<Option text="EventText.unlockpathcoldcaverns.o1">
<CheckMoneyAction amount="2000">
<Success>
<MoneyAction amount="-2000" />
<SetDataAction identifier="blockadeopened" value="1" />
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathcoldcaverns.o1.c1" eventsprite="captain" />
<SetDataAction identifier="blockade_coldcaverns_coalition_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathcoldcaverns.o1.nomoney" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="EventText.unlockpath.refusebribe">
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathcoldcaverns.o2.c1" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Option>
</ConversationAction>
</Failure>
</CheckReputationAction>
<Label name="skip" />
</ScriptedEvent>
<ScriptedEvent identifier="unlockpatheuropanridge" commonness="1" unlockpathevent="true" unlockpathtooltip="lockedpathtooltipcoalitionreputation" unlockpathreputation="40" faction="coalition" biome="europanridge">
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="watchman" targettag="unlockpathnpc" spawnlocation="Outpost" spawnpointtag="unlockpath" />
<TriggerEventAction identifier="blockadealarm" />
<TriggerEventAction identifier="openblockade" />
<CheckDataAction identifier="blockade_europanridge_coalition_unlocked" condition="true">
<Success>
<Goto name="skip" />
</Success>
</CheckDataAction>
<CheckReputationAction targettype="Location" condition="gte 40">
<Success>
<ConversationAction text="EventText.unlockpatheuropanridge.c1" speakertag="unlockpathnpc" dialogtype="Regular" />
<SetDataAction identifier="blockadeopened" value="1" />
<SetDataAction identifier="blockade_europanridge_coalition_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<Label name="retry" />
<ConversationAction text="EventText.unlockpatheuropanridge.c2" speakertag="unlockpathnpc" invokertag="unlock_player" dialogtype="Regular" eventsprite="captain">
<Option text="EventText.unlockpatheuropanridge.o1">
<CheckMoneyAction amount="4000">
<Success>
<MoneyAction amount="-4000" />
<SetDataAction identifier="blockadeopened" value="1" />
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpatheuropanridge.o1.c1" eventsprite="captain" />
<SetDataAction identifier="blockade_europanridge_coalition_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpatheuropanridge.o1.nomoney" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="EventText.unlockpath.refusebribe">
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpatheuropanridge.o2.c1" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Option>
</ConversationAction>
</Failure>
</CheckReputationAction>
<Label name="skip" />
</ScriptedEvent>
<ScriptedEvent identifier="unlockpathaphoticplateau" commonness="1" unlockpathevent="true" unlockpathtooltip="lockedpathtooltipcoalitionreputation" unlockpathreputation="50" faction="coalition" biome="theaphoticplateau">
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="watchman" targettag="unlockpathnpc" spawnlocation="Outpost" spawnpointtag="unlockpath" />
<TriggerEventAction identifier="blockadealarm" />
<TriggerEventAction identifier="openblockade" />
<CheckDataAction identifier="blockade_aphoticplateau_coalition_unlocked" condition="true">
<Success>
<Goto name="skip" />
</Success>
</CheckDataAction>
<CheckReputationAction targettype="Location" condition="gte 50">
<Success>
<ConversationAction text="EventText.unlockpathaphoticplateau.c1" speakertag="unlockpathnpc" dialogtype="Regular" />
<SetDataAction identifier="blockadeopened" value="1" />
<SetDataAction identifier="blockade_aphoticplateau_coalition_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<Label name="retry" />
<ConversationAction text="EventText.unlockpathaphoticplateau.c2" speakertag="unlockpathnpc" invokertag="unlock_player" dialogtype="Regular" eventsprite="captain">
<Option text="EventText.unlockpathaphoticplateau.o1">
<CheckMoneyAction amount="8000">
<Success>
<MoneyAction amount="-8000" />
<SetDataAction identifier="blockadeopened" value="1" />
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathaphoticplateau.o1.c1" eventsprite="captain" />
<SetDataAction identifier="blockade_aphoticplateau_coalition_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathaphoticplateau.o1.nomoney" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="EventText.unlockpath.refusebribe">
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathaphoticplateau.o2.c1" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Option>
</ConversationAction>
</Failure>
</CheckReputationAction>
<Label name="skip" />
</ScriptedEvent>
<ScriptedEvent identifier="unlockpathgreatsea" commonness="1" unlockpathevent="true" unlockpathtooltip="lockedpathtooltipcoalitionreputation" unlockpathreputation="75" faction="coalition" biome="thegreatsea">
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="watchman" targettag="unlockpathnpc" spawnlocation="Outpost" spawnpointtag="unlockpath" />
<TriggerEventAction identifier="blockadealarm" />
<TriggerEventAction identifier="openblockade" />
<CheckDataAction identifier="blockade_greatsea_coalition_unlocked" condition="true">
<Success>
<Goto name="skip" />
</Success>
</CheckDataAction>
<CheckReputationAction targettype="Location" condition="gte 75">
<Success>
<ConversationAction text="EventText.unlockpathgreatsea.c1" speakertag="unlockpathnpc" dialogtype="Regular" eventsprite="captain" />
<SetDataAction identifier="blockadeopened" value="1" />
<SetDataAction identifier="blockade_greatsea_coalition_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<Label name="retry" />
<ConversationAction text="EventText.unlockpathgreatsea.c2" speakertag="unlockpathnpc" invokertag="unlock_player" dialogtype="Regular" eventsprite="captain">
<Option text="EventText.unlockpathgreatsea.o1">
<CheckMoneyAction amount="16000">
<Success>
<MoneyAction amount="-16000" />
<SetDataAction identifier="blockadeopened" value="1" />
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathgreatsea.o1.c1" eventsprite="captain" />
<SetDataAction identifier="blockade_greatsea_coalition_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathgreatsea.o1.nomoney" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="EventText.unlockpath.refusebribe">
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathgreatsea.o2.c1" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Option>
</ConversationAction>
</Failure>
</CheckReputationAction>
<Label name="skip" />
</ScriptedEvent>
<ScriptedEvent identifier="unlockpathcoldcavernsseparatists" commonness="1" unlockpathevent="true" unlockpathtooltip="lockedpathtooltipseparatistreputation" unlockpathreputation="30" faction="separatists" biome="coldcaverns">
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="watchmanseparatist" targettag="unlockpathnpc" spawnlocation="Outpost" spawnpointtag="unlockpath" />
<TriggerEventAction identifier="blockadealarm" />
<TriggerEventAction identifier="openblockade" />
<CheckDataAction identifier="blockade_coldcaverns_separatists_unlocked" condition="true">
<Success>
<Goto name="skip" />
</Success>
</CheckDataAction>
<CheckReputationAction targettype="Location" condition="gte 30">
<Success>
<ConversationAction text="EventText.unlockpathcoldcavernsseparatists.c1" speakertag="unlockpathnpc" dialogtype="Regular" />
<SetDataAction identifier="blockadeopened" value="1" />
<SetDataAction identifier="blockade_coldcaverns_separatists_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<Label name="retry" />
<ConversationAction text="eventtext.unlockpathcoldcavernsseparatists.c2" speakertag="unlockpathnpc" invokertag="unlock_player" dialogtype="Regular" eventsprite="captain">
<Option text="EventText.unlockpathcoldcaverns.o1">
<CheckMoneyAction amount="2000">
<Success>
<MoneyAction amount="-2000" />
<SetDataAction identifier="blockadeopened" value="1" />
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="eventtext.unlockpathcoldcavernsseparatists.o1.c1" eventsprite="captain" />
<SetDataAction identifier="blockade_coldcaverns_separatists_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="eventtext.unlockpathcoldcavernsseparatists.o1.nomoney" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="EventText.unlockpath.refusebribe">
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="eventtext.unlockpathcoldcavernsseparatists.o2.c1" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Option>
</ConversationAction>
</Failure>
</CheckReputationAction>
<Label name="skip" />
</ScriptedEvent>
<ScriptedEvent identifier="unlockpatheuropanridgeseparatists" commonness="1" unlockpathevent="true" unlockpathtooltip="lockedpathtooltipseparatistreputation" unlockpathreputation="40" faction="separatists" biome="europanridge">
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="watchmanseparatist" targettag="unlockpathnpc" spawnlocation="Outpost" spawnpointtag="unlockpath" />
<TriggerEventAction identifier="blockadealarm" />
<TriggerEventAction identifier="openblockade" />
<CheckDataAction identifier="blockade_europanridge_separatists_unlocked" condition="true">
<Success>
<Goto name="skip" />
</Success>
</CheckDataAction>
<CheckReputationAction targettype="Location" condition="gte 40">
<Success>
<ConversationAction text="eventtext.unlockpatheuropanridgeseparatists.c1" speakertag="unlockpathnpc" dialogtype="Regular" />
<SetDataAction identifier="blockadeopened" value="1" />
<SetDataAction identifier="blockade_europanridge_separatists_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<Label name="retry" />
<ConversationAction text="EventText.unlockpatheuropanridge.c2" speakertag="unlockpathnpc" invokertag="unlock_player" dialogtype="Regular" eventsprite="captain">
<Option text="EventText.unlockpatheuropanridge.o1">
<CheckMoneyAction amount="4000">
<Success>
<MoneyAction amount="-4000" />
<SetDataAction identifier="blockadeopened" value="1" />
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpatheuropanridge.o1.c1" eventsprite="captain" />
<SetDataAction identifier="blockade_europanridge_separatists_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpatheuropanridge.o1.nomoney" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="EventText.unlockpath.refusebribe">
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpatheuropanridge.o2.c1" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Option>
</ConversationAction>
</Failure>
</CheckReputationAction>
<Label name="skip" />
</ScriptedEvent>
<ScriptedEvent identifier="unlockpathaphoticplateauseparatists" commonness="1" unlockpathevent="true" unlockpathtooltip="lockedpathtooltipseparatistreputation" unlockpathreputation="50" faction="separatists" biome="theaphoticplateau">
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="watchmanseparatist" targettag="unlockpathnpc" spawnlocation="Outpost" spawnpointtag="unlockpath" />
<TriggerEventAction identifier="blockadealarm" />
<TriggerEventAction identifier="openblockade" />
<CheckDataAction identifier="blockade_aphoticplateau_separatists_unlocked" condition="true">
<Success>
<Goto name="skip" />
</Success>
</CheckDataAction>
<CheckReputationAction targettype="Location" condition="gte 50">
<Success>
<ConversationAction text="EventText.unlockpathaphoticplateauseparatists.c1" speakertag="unlockpathnpc" dialogtype="Regular" />
<SetDataAction identifier="blockadeopened" value="1" />
<SetDataAction identifier="blockade_aphoticplateau_separatists_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<Label name="retry" />
<ConversationAction text="EventText.unlockpathaphoticplateau.c2" speakertag="unlockpathnpc" invokertag="unlock_player" dialogtype="Regular" eventsprite="captain">
<Option text="EventText.unlockpathaphoticplateau.o1">
<CheckMoneyAction amount="8000">
<Success>
<MoneyAction amount="-8000" />
<SetDataAction identifier="blockadeopened" value="1" />
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="eventtext.unlockpathaphoticplateauseparatists.o1.c1" eventsprite="captain" />
<SetDataAction identifier="blockade_aphoticplateau_separatists_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathaphoticplateau.o1.nomoney" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="EventText.unlockpath.refusebribe">
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathaphoticplateau.o2.c1" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Option>
</ConversationAction>
</Failure>
</CheckReputationAction>
<Label name="skip" />
</ScriptedEvent>
<ScriptedEvent identifier="unlockpathgreatseaseparatists" commonness="1" unlockpathevent="true" unlockpathtooltip="lockedpathtooltipseparatistreputation" unlockpathreputation="75" faction="separatists" biome="thegreatsea">
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="watchmanseparatist" targettag="unlockpathnpc" spawnlocation="Outpost" spawnpointtag="unlockpath" />
<TriggerEventAction identifier="blockadealarm" />
<TriggerEventAction identifier="openblockade" />
<CheckDataAction identifier="blockade_greatsea_separatists_unlocked" condition="true">
<Success>
<Goto name="skip" />
</Success>
</CheckDataAction>
<CheckReputationAction targettype="Location" condition="gte 75">
<Success>
<ConversationAction text="eventtext.unlockpathgreatseaseparatists.c1" speakertag="unlockpathnpc" dialogtype="Regular" eventsprite="captain" />
<SetDataAction identifier="blockadeopened" value="1" />
<SetDataAction identifier="blockade_greatsea_separatists_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<Label name="retry" />
<ConversationAction text="EventText.unlockpathgreatsea.c2" speakertag="unlockpathnpc" invokertag="unlock_player" dialogtype="Regular" eventsprite="captain">
<Option text="EventText.unlockpathgreatsea.o1">
<CheckMoneyAction amount="16000">
<Success>
<MoneyAction amount="-16000" />
<SetDataAction identifier="blockadeopened" value="1" />
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathgreatsea.o1.c1" eventsprite="captain" />
<SetDataAction identifier="blockade_greatsea_separatists_unlocked" value="true" />
<TriggerEventAction identifier="opendoortoblockade" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
</Success>
<Failure>
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathgreatsea.o1.nomoney" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="EventText.unlockpath.refusebribe">
<ConversationAction speakertag="unlockpathnpc" waitforinteraction="false" targettag="unlock_player" text="EventText.unlockpathgreatsea.o2.c1" eventsprite="captain" />
<ClearTagAction tag="unlock_player" />
<GoTo name="retry" />
</Option>
</ConversationAction>
</Failure>
</CheckReputationAction>
<Label name="skip" />
</ScriptedEvent>
<!-- opens the door leading to blockade lever, triggered by events above -->
<ScriptedEvent identifier="opendoortoblockade" commonness="1">
<TagAction criteria="itemtag:blockadedoor" submarinetype="Outpost" tag="blockadedoor" />
<TagAction criteria="itemtag:blockadebutton" submarinetype="Outpost" tag="blockadebutton" />
<TagAction criteria="itemtag:blockadesensor" submarinetype="Outpost" tag="blockadesensor" />
<TagAction criteria="itemtag:blockadedoorstatus" tag="blockadedoorstatus" />
<StatusEffectAction targettag="blockadedoorstatus">
<StatusEffect target="this" lightcolor="0,255,0,255" setvalue="true" />
</StatusEffectAction>
<StatusEffectAction targettag="blockadebutton">
<StatusEffect target="this" noninteractable="true" setvalue="true" />
</StatusEffectAction>
<StatusEffectAction targettag="blockadesensor">
<StatusEffect target="This" targetitemcomponent="MotionSensor" isActive="false" />
<StatusEffect target="This" condition="-100" setvalue="true" />
</StatusEffectAction>
<WaitAction time="1" />
<StatusEffectAction targettag="blockadedoor">
<StatusEffect target="this" ShouldBeOpen="true" noninteractable="true" setvalue="true" />
</StatusEffectAction>
<SetDataAction identifier="blockadeopened" value="1" />
</ScriptedEvent>
<!-- simple event that unlocks the path by flicking a lever, allows forcing blockades open -->
<ScriptedEvent identifier="openblockade" commonness="1">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:blockadeswitch" submarinetype="Outpost" tag="blockadeswitch" />
<TutorialHighlightAction targetcharacter="player" targettag="blockadeswitch" />
<EventObjectiveAction targettag="player" type="add" identifier="eventtext.openblockade.gotolever" />
<Label name="retry" />
<CheckConditionalAction targettag="blockadeswitch" targetitemcomponent="Controller" State="True">
<Success>
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="this" noninteractable="true" setvalue="true" />
</StatusEffectAction>
<StatusEffectAction targettag="blockadeswitch">
<StatusEffect target="this">
<Sound file="Content/Items/Door/Door2.ogg" range="10000" dontmuffle="true" volume="3" frequencymultiplier="0.25" />
<Explosion range="5000.0" camerashake="2" stun="0" force="0.0" flames="false" smoke="false" flash="false" shockwave="false" sparks="false" underwaterbubble="false" />
</StatusEffect>
</StatusEffectAction>
<UnlockPathAction />
<EventObjectiveAction targettag="player" type="completeandremove" identifier="eventtext.openblockade.gotolever" />
</Success>
<Failure>
<WaitAction time="1" />
<Goto name="retry" />
</Failure>
</CheckConditionalAction>
</ScriptedEvent>
<!-- triggers alarm if it detects a player in the blockade hulls without negociating with NPC -->
<ScriptedEvent identifier="blockadealarm">
<CheckMissionAction MissionTag="outposttakeovermission" Type="Current">
<Success>
<!-- do not activate if takeover active -->
</Success>
<Failure>
<TagAction criteria="player" tag="player" />
<TagAction criteria="hullname:commandroom" tag="blockadehull" submarinetype="Outpost" />
<TagAction criteria="itemtag:securityalarm" submarinetype="Outpost" tag="alarm" />
<!-- spawns security in the blockade room -->
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="securitynpc[faction]" targettag="security" spawnlocation="Outpost" spawnpointtag="blockadehull" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="securitynpc[faction]" targettag="security" spawnlocation="Outpost" spawnpointtag="blockadehull" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="securitynpc[faction]" targettag="security" spawnlocation="Outpost" spawnpointtag="blockadehull" />
<TriggerAction target1tag="player" target2tag="blockadehull" applytotarget1="triggerer_player" radius="10" disableincombat="false" disableiftargetincapacitated="false" waitforinteraction="false" />
<CheckDataAction identifier="blockadeopened" condition="eq 1">
<Success>
<SetDataAction identifier="blockadeopened" value="0" />
</Success>
<Failure>
<StatusEffectAction targettag="alarm">
<StatusEffect IsOn="true" target="This" setvalue="true" />
</StatusEffectAction>
<StatusEffectAction targettag="security">
<StatusEffect target="this">
<Forcesay message="eventtext.blockadealarm.breakin" sayinradio="true" />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="blockadehull">
<StatusEffect target="this" duration="3">
<Sound file="Content/Sounds/Radiostatic.ogg" range="4000" volume="2" loop="true" />
</StatusEffect>
</StatusEffectAction>
<ReputationAction targettype="Location" increase="-25" />
<SetDataAction identifier="blockadeopened" value="0" />
<WaitAction time="1" />
<Label name="tagcombatloop" />
<TriggerAction target1tag="player" target2tag="blockadehull" applytotarget1="trespasser_player" radius="10" disableincombat="false" disableiftargetincapacitated="false" waitforinteraction="false" />
<CombatAction combatmode="Offensive" npctag="securitynpc" enemytag="trespasser_player" isinstigator="false" witnessreaction="retreat" cooldown="10" AbandonOnReset="false" />
<WaitAction time="5" />
<ClearTagAction tag="trespasser_player" />
<Goto name="tagcombatloop" />
</Failure>
</CheckDataAction>
</Failure>
</CheckMissionAction>
</ScriptedEvent>
<!--/////////////////// BANDIT EVENTS ////////////////
/////////////////// BANDIT EVENTS ////////////////
/////////////////// BANDIT EVENTS //////////////// -->
<!-- "Pirate toll"
When entering a pirate outpost, you have to pay a toll to get in. There are multiple options:
-Paying the toll gives access for a high cost.
-Haggling checks your Helm (charisma) skill, can lock you out of accessing the armory
-Plead checks your Helm (charisma) skill, get mugged you if you fail + no armory
If you have >20 coalition reputation, the costs are increased.
If you have >60 coalition reputation, the pirates wont let you in.
If you have <-13 bandit reputation (hostile), this doesnt trigger. -->
<ScriptedEvent identifier="pirateoutpostevent">
<TagAction criteria="player" tag="player" ContinueIfNoTargetsFound="true" />
<TagAction criteria="speciesname:Human" submarinetype="Outpost" team="FriendlyNPC" tag="piratenpc" ContinueIfNoTargetsFound="true" />
<TagAction criteria="speciesname:Human" submarinetype="Outpost" team="Team2" tag="piratenpc" ContinueIfNoTargetsFound="true" />
<TagAction criteria="itemtag:pirateentrance" tag="pirateentrance" ContinueIfNoTargetsFound="false" />
<TagAction criteria="itemtag:navterminal" tag="commsrelay" submarinetype="player" ContinueIfNoTargetsFound="true" />
<TagAction criteria="itemtag:piratechair" tag="piratechair" ContinueIfNoTargetsFound="true" />
<NPCChangeTeamAction npctag="piratenpc" teamtag="FriendlyNPC" />
<WaitAction time="1" />
<CheckReputationAction targettype="faction" identifier="bandits" condition="gte -12">
<!-- Must have over -12 pirate rep, if under pirates are hostile and event doesnt trigger -->
<Success>
<TriggerEventAction identifier="piratecheckfordead" />
<!-- continue -->
</Success>
<Failure>
<Goto name="end" />
</Failure>
</CheckReputationAction>
<CheckReputationAction targettype="faction" identifier="coalition" condition="gte 60">
<!-- Pirates turn hostile if too much coalition rep -->
<Success>
<NPCChangeTeamAction npctag="piratenpc" teamtag="Team2" />
<TriggerAction target1tag="commsrelay" target2tag="player" applytotarget2="listener_player" radius="300" waitforinteraction="true" />
<ConversationAction text="eventtext.commsrelay.piratehaven" dialogtype="Regular" targettag="listener_player" eventsprite="malfunction">
<Option text="eventtext.option.listen">
<ConversationAction text="eventtext.commsrelay.piratehaven.answer" dialogtype="Regular" targettag="listener_player" eventsprite="piratehaven" endconversation="true" ContinueAutomatically="true" />
<StatusEffectAction targettag="commsrelay">
<StatusEffect target="This" duration="10.2">
<Sound file="%ModDir:2532991202%/Sounds/Events/PirateBroadcast.ogg" range="500" volume="1" loop="true" />
</StatusEffect>
</StatusEffectAction>
</Option>
<Option text="eventtext.option.ignore" endconversation="true"></Option>
</ConversationAction>
</Success>
<!-- Choose to negociate or attack -->
<Failure>
<SpawnAction NPCSetIdentifier="outpostnpcspirate" NPCIdentifier="securitynpcpirate" TargetTag="guard" SpawnPointTag="guard" />
<SpawnAction NPCSetIdentifier="outpostnpcspirate" NPCIdentifier="securitynpcpirate" TargetTag="dockingguard" SpawnPointTag="dockingguard" />
<NPCOperateItemAction npctag="guard" targettag="piratechair" ItemComponentName="Controller" operate="true" />
<TriggerEventAction identifier="piratehavenalarm" />
<!-- Toll part -->
<Label name="tolloptions" />
<ClearTagAction tag="pso_trig_player" />
<TriggerAction target1tag="guard" target2tag="player" applytotarget2="pso_trig_player" radius="250" disableincombat="true" disableiftargetincapacitated="true" waitforinteraction="true" allowmultipletargets="true" />
<CheckReputationAction targettype="faction" identifier="coalition" condition="lt 20">
<Success>
<ConversationAction targettag="pso_trig_player" text="eventtext.piratesecurityofficer.toll.low.interact" eventsprite="piratehaven">
<!-- Pay the toll, get in, + reputation -->
<Option text="eventtext.piratesecurityofficer.highrep.pay.high">
<CheckMoneyAction Amount="1000">
<Success>
<MoneyAction amount="-1000" />
<ReputationAction targettype="Faction" identifier="bandits" increase="5" />
<ConversationAction text="eventtext.piratesecurityofficer.highrep.paytoll.success" targettag="pso_trig_player" eventsprite="piratehaven" />
<SetDataAction identifier="piratehavenunlocked" value="1" />
<StatusEffectAction targettag="pirateentrance">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
<ConversationAction text="eventtext.piratesecurityofficer.highrep.paytoll.success.extra.reputation" targettag="pso_trig_player" eventsprite="piratehaven">
<!-- Option to pay extra to lower your coalition reputation, but increase bandit reputation -->
<Option text="eventtext.piratesecurityofficer.highrep.paytoll.success.extra.reputation.buy">
<CheckMoneyAction Amount="1000">
<Success>
<MoneyAction amount="-1000" />
<ReputationAction targettype="Faction" identifier="coalition" increase="-20" />
<ReputationAction targettype="Faction" identifier="bandits" increase="5" />
<ConversationAction text="eventtext.piratesecurityofficer.highrep.paytoll.success.extra.reputation.buy.success" targettag="pso_trig_player" />
<ClearTagAction tag="pso_trig_player" />
</Success>
<Failure>
<ConversationAction text="eventtext.piratesecurityofficer.highrep.paytoll.success.extra.reputation.buy.failure" />
<ClearTagAction tag="pso_trig_player" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.option.leave">
<ConversationAction text="eventtext.piratesecurityofficer.highrep.paytoll.success.extra.reputation.declined" targettag="pso_trig_player" />
<ClearTagAction tag="pso_trig_player" />
</Option>
</ConversationAction>
</Success>
<!-- no money, loop back -->
<Failure>
<ConversationAction targettag="pso_trig_player" text="eventtext.piratesecurityofficer.highrep.paytoll.failure" />
<GoTo name="tolloptions" />
</Failure>
</CheckMoneyAction>
</Option>
<!-- Haggle (helm skill check) -->
<Option text="eventtext.piratesecurityofficer.highrep.pay.medium">
<CheckMoneyAction Amount="750">
<Success>
<SkillCheckAction requiredskill="helm" requiredlevel="60" targettag="pso_trig_player">
<!-- get in, armory unlocked -->
<Success>
<MoneyAction amount="-750" />
<ConversationAction text="eventtext.piratesecurityofficer.highrep.haggle.success" targettag="pso_trig_player" />
<SetDataAction identifier="piratehavenunlocked" value="1" />
<StatusEffectAction targettag="pirateentrance">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
<ClearTagAction tag="pso_trig_player" />
</Success>
<!-- get in, armory locked -->
<Failure>
<MoneyAction amount="-750" />
<ConversationAction targettag="pso_trig_player" text="eventtext.piratesecurityofficer.highrep.haggle.failure" />
<SetDataAction identifier="piratehavenunlocked" value="1" />
<StatusEffectAction targettag="pirateentrance">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
<ClearTagAction tag="pso_trig_player" />
<TriggerEventAction identifier="piratearmorylocked" />
</Failure>
</SkillCheckAction>
</Success>
<!-- no money, loop back -->
<Failure>
<ConversationAction targettag="pso_trig_player" text="eventtext.piratesecurityofficer.highrep.haggle.rejected" />
<GoTo name="tolloptions" />
</Failure>
</CheckMoneyAction>
</Option>
<!-- Plead. (very low success chance) -->
<Option text="eventtext.piratesecurityofficer.highrep.pay.low">
<CheckMoneyAction Amount="250">
<Success>
<SkillCheckAction requiredskill="helm" requiredlevel="100" targettag="pso_trig_player">
<!-- Get in, armory locked -->
<Success>
<MoneyAction amount="-250" />
<ConversationAction text="eventtext.piratesecurityofficer.highrep.plead.success" targettag="pso_trig_player" />
<SetDataAction identifier="piratehavenunlocked" value="1" />
<StatusEffectAction targettag="pirateentrance">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
<ClearTagAction tag="pso_trig_player" />
<TriggerEventAction identifier="piratearmorylocked" />
</Success>
<!-- get mugged by guards, armory locked (you have no rizz) -->
<Failure>
<MoneyAction amount="-250" />
<CheckItemAction targettag="pso_trig_player" itemtags="clothing" applytagtoitem="playerclothes">
<Success>
<Label name="removeclothes" />
<ConversationAction targettag="pso_trig_player" text="eventtext.piratesecurityofficer.highrep.plead.undress">
<Option text="eventtext.piratesecurityofficer.highrep.plead.UhOh">
<ConversationAction targettag="pso_trig_player" text="eventtext.piratesecurityofficer.highrep.plead.failure" fadetoblack="true" ContinueAutomatically="true" />
<Waitaction time="1" />
<AfflictionAction targettag="pso_trig_player" affliction="stun" strength="6" />
<AfflictionAction targettag="pso_trig_player" affliction="blunttrauma" strength="3" limbtype="head" />
<StatusEffectAction targettag="playerclothes">
<StatusEffect target="This" spawnedincurrentoutpost="true" allowstealing="false" setvalue="true">
<DropItem />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="pso_trig_player">
<StatusEffect target="This">
<Sound file="Content/Sounds/Damage/Limbblunt4.ogg" range="800" volume="2" frequencymultiplier="1" />
<Sound file="Content/Sounds/Impact/SoftImpact1.ogg" range="800" volume="3" frequencymultiplier="1" />
<Sound file="Content/Items/Medical/Bandage2.ogg" range="800" volume="2" frequencymultiplier="0.5" />
</StatusEffect>
</StatusEffectAction>
<SetDataAction identifier="piratehavenunlocked" value="1" />
<StatusEffectAction targettag="pirateentrance">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
<CombatAction combatmode="Arrest" npctag="dockingguard" enemytag="pso_trig_player" isinstigator="true" guardreaction="none" witnessreaction="none" />
<ClearTagAction tag="pso_trig_player" />
<TriggerEventAction identifier="piratearmorylocked" />
</Option>
</ConversationAction>
</Success>
<Failure>
<Goto name="removeclothes" />
</Failure>
</CheckItemAction>
</Failure>
</SkillCheckAction>
</Success>
<!-- no money, NPC attacks -->
<Failure>
<StatusEffectAction targettag="guard">
<StatusEffect target="this">
<Forcesay message="eventtext.piratesecurityofficer.highrep.plead.rejected" sayinradio="false" />
</StatusEffect>
</StatusEffectAction>
<ConversationAction targettag="pso_trig_player" text="eventtext.piratesecurityofficer.highrep.plead.rejected" eventsprite="piratehaven" endconversation="true" ContinueAutomatically="true" />
<WaitAction time="1" />
<GoTo name="attack" />
</Failure>
</CheckMoneyAction>
</Option>
<!-- insult, NPC attacks, lose reputation -->
<Option text="eventtext.piratesecurityofficer.toll.option.insult" endconversation="true">
<ReputationAction targettype="faction" identifier="bandits" increase="-2" />
<StatusEffectAction targettag="guard">
<StatusEffect target="this">
<Forcesay message="eventtext.piratesecurityofficer.toll.option.insult.answer" sayinradio="false" />
</StatusEffect>
</StatusEffectAction>
<GoTo name="attack" />
</Option>
</ConversationAction>
</Success>
<Failure>
<!-- If large coalition rep, toll price is increased -->
<CheckReputationAction targettype="faction" identifier="coalition" condition="lt 60">
<Success>
<ConversationAction targettag="pso_trig_player" text="eventtext.piratesecurityofficer.toll.high.interact" eventsprite="piratehaven">
<!-- Pay the toll, get in, + reputation -->
<Option text="eventtext.piratesecurityofficer.lowrep.pay.high">
<CheckMoneyAction Amount="2000">
<Success>
<MoneyAction amount="-2000" />
<ConversationAction text="eventtext.piratesecurityofficer.lowrep.paytoll.success" targettag="pso_trig_player" />
<SetDataAction identifier="piratehavenunlocked" value="1" />
<StatusEffectAction targettag="pirateentrance">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
<ReputationAction targettype="Faction" identifier="coalition" increase="-5" />
<ReputationAction targettype="Faction" identifier="bandits" increase="5" />
<ConversationAction text="eventtext.piratesecurityofficer.lowrep.paytoll.success.extra.reputation" targettag="pso_trig_player">
<!-- Option to pay extra to lower your coalition reputation, but increase bandit reputation -->
<Option text="eventtext.piratesecurityofficer.lowrep.paytoll.success.extra.reputation.buy">
<CheckMoneyAction Amount="1000">
<Success>
<MoneyAction amount="-1000" />
<ReputationAction targettype="Faction" identifier="coalition" increase="-20" />
<ReputationAction targettype="Faction" identifier="bandits" increase="5" />
<ConversationAction text="eventtext.piratesecurityofficer.lowrep.paytoll.success.extra.reputation.buy.success" targettag="pso_trig_player" />
<ClearTagAction tag="pso_trig_player" />
</Success>
<Failure>
<ConversationAction text="eventtext.piratesecurityofficer.lowrep.paytoll.success.extra.reputation.buy.failure" />
<ClearTagAction tag="pso_trig_player" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.option.leave">
<ConversationAction text="eventtext.piratesecurityofficer.lowrep.paytoll.success.extra.reputation.declined" targettag="pso_trig_player" />
<ClearTagAction tag="pso_trig_player" />
</Option>
</ConversationAction>
</Success>
<!-- no money, loop back -->
<Failure>
<ConversationAction targettag="pso_trig_player" text="eventtext.piratesecurityofficer.lowrep.paytoll.failure" />
<GoTo name="tolloptions" />
</Failure>
</CheckMoneyAction>
</Option>
<!-- Haggle, checks money then helm -->
<Option text="eventtext.piratesecurityofficer.lowrep.pay.medium">
<CheckMoneyAction Amount="1500">
<Success>
<SkillCheckAction requiredskill="helm" requiredlevel="60" targettag="pso_trig_player">
<!-- Get in, armory unlocked -->
<Success>
<MoneyAction amount="-1500" />
<ConversationAction text="eventtext.piratesecurityofficer.lowrep.haggle.success" targettag="pso_trig_player" />
<SetDataAction identifier="piratehavenunlocked" value="1" />
<StatusEffectAction targettag="pirateentrance">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
<ClearTagAction tag="pso_trig_player" />
</Success>
<!-- Get in, armory locked -->
<Failure>
<MoneyAction amount="-1500" />
<ConversationAction targettag="pso_trig_player" text="eventtext.piratesecurityofficer.lowrep.haggle.failure" />
<SetDataAction identifier="piratehavenunlocked" value="1" />
<StatusEffectAction targettag="pirateentrance">
<StatusEffect target="This" State="true" setvalue="true" disabledeltatime="true" />
</StatusEffectAction>
<ClearTagAction tag="pso_trig_player" />
<TriggerEventAction identifier="piratearmorylocked" />
</Failure>
</SkillCheckAction>
</Success>
<Failure>
<SkillCheckAction requiredskill="helm" requiredlevel="60" targettag="pso_trig_player">
<Success>
<!-- no money, loop back -->
<ConversationAction targettag="pso_trig_player" text="eventtext.piratesecurityofficer.highrep.haggle.rejected" />
<GoTo name="tolloptions" />
</Success>
<Failure>
<!-- no money, NPC attacks -->
<StatusEffectAction targettag="guard">
<StatusEffect target="this">
<Forcesay message="eventtext.piratesecurityofficer.toll.high.haggle.rejected" sayinradio="false" />
</StatusEffect>
</StatusEffectAction>
<GoTo name="attack" />
</Failure>
</SkillCheckAction>
</Failure>
</CheckMoneyAction>
</Option>
<!-- insult, NPC attacks, lose reputation -->
<Option text="eventtext.piratesecurityofficer.toll.option.insult" endconversation="true">
<ReputationAction targettype="Faction" identifier="bandits" increase="-2" />
<StatusEffectAction targettag="guard">
<StatusEffect target="this">
<Forcesay message="eventtext.piratesecurityofficer.toll.option.insult.answer" sayinradio="false" />
</StatusEffect>
</StatusEffectAction>
<Label name="attack" />
<WaitAction time="2" />
<CombatAction combatmode="Offensive" npctag="guard" enemytag="pso_trig_player" isinstigator="false" guardreaction="none" witnessreaction="none" cooldown="10" />
<CombatAction combatmode="Arrest" npctag="dockingguard" enemytag="pso_trig_player" isinstigator="false" guardreaction="none" witnessreaction="none" cooldown="10" />
<WaitAction time="11" />
<GoTo name="tolloptions" />
</Option>
</ConversationAction>
</Success>
</CheckReputationAction>
</Failure>
</CheckReputationAction>
</Failure>
</CheckReputationAction>
<Label name="end" />
</ScriptedEvent>
<!-- triggers alarm if it detects a player in the pirate outpost without negociating with the toll NPC -->
<!-- TODO: simplify hull tagging? -->
<ScriptedEvent identifier="piratehavenalarm">
<TagAction criteria="player" tag="player" />
<TagAction criteria="hullname:armory" tag="piratehull" submarinetype="Outpost" ContinueIfNoTargetsFound="true" />
<TagAction criteria="hullname:centralaccessshaft" tag="piratehull" submarinetype="Outpost" ContinueIfNoTargetsFound="true" />
<TagAction criteria="hullname:centralaccesspassage" tag="piratehull" submarinetype="Outpost" ContinueIfNoTargetsFound="true" />
<TagAction criteria="hullname:crewquarters" tag="piratehull" submarinetype="Outpost" ContinueIfNoTargetsFound="true" />
<TagAction criteria="hullname:electrical" tag="piratehull" submarinetype="Outpost" ContinueIfNoTargetsFound="true" />
<TagAction criteria="hullname:engineering" tag="piratehull" submarinetype="Outpost" ContinueIfNoTargetsFound="true" />
<TagAction criteria="hullname:medbay" tag="piratehull" submarinetype="Outpost" ContinueIfNoTargetsFound="true" />
<TagAction criteria="hullname:reactorroom" tag="piratehull" submarinetype="Outpost" ContinueIfNoTargetsFound="true" />
<TagAction criteria="hullname:research" tag="piratehull" submarinetype="Outpost" ContinueIfNoTargetsFound="true" />
<TagAction criteria="hullname:subtopright" tag="piratehull" submarinetype="Outpost" ContinueIfNoTargetsFound="true" />
<TagAction criteria="speciesname:Human" submarinetype="Outpost" team="FriendlyNPC" tag="piratenpc" />
<TagAction criteria="itemtag:securityalarm" submarinetype="Outpost" tag="alarm" />
<TriggerAction target1tag="player" target2tag="piratehull" applytotarget1="triggerer_player" radius="10" disableincombat="false" disableiftargetincapacitated="false" waitforinteraction="false" allowmultipletargets="true" />
<CheckDataAction identifier="piratehavenunlocked" condition="eq 1">
<Success>
<SetDataAction identifier="piratehavenunlocked" value="0" />
</Success>
<Failure>
<StatusEffectAction targettag="alarm">
<StatusEffect IsOn="true" target="This" setvalue="true" />
</StatusEffectAction>
<ConversationAction targettag="player" text="eventtext.piratehavenalarm.breakin" dialogtype="small" eventsprite="firefight" ContinueAutomatically="true" />
<StatusEffectAction targettag="piratehull">
<StatusEffect target="this" duration="3" oneshot="true">
<Sound file="Content/Sounds/Radiostatic.ogg" range="4000" volume="2" loop="true" />
</StatusEffect>
</StatusEffectAction>
<ReputationAction targettype="Location" increase="-5" />
<NPCChangeTeamAction npctag="piratenpc" teamtag="Team2" />
<SetDataAction identifier="piratehavenunlocked" value="0" />
</Failure>
</CheckDataAction>
</ScriptedEvent>
<!-- If you didn't pay enough at the toll, the armory is locked and you have to pay extra to get inside -->
<ScriptedEvent identifier="piratearmorylocked">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:armorybutton" tag="armorybutton" SubmarineType="Outpost" ContinueIfNoTargetsFound="false" />
<TagAction criteria="itemtag:armorydoor" tag="armorydoor" SubmarineType="Outpost" ContinueIfNoTargetsFound="false" />
<SetDataAction identifier="armorylocked" value="1" />
<StatusEffectAction targettag="armorybutton">
<StatusEffect target="this" noninteractable="true" setvalue="true" />
</StatusEffectAction>
<StatusEffectAction targettag="armorydoor">
<StatusEffect target="this" IsOpen="false" setvalue="true" />
</StatusEffectAction>
<TriggerEventAction identifier="piratearmoryalarm" />
<TriggerAction target1tag="player" target2tag="armorydoor" applytotarget1="triggerer_player" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="eventtext.piratearmorylocked.doorlocked" eventsprite="piratehaven">
<Option text="eventtext.piratearmorylocked.howmuch">
<GoTo name="payarmoryskiptrigger" />
<Label name="payarmory" />
<TriggerAction target1tag="player" target2tag="armorydoor" applytotarget1="triggerer_player" waitforinteraction="true" />
<Label name="payarmoryskiptrigger" />
<ConversationAction targettag="triggerer_player" text="eventtext.piratearmorylocked.500mk" eventsprite="piratehaven">
<Option text="eventtext.piratearmorylocked.Pay">
<CheckMoneyAction targettag="triggerer_player" Amount="500">
<Success>
<MoneyAction amount="-500" />
<ConversationAction targettag="triggerer_player" text="eventtext.piratearmorylocked.dooropens" eventsprite="piratehaven" />
<StatusEffectAction targettag="armorybutton">
<StatusEffect target="this" noninteractable="false" setvalue="true" />
</StatusEffectAction>
<SetDataAction identifier="armorylocked" value="0" />
</Success>
<Failure>
<ConversationAction targettag="triggerer_player" text="eventtext.piratearmorylocked.nomoney" endconversation="true" eventsprite="piratehaven" />
<ClearTagAction tag="triggerer_player" />
<GoTo name="payarmory" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.piratearmorylocked.noway">
<ConversationAction targettag="triggerer_player" text="eventtext.piratearmorylocked.comeback" endconversation="true" eventsprite="piratehaven" />
<ClearTagAction tag="triggerer_player" />
<Goto name="payarmory" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</ScriptedEvent>
<!-- triggers an alarm if you break into the armory stash -->
<ScriptedEvent identifier="piratearmoryalarm">
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:armorydoor" tag="armorydoor" SubmarineType="Outpost" />
<TagAction criteria="hullname:armory" tag="armory" submarinetype="Outpost" />
<TagAction criteria="itemtag:securityalarm" submarinetype="Outpost" tag="alarm" />
<TriggerAction target1tag="player" target2tag="armory" applytotarget1="triggerer_player" radius="10" waitforinteraction="false" />
<CheckDataAction identifier="armorylocked" condition="eq 0">
<Success>
<!-- Do nothing -->
</Success>
<Failure>
<StatusEffectAction targettag="alarm">
<StatusEffect IsOn="true" target="This" setvalue="true" />
</StatusEffectAction>
<ConversationAction targettag="player" text="eventtext.piratearmoryalarm.breakin" dialogtype="small" eventsprite="firefight" ContinueAutomatically="true" />
<ReputationAction targettype="Location" increase="-35" />
<StatusEffectAction targettag="armorydoor">
<StatusEffect target="this" IsOpen="true" noninteractable="true" setvalue="true" />
</StatusEffectAction>
</Failure>
</CheckDataAction>
</ScriptedEvent>
<!-- triggers an alarm if you break into the armory stash. -->
<ScriptedEvent identifier="piratestashalarm">
<TagAction criteria="player" tag="player" ContinueIfNoTargetsFound="true" />
<TagAction criteria="speciesname:Human" submarinetype="Outpost" team="FriendlyNPC" tag="piratenpc" />
<TagAction criteria="humanprefabidentifier:securitynpcpirate" tag="security" ChoosePercentage="100" ContinueIfNoTargetsFound="true" />
<TagAction criteria="hullname:armory" tag="armory" submarinetype="Outpost" />
<NPCChangeTeamAction npctag="piratenpc" teamtag="Team2" />
<NPCFollowAction npctag="security" targettag="armory" follow="true" priority="10" />
<CombatAction combatmode="Offensive" npctag="security" enemytag="player" isinstigator="true" guardreaction="none" witnessreaction="none" />
</ScriptedEvent>
<!-- Loop that checks if enough pirates are dead and flips them to team2 -->
<ScriptedEvent identifier="piratecheckfordead">
<WaitAction time="5" />
<TagAction criteria="player" tag="player" ContinueIfNoTargetsFound="true" />
<TagAction criteria="speciesname:Human" submarinetype="Outpost" team="FriendlyNPC" tag="outpostpirate" />
<Label name="recheck" />
<CountTargetsAction targettag="outpostpirate" CompareToTarget="outpostpirate" MinPercentageRelativeToTarget="10">
<Conditional isdead="True" />
<Success>
<NPCChangeTeamAction npctag="outpostpirate" teamtag="Team2" />
</Success>
<Failure>
<WaitAction time="1" />
<Goto name="recheck" />
</Failure>
</CountTargetsAction>
</ScriptedEvent>
<!-- spawns one exosuit pirate in armory if hostile reputation (includes high coalition rep) -->
<ScriptedEvent identifier="spawnexopiratelowrep_bandits">
<TagAction criteria="player" tag="player" />
<CheckReputationAction TargetType="Faction" identifier="bandits" condition="lte -13">
<Success>
<SpawnAction NPCSetIdentifier="pirate_npcs" NPCIdentifier="pirateannihilator" teamid="Team2" SpawnLocation="Outpost" targetmoduletags="ArmoryPirate" spawnpointtag="pirateexosuit" TargetTag="extrapirate" />
</Success>
<Failure>
<CheckReputationAction TargetType="Faction" identifier="coalition" condition="gte 60">
<Success>
<SpawnAction NPCSetIdentifier="pirate_npcs" NPCIdentifier="pirateannihilator" teamid="Team2" SpawnLocation="Outpost" targetmoduletags="ArmoryPirate" spawnpointtag="pirateexosuit" TargetTag="extrapirate" />
</Success>
</CheckReputationAction>
</Failure>
</CheckReputationAction>
</ScriptedEvent>
<!-- Pirate informant
You can pay the pirate manager to access a cargo robbing mission -->
<ScriptedEvent identifier="piratemissioninformant" commonness="100">
<TagAction criteria="player" tag="player" />
<Label name="waitforinput" />
<ClearTagAction tag="pmi_trig_player" />
<TriggerAction target1tag="outpostmanagerpirate" target2tag="player" applytotarget2="pmi_trig_player" radius="200" waitforinteraction="true" />
<ConversationAction targettag="pmi_trig_player" text="eventtext.piratemissioninformant.interact" eventsprite="banditcaptain">
<Option text="eventtext.piratemissioninformant.option.buy">
<CheckMoneyAction Amount="1000">
<Success>
<MoneyAction amount="-1000" />
<ConversationAction targettag="pmi_trig_player" text="eventtext.piratemissioninformant.option.buy.success" eventsprite="banditcaptain" />
<MissionAction missiontag="coalitionciv" />
</Success>
<Failure>
<ConversationAction targettag="pmi_trig_player" text="eventtext.piratemissioninformant.option.buy.failure" eventsprite="banditcaptain" />
<GoTo name="waitforinput" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.option.leave">
<ConversationAction text="eventtext.general.decline" targettag="pmi_trig_player" />
<GoTo name="waitforinput" />
</Option>
</ConversationAction>
</ScriptedEvent>
<!-- "Orangeboy combat"
A NPC talks and follows you around in the outpost as a distraction while pirate divers spawn and invade your ship from the airlock -->
<ScriptedEvent identifier="orangecombat">
<CheckDataAction identifier="orangecombatnorepeat" condition="eq 0">
<!-- <Failure>
<Goto name="end" />
</Failure> -->
</CheckDataAction>
<TagAction criteria="player" tag="player" />
<SpawnAction npcsetidentifier="outpostnpcspirate" npcidentifier="commonerpirate" targettag="orangegambler1" spawnlocation="Outpost" targetmoduletags="crewpirate" spawnpointtag="pirateambusher" />
<SpawnAction npcsetidentifier="outpostnpcspirate" npcidentifier="commonerpirate" targettag="orangegambler2" spawnlocation="Outpost" targetmoduletags="crewpirate" spawnpointtag="orangegambler1" />
<NPCWaitAction npctag="orangegambler1" wait="true" priority="90" />
<NPCFollowAction npctag="orangegambler2" targettag="orangegambler1" priority="90" follow="true" />
<!-- spawn and color crates -->
<SpawnAction itemidentifier="metalcrate" targetinventory="orangegambler1" targettag="tylercrate" />
<SpawnAction itemidentifier="metalcrate" targetinventory="orangegambler2" targettag="durdencrate" />
<StatusEffectAction targettag="tylercrate">
<StatusEffect target="this" spritecolor="255,120,110" setvalue="true" />
</StatusEffectAction>
<StatusEffectAction targettag="durdencrate">
<StatusEffect target="this" spritecolor="150,255,230" setvalue="true" />
</StatusEffectAction>
<Label name="talktonpc" />
<ClearTagAction tag="triggerer_player" />
<TriggerAction target1tag="player" target2tag="orangegambler1" applytotarget1="triggerer_player" radius="50" waitforinteraction="true" />
<SetDataAction identifier="orangecombatnorepeat" operation="set" value="1" />
<ConversationAction targettag="triggerer_player" text="eventtext.orangecombat.cheering" endeventifinterrupted="false" dialogtype="regular" eventsprite="piratehaven">
<Option text="eventtext.orangecombat.whatsthis">
<ConversationAction targettag="triggerer_player" text="eventtext.orangecombat.petfighters" endeventifinterrupted="false" dialogtype="regular" eventsprite="bandittalk" />
<Goto name="skiptrigger" />
<Label name="gamblingloop" />
<TriggerAction target1tag="player" target2tag="orangegambler1" applytotarget1="triggerer_player" radius="50" waitforinteraction="true" />
<Label name="skiptrigger" />
<ConversationAction targettag="triggerer_player" text="eventtext.orangecombat.gambling" endeventifinterrupted="false" dialogtype="regular" eventsprite="bandittalk">
<Option text="eventtext.orangecombat.picktyler">
<CheckMoneyAction targettag="triggerer_player" Amount="300">
<Success>
<MoneyAction targettag="triggerer_player" amount="-300" />
<ConversationAction targettag="triggerer_player" text="eventtext.orangecombat.betsareoff" endconversation="true" />
<WaitAction time="1" />
<!-- spawn the orangeboys, give name tags, effects on crate -->
<SpawnAction SpeciesName="orangeboy_combat" targettag="orangetyler" SpawnLocation="Outpost" SpawnPointTag="tylercrate" teamid="Team2" />
<SpawnAction SpeciesName="orangeboy_combat" targettag="orangedurden" SpawnLocation="Outpost" SpawnPointTag="durdencrate" teamid="Team2" />
<StatusEffectAction targettag="tylercrate">
<StatusEffect target="this">
<Sound file="Content/Items/Door/Doorbreak1.ogg" range="500" frequencymultiplier="2" volume="2" />
<ParticleEmitter particle="shrapnel" particleamount="15" velocitymin="50" velocitymax="150" anglemin="0" anglemax="360" scalemin="0.5" scalemax="1" colormultiplier="255,255,255,180" />
<Remove />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="durdencrate">
<StatusEffect target="this">
<Sound file="Content/Items/Door/Doorbreak2.ogg" range="500" frequencymultiplier="2" volume="2" />
<ParticleEmitter particle="shrapnel" particleamount="20" velocitymin="50" velocitymax="150" anglemin="0" anglemax="360" scalemin="0.75" scalemax="2" colormultiplier="255,255,255,180" />
<Remove />
</StatusEffect>
</StatusEffectAction>
<CheckItemAction targettag="orangetyler" itemidentifiers="petnametag" ApplyTagToItem="tylertag" />
<CheckItemAction targettag="orangedurden" itemidentifiers="petnametag" ApplyTagToItem="durdentag" />
<StatusEffectAction targettag="tylertag">
<StatusEffect target="This" WrittenName="Tyler" setvalue="true" />
</StatusEffectAction>
<StatusEffectAction targettag="durdentag">
<StatusEffect target="This" WrittenName="Durden" setvalue="true" />
</StatusEffectAction>
<!-- I am giving those idiots a genetic affliction to trigger their attack in their AI. It's an absurd roundabout way of doing it -->
<TagAction criteria="speciesname:orangeboy_combat" tag="fighters" />
<AfflictionAction targettag="fighters" affliction="strengthen" strength="100" />
<CombatAction combatmode="Offensive" npctag="orangetyler" enemytag="orangedurden" isinstigator="true" witnessreaction="none" AbandonOnReset="false" />
<CombatAction combatmode="Offensive" npctag="orangedurden" enemytag="orangetyler" isinstigator="true" witnessreaction="none" AbandonOnReset="false" />
<SetDataAction identifier="betontyler" operation="set" value="1" />
<GoTo name="checkorangedeadloop" />
</Success>
<Failure>
<ConversationAction targettag="triggerer_player" text="eventtext.orangecombat.nomoney" />
<ClearTagAction tag="triggerer_player" />
<GoTo name="gamblingloop" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.orangecombat.pickdurden">
<CheckMoneyAction targettag="triggerer_player" Amount="300">
<Success>
<MoneyAction targettag="triggerer_player" amount="-300" />
<ConversationAction targettag="triggerer_player" text="eventtext.orangecombat.betsareoff" endconversation="true" />
<WaitAction time="3" />
<NPCWaitAction npctag="fighters" wait="false" priority="100" />
<AfflictionAction targettag="fighters" affliction="paralysis" strength="-100" />
<CombatAction combatmode="Offensive" npctag="orangetyler" enemytag="orangedurden" isinstigator="true" witnessreaction="none" />
<CombatAction combatmode="Offensive" npctag="orangedurden" enemytag="orangetyler" isinstigator="true" witnessreaction="none" />
<SetDataAction identifier="betondurden" operation="set" value="1" />
<GoTo name="checkorangedeadloop" />
</Success>
<Failure>
<ConversationAction targettag="triggerer_player" text="eventtext.orangecombat.nomoney" />
<ClearTagAction tag="triggerer_player" />
<GoTo name="gamblingloop" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.generic.ignore" endconversation="true">
<ClearTagAction tag="triggerer_player" />
<GoTo name="gamblingloop" />
</Option>
</ConversationAction>
</Option>
<Option text="eventtext.generic.ignore" endconversation="true">
<GoTo name="talktonpc" />
</Option>
</ConversationAction>
<!-- check for dead orangeboys, make sure they werent attacked or grabbed by players, or NPCs will attack you
4 seconds of grabbing is enough -->
<Label name="checkorangedeadloop" />
<WaitAction time="1" />
<CheckSelectedAction targettag="fighters" charactertag="player">
<Success>
<SetDataAction identifier="touchedorangeboys" operation="add" value="1" />
<StatusEffectAction targettag="orangegambler1">
<StatusEffect target="this">
<Forcesay message="eventtext.orangecombat.dropit" sayinradio="false" />
</StatusEffect>
</StatusEffectAction>
</Success>
</CheckSelectedAction>
<CheckAfflictionAction identifier="gunshotwound" targettag="fighters" minstrength="1">
<Success>
<SetDataAction identifier="touchedorangeboys" operation="set" value="4" />
</Success>
</CheckAfflictionAction>
<CheckAfflictionAction identifier="lacerations" targettag="fighters" minstrength="1">
<Success>
<SetDataAction identifier="touchedorangeboys" operation="set" value="4" />
</Success>
</CheckAfflictionAction>
<CheckAfflictionAction identifier="blunttrauma" targettag="fighters" minstrength="10">
<Success>
<SetDataAction identifier="touchedorangeboys" operation="set" value="4" />
</Success>
</CheckAfflictionAction>
<CheckDataAction identifier="touchedorangeboys" condition="neq 4">
<Success>
<CheckConditionalAction targettag="orangetyler" IsDead="true">
<Success>
<CheckDataAction identifier="betondurden" condition="eq 1">
<Success>
<ConversationAction targettag="triggerer_player" text="eventtext.orangecombat.youwon" dialogtype="small" endconversation="true" eventsprite="bandittalk" />
<MoneyAction targettag="triggerer_player" amount="600" />
<SetDataAction identifier="orangePETAcounter" operation="add" value="1" />
<Goto name="end" />
</Success>
<Failure>
<ConversationAction targettag="triggerer_player" text="eventtext.orangecombat.youlost" dialogtype="small" endconversation="true" eventsprite="bandittalk" />
<Goto name="end" />
</Failure>
</CheckDataAction>
</Success>
</CheckConditionalAction>
<CheckConditionalAction targettag="orangedurden" IsDead="true">
<Success>
<CheckDataAction identifier="betontyler" condition="eq 1">
<Success>
<ConversationAction targettag="triggerer_player" text="eventtext.orangecombat.youwon" dialogtype="small" endconversation="true" eventsprite="bandittalk" />
<MoneyAction targettag="triggerer_player" amount="600" />
<SetDataAction identifier="orangePETAcounter" operation="add" value="1" />
<Goto name="end" />
</Success>
<Failure>
<ConversationAction targettag="triggerer_player" text="eventtext.orangecombat.youlost" dialogtype="small" endconversation="true" eventsprite="bandittalk" />
<Goto name="end" />
</Failure>
</CheckDataAction>
</Success>
</CheckConditionalAction>
<Goto name="checkorangedeadloop" />
</Success>
<Failure>
<StatusEffectAction targettag="orangegambler1">
<StatusEffect target="this">
<Forcesay message="eventtext.orangecombat.dontmess" sayinradio="false" />
</StatusEffect>
</StatusEffectAction>
<TagAction criteria="player" tag="player" />
<CombatAction combatmode="Offensive" npctag="orangegambler1" enemytag="player" isinstigator="false" witnessreaction="Retreat" />
<CombatAction combatmode="Offensive" npctag="orangegambler2" enemytag="player" isinstigator="false" witnessreaction="Retreat" />
</Failure>
</CheckDataAction>
<!-- end -->
<Label name="end" />
<OnRoundEndAction>
<StatusEffectAction targettag="fighters">
<StatusEffect type="Always" target="Character">
<RemoveCharacter />
</StatusEffect>
</StatusEffectAction>
</OnRoundEndAction>
</ScriptedEvent>
<!-- "Pirate Divers"
A NPC talks and follows you around in the outpost as a distraction while pirate divers spawn and invade your ship from the airlock -->
<ScriptedEvent identifier="piratediversoutpost">
<CheckDataAction identifier="piratediversnorepeat" condition="eq 0">
<Failure></Failure>
<Success>
<CheckReputationAction targettype="faction" identifier="bandits" condition="lt -5">
<Success>
<TagAction criteria="hullname:airlock" tag="airlock" submarinetype="Player" />
<TagAction criteria="hullname:airlock" tag="airlock" submarinetype="Outpost" />
<TagAction criteria="itemtag:navterminal" tag="navterminal" SubmarineType="Player" chooserandom="true" />
<TagAction criteria="player" tag="player" />
<TagAction criteria="crew" tag="crew" />
<WaitAction time="10" />
<SpawnAction npcsetidentifier="outpostnpcspirate" npcidentifier="commonerpirate" targettag="pirateambusher" spawnlocation="Outpost" targetmoduletags="crewpirate" spawnpointtag="pirateambusher" />
<TriggerAction target1tag="player" target2tag="pirateambusher" applytotarget1="playertofollow" radius="50" waitforinteraction="false" />
<NPCFollowAction npctag="pirateambusher" targettag="playertofollow" follow="true" />
<ConversationAction targettag="playertofollow" text="eventtext.piratediversoutpost.meetambusher" endeventifinterrupted="false" dialogtype="Small" eventsprite="bandittalk">
<Option text="eventtext.piratediversoutpost.agree" endconversation="true">
<Label name="dialogstep2" />
<NPCFollowAction npctag="pirateambusher" targettag="playertofollow" follow="true" />
<WaitAction time="5" />
<TriggerAction target1tag="pirateambusher" target2tag="player" applytotarget2="playertofollow" radius="150" waitforinteraction="false" />
<ConversationAction text="eventtext.piratediversoutpost.Iwascaptain" eventsprite="bandittalk" />
<WaitAction time="5" />
<TriggerAction target1tag="pirateambusher" target2tag="player" applytotarget2="playertofollow" radius="150" waitforinteraction="false" />
<ConversationAction text="eventtext.piratediversoutpost.Iwascaptain2" eventsprite="bandittalk">
<Option text="eventtext.piratediversoutpost.goodluck" endconversation="true">
<Label name="dialogstep3" />
<NPCFollowAction npctag="pirateambusher" targettag="playertofollow" follow="true" />
<WaitAction time="5" />
<TriggerAction target1tag="pirateambusher" target2tag="player" applytotarget2="playertofollow" radius="150" waitforinteraction="false" />
<ConversationAction text="eventtext.piratediversoutpost.offersbooze" eventsprite="bandittalk">
<Option text="eventtext.piratediversoutpost.takebooze">
<ConversationAction text="eventtext.piratediversoutpost.drinkup" eventsprite="bandittalk" />
<SpawnAction itemidentifier="he-rum" targetinventory="playertofollow" />
<SpawnAction itemidentifier="he-rum" targetinventory="playertofollow" />
<SpawnAction itemidentifier="he-rum" targetinventory="playertofollow" />
<NPCFollowAction npctag="pirateambusher" targettag="playertofollow" follow="false" />
<!-- Go to part 2 -->
<GoTo name="pirateinvaders" />
</Option>
<Option text="eventtext.piratediversoutpost.getthehelloff">
<ConversationAction text="eventtext.piratediversoutpost.dontgetalong" eventsprite="bandittalk" endconversation="true" />
<NPCFollowAction npctag="pirateambusher" targettag="playertofollow" follow="false" />
<!-- Go to part 2 -->
<GoTo name="pirateinvaders" />
</Option>
</ConversationAction>
</Option>
<Option text="eventtext.piratediversoutpost.dontcare" endconversation="true">
<GoTo name="dialogstep3" />
</Option>
</ConversationAction>
</Option>
<Option text="eventtext.piratediversoutpost.buggeroff" endconversation="true">
<GoTo name="dialogstep2" />
</Option>
</ConversationAction>
<!-- part 2: pirates invade -->
<Label name="pirateinvaders" />
<WaitAction time="15" />
<SpawnAction npcsetidentifier="pirate_npcs" npcidentifier="piratediver" targettag="piratediver" SpawnLocation="Outpost" spawnpointtag="piratedivers" teamid="Team2" amount="3" />
<NPCFollowAction npctag="pirateambusher" targettag="airlock" follow="true" />
<NPCFollowAction npctag="piratediver" targettag="airlock" follow="true" />
<TriggerAction target1tag="piratediver" target2tag="airlock" applytotarget1="boardedpirate" radius="100" waitforinteraction="false" />
<WaitAction time="3" />
<StatusEffectAction targettag="piratediver">
<StatusEffect target="this">
<Sound file="Content/Items/Tools/Crowbar.ogg" volume="3" range="2000" />
</StatusEffect>
</StatusEffectAction>
<ConversationAction targettag="player" text="eventtext.piratediversoutpost.soundinairlock" dialogtype="Small" eventsprite="ventinside" ContinueAutomatically="true" />
<WaitAction time="2" />
<NPCFollowAction npctag="pirateambusher" targettag="navterminal" follow="true" />
<NPCFollowAction npctag="piratediver" targettag="navterminal" follow="true" />
<TriggerAction target1tag="piratediver" target2tag="navterminal" applytotarget2="playertofollow" radius="400" waitforinteraction="false" />
<NPCFollowAction npctag="piratediver" targettag="navterminal" follow="false" />
<!-- use spoken dialogue if ever implemented -->
<ConversationAction targettag="player" text="eventtext.piratediversoutpost.takeover" dialogtype="Small" eventsprite="firefight" ContinueAutomatically="true" />
<SetDataAction identifier="piratediversnorepeat" operation="set" value="1" />
<NPCChangeTeamAction npctag="pirateambusher" teamtag="Team2" />
<NPCChangeTeamAction npctag="piratediver" teamtag="Team2" />
<Label name="combatrefresh" />
<CombatAction combatmode="Offensive" npctag="pirateambusher" enemytag="player" isinstigator="true" guardreaction="none" witnessreaction="retreat" AbandonOnReset="false" />
<CombatAction combatmode="Offensive" npctag="piratediver" enemytag="crew" isinstigator="true" guardreaction="none" witnessreaction="retreat" AbandonOnReset="false" />
<WaitAction time="5" />
<GoTo name="combatrefresh" />
</Success>
<Failure></Failure>
</CheckReputationAction>
</Success>
</CheckDataAction>
</ScriptedEvent>
<!-- Pirate body bag
Spawns a suspicious body bag in the pirate outpost "morgue" module. The bag shakes and a husk is released -->
<ScriptedEvent identifier="piratebodybag" commonness="100">
<CheckDataAction identifier="piratebodybagnorepeat" condition="eq 0">
<Failure></Failure>
<Success>
<TagAction criteria="player" tag="player" />
<SpawnAction itemidentifier="huskbodybag" targettag="bodybag" spawnlocation="Outpost" spawnpointtag="husk" ignorebyai="true" />
<TriggerAction target1tag="bodybag" target2tag="player" applytotarget2="triggerer_player" radius="120" waitforinteraction="false" />
<ConversationAction text="EventText.piratebodybag.smellyroom" dialogtype="small" targettag="triggerer_player" eventsprite="brokenmachinery" endconversation="true" />
<WaitAction time="2" />
<StatusEffectAction targettag="bodybag">
<StatusEffect target="This" IsActive="true" />
</StatusEffectAction>
<Label name="retry" />
<ClearTagAction tag="bag_player" />
<TriggerAction target1tag="bodybag" target2tag="player" applytotarget2="bag_player" radius="120" waitforinteraction="true" />
<ConversationAction text="EventText.piratebodybag.hearthump" dialogtype="small" targettag="bag_player" eventsprite="brokenmachinery">
<Option text="EventText.piratebodybag.kickit" endconversation="true">
<SetDataAction identifier="piratebodybagnorepeat" operation="set" value="1" />
<StatusEffectAction targettag="bodybag">
<StatusEffect target="This" condition="-15" duration="10" />
</StatusEffectAction>
</Option>
<Option text="EventText.piratebodybag.stayaway" endconversation="true">
<WaitAction time="3" />
<Goto name="retry" />
</Option>
</ConversationAction>
</Success>
</CheckDataAction>
</ScriptedEvent>
<!-- "Panty theft"
A bandit asks you to steal some clothes and put them in a duffel bag. The duffel bag is marked as stolen, so avoid security. Gives bandit reputation -->
<ScriptedEvent identifier="pantytheft">
<CheckDataAction identifier="pantytheftnorepeat" condition="eq 0">
<Failure>
<!-- does not spawn the event if already done -->
</Failure>
<Success>
<TagAction criteria="player" tag="player" />
<!-- tags the clothes on bots -->
<TagAction criteria="itemtag:clothing" tag="stolenclothes" submarinetype="Outpost" />
<!-- unlocks the shelf in the vanilla outpost that contains clothes -->
<TagAction criteria="itemidentifier:crateshelf" tag="unlockcrateshelf" submarinetype="Outpost" ContinueIfNoTargetsFound="true" />
<StatusEffectAction targettag="unlockcrateshelf">
<StatusEffect target="This" noninteractable="false" setvalue="true" />
</StatusEffectAction>
<StatusEffectAction targettag="stolenclothes">
<StatusEffect target="This" noninteractable="false" setvalue="true" />
</StatusEffectAction>
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="commoner" targettag="smuggler" spawnlocation="Outpost" targetmoduletags="adminmodule" />
<TriggerAction target1tag="player" target2tag="smuggler" applytotarget1="heyyouplayer" radius="200" />
<ConversationAction targettag="heyyouplayer" text="eventtext.pantytheft.heyyou" endeventifinterrupted="false" endconversation="true" eventsprite="bandittalk" />
<Label name="talktonpc" />
<ConversationAction speakertag="smuggler" invokertag="panty_player" text="eventtext.pantytheft.opportunity" endeventifinterrupted="false" eventsprite="bandittalk">
<Option text="eventtext.generic.continue">
<ConversationAction targettag="panty_player" text="eventtext.pantytheft.confidentiality" endeventifinterrupted="false" eventsprite="JacovSubra1">
<Option text="eventtext.generic.continue">
<ConversationAction targettag="panty_player" text="eventtext.pantytheft.plantingtags" endeventifinterrupted="false" eventsprite="JacovSubra1">
<Option text="eventtext.pantytheft.ifitpays">
<!-- Spawns bag. If bag gets near clothes, mark it as stolen and proceed -->
<ConversationAction text="eventtext.pantytheft.grabclothes" endeventifinterrupted="false" endconversation="true" eventsprite="Duffelbag" />
<SpawnAction itemidentifier="traitorduffelbag" targetinventory="panty_player" targettag="stealingbag" />
<StatusEffectAction targettag="stealingbag">
<StatusEffect target="This" delay="60" SpawnedInCurrentOutpost="true" AllowStealing="false" stackable="false" setvalue="true" />
</StatusEffectAction>
</Option>
<Option text="eventtext.generic.refuse" endconversation="true">
<ClearTagAction tag="panty_player" />
<Goto name="end" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
<Option text="eventtext.generic.ignore" endconversation="true">
<ClearTagAction tag="panty_player" />
<WaitAction time="1" />
<Goto name="talktonpc" />
</Option>
</ConversationAction>
<Label name="retry" />
<Waitaction time="1" />
<TriggerAction target1tag="player" target2tag="smuggler" applytotarget1="deliverer_player" waitforinteraction="true" />
<!-- double check: if player carries bag, and if bag has clothes -->
<CheckItemAction targettag="deliverer_player" itemtags="stealingbag">
<Success>
<CheckItemAction targettag="stealingbag" itemtags="stolenclothes" amount="5" ApplyTagToItem="removeclothes">
<Success>
<StatusEffectAction targettag="removeclothes">
<StatusEffect target="This">
<Remove />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="stealingbag">
<StatusEffect target="This">
<Remove />
</StatusEffect>
</StatusEffectAction>
<ReputationAction increase="3" identifier="bandits" targettype="Faction" />
<MoneyAction amount="500" targettag="deliverer_player" />
<SetDataAction identifier="pantytheftnorepeat" value="1" />
<ConversationAction targettag="deliverer_player" text="eventtext.pantytheft.clothesdelivered" dialogtype="Small" endconversation="true" eventsprite="bandittalk" />
</Success>
<Failure>
<Goto name="noclothes" />
</Failure>
</CheckItemAction>
</Success>
<Failure>
<Label name="noclothes" />
<ConversationAction text="eventtext.pantytheft.moreclothes" targettag="deliverer_player" dialogtype="Small" endconversation="true" eventsprite="bandittalk" />
<ClearTagAction tag="deliverer_player" />
<Goto name="retry" />
</Failure>
</CheckItemAction>
<Label name="end" />
</Success>
</CheckDataAction>
</ScriptedEvent>
<!-- Vending Smashing
A bandit asks you to rob a vending machine. You equip a crowbar, it breaks and items drop, but it alerts security. Gives bandit reputation -->
<ScriptedEvent identifier="vendingsmashing">
<CheckDataAction identifier="vendingsmashingnorepeat" condition="eq 0">
<Failure>
<!-- does not spawn the event if already done -->
</Failure>
<Success>
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="securitynpc[faction]" targettag="vendingsecurity" spawnlocation="Outpost" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="commoner" targettag="thief" spawnlocation="Outpost" />
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:vendingmachine" tag="targetvendingmachine" submarinetype="Outpost" />
<!-- wait a little before triggering so you have time to leave the sub -->
<WaitAction time="60" />
<TriggerAction target1tag="player" target2tag="thief" applytotarget1="heyyouplayer" radius="200" />
<ConversationAction targettag="heyyouplayer" text="eventtext.vendingsmashing.heyyou" endeventifinterrupted="false" dialogtype="Small" endconversation="true" eventsprite="bandittalk" />
<NPCWaitAction npctag="thief" wait="false" />
<Label name="talktonpc" />
<ConversationAction speakertag="thief" invokertag="triggerer_player" text="eventtext.vendingsmashing.quickcash" endeventifinterrupted="false" eventsprite="bandittalk">
<Option text="eventtext.generic.continue">
<ConversationAction targettag="triggerer_player" text="eventtext.vendingsmashing.machinetrick" endeventifinterrupted="false" dialogtype="Small" eventsprite="Terrorism1">
<Option text="eventtext.generic.continue">
<ConversationAction targettag="triggerer_player" text="eventtext.vendingsmashing.hitemhard" endeventifinterrupted="false" dialogtype="Small" eventsprite="Terrorism1">
<Option text="eventtext.vendingsmashing.Notsubtle">
<ConversationAction targettag="triggerer_player" text="eventtext.vendingsmashing.Ilootyourun" endeventifinterrupted="false" dialogtype="Small" endconversation="true" eventsprite="Terrorism1" />
<SpawnAction itemidentifier="crowbar" targetinventory="triggerer_player" targettag="smashingcrowbar" />
<SpawnAction itemidentifier="toolbelt" targetinventory="thief" targettag="stealingbag" ignorebyai="true" />
<NPCFollowAction npctag="thief" targettag="triggerer_player" follow="true" />
<TriggerAction target1tag="thief" target2tag="targetvendingmachine" applytotarget2="selectvendingmachine" radius="200" />
<NPCFollowAction npctag="thief" targettag="triggerer_player" follow="false" />
<TriggerAction target1tag="triggerer_player" target2tag="selectvendingmachine" radius="200" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="eventtext.vendingsmashing.readycrowbar" endeventifinterrupted="false" eventsprite="Terrorism1" endconversation="true" />
<Label name="foundvendingmachine" />
<TriggerAction target1tag="triggerer_player" target2tag="selectvendingmachine" radius="200" waitforinteraction="true" />
<CheckItemAction targettag="triggerer_player" itemidentifiers="crowbar" RequireEquipped="true">
<Failure>
<WaitAction time="1" />
<Goto name="foundvendingmachine" />
</Failure>
<Success>
<NPCChangeTeamAction npctag="thief" teamtag="Team1" />
<StatusEffectAction targettag="selectvendingmachine">
<StatusEffect target="this">
<SpawnItem identifier="banditprop6" spawnposition="This" Offset="0,10" />
<Sound file="Content/Sounds/Damage/GlassImpact2.ogg" range="500" />
<ParticleEmitter particle="shrapnel" particleamount="15" velocitymin="50" velocitymax="150" anglemin="0" anglemax="360" scalemin="0.5" scalemax="1" colormultiplier="255,255,255,180" />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="smashingcrowbar">
<StatusEffect target="This" SpawnedInCurrentOutpost="true" AllowStealing="false" setvalue="true" />
</StatusEffectAction>
<ReputationAction targettype="Location" increase="-1" />
<NPCOperateItemAction npctag="thief" targettag="selectvendingmachine" ItemComponentName="Fabricator" Operate="true" AbandonOnReset="true" />
<WaitAction time="1" />
<!-- items spawned in bag -->
<SpawnAction itemidentifier="weldingfueltank" targetinventory="stealingbag" targettag="stolenitem" ignorebyai="true" />
<SpawnAction itemidentifier="batterycell" targetinventory="stealingbag" targettag="stolenitem" ignorebyai="true" />
<SpawnAction itemidentifier="ethanol" targetinventory="stealingbag" targettag="stolenitem" ignorebyai="true" />
<SpawnAction itemidentifier="antibiotics" targetinventory="stealingbag" targettag="stolenitem" ignorebyai="true" />
<!-- items spawned around vending machine -->
<WaitAction time="0.5" />
<SpawnAction itemidentifier="weldingfueltank" SpawnPointTag="selectvendingmachine" targettag="stolenitem" offset="100" />
<WaitAction time="0.5" />
<SpawnAction itemidentifier="batterycell" SpawnPointTag="selectvendingmachine" targettag="stolenitem" offset="100" />
<WaitAction time="0.5" />
<SpawnAction itemidentifier="ethanol" SpawnPointTag="selectvendingmachine" targettag="stolenitem" offset="100" />
<WaitAction time="0.5" />
<SpawnAction itemidentifier="antibiotics" SpawnPointTag="selectvendingmachine" targettag="stolenitem" offset="100" />
<!-- tag items as stolen -->
<StatusEffectAction targettag="stolenitem">
<StatusEffect target="This" SpawnedInCurrentOutpost="true" AllowStealing="false" setvalue="true" />
</StatusEffectAction>
<CombatAction combatmode="arrest" npctag="vendingsecurity" enemytag="triggerer_player" isinstigator="true" guardreaction="none" witnessreaction="none" />
<WaitAction time="5" />
<!-- jank, to make NPC stop operating -->
<Goto name="skipoperate" />
<Label name="skipoperate" />
<CombatAction combatmode="Retreat" npctag="thief" enemytag="triggerer_player" isinstigator="false" witnessreaction="none" />
<NPCChangeTeamAction npctag="thief" teamtag="FriendlyNPC" />
<WaitAction time="3" />
<TriggerAction target1tag="triggerer_player" target2tag="thief" waitforinteraction="true" />
<ReputationAction increase="3" identifier="bandits" targettype="Faction" />
<MoneyAction amount="200" targettag="triggerer_player" />
<SetDataAction identifier="vendingsmashingnorepeat" value="1" />
<ConversationAction targettag="triggerer_player" text="eventtext.vendingsmashing.yourshare" dialogtype="Small" endconversation="true" eventsprite="bandittalk" />
</Success>
</CheckItemAction>
</Option>
<Option text="eventtext.generic.refuse">
<Goto name="end" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
<Option text="eventtext.generic.ignore" endconversation="true">
<ClearTagAction tag="triggerer_player" />
<Goto name="talktonpc" />
</Option>
</ConversationAction>
</Success>
</CheckDataAction>
<Label name="end" />
</ScriptedEvent>
<!-- Duck Corleone
A bandit asks you to drop a plastic duck in the administator's cabinet. Gives bandit reputation -->
<ScriptedEvent identifier="duckcorleone">
<CheckDataAction identifier="duckcorleonenorepeat" condition="eq 0">
<Failure>
<!-- does not spawn the event if already done -->
</Failure>
<Success>
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="securitynpc[faction]" targettag="securitynpc" spawnlocation="Outpost" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="commoner" targettag="mafioso" spawnlocation="Outpost" targetmoduletags="crewmodule" />
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:admincabinet" tag="targetcabinet" submarinetype="Outpost" />
<TagAction criteria="humanprefabidentifier:outpostmanager" tag="outpostmanager" ContinueIfNoTargetsFound="true" />
<TagAction criteria="humanprefabidentifier:outpostmanagercoalition" tag="outpostmanager" ContinueIfNoTargetsFound="true" />
<TagAction criteria="humanprefabidentifier:outpostmanagerseparatists" tag="outpostmanager" ContinueIfNoTargetsFound="true" />
<TriggerAction target1tag="player" target2tag="mafioso" applytotarget1="triggerer_player" radius="20" />
<SetDataAction identifier="duckcorleonenorepeat" value="1" />
<NPCWaitAction npctag="mafioso" wait="true" priority="50" />
<AfflictionAction targettag="triggerer_player" affliction="stun" strength="0.35" />
<StatusEffectAction targettag="triggerer_player">
<StatusEffect target="This">
<Sound file="Content/Sounds/Impact/softimpact3.ogg" range="150" volume="2" frequencymultiplier="1" />
</StatusEffect>
</StatusEffectAction>
<ConversationAction targettag="triggerer_player" text="eventtext.duckcorleone.heyyou" endeventifinterrupted="false" dialogtype="Regular" eventsprite="MysteryMan">
<Option text="eventtext.generic.continue">
<ConversationAction targettag="triggerer_player" text="eventtext.duckcorleone.delivery" dialogtype="Regular" endeventifinterrupted="false" eventsprite="MysteryMan">
<Option text="eventtext.duckcorleone.whatisit">
<ConversationAction targettag="triggerer_player" text="eventtext.duckcorleone.themessage" endeventifinterrupted="false" dialogtype="Regular" eventsprite="MysteryMan">
<Option text="eventtext.duckcorleone.Iwilldoit">
<ConversationAction targettag="triggerer_player" text="eventtext.duckcorleone.good" endeventifinterrupted="false" dialogtype="Regular" eventsprite="MysteryMan" endconversation="true" />
<SpawnAction itemidentifier="piraterubberduck" targetinventory="triggerer_player" targettag="scaryduck" Equip="true" />
<StatusEffectAction targettag="scaryduck">
<StatusEffect target="this" tags="id_outpostmanager" setvalue="true" />
</StatusEffectAction>
<Label name="opencabinet" />
<TriggerAction target1tag="triggerer_player" target2tag="targetcabinet" radius="200" waitforinteraction="true" selectontrigger="true" />
<CheckItemAction targettag="triggerer_player" itemtags="scaryduck" RequireEquipped="false">
<Failure>
<WaitAction time="1" />
<Goto name="opencabinet" />
</Failure>
<Success>
<!-- try not to get seen by the admin -->
<CheckVisibilityAction EntityTag="outpostmanager" TargetTag="triggerer_player" maxdistance="400" CheckFacing="true">
<Success>
<StatusEffectAction targettag="outpostmanager">
<StatusEffect target="this">
<Forcesay message="eventtext.duckcorleone.security" sayinradio="true" />
</StatusEffect>
</StatusEffectAction>
<ReputationAction targettype="Location" increase="-2" />
<CombatAction combatmode="Arrest" npctag="securitynpc" enemytag="triggerer_player" isinstigator="false" guardreaction="none" witnessreaction="retreat" cooldown="30" />
</Success>
</CheckVisibilityAction>
<!-- tag items as stolen -->
<StatusEffectAction targettag="scaryduck">
<StatusEffect target="This" SpawnedInCurrentOutpost="true" AllowStealing="false" setvalue="true" />
</StatusEffectAction>
<StatusEffectAction targettag="targetcabinet">
<StatusEffect target="This">
<Sound file="%ModDir:2532991202%/Sounds/Impact/RubberDuck4.ogg" range="300" volume="2" frequencymultiplier="1" />
</StatusEffect>
</StatusEffectAction>
<WaitAction time="5" />
<Label name="checkduckinside" />
<CheckItemAction targettag="targetcabinet" itemtags="scaryduck">
<Failure>
<WaitAction time="1" />
<Goto name="checkduckinside" />
</Failure>
</CheckItemAction>
<TriggerAction target1tag="triggerer_player" target2tag="mafioso" waitforinteraction="true" />
<ReputationAction increase="2" identifier="bandits" targettype="Faction" />
<MoneyAction amount="500" targettag="triggerer_player" />
<SetDataAction identifier="duckcorleonenorepeat" value="1" />
<ConversationAction targettag="triggerer_player" text="eventtext.duckcorleone.pleased" dialogtype="Small" endconversation="true" eventsprite="MysteryMan2" />
</Success>
</CheckItemAction>
</Option>
<Option text="eventtext.generic.refuse">
<ReputationAction increase="-1" identifier="bandits" targettype="Faction" />
<ConversationAction targettag="triggerer_player" text="eventtext.duckcorleone.unfortunate" endeventifinterrupted="false" dialogtype="Small" endconversation="true" eventsprite="MysteryMan2" />
<Goto name="end" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Success>
</CheckDataAction>
<Label name="end" />
</ScriptedEvent>
<!-- BUGGED, the doctor interact button is disabled after conversations/triggers and never reappaears after ending the event, currently no way to make it appear again, guess I'll just heal through event instead
spawns an unlicensed doctor, you're supposed to give meth to access the doctor UI, but the doc gets increasingly addicted and overdoses -->
<ScriptedEvent identifier="methformeds">
<CheckDataAction identifier="methformedsnorepeat" condition="eq 0">
<Failure>
<!-- does not spawn the event if already done -->
</Failure>
<Success>
<SpawnAction npcsetidentifier="customnpcs" npcidentifier="mafiadoctornpc" targettag="mafiadoctor" spawnlocation="Outpost" targetmoduletags="crewmodule" />
<TagAction criteria="player" tag="player" />
<Label name="spotdoctor" />
<TriggerAction target1tag="player" target2tag="mafiadoctor" applytotarget1="triggerer_player" waitforinteraction="true" radius="300" />
<SetDataAction identifier="methformedsnorepeat" value="1" />
<ConversationAction targettag="triggerer_player" text="eventtext.methformeds.dirtydoctor" dialogtype="Regular" eventsprite="GuyWithAlcohol">
<Option text="eventtext.methformeds.dontlookgood">
<ConversationAction targettag="triggerer_player" text="eventtext.methformeds.lostlicense" eventsprite="doctor">
<Option text="eventtext.methformeds.nojob">
<ConversationAction targettag="triggerer_player" text="eventtext.methformeds.kickedout" eventsprite="doctor">
<Option text="eventtext.methformeds.useadoc">
<Goto name="skiptrigger" />
<Label name="methcheck" />
<ClearTagAction tag="triggerer_player" />
<TriggerAction target1tag="player" target2tag="mafiadoctor" applytotarget1="triggerer_player" radius="200" waitforinteraction="true" />
<Label name="skiptrigger" />
<ConversationAction text="eventtext.methformeds.findmeth" targettag="triggerer_player" eventsprite="doctor">
<Option text="EventText.methformeds.havesome" endconversation="true">
<CheckItemAction targettag="triggerer_player" itemidentifiers="meth" amount="1" ApplyTagToItem="pickedmeth">
<Failure>
<ConversationAction targettag="triggerer_player" text="eventtext.methformeds.nometh" eventsprite="doctor" dialogtype="small" endconversation="true" />
<Goto name="methcheck" />
</Failure>
<Success>
<TagAction criteria="eventtag:pickedmeth" tag="removemeth" chooserandom="true" ChoosePercentage="1" />
<StatusEffectAction targettag="removemeth">
<StatusEffect target="This">
<Remove />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="mafiadoctor">
<StatusEffect target="this">
<Sound file="Content/Items/Medical/Syringe.ogg" range="500" volume="2" />
<Affliction identifier="stun" amount="1" />
</StatusEffect>
<StatusEffect target="this" duration="30.0">
<Affliction identifier="chemaddiction" amount="3" />
<Affliction identifier="chemwithdrawal" amount="0.5" />
<Affliction identifier="haste" amount="1" />
</StatusEffect>
</StatusEffectAction>
<ConversationAction targettag="triggerer_player" text="eventtext.methformeds.feelsgood" endconversation="true" dialogtype="small" eventsprite="doctor" />
<StatusEffectAction targettag="triggerer_player">
<StatusEffect target="this" duration="5.0">
<Sound file="Content/Items/Medical/bandage1.ogg" range="500" volume="2" />
<ReduceAffliction identifier="damage" amount="2" />
<ReduceAffliction identifier="bleeding" amount="1" />
<ReduceAffliction identifier="bloodloss" amount="1" />
<ReduceAffliction identifier="burn" amount="1" />
</StatusEffect>
</StatusEffectAction>
<WaitAction time="5" />
<Goto name="methcheck" MaxTimes="3" />
<Goto name="end" />
</Success>
</CheckItemAction>
</Option>
<Option text="eventtext.generic.ignore" endconversation="true">
<Goto name="methcheck" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
<Option text="eventtext.generic.ignore" endconversation="true">
<ClearTagAction tag="triggerer_player" />
<Goto name="spotdoctor" />
</Option>
</ConversationAction>
</Success>
</CheckDataAction>
<Label name="end" />
</ScriptedEvent>
<!--"Orange Protection Society"
if you did 2+ missions or events that involve hurting orangeboys, a group of NPCs with chitin helmets spawns and confronts you
you can lie and they'll give you a helmet, or provoke them and fight -->
<ScriptedEvent identifier="orangePETA" commonness="100">
<!-- checks if you've done 2 or more orangeboy transports -->
<CheckDataAction identifier="orangePETAcounter" condition="gte 2">
<Failure>
<!-- does not spawn the event if already done -->
</Failure>
<Success>
<CheckDataAction identifier="orangePETAnorepeat" condition="eq 0">
<Failure>
<!-- does not spawn the event if already done -->
</Failure>
<Success>
<TagAction criteria="player" tag="player" />
<SpawnAction npcsetidentifier="customnpcs" npcidentifier="orangelover" targettag="orangelover1" spawnlocation="Outpost" spawnpointtype="Path" offset="100" />
<SpawnAction npcsetidentifier="customnpcs" npcidentifier="orangelover" targettag="orangelover2" spawnlocation="Outpost" spawnpointtag="orangelover1" offset="100" />
<SpawnAction npcsetidentifier="customnpcs" npcidentifier="orangelover" targettag="orangelover3" spawnlocation="Outpost" spawnpointtag="orangelover2" offset="100" />
<NPCFollowAction npctag="orangelover2" targettag="orangelover1" follow="true" />
<NPCFollowAction npctag="orangelover3" targettag="orangelover2" follow="true" />
<TriggerAction target1tag="orangelover1" target2tag="player" applytotarget2="triggerer_player" radius="250" waitforinteraction="false" />
<NPCFollowAction npctag="orangelover1" targettag="triggerer_player" follow="true" />
<SetDataAction identifier="orangePETAnorepeat" operation="set" value="1" />
<ConversationAction targettag="triggerer_player" text="EventText.orangePETA.spotted" eventsprite="group">
<Option text="EventText.orangePETA.whatme">
<ConversationAction targettag="triggerer_player" text="EventText.orangePETA.OPSspeech1" eventsprite="group">
<Option text="EventText.generic.continue">
<ConversationAction targettag="triggerer_player" text="EventText.orangePETA.OPSspeech2" eventsprite="group">
<Option text="EventText.orangePETA.lie">
<RNGAction chance="0.2">
<Success>
<GiveSkillEXPAction skill="helm" amount="3" targettag="triggerer_player" />
<ConversationAction targettag="triggerer_player" text="EventText.orangePETA.whatarelief" eventsprite="group" endconversation="true" />
<NPCFollowAction npctag="orangelover1" targettag="triggerer_player" follow="false" />
<SpawnAction itemidentifier="chitinhelmet" amount="1" targetinventory="triggerer_player" />
</Success>
<Failure>
<ConversationAction targettag="triggerer_player" text="EventText.orangePETA.getem" eventsprite="mediator" endconversation="true" />
<CombatAction combatmode="Offensive" npctag="orangelover1" enemytag="triggerer_player" isinstigator="true" guardreaction="arrest" witnessreaction="retreat" />
<CombatAction combatmode="Offensive" npctag="orangelover2" enemytag="triggerer_player" isinstigator="true" guardreaction="arrest" witnessreaction="retreat" />
<CombatAction combatmode="Offensive" npctag="orangelover3" enemytag="triggerer_player" isinstigator="true" guardreaction="arrest" witnessreaction="retreat" />
</Failure>
</RNGAction>
</Option>
<Option text="EventText.orangePETA.delicious">
<GiveSkillEXPAction skill="weapons" amount="2" targettag="triggerer_player" />
<ConversationAction targettag="triggerer_player" text="EventText.orangePETA.getem" eventsprite="mediator" endconversation="true" />
<CombatAction combatmode="Offensive" npctag="orangelover1" enemytag="triggerer_player" isinstigator="true" guardreaction="arrest" witnessreaction="retreat" />
<CombatAction combatmode="Offensive" npctag="orangelover2" enemytag="triggerer_player" isinstigator="true" guardreaction="arrest" witnessreaction="retreat" />
<CombatAction combatmode="Offensive" npctag="orangelover3" enemytag="triggerer_player" isinstigator="true" guardreaction="arrest" witnessreaction="retreat" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Success>
</CheckDataAction>
</Success>
</CheckDataAction>
</ScriptedEvent>
<!-- ////////////// OTHER EVENTS ///////////// -->
<!-- remove lithomorphs in outpost levels, I hate it. repeated once because it sometimes fail -->
<ScriptedEvent identifier="removelithomorphsoutpost" commonness="100">
<Label name="removelithosagain" />
<TagAction criteria="itemtag:lithomorphspawner" tag="lithomorphspawner" ContinueIfNoTargetsFound="true" />
<TagAction criteria="speciesname:Lithomorph" tag="Lithomorph" ContinueIfNoTargetsFound="true" />
<StatusEffectAction targettag="lithomorphspawner">
<StatusEffect target="This">
<Remove />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="Lithomorph">
<StatusEffect target="This">
<RemoveCharacter />
</StatusEffect>
</StatusEffectAction>
<WaitAction time="10" />
<GoTo name="removelithosagain" maxtimes="2" />
</ScriptedEvent>
<!-- "Circus welcome"
triggers when you step inside the sinking circus for the first time, gives you reputation and triggers a cool visual effect -->
<ScriptedEvent identifier="circuswelcome" commonness="100">
<CheckDataAction identifier="circuswelcomenorepeat" condition="eq 0">
<Failure>
<!-- does not spawn the event if already done -->
</Failure>
<Success>
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemidentifier:op_clownmarquee" tag="showtimesign" submarinetype="Outpost" />
<TagAction criteria="itemidentifier:searchlight" tag="showtimesign" submarinetype="Outpost" />
<TagAction criteria="itemtag:smokeemitter" tag="smokeemitter" submarinetype="Outpost" />
<TriggerAction target1tag="player" target2tag="showtimesign" radius="420" />
<WaitAction time="2" />
<ReputationAction increase="5" identifier="Clowns" targettype="Faction" />
<StatusEffectAction targettag="showtimesign">
<StatusEffect target="this" duration="5">
<Sound file="Content/Items/Jobgear/Clown/ITEM_bananaSlip1.ogg" range="2000" volume="3" frequencymultiplier="0.5" />
<ParticleEmitter particle="impactfirearm" particlespersecond="15" velocitymin="0" velocitymax="0" anglemin="180" anglemax="360" scalemin="0.5" scalemax="1" distancemin="50" distancemax="500" colormultiplier="255,255,255,200" lifetimemultiplier="50" />
<ParticleEmitter particle="whitespark" particlespersecond="30" velocitymin="100" velocitymax="200" anglemin="240" anglemax="320" scalemin="1" scalemax="2" distancemin="5" distancemax="250" colormultiplier="255,255,255,255" lifetimemultiplier="5" HighQualityCollisionDetection="true" />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="smokeemitter">
<StatusEffect target="this" duration="5">
<ParticleEmitter particle="flare" particlespersecond="5" velocitymin="0" velocitymax="100" anglemin="80" anglemax="100" scalemin="2" scalemax="4" distancemin="0" distancemax="50" colormultiplier="255,255,255,120" lifetimemultiplier="1" HighQualityCollisionDetection="false" />
</StatusEffect>
</StatusEffectAction>
<WaitAction time="3" />
<ConversationAction targettag="player" text="eventtext.circuswelcome.foundus" dialogtype="Small" endconversation="true" eventsprite="Jestmaster" />
<SetDataAction identifier="circuswelcomenorepeat" value="1" />
</Success>
</CheckDataAction>
</ScriptedEvent>
<!-- "Piezo Pioneer"
NPCs talk about how pioneers used piezo crystals as an energy source, gives you a special pickaxes to harvest piezo shards (batteries/grenades) -->
<ScriptedEvent identifier="piezopioneer" commonness="100">
<CheckDataAction identifier="piezopioneernorepeat" condition="eq 0">
<Failure>
<!-- does not spawn the event if already done -->
</Failure>
<Success>
<TagAction criteria="player" tag="player" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="miner" targettag="minerskeptic" spawnlocation="Outpost" spawnpointtag="mineevent" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="miner" targettag="minerpiezo" spawnlocation="Outpost" spawnpointtag="minerskeptic" />
<NPCFollowAction npctag="minerpiezo" targettag="minerskeptic" follow="true" />
<TriggerAction target1tag="minerskeptic" target2tag="player" applytotarget2="hearer_player" radius="150" />
<ConversationAction targettag="hearer_player" text="EventText.piezopioneer.argument" eventsprite="mediator">
<Option text="EventText.piezopioneer.hmmm" endconversation="true" />
</ConversationAction>
<NPCFollowAction npctag="minerpiezo" targettag="minerskeptic" follow="false" />
<Label name="tryagain" />
<WaitAction time="2" />
<TriggerAction target1tag="minerpiezo" target2tag="player" applytotarget2="triggerer_player" radius="150" waitforinteraction="true" />
<ConversationAction targettag="triggerer_player" text="EventText.piezopioneer.upsetminer" eventsprite="mechanic">
<Option text="EventText.piezopioneer.inquirepiezos">
<ConversationAction targettag="triggerer_player" text="EventText.piezopioneer.taleofpioneers" eventsprite="badvibration1">
<Option text="EventText.piezopioneer.insane">
<ConversationAction targettag="triggerer_player" text="EventText.piezopioneer.strangetool" eventsprite="mechanic">
<Option text="EventText.piezopioneer.youdontknow">
<ConversationAction targettag="triggerer_player" text="EventText.piezopioneer.taketool" eventsprite="mines" endconversation="true" />
<SpawnAction itemidentifier="piezochipper" amount="1" targetinventory="triggerer_player" />
<SetDataAction identifier="piezopioneernorepeat" operation="set" value="1" />
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Option>
</ConversationAction>
</Success>
</CheckDataAction>
</ScriptedEvent>
<ScriptedEvent identifier="mudraptorracing">
<TagAction criteria="itemtag:petfoodgun" tag="petfoodgun" />
<TagAction criteria="itemtag:raptorracelever" tag="raptorracelever" />
<TagAction criteria="player" tag="player" />
<SetDataAction identifier="betonred" operation="set" value="0" />
<SetDataAction identifier="betongreen" operation="set" value="0" />
<SetDataAction identifier="betonblue" operation="set" value="0" />
<SetDataAction identifier="redraptorwon" operation="set" value="0" />
<SetDataAction identifier="greenraptorwon" operation="set" value="0" />
<SetDataAction identifier="blueraptorwon" operation="set" value="0" />
<SetDataAction identifier="betonraptorcounter" operation="set" value="0" />
<SetDataAction identifier="raptorracefinished" operation="set" value="0" />
<TagAction criteria="player" tag="player" />
<TagAction criteria="itemtag:petfoodgun" tag="petfoodgun" />
<TagAction criteria="itemtag:raptorracelever" tag="raptorracelever" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="watchman" targettag="bookmaker" spawnlocation="Outpost" spawnpointtag="bookmaker" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="commoner" targettag="spectator1" spawnlocation="Outpost" spawnpointtag="spectator" />
<SpawnAction npcsetidentifier="outpostnpcs1" npcidentifier="commoner" targettag="spectator2" spawnlocation="Outpost" spawnpointtag="spectator" />
<SpawnAction speciesname="Mudraptorred" targettag="raceraptor" spawnlocation="Outpost" spawnpointtag="raceraptors" offset="50" />
<SpawnAction speciesname="Mudraptorgreen" targettag="raceraptor" spawnlocation="Outpost" spawnpointtag="raceraptors" offset="50" />
<SpawnAction speciesname="Mudraptorblue" targettag="raceraptor" spawnlocation="Outpost" spawnpointtag="raceraptors" offset="50" />
<!-- PHASE 1: TALK TO NPC TO TAKE BETS -->
<!-- PHASE 1: TALK TO NPC TO TAKE BETS -->
<!-- PHASE 1: TALK TO NPC TO TAKE BETS -->
<Label name="talktobookie" />
<ClearTagAction tag="gambler_player" />
<CheckDataAction identifier="betonraptorcounter" condition="gte 3">
<Success>
<StatusEffectAction targettag="bookmaker">
<StatusEffect target="this">
<Forcesay message="Eventtext.mudraptorracing.enoughbets" sayinradio="false" />
</StatusEffect>
</StatusEffectAction>
<Goto name="betsareoff" />
</Success>
<Failure>
<StatusEffectAction targettag="bookmaker">
<StatusEffect target="this">
<Forcesay message="Eventtext.mudraptorracing.morebets" sayinradio="false" />
</StatusEffect>
</StatusEffectAction>
</Failure>
</CheckDataAction>
<ConversationAction text="EventText.mudraptorracing.bookmaker" speakertag="bookmaker" invokertag="gambler_player" dialogtype="Regular" eventsprite="gambler">
<!-- Pick red raptor -->
<Option text="EventText.mudraptorracing.pickred">
<!-- How much do you bet, create more for different sums -->
<ConversationAction text="EventText.mudraptorracing.howmuchred" targettag="gambler_player" dialogtype="Regular" eventsprite="gambler">
<Option text="EventText.mudraptorracing.100">
<CheckMoneyAction targettag="gambler_player" amount="100">
<Success>
<MoneyAction targettag="gambler_player" amount="-100" />
<ConversationAction targettag="gambler_player" text="EventText.mudraptorracing.yourticket" eventsprite="gambler" endconversation="true" />
<SpawnAction itemidentifier="raceticket_red" amount="1" targetinventory="gambler_player" targettag="raceticket" />
<SetDataAction identifier="betonraptorcounter" operation="add" value="1" />
<SetDataAction identifier="betonred" operation="set" value="1" />
<Goto name="talktobookie" />
</Success>
<Failure>
<ConversationAction targettag="gambler_player" text="EventText.mudraptorracing.nomoney" eventsprite="gambler" dialogtype="small" />
<GoTo name="talktobookie" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="EventText.mudraptorracing.300">
<CheckMoneyAction targettag="gambler_player" amount="300">
<Success>
<MoneyAction targettag="gambler_player" amount="-300" />
<ConversationAction targettag="gambler_player" text="EventText.mudraptorracing.yourticket" eventsprite="gambler" endconversation="true" />
<SpawnAction itemidentifier="raceticket_red" amount="3" targetinventory="gambler_player" targettag="raceticket" />
<SetDataAction identifier="betonraptorcounter" operation="add" value="1" />
<SetDataAction identifier="betonred" operation="set" value="1" />
<Goto name="talktobookie" />
</Success>
<Failure>
<ConversationAction targettag="gambler_player" text="EventText.mudraptorracing.nomoney" eventsprite="gambler" dialogtype="small" />
<GoTo name="talktobookie" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.generic.nevermind" endconversation="true">
<Goto name="talktobookie" />
</Option>
</ConversationAction>
</Option>
<!-- Pick green raptor -->
<Option text="EventText.mudraptorracing.pickgreen">
<!-- How much do you bet, create more for different sums -->
<ConversationAction text="EventText.mudraptorracing.howmuchgreen" targettag="gambler_player" dialogtype="Regular" eventsprite="gambler">
<Option text="EventText.mudraptorracing.100">
<CheckMoneyAction targettag="gambler_player" amount="100">
<Success>
<MoneyAction targettag="gambler_player" amount="-100" />
<ConversationAction targettag="gambler_player" text="EventText.mudraptorracing.yourticket" eventsprite="gambler" endconversation="true" />
<SpawnAction itemidentifier="raceticket_green" amount="1" targetinventory="gambler_player" targettag="raceticket" />
<SetDataAction identifier="betonraptorcounter" operation="add" value="1" />
<SetDataAction identifier="betongreen" operation="set" value="1" />
<Goto name="talktobookie" />
</Success>
<Failure>
<ConversationAction targettag="gambler_player" text="EventText.mudraptorracing.nomoney" eventsprite="gambler" dialogtype="small" />
<GoTo name="talktobookie" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="EventText.mudraptorracing.300">
<CheckMoneyAction targettag="gambler_player" amount="300">
<Success>
<MoneyAction targettag="gambler_player" amount="-300" />
<ConversationAction targettag="gambler_player" text="EventText.mudraptorracing.yourticket" eventsprite="gambler" endconversation="true" />
<SpawnAction itemidentifier="raceticket_green" amount="3" targetinventory="gambler_player" targettag="raceticket" />
<SetDataAction identifier="betonraptorcounter" operation="add" value="1" />
<SetDataAction identifier="betongreen" operation="set" value="1" />
<Goto name="talktobookie" />
</Success>
<Failure>
<ConversationAction targettag="gambler_player" text="EventText.mudraptorracing.nomoney" eventsprite="gambler" dialogtype="small" />
<GoTo name="talktobookie" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.generic.nevermind" endconversation="true">
<Goto name="talktobookie" />
</Option>
</ConversationAction>
</Option>
<!-- Pick blue raptor -->
<Option text="EventText.mudraptorracing.pickblue">
<!-- How much do you bet, create more for different sums -->
<ConversationAction text="EventText.mudraptorracing.howmuchblue" targettag="gambler_player" dialogtype="Regular" eventsprite="gambler">
<Option text="EventText.mudraptorracing.100">
<CheckMoneyAction targettag="gambler_player" amount="100">
<Success>
<MoneyAction targettag="gambler_player" amount="-100" />
<ConversationAction targettag="gambler_player" text="EventText.mudraptorracing.yourticket" eventsprite="gambler" endconversation="true" />
<SpawnAction itemidentifier="raceticket_blue" amount="1" targetinventory="gambler_player" targettag="raceticket" />
<SetDataAction identifier="betonraptorcounter" operation="add" value="1" />
<SetDataAction identifier="betonblue" operation="set" value="1" />
<Goto name="talktobookie" />
</Success>
<Failure>
<ConversationAction targettag="gambler_player" text="EventText.mudraptorracing.nomoney" eventsprite="gambler" dialogtype="small" />
<GoTo name="talktobookie" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="EventText.mudraptorracing.300">
<CheckMoneyAction targettag="gambler_player" amount="300">
<Success>
<MoneyAction targettag="gambler_player" amount="-300" />
<ConversationAction targettag="gambler_player" text="EventText.mudraptorracing.yourticket" eventsprite="gambler" endconversation="true" />
<SpawnAction itemidentifier="raceticket_blue" amount="3" targetinventory="gambler_player" targettag="raceticket" />
<SetDataAction identifier="betonraptorcounter" operation="add" value="1" />
<SetDataAction identifier="betonblue" operation="set" value="1" />
<Goto name="talktobookie" />
</Success>
<Failure>
<ConversationAction targettag="gambler_player" text="EventText.mudraptorracing.nomoney" eventsprite="gambler" dialogtype="small" />
<GoTo name="talktobookie" />
</Failure>
</CheckMoneyAction>
</Option>
<Option text="eventtext.generic.nevermind" endconversation="true">
<Goto name="talktobookie" />
</Option>
</ConversationAction>
</Option>
<!-- ignore -->
<Option text="eventtext.generic.ignore" endconversation="true">
<Goto name="talktobookie" />
</Option>
</ConversationAction>
<!-- PHASE 2: BETS ARE OFF, HIT THE LEVER -->
<!-- PHASE 2: BETS ARE OFF, HIT THE LEVER -->
<!-- PHASE 2: BETS ARE OFF, HIT THE LEVER -->
<Label name="betsareoff" />
<ConversationAction text="EventText.mudraptorracing.betsareoff" speakertag="bookmaker" invokertag="gambler_player" dialogtype="Small" eventsprite="gambler" endconversation="true" />
<TagAction criteria="itemtag:raptorracelever" tag="raptorracelever" />
<!-- touch the lever to start the race -->
<TriggerAction target1tag="player" target2tag="raptorracelever" applytotarget1="triggerer_player" waitforinteraction="true" selectontrigger="true" />
<TriggerEventAction identifier="mudraptorracing_winner_red" />
<TriggerEventAction identifier="mudraptorracing_winner_green" />
<TriggerEventAction identifier="mudraptorracing_winner_blue" />
<StatusEffectAction targettag="raptorracelever">
<StatusEffect target="This" state="true" setvalue="true" />
</StatusEffectAction>
<WaitAction time="4" />
<!-- shoot the ducky -->
<StatusEffectAction targettag="petfoodgun">
<StatusEffect target="This" offset="30,0">
<Sound file="Content/Items/Weapons/Shotgunshot2.ogg" range="1500" volume="3" frequencymultiplier="0.5" dontmuffle="true" />
<ParticleEmitter particle="weldspark" particleamount="20" anglemin="-20" anglemax="20" velocitymin="250" velocitymax="500" distancemin="0" distancemax="30" scalemin="1.5" scalemax="1.9" colormultiplier="255,200,225,180" lifetimemultiplier="2" />
<SpawnItem identifier="raptorrubberduck" spawnposition="This" impulse="1.1" />
</StatusEffect>
</StatusEffectAction>
<!-- slow down 2 raptors to avoid ties -->
<TagAction criteria="eventtag:raceraptor" tag="slowerraptor" submarinetype="Outpost" ChooseRandomExcludingTag="slowerraptor" chooserandom="true" />
<TagAction criteria="eventtag:raceraptor" tag="slowerraptor" submarinetype="Outpost" ChooseRandomExcludingTag="slowerraptor" chooserandom="true" />
<StatusEffectAction targettag="slowerraptor">
<StatusEffect target="This" speedmultiplier="0.75" duration="4" setvalue="true" />
</StatusEffectAction>
<!-- PHASE 3: WAIT FOR A RAPTOR TO WIN -->
<!-- PHASE 3: WAIT FOR A RAPTOR TO WIN -->
<!-- PHASE 3: WAIT FOR A RAPTOR TO WIN -->
<Label name="waitforfinish" />
<WaitAction time="1" />
<CheckDataAction identifier="raptorracefinished" condition="gte 1">
<Failure>
<Goto name="waitforfinish" />
</Failure>
</CheckDataAction>
<ConversationAction text="EventText.mudraptorracing.winner" TargetTag="gambler_player" dialogtype="small" eventsprite="mediator" endconversation="true" />
<!-- PHASE 4: CASHOUT TERMINAL -->
<!-- PHASE 4: CASHOUT TERMINAL -->
<!-- PHASE 4: CASHOUT TERMINAL -->
<TagAction criteria="itemtag:cashoutterminal" tag="cashoutterminal" />
<TagAction criteria="itemtag:cashoutlight" tag="cashoutlight" />
<StatusEffectAction targettag="cashoutlight">
<StatusEffect target="This" IsOn="true" />
</StatusEffectAction>
<Label name="cashout" />
<ClearTagAction tag="cashout_player" />
<WaitAction time="1" />
<TriggerAction target1tag="player" target2tag="cashoutterminal" applytotarget1="cashout_player" radius="150" waitforinteraction="true" />
<Label name="cashout_repeat" />
<ConversationAction text="EventText.mudraptorracing.cashout.claim" TargetTag="cashout_player" dialogtype="Regular" eventsprite="brokenterminal">
<Option text="EventText.mudraptorracing.cashout.redticket">
<!-- check if you have a ticket -->
<CheckItemAction targettag="cashout_player" itemidentifiers="raceticket_red" amount="1" ApplyTagToItem="pickedticket">
<Success>
<!-- check if raptor of the same color won -->
<CheckDataAction identifier="redraptorwon" condition="eq 1">
<Success>
<!-- use this label for payout - COMMENTED OUT BECAUSE GAME THROWS YELLOW ERROR -->
<!-- <Label name="payout" /> -->
<TagAction criteria="eventtag:pickedticket" tag="removeticket" chooserandom="true" ChoosePercentage="1" />
<StatusEffectAction targettag="removeticket">
<StatusEffect target="This">
<Sound file="Content/Sounds/UI/UI_labelMarkka.ogg" range="300" volume="2" />
<Remove />
</StatusEffect>
</StatusEffectAction>
<MoneyAction targettag="cashout_player" amount="200" />
<Goto name="cashout_repeat" />
</Success>
<Failure>
<!-- use this label for raptor lost - COMMENTED OUT BECAUSE GAME THROWS YELLOW ERROR -->
<!-- <Label name="raptorlost" /> -->
<ClearTagAction tag="pickedticket" />
<ConversationAction targettag="cashout_player" text="EventText.mudraptorracing.cashout.raptorlost" eventsprite="brokenterminal" dialogtype="small" />
<GoTo name="cashout" />
</Failure>
</CheckDataAction>
</Success>
<Failure>
<!-- use this label for no ticket - COMMENTED OUT BECAUSE GAME THROWS YELLOW ERROR -->
<!-- <Label name="noticket" /> -->
<ClearTagAction tag="pickedticket" />
<ConversationAction targettag="cashout_player" text="EventText.mudraptorracing.cashout.noticket" eventsprite="brokenterminal" dialogtype="small" />
<GoTo name="cashout" />
</Failure>
</CheckItemAction>
</Option>
<Option text="EventText.mudraptorracing.cashout.greenticket">
<!-- check if you have a ticket -->
<CheckItemAction targettag="cashout_player" itemidentifiers="raceticket_green" amount="1" ApplyTagToItem="pickedticket">
<Success>
<!-- check if raptor of the same color won -->
<CheckDataAction identifier="greenraptorwon" condition="eq 1">
<Success>
<!-- <Goto name="payout" /> -->
<TagAction criteria="eventtag:pickedticket" tag="removeticket" chooserandom="true" ChoosePercentage="1" />
<StatusEffectAction targettag="removeticket">
<StatusEffect target="This">
<Sound file="Content/Sounds/UI/UI_labelMarkka.ogg" range="300" volume="2" />
<Remove />
</StatusEffect>
</StatusEffectAction>
<MoneyAction targettag="cashout_player" amount="200" />
<Goto name="cashout_repeat" />
</Success>
<Failure>
<!-- <Goto name="raptorlost" /> -->
<ClearTagAction tag="pickedticket" />
<ConversationAction targettag="cashout_player" text="EventText.mudraptorracing.cashout.raptorlost" eventsprite="brokenterminal" dialogtype="small" />
<GoTo name="cashout" />
</Failure>
</CheckDataAction>
</Success>
<Failure>
<!-- <Goto name="noticket" /> -->
<ClearTagAction tag="pickedticket" />
<ConversationAction targettag="cashout_player" text="EventText.mudraptorracing.cashout.noticket" eventsprite="brokenterminal" dialogtype="small" />
<GoTo name="cashout" />
</Failure>
</CheckItemAction>
</Option>
<Option text="EventText.mudraptorracing.cashout.blueticket">
<!-- check if you have a ticket -->
<CheckItemAction targettag="cashout_player" itemidentifiers="raceticket_blue" amount="1" ApplyTagToItem="pickedticket">
<Success>
<!-- check if raptor of the same color won -->
<CheckDataAction identifier="blueraptorwon" condition="eq 1">
<Success>
<!-- <Goto name="payout" /> -->
<TagAction criteria="eventtag:pickedticket" tag="removeticket" chooserandom="true" ChoosePercentage="1" />
<StatusEffectAction targettag="removeticket">
<StatusEffect target="This">
<Sound file="Content/Sounds/UI/UI_labelMarkka.ogg" range="300" volume="2" />
<Remove />
</StatusEffect>
</StatusEffectAction>
<MoneyAction targettag="cashout_player" amount="200" />
<Goto name="cashout_repeat" />
</Success>
<Failure>
<!-- <Goto name="raptorlost" /> -->
<!-- <Goto name="raptorlost" /> -->
<ClearTagAction tag="pickedticket" />
<ConversationAction targettag="cashout_player" text="EventText.mudraptorracing.cashout.raptorlost" eventsprite="brokenterminal" dialogtype="small" />
<GoTo name="cashout" />
</Failure>
</CheckDataAction>
</Success>
<Failure>
<!-- <Goto name="noticket" /> -->
<ClearTagAction tag="pickedticket" />
<ConversationAction targettag="cashout_player" text="EventText.mudraptorracing.cashout.noticket" eventsprite="brokenterminal" dialogtype="small" />
<GoTo name="cashout" />
</Failure>
</CheckItemAction>
</Option>
<Option text="eventtext.generic.ignore" endconversation="true">
<Goto name="cashout" />
</Option>
</ConversationAction>
<!-- PHASE 5: REMOVE ALL TICKETS -->
<OnRoundEndAction>
<RemoveItemAction targettag="raceticket" Amount="100" />
</OnRoundEndAction>
</ScriptedEvent>
<ScriptedEvent identifier="mudraptorracing_winner_red">
<TagAction criteria="hullname:finishline" tag="finishline" submarinetype="Outpost" />
<TagAction criteria="speciesname:Mudraptorred" tag="Mudraptorred" submarinetype="Outpost" />
<TriggerAction target1tag="Mudraptorred" target2tag="finishline" radius="10" disableiftargetincapacitated="true" disableincombat="false" />
<CheckDataAction identifier="raptorracefinished" condition="lte 0">
<Success>
<SetDataAction identifier="raptorracefinished" operation="set" value="1" />
<SetDataAction identifier="redraptorwon" operation="Set" value="1" />
<TagAction criteria="itemtag:raptorracelever" tag="raptorracelever" />
<TagAction criteria="itemtag:confettilauncher" tag="confettilauncher" />
<StatusEffectAction targettag="raptorracelever">
<StatusEffect target="this" duration="10">
<Sound file="Content/Sounds/ClubMusic_transitionScratch.ogg" range="1500" volume="3" frequencymultiplier="0.5" loop="true" dontmuffle="true" />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="confettilauncher">
<StatusEffect target="this" duration="10">
<ParticleEmitter particle="whitespark" particlespersecond="20" velocitymin="250" velocitymax="400" anglemin="70" anglemax="110" scalemin="1" scalemax="2" distancemin="5" distancemax="250" colormultiplier="255,30,30,255" lifetimemultiplier="2" HighQualityCollisionDetection="true" />
<ParticleEmitter particle="steamspray" particlespersecond="5" velocitymin="50" velocitymax="100" anglemin="260" anglemax="280" scalemin="0.8" scalemax="1.2" distancemin="0" distancemax="0" colormultiplier="255,30,30,255" lifetimemultiplier="2" />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="raptorracelever">
<StatusEffect target="NearbyCharacters" range="1000" oneshot="true" disabledeltatime="true">
<ReduceAffliction identifier="mood" strength="25" />
</StatusEffect>
</StatusEffectAction>
</Success>
</CheckDataAction>
</ScriptedEvent>
<ScriptedEvent identifier="mudraptorracing_winner_green">
<TagAction criteria="hullname:finishline" tag="finishline" submarinetype="Outpost" />
<TagAction criteria="speciesname:Mudraptorgreen" tag="Mudraptorgreen" submarinetype="Outpost" />
<TriggerAction target1tag="Mudraptorgreen" target2tag="finishline" radius="10" disableiftargetincapacitated="true" disableincombat="false" />
<CheckDataAction identifier="raptorracefinished" condition="lte 0">
<Success>
<SetDataAction identifier="raptorracefinished" operation="set" value="1" />
<SetDataAction identifier="greenraptorwon" operation="Set" value="1" />
<TagAction criteria="itemtag:raptorracelever" tag="raptorracelever" />
<TagAction criteria="itemtag:confettilauncher" tag="confettilauncher" />
<StatusEffectAction targettag="raptorracelever">
<StatusEffect target="this" duration="10">
<Sound file="Content/Sounds/ClubMusic_transitionScratch.ogg" range="1500" volume="3" frequencymultiplier="0.5" loop="true" dontmuffle="true" />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="confettilauncher">
<StatusEffect target="this" duration="10">
<ParticleEmitter particle="whitespark" particlespersecond="20" velocitymin="250" velocitymax="400" anglemin="70" anglemax="110" scalemin="1" scalemax="2" distancemin="5" distancemax="250" colormultiplier="30,255,30,255" lifetimemultiplier="2" HighQualityCollisionDetection="true" />
<ParticleEmitter particle="steamspray" particlespersecond="5" velocitymin="50" velocitymax="100" anglemin="260" anglemax="280" scalemin="0.8" scalemax="1.2" distancemin="0" distancemax="0" colormultiplier="30,255,30,255" lifetimemultiplier="2" />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="raptorracelever">
<StatusEffect target="NearbyCharacters" range="1000" oneshot="true" disabledeltatime="true">
<ReduceAffliction identifier="mood" strength="25" />
</StatusEffect>
</StatusEffectAction>
</Success>
</CheckDataAction>
</ScriptedEvent>
<ScriptedEvent identifier="mudraptorracing_winner_blue">
<TagAction criteria="hullname:finishline" tag="finishline" submarinetype="Outpost" />
<TagAction criteria="speciesname:Mudraptorblue" tag="Mudraptorblue" submarinetype="Outpost" />
<TriggerAction target1tag="Mudraptorblue" target2tag="finishline" radius="10" disableiftargetincapacitated="true" disableincombat="false" />
<CheckDataAction identifier="raptorracefinished" condition="lte 0">
<Success>
<SetDataAction identifier="raptorracefinished" operation="set" value="1" />
<SetDataAction identifier="blueraptorwon" operation="Set" value="1" />
<TagAction criteria="itemtag:raptorracelever" tag="raptorracelever" />
<TagAction criteria="itemtag:confettilauncher" tag="confettilauncher" />
<StatusEffectAction targettag="raptorracelever">
<StatusEffect target="this" duration="10">
<Sound file="Content/Sounds/ClubMusic_transitionScratch.ogg" range="1500" volume="3" frequencymultiplier="0.5" loop="true" dontmuffle="true" />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="confettilauncher">
<StatusEffect target="this" duration="10">
<ParticleEmitter particle="whitespark" particlespersecond="20" velocitymin="250" velocitymax="400" anglemin="70" anglemax="110" scalemin="1" scalemax="2" distancemin="5" distancemax="250" colormultiplier="30,30,255,255" lifetimemultiplier="2" HighQualityCollisionDetection="true" />
<ParticleEmitter particle="steamspray" particlespersecond="5" velocitymin="50" velocitymax="100" anglemin="260" anglemax="280" scalemin="0.8" scalemax="1.2" distancemin="0" distancemax="0" colormultiplier="30,30,255,255" lifetimemultiplier="2" />
</StatusEffect>
</StatusEffectAction>
<StatusEffectAction targettag="raptorracelever">
<StatusEffect target="NearbyCharacters" range="1000" oneshot="true" disabledeltatime="true">
<ReduceAffliction identifier="mood" strength="25" />
</StatusEffect>
</StatusEffectAction>
</Success>
</CheckDataAction>
</ScriptedEvent>
</EventPrefabs>
</Randomevents>
</Override>