Compare commits

10 Commits
master ... old

Author SHA1 Message Date
dcbe5685df Cook? 2025-04-13 10:56:23 +02:00
d66dac23ee Add settings 2025-04-04 11:15:03 +02:00
d2318f01e2 Cook 2025-04-04 10:26:40 +02:00
b7dafc5b59 Remove hashes 2025-04-04 10:23:37 +02:00
3a5dea231e Add quick terminal hotkey 2025-04-04 09:04:38 +02:00
a289115312 Add mods 2025-04-04 08:51:27 +02:00
ffeb077475 Update 2025-04-03 15:52:28 +02:00
8024505e1e Client side ticker 2025-04-03 15:21:04 +02:00
28b425374a Update 2025-04-03 15:05:02 +02:00
ba3f23da5d Don't send network events 2025-04-02 01:10:00 +02:00
163 changed files with 6446 additions and 1522 deletions

BIN
Abandoned Variety (22 modules)/Admin_A01.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Admin_A02.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Admin_A1.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Crew_A01.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Crew_A02.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Crew_A1.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Docking_A0.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Docking_A1.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Docking_A2.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Docking_A3.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Engineering_A0.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Engineering_A1.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Engineering_A2.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Engineering_A3.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Research_A0.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Research_A1.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Research_A2.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Research_A3.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Security_A0.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Security_A1.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Security_A2.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Abandoned Variety (22 modules)/Security_A3.sub (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<contentpackage name="Abandoned Variety (22 modules)" modversion="1.2" corepackage="False" steamworkshopid="3171294974" gameversion="1.7.7.0" >
<OutpostModule file="%ModDir%/Security_A0.sub" />
<OutpostModule file="%ModDir%/Research_A0.sub" />
<OutpostModule file="%ModDir%/Admin_A01.sub" />
<OutpostModule file="%ModDir%/Admin_A02.sub" />
<OutpostModule file="%ModDir%/Crew_A01.sub" />
<OutpostModule file="%ModDir%/Crew_A02.sub" />
<OutpostModule file="%ModDir%/Docking_A0.sub" />
<OutpostModule file="%ModDir%/Docking_A2.sub" />
<OutpostModule file="%ModDir%/Docking_A3.sub" />
<OutpostModule file="%ModDir%/Research_A1.sub" />
<OutpostModule file="%ModDir%/Research_A2.sub" />
<OutpostModule file="%ModDir%/Research_A3.sub" />
<OutpostModule file="%ModDir%/Security_A2.sub" />
<OutpostModule file="%ModDir%/Security_A3.sub" />
<OutpostModule file="%ModDir%/Crew_A1.sub" />
<OutpostModule file="%ModDir%/Engineering_A1.sub" />
<OutpostModule file="%ModDir%/Engineering_A2.sub" />
<OutpostModule file="%ModDir%/Engineering_A3.sub" />
<OutpostModule file="%ModDir%/Admin_A1.sub" />
<OutpostModule file="%ModDir%/Docking_A1.sub" />
<OutpostModule file="%ModDir%/Engineering_A0.sub" />
<OutpostModule file="%ModDir%/Security_A1.sub" />
</contentpackage>

BIN
Beaumaris/Beaumaris.sub (Stored with Git LFS) Normal file

Binary file not shown.

4
Beaumaris/filelist.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<contentpackage name="Beaumaris" modversion="1.0.14" corepackage="False" steamworkshopid="2902314099" gameversion="1.7.7.0" >
<Submarine file="%ModDir%/Beaumaris.sub" />
</contentpackage>

BIN
Brighter Lights/Lights/divinghelmetlight.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
Brighter Lights/Lights/lightcone.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,477 @@
<?xml version="1.0" encoding="utf-8"?>
<Items>
<Override>
<!--
Updating instuctions:
1) Copy-paste each Item (eg.: "divingsuit") entirely
2) Replace relative paths of textures to their absolute ones: (Notepad++, CTRL+F)
a) texture="reg_DivingSuit texture="Content/Items/Diving/reg_DivingSuit
b) texture="Scooter texture="Content/Items/Diving/Scooter
c) texture="Abyss_DivingSuit texture="Content/Items/Diving/Abyss_DivingSuit
d) texture="combat_DivingSuit texture="Content/Items/Diving/combat_DivingSuit
e) texture="RespawnSuit texture="Content/Items/Diving/RespawnSuit
3) Replace 'Content/Lights/divinghelmetlight.png' with '%ModDir%/Lights/divinghelmetlight.png' (Notepad++, CTRL+F)
4) Replace 'Content/Lights/lightcone.png' with '%ModDir%/Lights/lightcone.png' (Notepad++, CTRL+F)
5) Change the 'range' of 'LightComponent' in:
a) underwaterscooter: 500 -> 1000 (undecided yet)
6) Make sure you haven't replaced the instructions above
-->
<!-- divingsuit -->
<Item name="" identifier="divingsuit" category="Diving,Equipment" tags="diving,deepdiving,human" scale="0.5" fireproof="true" description="" allowdroppingonswapwith="diving" impactsoundtag="impact_metal_heavy" botpriority="1" cargocontaineridentifier="">
<Price baseprice="250">
<Price storeidentifier="merchantoutpost" multiplier="0.9" minavailable="2" />
<Price storeidentifier="merchantcity" multiplier="0.85" minavailable="4" />
<Price storeidentifier="merchantresearch" minavailable="3" />
<Price storeidentifier="merchantmilitary" minavailable="3" />
<Price storeidentifier="merchantmine" multiplier="1.25" minavailable="5" />
</Price>
<PreferredContainer primary="divingsuitcontainer" spawnprobability="1" campaignonly="true" maxleveldifficulty="35" />
<PreferredContainer primary="divingsuitcontainer" spawnprobability="1" notcampaign="true" />
<PreferredContainer primary="piratedivingsuitcontainer" spawnprobability="1" maxleveldifficulty="35" />
<PreferredContainer primary="wreckdivingsuitcontainer" spawnprobability="0.1" maxleveldifficulty="35" />
<Deconstruct time="30">
<Item identifier="titaniumaluminiumalloy" />
<Item identifier="rubber" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="30">
<RequiredSkill identifier="mechanical" level="40" />
<RequiredItem identifier="titaniumaluminiumalloy" />
<RequiredItem identifier="rubber" />
<RequiredItem identifier="rubber" />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas2.png" sourcerect="0,256,128,128" origin="0.5,0.5" />
<!--
<Sprite name="Diving Suit" texture="DivingSuit_Item.png" sourcerect="157,0,90,307" depth="0.55" origin="0.4888889,0.5439739" />
-->
<Sprite name="Diving Suit Item" texture="Content/Items/Diving/DivingSuit_Item.png" sourcerect="0,0,146,120" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Diving Suit In Vertical Locker" allowedcontainertags="divingsuitcontainervertical" texture="Content/Items/Diving/DivingSuit_Item.png" sourcerect="181,0,75,193" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Diving Suit Behind Window" allowedcontainertags="divingsuitcontainerwindow" texture="Content/Items/Containers/containers.png" sourcerect="724,373,77,209" depth="0.55" origin="-0.12,-0.14" />
<ContainedSprite name="Diving Suit In Horizontal Locker" allowedcontainertags="divingsuitcontainerhorizontal" texture="Content/Items/Diving/DivingSuit_Item.png" sourcerect="0,193,230,63" depth="0.55" origin="0.6,0.5" />
<Body radius="45" width="34" density="20" />
<Wearable slots="OuterClothes" msg="ItemMsgEquipSelect" displaycontainedstatus="true" canbeselected="false" canbepicked="true" pickkey="Select">
<sprite name="Diving Suit Helmet Wearable" texture="Content/Items/Jobgear/headgears.png" limb="Head" inheritlimbdepth="true" inheritscale="true" ignorelimbscale="true" scale="0.65" hidelimb="false" alphaclipotherwearables="true" sourcerect="5,4,92,94" origin="0.5,0.5">
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true" allowingameediting="false">
<Upgrade gameversion="0.1300.0.3" allowingameediting="false" />
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" Interval="0.1" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
</LightComponent>
</sprite>
<sprite name="Regular Diving Suit Torso" texture="Content/Items/Diving/reg_DivingSuit.png" limb="Torso" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Right Hand" texture="Content/Items/Diving/reg_DivingSuit.png" limb="RightHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Left Hand" texture="Content/Items/Diving/reg_DivingSuit.png" limb="LeftHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Right Upper Arm" texture="Content/Items/Diving/reg_DivingSuit.png" limb="RightArm" depthlimb="RightForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Left Upper Arm" texture="Content/Items/Diving/reg_DivingSuit.png" limb="LeftArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Right Lower Arm" texture="Content/Items/Diving/reg_DivingSuit.png" limb="RightForearm" depthlimb="RightArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Left Lower Arm" texture="Content/Items/Diving/reg_DivingSuit.png" limb="LeftForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Waist" texture="Content/Items/Diving/reg_DivingSuit.png" limb="Waist" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Right Thigh" texture="Content/Items/Diving/reg_DivingSuit.png" limb="RightThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Left Thigh" texture="Content/Items/Diving/reg_DivingSuit.png" limb="LeftThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Right Leg" texture="Content/Items/Diving/reg_DivingSuit.png" limb="RightLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Left Leg" texture="Content/Items/Diving/reg_DivingSuit.png" limb="LeftLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Left Shoe" texture="Content/Items/Diving/reg_DivingSuit.png" limb="LeftFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Right Shoe" texture="Content/Items/Diving/reg_DivingSuit.png" limb="RightFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<StatusEffect type="OnWearing" target="Character" OxygenAvailable="-100.0" UseHullOxygen="false" />
<StatusEffect type="OnWearing" target="Character" ObstructVision="true" PressureProtection="4000.0" SpeedMultiplier="0.8" LowPassMultiplier="0.2" setvalue="true" disabledeltatime="true">
<Sound file="Content/Items/Diving/DivingSuitLoop1.ogg" range="250" loop="true" />
<Sound file="Content/Items/Diving/DivingSuitLoop2.ogg" range="250" loop="true" />
</StatusEffect>
<!-- Refill oxygen when the suit is contained. -->
<StatusEffect type="OnContained" target="Contained" Condition="1.0" interval="1" disabledeltatime="true">
<Conditional Voltage="gt 0.01" targetcontainer="true" targetgrandparent="true" targetitemcomponent="Powered" />
<RequiredItem items="refillableoxygensource" type="Contained" excludebroken="false" excludefullcondition="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" OxygenAvailable="1000.0" Condition="-0.3" comparison="Or">
<Conditional IsDead="false" />
<RequiredItem items="oxygensource" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="-10.0" Condition="-0.5" interval="1" disabledeltatime="true">
<Conditional IsDead="false" />
<RequiredItem items="weldingfueltank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" targetlimbs="Torso" Oxygen="-10.0" Condition="-0.5" interval="1" disabledeltatime="true">
<Conditional IsDead="false" />
<RequiredItem items="incendiumfueltank" type="Contained" />
<Affliction identifier="burn" amount="3.0" />
</StatusEffect>
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="blunttrauma,gunshotwound,bitewounds,lacerations,bleeding" damagemultiplier="0.7" damagesound="LimbArmor" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictiontypes="burn" damagemultiplier="0.75" damagesound="" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="radiationsickness" damagemultiplier="0.75" damagesound="LimbArmor" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="huskinfection" probabilitymultiplier="0.5" damagesound="LimbArmor" />
</Wearable>
<Holdable slots="RightHand+LeftHand" controlpose="true" holdpos="0,-50" handle1="-10,-20" handle2="10,-20" holdangle="45" msg="ItemMsgPickUpUse" canbeselected="false" canbepicked="true" pickkey="Use">
<Upgrade gameversion="0.1401.0.0" msg="ItemMsgPickUpUse" />
</Holdable>
<ItemContainer capacity="1" maxstacksize="60" hideitems="true" containedstateindicatorstyle="tank">
<SlotIcon slotindex="0" texture="Content/UI/StatusMonitorUI.png" sourcerect="64,448,64,64" origin="0.5,0.5" />
<Containable items="weldingtoolfuel" />
<Containable items="oxygensource">
<StatusEffect type="OnWearing" target="Contained">
<RequiredItem items="oxygensource" type="Contained" />
<Conditional condition="lt 5.0" />
<Sound file="Content/Items/WarningBeepSlow.ogg" range="250" loop="true" />
</StatusEffect>
</Containable>
<Containable items="oxygenitetank">
<StatusEffect type="OnWearing" target="Character" SpeedMultiplier="1.3" setvalue="true" targetslot="0">
<Conditional IsDead="false" />
</StatusEffect>
</Containable>
<StatusEffect type="OnWearing" target="Contained" playsoundonrequireditemfailure="true">
<RequiredItem items="oxygensource" type="Contained" matchonempty="true" />
<Conditional condition="lte 0.0" />
<Sound file="Content/Items/WarningBeep.ogg" range="250" loop="true" />
</StatusEffect>
</ItemContainer>
<aitarget maxsightrange="1500" />
</Item>
<!-- underwaterscooter -->
<Item name="" identifier="underwaterscooter" category="Diving,Equipment" Tags="smallitem,provocative,scooter" cargocontaineridentifier="metalcrate" description="" Scale="0.5" impactsoundtag="impact_metal_light" isshootable="true" requireaimtouse="True">
<Upgrade gameversion="0.10.0.0" scale="0.5" />
<Price baseprice="180">
<Price storeidentifier="merchantoutpost" multiplier="0.9" minavailable="4" />
<Price storeidentifier="merchantcity" multiplier="0.85" minavailable="6" />
<Price storeidentifier="merchantresearch" minavailable="3" />
<Price storeidentifier="merchantmilitary" minavailable="5" />
<Price storeidentifier="merchantmine" multiplier="1.25" minavailable="4" />
</Price>
<Preferredcontainer secondary="respawncontainer" amount="1" spawnprobability="1" notcampaign="true" />
<PreferredContainer primary="divingcab" amount="2" spawnprobability="1" notcampaign="true" />
<PreferredContainer secondary="wrecksupplycab,beaconsupplycab" spawnprobability="0.05" />
<Deconstruct time="20">
<Item identifier="aluminium" />
<Item identifier="copper" />
<Item identifier="tin" />
<Item identifier="plastic" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="30">
<RequiredSkill identifier="mechanical" level="30" />
<RequiredItem identifier="aluminium" amount="2" />
<RequiredItem identifier="fpgacircuit" />
<RequiredItem identifier="tin" amount="2" />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas.png" sourcerect="256,128,67,62" origin="0.5,0.5" />
<Sprite texture="Content/Items/Diving/Scooter.png" depth="0.55" sourcerect="0,0,140,102" />
<Body width="120" height="60" density="10" />
<Holdable slots="Any,RightHand+LeftHand" aimpos="90,0" handle1="-35,32" handle2="-27,34" msg="ItemMsgPickUpSelect" holdangle="-10">
<LightComponent LightColor="220,255,150,200" range="500" powerconsumption="10" IsOn="true">
<LightTexture texture="%ModDir%/Lights/lightcone.png" origin="-0.01, 0.5" size="1.0,1.0" />
<Upgrade gameversion="1.1.2.0" powerconsumption="10" />
</LightComponent>
<!-- activates the light when holding aim -->
<StatusEffect type="OnSecondaryUse" target="This" voltage="1.0" setvalue="true">
<RequiredItem items="mobilebattery" type="Contained" />
</StatusEffect>
<!-- Battery drain when using the light, adds up with propulsion -->
<StatusEffect type="OnSecondaryUse" target="Contained" Condition="-0.05" />
</Holdable>
<Propulsion force="150" usablein="water" particles="bubbles">
<RequiredItems items="mobilebattery" type="Contained" msg="ItemMsgBatteryCellRequired" />
<StatusEffect type="OnUse" target="Contained" Condition="-0.2">
<RequiredItem items="mobilebattery" type="Contained" />
</StatusEffect>
<sound file="Content/Items/Diving/ScooterLoop.ogg" type="OnUse" range="500.0" loop="true" />
</Propulsion>
<ItemContainer capacity="1" maxstacksize="60" hideitems="true" containedstateindicatorstyle="battery">
<SlotIcon slotindex="0" texture="Content/UI/StatusMonitorUI.png" sourcerect="128,448,64,64" origin="0.5,0.5" />
<Containable items="mobilebattery" />
</ItemContainer>
<AiTarget soundrange="3000" maxsightrange="3000" />
</Item>
<!-- abyssdivingsuit -->
<Item name="" identifier="abyssdivingsuit" category="Diving,Equipment" tags="diving,deepdiving,human" scale="0.5" fireproof="true" description="" allowdroppingonswapwith="diving" impactsoundtag="impact_metal_heavy" botpriority="4" cargocontaineridentifier="">
<Price baseprice="550" minleveldifficulty="35">
<Price storeidentifier="merchantoutpost" multiplier="0.9" minavailable="1" />
<Price storeidentifier="merchantcity" multiplier="0.85" minavailable="2" />
<Price storeidentifier="merchantresearch" minavailable="1" />
<Price storeidentifier="merchantmilitary" minavailable="2" />
<Price storeidentifier="merchantmine" multiplier="1.25" minavailable="2" />
</Price>
<PreferredContainer primary="divingsuitcontainer" />
<PreferredContainer primary="piratedivingsuitcontainer" spawnprobability="1" minleveldifficulty="50" />
<PreferredContainer primary="wreckdivingsuitcontainer" spawnprobability="0.05" minleveldifficulty="50" />
<Deconstruct time="30">
<Item identifier="titaniumaluminiumalloy" />
<Item identifier="titaniumaluminiumalloy" />
<Item identifier="titaniumaluminiumalloy" />
<Item identifier="rubber" />
<Item identifier="rubber" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="45">
<RequiredSkill identifier="mechanical" level="60" />
<RequiredItem identifier="divingsuit" />
<RequiredItem identifier="titaniumaluminiumalloy" />
<RequiredItem identifier="titaniumaluminiumalloy" />
<RequiredItem identifier="rubber" />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas2.png" sourcerect="192,384,128,128" origin="0.5,0.5" />
<Sprite name="Abyss Diving Suit Item" texture="Content/Items/Diving/Abyss_DivingSuit_Items.png" sourcerect="0,0,157,121" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Abyss Diving Suit In Vertical Locker" allowedcontainertags="divingsuitcontainervertical" texture="Content/Items/Diving/Abyss_DivingSuit_Items.png" sourcerect="181,0,70,192" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Abyss Diving Suit Behind Window" allowedcontainertags="divingsuitcontainerwindow" texture="Content/Items/Containers/containers.png" sourcerect="316,379,77,214" depth="0.55" origin="-0.12,-0.13" />
<ContainedSprite name="Abyss Diving Suit In Horizontal Locker" allowedcontainertags="divingsuitcontainerhorizontal" texture="Content/Items/Diving/Abyss_DivingSuit_Items.png" sourcerect="0,193,230,63" depth="0.55" origin="0.6,0.5" />
<Body radius="45" width="34" density="20" />
<Wearable slots="OuterClothes" msg="ItemMsgEquipSelect" displaycontainedstatus="true" canbeselected="false" canbepicked="true" pickkey="Select">
<sprite name="Abyss Diving Suit Helmet Wearable" texture="Content/Items/Jobgear/headgears.png" limb="Head" inheritlimbdepth="true" inheritscale="true" ignorelimbscale="true" scale="0.65" hidelimb="false" alphaclipotherwearables="true" sourcerect="0,409,103,103" origin="0.5,0.5">
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true">
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" Interval="0.1" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
</LightComponent>
</sprite>
<sprite name="Abyss Diving Suit Torso" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="Torso" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Right Hand" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="RightHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Left Hand" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="LeftHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Right Upper Arm" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="RightArm" depthlimb="RightForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Left Upper Arm" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="LeftArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Right Lower Arm" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="RightForearm" depthlimb="RightArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Left Lower Arm" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="LeftForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Waist" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="Waist" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Right Thigh" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="RightThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Left Thigh" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="LeftThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Right Leg" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="RightLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Left Leg" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="LeftLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Left Shoe" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="LeftFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Right Shoe" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="RightFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<StatusEffect type="OnWearing" target="Character" OxygenAvailable="-100.0" UseHullOxygen="false" />
<StatusEffect type="OnWearing" target="Character" ObstructVision="true" PressureProtection="10000.0" SpeedMultiplier="0.7" PropulsionSpeedMultiplier="0.5" LowPassMultiplier="0.2" setvalue="true" disabledeltatime="true">
<Sound file="Content/Items/Diving/DivingSuitLoop1.ogg" range="250" loop="true" />
<Sound file="Content/Items/Diving/DivingSuitLoop2.ogg" range="250" loop="true" />
</StatusEffect>
<!-- Refill oxygen when the suit is contained. -->
<StatusEffect type="OnContained" target="Contained" Condition="1.0" interval="1" disabledeltatime="true">
<Conditional Voltage="gt 0.01" targetcontainer="true" targetgrandparent="true" targetitemcomponent="Powered" />
<RequiredItem items="refillableoxygensource" type="Contained" excludebroken="false" excludefullcondition="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" OxygenAvailable="1000.0" Condition="-0.15" comparison="Or">
<Conditional IsDead="false" />
<RequiredItem items="oxygensource" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="-10.0" Condition="-0.5" interval="1" disabledeltatime="true">
<Conditional IsDead="false" />
<RequiredItem items="weldingfueltank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" targetlimbs="Torso" Oxygen="-10.0" Condition="-0.5" interval="1" disabledeltatime="true">
<Conditional IsDead="false" />
<RequiredItem items="incendiumfueltank" type="Contained" />
<Affliction identifier="burn" amount="3.0" />
</StatusEffect>
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="blunttrauma,gunshotwound,bitewounds,lacerations,bleeding" damagemultiplier="0.55" damagesound="LimbArmor" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictiontypes="burn" damagemultiplier="0.75" damagesound="" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="radiationsickness" damagemultiplier="0.75" damagesound="LimbArmor" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="huskinfection" probabilitymultiplier="0.5" damagesound="LimbArmor" />
</Wearable>
<Holdable slots="RightHand+LeftHand" controlpose="true" holdpos="0,-50" handle1="-10,-20" handle2="10,-20" holdangle="45" msg="ItemMsgPickUpUse" canbeselected="false" canbepicked="true" pickkey="Use" />
<ItemContainer capacity="1" maxstacksize="60" hideitems="true" containedstateindicatorstyle="tank">
<SlotIcon slotindex="0" texture="Content/UI/StatusMonitorUI.png" sourcerect="64,448,64,64" origin="0.5,0.5" />
<Containable items="weldingtoolfuel" />
<Containable items="oxygensource">
<StatusEffect type="OnWearing" target="Contained">
<RequiredItem items="oxygensource" type="Contained" />
<Conditional condition="lt 5.0" />
<Sound file="Content/Items/WarningBeepSlow.ogg" range="250" loop="true" />
</StatusEffect>
</Containable>
<Containable items="oxygenitetank">
<StatusEffect type="OnWearing" target="Character" SpeedMultiplier="1.3" setvalue="true" targetslot="0">
<Conditional IsDead="false" />
</StatusEffect>
</Containable>
<StatusEffect type="OnWearing" target="Contained" playsoundonrequireditemfailure="true">
<RequiredItem items="oxygensource" type="Contained" matchonempty="true" />
<Conditional condition="lte 0.0" />
<Sound file="Content/Items/WarningBeep.ogg" range="250" loop="true" />
</StatusEffect>
</ItemContainer>
<aitarget maxsightrange="1500" />
</Item>
<!-- combatdivingsuit -->
<Item name="" identifier="combatdivingsuit" category="Diving,Equipment" tags="diving,deepdiving,human" scale="0.5" fireproof="true" description="" allowdroppingonswapwith="diving" impactsoundtag="impact_metal_heavy" botpriority="2" cargocontaineridentifier="">
<Price baseprice="560" minleveldifficulty="35">
<Price storeidentifier="merchantoutpost" sold="false" multiplier="0.9" />
<Price storeidentifier="merchantcity" multiplier="0.85" minavailable="2" sold="false" />
<Price storeidentifier="merchantresearch" sold="false" />
<Price storeidentifier="merchantmilitary" minavailable="3" />
<Price storeidentifier="merchantmine" sold="false" multiplier="1.25" />
<Price storeidentifier="merchantarmory" multiplier="0.85" minavailable="3" />
</Price>
<PreferredContainer primary="divingsuitcontainer" />
<PreferredContainer primary="piratedivingsuitcontainer" spawnprobability="1" minleveldifficulty="35" />
<PreferredContainer primary="wreckdivingsuitcontainer" spawnprobability="0.05" minleveldifficulty="35" />
<Deconstruct time="30">
<Item identifier="ballisticfiber" />
<Item identifier="titaniumaluminiumalloy" />
<Item identifier="titaniumaluminiumalloy" />
<Item identifier="rubber" />
<Item identifier="rubber" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="45">
<RequiredSkill identifier="mechanical" level="60" />
<RequiredItem identifier="divingsuit" />
<RequiredItem identifier="ballisticfiber" />
<RequiredItem identifier="titaniumaluminiumalloy" />
<RequiredItem identifier="rubber" />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas2.png" sourcerect="128,704,128,128" origin="0.5,0.5" />
<!--
<Sprite name="Diving Suit" texture="DivingSuit_Item.png" sourcerect="157,0,90,307" depth="0.55" origin="0.4888889,0.5439739" />
-->
<Sprite name="Combat Diving Suit Item" texture="Content/Items/Diving/Combat_DivingSuit_Items.png" sourcerect="0,0,157,121" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Combat Diving Suit In Vertical Locker" allowedcontainertags="divingsuitcontainervertical" texture="Content/Items/Diving/Combat_DivingSuit_Items.png" sourcerect="181,0,70,192" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Combat Diving Suit Behind Window" allowedcontainertags="divingsuitcontainerwindow" texture="Content/Items/Containers/containers.png" sourcerect="215,379,80,207" depth="0.55" origin="-0.12,-0.14" />
<ContainedSprite name="Combat Diving Suit In Horizontal Locker" allowedcontainertags="divingsuitcontainerhorizontal" texture="Content/Items/Diving/Combat_DivingSuit_Items.png" sourcerect="0,193,230,63" depth="0.55" origin="0.6,0.5" />
<Body radius="45" width="34" density="20" />
<Wearable slots="OuterClothes" msg="ItemMsgEquipSelect" displaycontainedstatus="true" canbeselected="false" canbepicked="true" pickkey="Select">
<sprite name="Combat Diving Suit Helmet Wearable" texture="Content/Items/Jobgear/headgears.png" limb="Head" inheritlimbdepth="true" inheritscale="true" ignorelimbscale="true" scale="0.65" hidelimb="false" alphaclipotherwearables="true" sourcerect="326,0,103,103" origin="0.5,0.5">
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true" allowingameediting="false">
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" Interval="0.1" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
</LightComponent>
</sprite>
<sprite name="Combat Diving Suit Torso" texture="Content/Items/Diving/combat_DivingSuit.png" limb="Torso" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Right Hand" texture="Content/Items/Diving/combat_DivingSuit.png" limb="RightHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Left Hand" texture="Content/Items/Diving/combat_DivingSuit.png" limb="LeftHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Right Upper Arm" texture="Content/Items/Diving/combat_DivingSuit.png" limb="RightArm" depthlimb="RightForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Left Upper Arm" texture="Content/Items/Diving/combat_DivingSuit.png" limb="LeftArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Right Lower Arm" texture="Content/Items/Diving/combat_DivingSuit.png" limb="RightForearm" depthlimb="RightArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Left Lower Arm" texture="Content/Items/Diving/combat_DivingSuit.png" limb="LeftForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Waist" texture="Content/Items/Diving/combat_DivingSuit.png" limb="Waist" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Right Thigh" texture="Content/Items/Diving/combat_DivingSuit.png" limb="RightThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Left Thigh" texture="Content/Items/Diving/combat_DivingSuit.png" limb="LeftThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Right Leg" texture="Content/Items/Diving/combat_DivingSuit.png" limb="RightLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Left Leg" texture="Content/Items/Diving/combat_DivingSuit.png" limb="LeftLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Left Shoe" texture="Content/Items/Diving/combat_DivingSuit.png" limb="LeftFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Right Shoe" texture="Content/Items/Diving/combat_DivingSuit.png" limb="RightFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<StatusEffect type="OnWearing" target="Character" OxygenAvailable="-100.0" UseHullOxygen="false" />
<StatusEffect type="OnWearing" target="Character" ObstructVision="true" PressureProtection="6000.0" SpeedMultiplier="0.95" PropulsionSpeedMultiplier="1.4" LowPassMultiplier="0.2" setvalue="true" disabledeltatime="true">
<Sound file="Content/Items/Diving/DivingSuitLoop1.ogg" range="250" loop="true" />
<Sound file="Content/Items/Diving/DivingSuitLoop2.ogg" range="250" loop="true" />
</StatusEffect>
<!-- Refill oxygen when the suit is contained. -->
<StatusEffect type="OnContained" target="Contained" Condition="1.0" interval="1" disabledeltatime="true">
<Conditional Voltage="gt 0.01" targetcontainer="true" targetgrandparent="true" targetitemcomponent="Powered" />
<RequiredItem items="refillableoxygensource" type="Contained" excludebroken="false" excludefullcondition="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" OxygenAvailable="1000.0" Condition="-0.3" comparison="Or">
<Conditional IsDead="false" />
<RequiredItem items="oxygensource" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="-10.0" Condition="-0.5" interval="0.5" disabledeltatime="true">
<Conditional IsDead="false" />
<RequiredItem items="weldingfueltank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" targetlimbs="Torso" Oxygen="-10.0" Condition="-0.5" interval="0.5" disabledeltatime="true">
<Conditional IsDead="false" />
<RequiredItem items="incendiumfueltank" type="Contained" />
<Affliction identifier="burn" amount="3.0" />
</StatusEffect>
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="blunttrauma,gunshotwound,bitewounds,lacerations,bleeding" damagemultiplier="0.6" damagesound="LimbArmor" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictiontypes="burn" damagemultiplier="0.55" damagesound="" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="radiationsickness" damagemultiplier="0.75" damagesound="LimbArmor" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="huskinfection" probabilitymultiplier="0.5" damagesound="LimbArmor" />
</Wearable>
<Holdable slots="RightHand+LeftHand" controlpose="true" holdpos="0,-50" handle1="-10,-20" handle2="10,-20" holdangle="45" msg="ItemMsgPickUpUse" canbeselected="false" canbepicked="true" pickkey="Use" />
<ItemContainer capacity="1" maxstacksize="60" hideitems="true" containedstateindicatorstyle="tank">
<SlotIcon slotindex="0" texture="Content/UI/StatusMonitorUI.png" sourcerect="64,448,64,64" origin="0.5,0.5" />
<Containable items="weldingtoolfuel" />
<Containable items="oxygensource">
<StatusEffect type="OnWearing" target="Contained">
<RequiredItem items="oxygensource" type="Contained" />
<Conditional condition="lt 5.0" />
<Sound file="Content/Items/WarningBeepSlow.ogg" range="250" loop="true" />
</StatusEffect>
</Containable>
<Containable items="oxygenitetank">
<StatusEffect type="OnWearing" target="Character" SpeedMultiplier="1.3" setvalue="true" targetslot="0">
<Conditional IsDead="false" />
</StatusEffect>
</Containable>
<StatusEffect type="OnWearing" target="Contained" playsoundonrequireditemfailure="true">
<RequiredItem items="oxygensource" type="Contained" matchonempty="true" />
<Conditional condition="lte 0.0" />
<Sound file="Content/Items/WarningBeep.ogg" range="250" loop="true" />
</StatusEffect>
</ItemContainer>
<aitarget maxsightrange="1500" />
</Item>
<!-- respawndivingsuit -->
<Item name="" identifier="respawndivingsuit" category="Diving,Equipment" tags="diving,deepdiving,human,respawnsuit" scale="0.5" fireproof="true" description="" allowdroppingonswapwith="diving" impactsoundtag="impact_metal_heavy" botpriority="3" cargocontaineridentifier="">
<Deconstruct time="1" />
<InventoryIcon texture="Content/Items/InventoryIconAtlas2.png" sourcerect="0,832,128,128" origin="0.5,0.5" />
<Sprite name="Respawn Diving Suit Item" texture="Content/Items/Diving/RespawnSuit_Items.png" sourcerect="0,0,157,121" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Respawn Diving Suit In Vertical Locker" allowedcontainertags="divingsuitcontainervertical" texture="Content/Items/Diving/RespawnSuit_Items.png" sourcerect="181,0,70,192" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Respawn Diving Suit Behind Window" allowedcontainertags="divingsuitcontainerwindow" texture="Content/Items/Containers/containers.png" sourcerect="118,379,77,214" depth="0.55" origin="-0.12,-0.13" />
<ContainedSprite name="Respawn Diving Suit In Horizontal Locker" allowedcontainertags="divingsuitcontainerhorizontal" texture="Content/Items/Diving/RespawnSuit_Items.png" sourcerect="0,193,230,63" depth="0.55" origin="0.6,0.5" />
<Body radius="45" width="34" density="20" />
<Wearable slots="OuterClothes" msg="ItemMsgEquipSelect" displaycontainedstatus="true" canbeselected="false" canbepicked="true" pickkey="Select">
<sprite name="Respawn Diving Suit Helmet Wearable" texture="Content/Items/Jobgear/headgears.png" limb="Head" inheritlimbdepth="true" inheritscale="true" ignorelimbscale="true" scale="0.65" hidelimb="false" alphaclipotherwearables="true" sourcerect="100,409,103,103" origin="0.5,0.5">
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true">
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
<IsActive condition="gt 10.0" />
</LightComponent>
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true" flicker="0.8" flickerspeed="1.0" pulsefrequency="0.1" pulseamount="0.5">
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
<IsActive condition="lte 10.0" />
</LightComponent>
</sprite>
<sprite name="Respawn Diving Suit Torso" texture="Content/Items/Diving/RespawnSuit.png" limb="Torso" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Right Hand" texture="Content/Items/Diving/RespawnSuit.png" limb="RightHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Left Hand" texture="Content/Items/Diving/RespawnSuit.png" limb="LeftHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Right Upper Arm" texture="Content/Items/Diving/RespawnSuit.png" limb="RightArm" depthlimb="RightForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Left Upper Arm" texture="Content/Items/Diving/RespawnSuit.png" limb="LeftArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Right Lower Arm" texture="Content/Items/Diving/RespawnSuit.png" limb="RightForearm" depthlimb="RightArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Left Lower Arm" texture="Content/Items/Diving/RespawnSuit.png" limb="LeftForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Waist" texture="Content/Items/Diving/RespawnSuit.png" limb="Waist" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Right Thigh" texture="Content/Items/Diving/RespawnSuit.png" limb="RightThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Left Thigh" texture="Content/Items/Diving/RespawnSuit.png" limb="LeftThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Right Leg" texture="Content/Items/Diving/RespawnSuit.png" limb="RightLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Left Leg" texture="Content/Items/Diving/RespawnSuit.png" limb="LeftLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Left Shoe" texture="Content/Items/Diving/RespawnSuit.png" limb="LeftFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Right Shoe" texture="Content/Items/Diving/RespawnSuit.png" limb="RightFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<StatusEffect type="OnWearing" target="Character" OxygenAvailable="-100.0" UseHullOxygen="false" />
<StatusEffect type="OnWearing" target="Character" ObstructVision="true" SpeedMultiplier="0.7" PropulsionSpeedMultiplier="0.5" setvalue="true" disabledeltatime="true" />
<StatusEffect type="OnWearing" target="this,Character" PressureProtection="10000.0" setvalue="true" disabledeltatime="true">
<Conditional condition="gt 0.0" />
</StatusEffect>
<StatusEffect type="OnWearing" target="this,Character" OxygenAvailable="1000.0" Condition="-0.2" comparison="and">
<Conditional IsDead="false" />
<Conditional condition="gt 0.0" />
</StatusEffect>
<StatusEffect type="OnWearing" target="this" comparison="and">
<Conditional condition="lt 5.0" />
<Conditional condition="gt 0.0" />
<Sound file="Content/Items/WarningBeepSlow.ogg" range="250" loop="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="this">
<Conditional condition="lte 0.0" />
<Sound file="Content/Items/WarningBeep.ogg" range="250" loop="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Character" LowPassMultiplier="0.2" setvalue="true">
<Sound file="Content/Items/Diving/DivingSuitLoop1.ogg" range="250" loop="true" />
<Sound file="Content/Items/Diving/DivingSuitLoop2.ogg" range="250" loop="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="this,Character">
<Conditional condition="lte 0.0" />
<Sound file="Content/Items/Diving/ITEMS_divingSuitOxygenLeakLoop.ogg" range="200" loop="true" dontmuffle="true" />
</StatusEffect>
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="blunttrauma,gunshotwound,bitewounds,lacerations,bleeding" damagemultiplier="0.8" damagesound="LimbArmor" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictiontypes="burn" damagemultiplier="0.75" damagesound="" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="radiationsickness" damagemultiplier="0.75" damagesound="LimbArmor" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="huskinfection" probabilitymultiplier="0.5" damagesound="LimbArmor" />
</Wearable>
<Holdable slots="RightHand+LeftHand" controlpose="true" holdpos="0,-50" handle1="-10,-20" handle2="10,-20" holdangle="45" msg="ItemMsgPickUpUse" canbeselected="false" canbepicked="true" pickkey="Use" />
<aitarget maxsightrange="1500" />
</Item>
<!-- -->
<!-- -->
</Override>
</Items>

View File

@@ -0,0 +1,192 @@
<?xml version="1.0" encoding="utf-8"?>
<Items>
<Override>
<!--
Updating instuctions:
1) Copy-paste each Item (eg.: "divingsuit") entirely
2) Replace relative paths of textures to their absolute ones: (Notepad++, CTRL+F)
a) texture="pucs texture="Content/Items/Jobgear/Engineer/pucs
3) Replace 'Content/Lights/divinghelmetlight.png' with '%ModDir%/Lights/divinghelmetlight.png' (Notepad++, CTRL+F)
4) Replace 'Content/Lights/lightcone.png' with '%ModDir%/Lights/lightcone.png' (Notepad++, CTRL+F)
5) Change the 'range' of 'LightComponent' in:
a) cargoscooter: 500 -> 1000 (undecided yet)
6) Make sure you haven't replaced the instructions above
-->
<!-- cargoscooter -->
<Item name="" identifier="cargoscooter" category="Equipment,Diving" Tags="mediumitem,provocative,scooter,mobilecontainer" allowasextracargo="true" cargocontaineridentifier="metalcrate" description="" Scale="0.5" impactsoundtag="impact_metal_heavy" isshootable="true">
<PreferredContainer primary="divingcab" />
<Price baseprice="400" sold="false">
<Price storeidentifier="merchantoutpost" multiplier="0.9" />
<Price storeidentifier="merchantcity" multiplier="0.85" />
<Price storeidentifier="merchantresearch" />
<Price storeidentifier="merchantmilitary" />
<Price storeidentifier="merchantmine" multiplier="1.25" />
</Price>
<Deconstruct time="20">
<Item identifier="aluminium" amount="2" />
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="tin" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="30" requiresrecipe="true">
<RequiredSkill identifier="mechanical" level="30" />
<RequiredItem identifier="aluminium" amount="2" />
<RequiredItem identifier="titaniumaluminiumalloy" amount="2" />
<RequiredItem identifier="tin" amount="2" />
</Fabricate>
<InventoryIcon texture="Content/Items/JobGear/TalentGear.png" sourcerect="131,123,53,58" origin="0.5,0.5" />
<Sprite texture="Content/Items/JobGear/TalentGear.png" depth="0.55" sourcerect="295,195,149,105" origin="0.5,0.5" />
<Body width="140" height="100" density="10" />
<Holdable slots="RightHand+LeftHand" aimpos="90,0" handle1="-35,32" handle2="-27,34" msg="ItemMsgPickUpSelect" holdangle="-10">
<LightComponent LightColor="220,255,150,200" range="500" powerconsumption="10" IsOn="true">
<Upgrade gameversion="1.1.2.0" powerconsumption="10" />
<LightTexture texture="%ModDir%/Lights/lightcone.png" origin="-0.01, 0.5" size="1.0,1.0" />
</LightComponent>
<!-- activates the light when holding aim -->
<StatusEffect type="OnSecondaryUse" target="This" voltage="1.0" setvalue="true">
<RequiredItem items="mobilebattery" type="Contained" />
</StatusEffect>
<!-- Battery drain when using the light, adds up with propulsion -->
<StatusEffect type="OnSecondaryUse" target="Contained" targetslot="0" Condition="-0.05" />
</Holdable>
<Propulsion force="150" usablein="water" particles="bubbles">
<RequiredItems items="mobilebattery" targetslot="0" type="Contained" msg="ItemMsgBatteryCellRequired" />
<StatusEffect type="OnUse" target="Contained" targetslot="0" Condition="-0.2">
<RequiredItem items="mobilebattery" type="Contained" />
</StatusEffect>
<sound file="Content/Items/Diving/ScooterLoop.ogg" type="OnUse" range="500.0" loop="true" />
</Propulsion>
<ItemContainer capacity="1" maxstacksize="60" slotsperrow="3" hideitems="true" containedstateindicatorslot="0" containedstateindicatorstyle="battery">
<Containable items="mobilebattery" />
<SlotIcon slotindex="0" texture="Content/UI/StatusMonitorUI.png" sourcerect="128,448,64,64" origin="0.5,0.5" />
<SubContainer capacity="33" maxstacksize="60">
<Containable items="smallitem,mediumitem,ammobox,deepdiving,largeitem" />
</SubContainer>
</ItemContainer>
<AiTarget soundrange="3000" maxsightrange="3000" />
</Item>
<!-- pucs -->
<Item name="" identifier="pucs" category="Equipment,Diving" tags="diving,deepdiving,divinggear_wearableindoors,human" allowasextracargo="true" scale="0.5" fireproof="true" description="" allowdroppingonswapwith="diving" impactsoundtag="impact_metal_heavy" botpriority="5" cargocontaineridentifier="">
<PreferredContainer primary="divingsuitcontainer" spawnprobability="0.0" />
<Price baseprice="670" sold="false">
<Price storeidentifier="merchantoutpost" />
<Price storeidentifier="merchantcity" minavailable="0" maxavailable="3" sold="true">
<Reputation faction="coalition" min="70" />
</Price>
<Price storeidentifier="merchantresearch" multiplier="1.2" />
<Price storeidentifier="merchantmilitary" />
<Price storeidentifier="merchantmine" multiplier="1.1" />
</Price>
<Deconstruct time="45">
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="rubber" amount="2" />
<Item identifier="lead" amount="2" />
<Item identifier="physicorium" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="80" requiresrecipe="true">
<RequiredSkill identifier="electrical" level="60" />
<RequiredItem identifier="combatdivingsuit" />
<RequiredItem identifier="lead" />
<RequiredItem identifier="physicorium" />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas2.png" sourcerect="384,704,128,128" origin="0.5,0.5" />
<Sprite name="PUCS Item" texture="Content/Items/Jobgear/Engineer/PUCS_Items.png" sourcerect="0,0,154,134" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="PUCS In Vertical Locker" allowedcontainertags="divingsuitcontainervertical" texture="Content/Items/Jobgear/Engineer/PUCS_Items.png" sourcerect="164,0,87,190" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="PUCS Behind Window" allowedcontainertags="divingsuitcontainerwindow" texture="Content/Items/Jobgear/Engineer/pucs.png" sourcerect="430,0,80,207" depth="0.55" origin="-0.12,-0.14" />
<ContainedSprite name="PUCS In Horizontal Locker" allowedcontainertags="divingsuitcontainerhorizontal" texture="Content/Items/Jobgear/Engineer/PUCS_Items.png" sourcerect="0,191,225,66" depth="0.55" origin="0.6,0.5" />
<Body radius="45" width="34" density="20" />
<Wearable slots="OuterClothes" msg="ItemMsgEquipSelect" displaycontainedstatus="true" canbeselected="false" canbepicked="true" pickkey="Select">
<sprite name="PUCS Helmet Wearable" texture="Content/Items/Jobgear/headgears.png" limb="Head" inheritlimbdepth="true" inheritscale="true" ignorelimbscale="true" scale="0.65" hidelimb="false" alphaclipotherwearables="true" sourcerect="127,520,105,124" origin="0.57,0.38">
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true" allowingameediting="false">
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" Interval="0.1" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
</LightComponent>
</sprite>
<sprite name="pucs Torso" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="Torso" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Right Hand" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="RightHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Left Hand" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="LeftHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Right Upper Arm" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="RightArm" depthlimb="RightForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Left Upper Arm" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="LeftArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Right Lower Arm" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="RightForearm" depthlimb="RightArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Left Lower Arm" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="LeftForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Waist" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="Waist" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Right Thigh" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="RightThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Left Thigh" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="LeftThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Right Leg" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="RightLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Left Leg" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="LeftLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Left Shoe" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="LeftFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Right Shoe" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="RightFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<StatusEffect type="OnWearing" target="Character" UseHullOxygen="true" ObstructVision="true" PressureProtection="6000.0" SpeedMultiplier="0.9" PropulsionSpeedMultiplier="0.9" LowPassMultiplier="0.2" setvalue="true" disabledeltatime="true">
<Sound file="Content/Items/Diving/DivingSuitLoop1.ogg" range="250" loop="true" />
<Sound file="Content/Items/Diving/DivingSuitLoop2.ogg" range="250" loop="true" />
</StatusEffect>
<!-- Refill oxygen when the suit is contained. -->
<StatusEffect type="OnContained" target="Contained" Condition="1.0" targetslot="0" interval="1" disabledeltatime="true">
<Conditional Voltage="gt 0.01" targetcontainer="true" targetgrandparent="true" targetitemcomponent="Powered" />
<RequiredItem items="refillableoxygensource" type="Contained" excludebroken="false" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" UseHullOxygen="false" OxygenAvailable="1000.0" Condition="-0.3" comparison="And" targetslot="0">
<Conditional IsDead="false" />
<Conditional HullOxygenPercentage="lt 50" />
<Conditional InWater="false" />
<RequiredItem items="oxygensource" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" UseHullOxygen="false" OxygenAvailable="1000.0" Condition="-0.3" comparison="And" targetslot="0">
<Conditional InWater="true" />
<RequiredItem items="oxygensource" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="-10.0" Condition="-0.5" interval="1" disabledeltatime="true" targetslot="0">
<Conditional IsDead="false" />
<RequiredItem items="weldingfueltank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" targetlimbs="Torso" Oxygen="-10.0" Condition="-0.5" interval="1" disabledeltatime="true" targetslot="0">
<Conditional IsDead="false" />
<RequiredItem items="incendiumfueltank" type="Contained" />
<Affliction identifier="burn" amount="3.0" />
</StatusEffect>
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="blunttrauma,gunshotwound,bitewounds,lacerations,bleeding" damagemultiplier="0.65" damagesound="LimbArmor" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictiontypes="burn" damagemultiplier="0.1" damagesound="" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="radiationsickness" damagemultiplier="0.1" damagesound="LimbArmor" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="huskinfection" probabilitymultiplier="0.1" damagesound="LimbArmor" />
<ItemComponent IsActiveConditionalComparison="Or">
<IsActive HullOxygenPercentage="lt 50" />
<IsActive InWater="eq true" />
<StatusEffect type="OnActive" target="Contained,Character" comparison="And">
<RequiredItem items="oxygensource" type="Contained" />
<Conditional condition="lt 5.0" />
<Sound file="Content/Items/WarningBeepSlow.ogg" range="250" loop="true" />
</StatusEffect>
<StatusEffect type="OnActive" target="Contained" playsoundonrequireditemfailure="true">
<RequiredItem items="oxygensource" type="Contained" matchonempty="true" />
<Conditional condition="lte 0.0" />
<Sound file="Content/Items/WarningBeep.ogg" range="250" loop="true" />
</StatusEffect>
</ItemComponent>
</Wearable>
<Holdable slots="RightHand+LeftHand" controlpose="true" holdpos="0,-50" handle1="-10,-20" handle2="10,-20" holdangle="45" msg="ItemMsgPickUpUse" canbeselected="false" canbepicked="true" pickkey="Use" />
<ItemContainer capacity="0" maxstacksize="60" hideitems="true" containedstateindicatorstyle="tank" containedstateindicatorslot="0" autoinject="true">
<Containable items="none,ammobox,deepdiving,smallitem,mediumitem,largeitem" />
<SlotIcon slotindex="0" texture="Content/UI/StatusMonitorUI.png" sourcerect="64,448,64,64" origin="0.5,0.5" />
<SlotIcon slotindex="1" texture="Content/UI/StatusMonitorUI.png" sourcerect="384,448,64,64" origin="0.5,0.5" />
<SubContainer capacity="1" maxstacksize="60">
<Containable items="oxygensource,weldingtoolfuel" />
<Containable items="oxygenitetank">
<StatusEffect type="OnWearing" target="Character" SpeedMultiplier="1.3" setvalue="true" comparison="And" targetslot="0">
<Conditional IsDead="false" />
<Conditional HullOxygenPercentage="lt 50" />
<Conditional InWater="false" />
</StatusEffect>
</Containable>
</SubContainer>
<SubContainer capacity="1" maxstacksize="60">
<Containable items="chem,syringe" />
</SubContainer>
</ItemContainer>
<aitarget maxsightrange="1500" />
</Item>
<!-- -->
<!-- -->
</Override>
</Items>

View File

@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<Items>
<Override>
<!--
Updating instuctions:
1) Copy-paste each Item (eg.: "divingsuit") entirely
2) Replace relative paths of textures to their absolute ones: (Notepad++, CTRL+F)
a) texture="slipsuit texture="Content/Items/Jobgear/Security/slipsuit
b) texture="pucs texture="Content/Items/Jobgear/Engineer/pucs
3) Replace 'Content/Lights/divinghelmetlight.png' with '%ModDir%/Lights/divinghelmetlight.png' (Notepad++, CTRL+F)
4) Replace 'Content/Lights/lightcone.png' with '%ModDir%/Lights/lightcone.png' (Notepad++, CTRL+F)
5) Change the 'range' of 'LightComponent' in:
a) [everything is okay here]
6) Make sure you haven't replaced the instructions above
-->
<!-- slipsuit -->
<Item name="" identifier="slipsuit" variantof="combatdivingsuit" allowasextracargo="true" botpriority="1.5">
<Price baseprice="630" sold="false" />
<PreferredContainer primary="divingsuitcontainer" spawnprobability="0.0" />
<PreferredContainer primary="wreckdivingsuitcontainer" spawnprobability="0.0" />
<Deconstruct time="30">
<Item identifier="ballisticfiber" />
<Item identifier="titaniumaluminiumalloy" />
<Item identifier="titaniumaluminiumalloy" />
<Item identifier="rubber" />
<Item identifier="rubber" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="45" requiresrecipe="true">
<RequiredSkill identifier="mechanical" level="20" />
<RequiredItem identifier="combatdivingsuit" />
<RequiredItem identifier="rubber" />
<!-- clear the rest of the requirements -->
<RequiredItem />
<RequiredItem />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas2.png" sourcerect="256,704,128,128" origin="0.5,0.5" />
<Sprite name="Slipsuit Item" texture="Content/Items/Jobgear/Security/Slipsuit_Items.png" sourcerect="7,8,157,121" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Slipsuit In Vertical Locker" allowedcontainertags="divingsuitcontainervertical" texture="Content/Items/Jobgear/Security/Slipsuit_Items.png" sourcerect="171,0,77,192" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Slipsuit Behind Window" allowedcontainertags="divingsuitcontainerwindow" texture="Content/Items/Jobgear/Security/slipsuit.png" sourcerect="430,0,80,207" depth="0.55" origin="-0.12,-0.13" />
<ContainedSprite name="Slipsuit In Horizontal Locker" allowedcontainertags="divingsuitcontainerhorizontal" texture="Content/Items/Jobgear/Security/Slipsuit_Items.png" sourcerect="0,193,230,63" depth="0.55" origin="0.6,0.5" />
<Body radius="45" width="34" density="20" />
<Wearable>
<sprite name="Slipsuit Helmet Wearable" texture="Content/Items/Jobgear/headgears.png" limb="Head" inheritlimbdepth="true" inheritscale="true" ignorelimbscale="true" scale="0.65" hidelimb="false" alphaclipotherwearables="true" sourcerect="0,520,105,124" origin="0.5,0.4">
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true" allowingameediting="false">
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
</LightComponent>
</sprite>
<sprite name="SlipSuit Torso" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="Torso" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Right Hand" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="RightHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Left Hand" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="LeftHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Right Upper Arm" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="RightArm" depthlimb="RightForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Left Upper Arm" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="LeftArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Right Lower Arm" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="RightForearm" depthlimb="RightArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Left Lower Arm" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="LeftForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Waist" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="Waist" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Right Thigh" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="RightThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Left Thigh" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="LeftThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Right Leg" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="RightLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Left Leg" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="LeftLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Left Shoe" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="LeftFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Right Shoe" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="RightFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<StatValue stattype="SwimmingSpeed" value="0.45" />
<StatValue stattype="WalkingSpeed" value="-0.6" />
</Wearable>
</Item>
<!-- -->
<!-- -->
</Override>
</Items>

View File

@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<Items>
<Override>
<!--
Updating instuctions:
1) Copy-paste each Item (eg.: "divingsuit") entirely
2) Replace relative paths of textures to their absolute ones: (Notepad++, CTRL+F)
a) [everything is okay here]
3) Replace 'Content/Lights/divinghelmetlight.png' with '%ModDir%/Lights/divinghelmetlight.png' (Notepad++, CTRL+F)
4) Replace 'Content/Lights/lightcone.png' with '%ModDir%/Lights/lightcone.png' (Notepad++, CTRL+F)
5) Change the 'range' of 'LightComponent' in:
a) flashlight: 800 -> 1000 (undecided yet)
6) Make sure you haven't replaced the instructions above
-->
<!-- flashlight -->
<Item name="" identifier="flashlight" category="Equipment" Tags="smallitem,tool,provocative" cargocontaineridentifier="metalcrate" Scale="0.5" impactsoundtag="impact_metal_light">
<PreferredContainer primary="divingcab" minamount="1" maxamount="2" spawnprobability="1" notcampaign="true" />
<PreferredContainer secondary="wreckstoragecab,abandonedstoragecab,wrecksupplycab,beaconsupplycab" amount="1" spawnprobability="0.05" />
<PreferredContainer secondary="outpostcrewcabinet" amount="1" spawnprobability="0.1" />
<Price baseprice="200" minavailable="2">
<Price storeidentifier="merchantoutpost" />
<Price storeidentifier="merchantcity" multiplier="0.9" minavailable="3" />
<Price storeidentifier="merchantresearch" multiplier="1.25" />
<Price storeidentifier="merchantmilitary" multiplier="1.25" />
<Price storeidentifier="merchantmine" />
</Price>
<Fabricate suitablefabricators="fabricator" requiredtime="10">
<RequiredSkill identifier="mechanical" level="25" />
<RequiredItem identifier="aluminium" amount="2" />
<RequiredItem tag="lightcomponent" />
</Fabricate>
<Deconstruct time="15">
<Item identifier="aluminium" />
<Item identifier="lightcomponent" />
</Deconstruct>
<InventoryIcon texture="Content/Items/InventoryIconAtlas.png" sourcerect="704,320,64,64" origin="0.5,0.5" />
<Sprite texture="Content/Items/Tools/tools.png" sourcerect="293,185,49,18" depth="0.55" origin="0.5,0.5" />
<Body width="48" height="15" density="15" />
<Holdable slots="Any,RightHand,LeftHand,Head" holdpos="30,-50" aimpos="60,0" handle1="-20,0" msg="ItemMsgPickUpSelect">
<StatusEffect type="OnActive" targettype="Contained" Condition="-0.2">
<RequiredItem items="mobilebattery" type="Contained" />
</StatusEffect>
<!-- the child LightComponent is only active when the Holdable is active, i.e. when the item is being held -->
<LightComponent LightColor="0.5,0.5,0.5,1.0" directional="true" Flicker="0.02" range="800" powerconsumption="10" IsOn="true">
<LightTexture texture="%ModDir%/Lights/lightcone.png" origin="0.0, 0.5" size="1.0,1.0" />
<IsActive targetcontaineditem="true" condition="gt 1.0" />
</LightComponent>
<LightComponent LightColor="0.5,0.5,0.5,1.0" directional="true" range="800" powerconsumption="10" IsOn="true" flicker="0.8" flickerspeed="1.0" pulsefrequency="0.1" pulseamount="0.5">
<LightTexture texture="%ModDir%/Lights/lightcone.png" origin="0.0, 0.5" size="1.0,1.0" />
<IsActive targetcontaineditem="true" condition="lte 1.0" />
</LightComponent>
</Holdable>
<ItemContainer capacity="1" maxstacksize="60" hideitems="true" containedstateindicatorstyle="battery">
<SlotIcon slotindex="0" texture="Content/UI/StatusMonitorUI.png" sourcerect="128,448,64,64" origin="0.5,0.5" />
<Containable items="mobilebattery">
<StatusEffect type="OnContaining" targettype="This" Voltage="1.0" setvalue="true" />
</Containable>
</ItemContainer>
<AiTarget sightrange="3000" />
<Upgrade gameversion="0.10.0.0" scale="0.5" />
</Item>
<!-- -->
<!-- -->
</Override>
</Items>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<contentpackage name="Brighter Lights" modversion="1.0.6" corepackage="False" steamworkshopid="2121341895" gameversion="1.2.8.0" >
<Item file="%ModDir%/bl_divinggear.xml" />
<Item file="%ModDir%/bl_engineer_talent_items.xml" />
<Item file="%ModDir%/bl_securityofficer_talent_items.xml" />
<Item file="%ModDir%/bl_tools.xml" />
<Other file="%ModDir%/Lights/divinghelmetlight.png" />
<Other file="%ModDir%/Lights/lightcone.png" />
</contentpackage>

View File

@@ -0,0 +1,730 @@
<?xml version="1.0" encoding="utf-8"?>
<Items>
<!-- \Content\Items\Diving\divinggear.xml -->
<override>
<Item name="" identifier="underwaterscooter" category="Diving,Equipment" Tags="smallitem,provocative,scooter" cargocontaineridentifier="metalcrate" description="" Scale="0.5" impactsoundtag="impact_metal_light" isshootable="true" requireaimtouse="True">
<Upgrade gameversion="0.10.0.0" scale="0.5" />
<Price baseprice="180">
<Price storeidentifier="merchantoutpost" multiplier="0.9" minavailable="4" />
<Price storeidentifier="merchantcity" multiplier="0.85" minavailable="6" />
<Price storeidentifier="merchantresearch" minavailable="3" />
<Price storeidentifier="merchantmilitary" minavailable="5" />
<Price storeidentifier="merchantmine" multiplier="1.25" minavailable="4" />
</Price>
<Preferredcontainer secondary="respawncontainer" amount="1" spawnprobability="1" notcampaign="true" />
<PreferredContainer primary="divingcab" amount="2" spawnprobability="1" notcampaign="true" />
<PreferredContainer secondary="wrecksupplycab,beaconsupplycab" spawnprobability="0.05" />
<Deconstruct time="20">
<Item identifier="aluminium" amount="2" />
<Item identifier="copper" amount="2" />
<Item identifier="tin" amount="2" />
<Item identifier="plastic" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="30">
<RequiredSkill identifier="mechanical" level="30" />
<RequiredItem identifier="aluminium" amount="2" />
<RequiredItem identifier="fpgacircuit" />
<RequiredItem identifier="tin" amount="2" />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas.png" sourcerect="256,128,67,62" origin="0.5,0.5" />
<Sprite texture="Content/Items/Diving/Scooter.png" depth="0.55" sourcerect="0,0,140,102" />
<Body width="120" height="60" density="10.2" />
<Holdable slots="Any,RightHand+LeftHand" aimpos="90,0" handle1="-35,32" handle2="-27,34" msg="ItemMsgPickUpSelect" holdangle="-10" />
<Propulsion force="150" usablein="water" particles="bubbles">
<RequiredItems items="mobilebattery" type="Contained" msg="ItemMsgBatteryCellRequired" />
<StatusEffect type="OnUse" target="Contained" Condition="-0.25">
<RequiredItem items="mobilebattery" type="Contained" />
</StatusEffect>
<sound file="Content/Items/Diving/ScooterLoop.ogg" type="OnUse" range="500.0" loop="true" />
<LightComponent LightColor="1.0,1.0,1.0,0.8" range="1000">
<LightTexture texture="%ModDir%/Lights/lightcone.png" origin="-0.01, 0.5" size="1.0,1.0" />
</LightComponent>
</Propulsion>
<ItemContainer capacity="1" maxstacksize="60" hideitems="true" containedstateindicatorstyle="battery">
<Containable items="mobilebattery" />
</ItemContainer>
<AiTarget soundrange="3000" maxsightrange="3000" />
</Item>
</override>
<!-- \Content\Items\Jobgear\Engineer\engineer_talent_items.xml -->
<override>
<Item name="" identifier="cargoscooter" category="Equipment,Diving" Tags="mediumitem,provocative,scooter" allowasextracargo="true" cargocontaineridentifier="metalcrate" description="" Scale="0.5" impactsoundtag="impact_metal_heavy" isshootable="true">
<PreferredContainer primary="divingcab" />
<Price baseprice="400" sold="false">
<Price storeidentifier="merchantoutpost" multiplier="0.9" />
<Price storeidentifier="merchantcity" multiplier="0.85" />
<Price storeidentifier="merchantresearch" />
<Price storeidentifier="merchantmilitary" />
<Price storeidentifier="merchantmine" multiplier="1.25" />
</Price>
<Deconstruct time="20">
<Item identifier="aluminium" amount="2" />
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="tin" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="30" requiresrecipe="true">
<RequiredSkill identifier="mechanical" level="30" />
<RequiredItem identifier="aluminium" amount="2" />
<RequiredItem identifier="titaniumaluminiumalloy" amount="2" />
<RequiredItem identifier="tin" amount="2" />
</Fabricate>
<InventoryIcon texture="Content/Items/JobGear/TalentGear.png" sourcerect="131,123,53,58" origin="0.5,0.5" />
<Sprite texture="Content/Items/JobGear/TalentGear.png" depth="0.55" sourcerect="295,195,149,105" origin="0.5,0.5" />
<Body width="140" height="100" density="10" />
<Holdable slots="RightHand+LeftHand" aimpos="90,0" handle1="-35,36" handle2="-37,38" msg="ItemMsgPickUpSelect" />
<Propulsion force="150" usablein="water" particles="bubbles">
<RequiredItems items="mobilebattery" targetslot="0" type="Contained" msg="ItemMsgBatteryCellRequired" />
<StatusEffect type="OnUse" target="Contained" targetslot="0" Condition="-0.25">
<RequiredItem items="mobilebattery" type="Contained" />
</StatusEffect>
<sound file="Content/Items/Diving/ScooterLoop.ogg" type="OnUse" range="500.0" loop="true" />
<LightComponent LightColor="1.0,1.0,1.0,0.8" range="1000">
<LightTexture texture="%ModDir%/Lights/lightcone.png" origin="-0.01, 0.5" size="1.0,1.0" />
</LightComponent>
</Propulsion>
<ItemContainer capacity="1" maxstacksize="60" slotsperrow="3" hideitems="true" containedstateindicatorslot="0" containedstateindicatorstyle="battery">
<Containable items="mobilebattery" />
<SlotIcon slotindex="0" texture="Content/UI/WeaponUI.png" sourcerect="64,961,32,22" origin="0.5,0.45" />
<SubContainer capacity="33" maxstacksize="60">
<Containable items="smallitem,mediumitem,ammobox,deepdiving,largeitem" />
</SubContainer>
</ItemContainer>
<AiTarget soundrange="3000" maxsightrange="3000" />
</Item>
</override>
<!-- \Content\Items\Tools\tools.xml -->
<override>
<Item name="" identifier="flashlight" category="Equipment" Tags="smallitem,tool,provocative" cargocontaineridentifier="metalcrate" Scale="0.5" impactsoundtag="impact_metal_light">
<PreferredContainer primary="divingcab" minamount="1" maxamount="2" spawnprobability="1" notcampaign="true" />
<PreferredContainer secondary="wreckstoragecab,abandonedstoragecab,wrecksupplycab,beaconsupplycab" amount="1" spawnprobability="0.05" />
<PreferredContainer secondary="outpostcrewcabinet" amount="1" spawnprobability="0.1" />
<Price baseprice="200" minavailable="2">
<Price storeidentifier="merchantoutpost" />
<Price storeidentifier="merchantcity" multiplier="0.9" minavailable="3" />
<Price storeidentifier="merchantresearch" multiplier="1.25" />
<Price storeidentifier="merchantmilitary" multiplier="1.25" />
<Price storeidentifier="merchantmine" />
</Price>
<Deconstruct time="15">
<Item identifier="aluminium" amount="2" />
<Item identifier="lightcomponent" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="10">
<RequiredSkill identifier="mechanical" level="25" />
<RequiredItem identifier="aluminium" amount="2" />
<RequiredItem identifier="lightcomponent" />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas.png" sourcerect="704,320,64,64" origin="0.5,0.5" />
<Sprite texture="Content/Items/Tools/tools.png" sourcerect="293,185,49,18" depth="0.55" origin="0.5,0.5" />
<Body width="48" height="15" density="15" />
<Holdable slots="Any,RightHand,LeftHand,Head" holdpos="30,-50" aimpos="60,0" handle1="-20,0" msg="ItemMsgPickUpSelect">
<StatusEffect type="OnActive" targettype="Contained" Condition="-0.2">
<RequiredItem items="mobilebattery" type="Contained" />
</StatusEffect>
<!-- the child LightComponent is only active when the Holdable is active, i.e. when the item is being held -->
<LightComponent LightColor="0.5,0.5,0.5,1.0" Flicker="0.02" range="1000" powerconsumption="10" IsOn="true">
<LightTexture texture="Content/Lights/lightcone.png" origin="0.0, 0.5" size="1.0,1.0" />
<IsActive targetcontaineditem="true" condition="gt 1.0" />
</LightComponent>
<LightComponent LightColor="0.5,0.5,0.5,1.0" range="1000" powerconsumption="10" IsOn="true" flicker="0.8" flickerspeed="1.0" pulsefrequency="0.1" pulseamount="0.5">
<LightTexture texture="%ModDir%/Lights/lightcone.png" origin="0.0, 0.5" size="1.0,1.0" />
<IsActive targetcontaineditem="true" condition="lte 1.0" />
</LightComponent>
</Holdable>
<ItemContainer capacity="1" maxstacksize="60" hideitems="true" containedstateindicatorstyle="battery">
<Containable items="mobilebattery">
<StatusEffect type="OnContaining" targettype="This" Voltage="1.0" setvalue="true" />
</Containable>
</ItemContainer>
<AiTarget sightrange="3000" />
<Upgrade gameversion="0.10.0.0" scale="0.5" />
</Item>
</override>
<!-- \Content\Items\Diving\divinggear.xml -->
<override>
<Item name="" identifier="divingsuit" category="Diving,Equipment" tags="diving,deepdiving,provocative" scale="0.5" fireproof="true" description="" allowdroppingonswapwith="diving" impactsoundtag="impact_metal_heavy">
<Price baseprice="250">
<Price storeidentifier="merchantoutpost" multiplier="0.9" minavailable="2" />
<Price storeidentifier="merchantcity" multiplier="0.85" minavailable="4" />
<Price storeidentifier="merchantresearch" minavailable="3" />
<Price storeidentifier="merchantmilitary" minavailable="3" />
<Price storeidentifier="merchantmine" multiplier="1.25" minavailable="5" />
</Price>
<PreferredContainer primary="divingsuitcontainer" spawnprobability="1" />
<PreferredContainer primary="wreckdivingsuitcontainer" spawnprobability="0.1" />
<Deconstruct time="30">
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="rubber" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="30">
<RequiredSkill identifier="mechanical" level="40" />
<RequiredItem identifier="titaniumaluminiumalloy" />
<RequiredItem identifier="rubber" />
<RequiredItem identifier="rubber" />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas2.png" sourcerect="0,256,128,128" origin="0.5,0.5" />
<!--
<Sprite name="Diving Suit" texture="DivingSuit_Item.png" sourcerect="157,0,90,307" depth="0.55" origin="0.4888889,0.5439739" />
-->
<Sprite name="Diving Suit Item" texture="Content/Items/Diving/DivingSuit_Item.png" sourcerect="0,0,146,120" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Diving Suit In Vertical Locker" allowedcontainertags="divingsuitcontainervertical" texture="Content/Items/Diving/DivingSuit_Item.png" sourcerect="181,0,75,193" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Diving Suit Behind Window" allowedcontainertags="divingsuitcontainerwindow" texture="Content/Items/Containers/containers.png" sourcerect="724,373,77,209" depth="0.55" origin="-0.12,-0.14" />
<ContainedSprite name="Diving Suit In Horizontal Locker" allowedcontainertags="divingsuitcontainerhorizontal" texture="Content/Items/Diving/DivingSuit_Item.png" sourcerect="0,193,230,63" depth="0.55" origin="0.6,0.5" />
<Body radius="45" width="34" density="15" />
<Wearable slots="OuterClothes" msg="ItemMsgEquipSelect" displaycontainedstatus="true" canbeselected="false" canbepicked="true" pickkey="Select">
<sprite name="Diving Suit Helmet Wearable" texture="Content/Items/Jobgear/headgears.png" limb="Head" inheritlimbdepth="true" inheritscale="true" ignorelimbscale="true" scale="0.65" hidelimb="true" hideotherwearables="true" sourcerect="5,4,92,94" origin="0.5,0.5">
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true" allowingameediting="false">
<Upgrade gameversion="0.1300.0.3" allowingameediting="false" />
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
</LightComponent>
</sprite>
<sprite name="Regular Diving Suit Torso" texture="Content/Items/Diving/reg_DivingSuit.png" limb="Torso" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Right Hand" texture="Content/Items/Diving/reg_DivingSuit.png" limb="RightHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Left Hand" texture="Content/Items/Diving/reg_DivingSuit.png" limb="LeftHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Right Lower Arm" texture="Content/Items/Diving/reg_DivingSuit.png" limb="RightArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Left Lower Arm" texture="Content/Items/Diving/reg_DivingSuit.png" limb="LeftArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Right Upper Arm" texture="Content/Items/Diving/reg_DivingSuit.png" limb="RightForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Left Upper Arm" texture="Content/Items/Diving/reg_DivingSuit.png" limb="LeftForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Waist" texture="Content/Items/Diving/reg_DivingSuit.png" limb="Waist" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Right Thigh" texture="Content/Items/Diving/reg_DivingSuit.png" limb="RightThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Left Thigh" texture="Content/Items/Diving/reg_DivingSuit.png" limb="LeftThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Right Leg" texture="Content/Items/Diving/reg_DivingSuit.png" limb="RightLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Left Leg" texture="Content/Items/Diving/reg_DivingSuit.png" limb="LeftLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Left Shoe" texture="Content/Items/Diving/reg_DivingSuit.png" limb="LeftFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Regular Diving Suit Right Shoe" texture="Content/Items/Diving/reg_DivingSuit.png" limb="RightFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<StatusEffect type="OnWearing" target="Character" OxygenAvailable="-100.0" UseHullOxygen="false" />
<StatusEffect type="OnWearing" target="Character" HideFace="true" ObstructVision="true" PressureProtection="4000.0" SpeedMultiplier="0.8" LowPassMultiplier="0.2" setvalue="true" disabledeltatime="true">
<Sound file="Content/Items/Diving/DivingSuitLoop1.ogg" range="500" loop="true" />
<Sound file="Content/Items/Diving/DivingSuitLoop2.ogg" range="500" loop="true" />
</StatusEffect>
<!-- Refill oxygen when the suit is contained. -->
<StatusEffect type="OnContained" target="Contained" Condition="1.0" interval="1" disabledeltatime="true">
<Conditional Voltage="gt 0.01" targetcontainer="true" targetgrandparent="true" targetitemcomponent="Powered" />
<RequiredItem items="refillableoxygensource" type="Contained" excludebroken="false" excludefullcondition="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" OxygenAvailable="1000.0" Condition="-0.3" comparison="Or">
<Conditional IsDead="false" />
<RequiredItem items="oxygentank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="-10.0" Condition="-0.5" interval="1" disabledeltatime="true">
<Conditional IsDead="false" />
<RequiredItem items="weldingfueltank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="-10.0" Condition="-0.5" interval="1" disabledeltatime="true">
<Conditional IsDead="false" />
<RequiredItem items="incendiumfueltank" type="Contained" />
<Affliction identifier="burn" amount="0.05" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" OxygenAvailable="1500.0" Condition="-0.1" comparison="Or">
<Conditional IsDead="false" />
<RequiredItem items="oxygenitetank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" SpeedMultiplier="1.3" setvalue="true" comparison="Or">
<Conditional IsDead="false" />
<RequiredItem items="oxygenitetank" type="Contained" />
</StatusEffect>
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="blunttrauma,gunshotwound,bitewounds,lacerations,bleeding" damagemultiplier="0.65" damagesound="LimbArmor" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictiontypes="burn" damagemultiplier="0.75" damagesound="" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="radiationsickness" damagemultiplier="0.75" damagesound="LimbArmor" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="huskinfection" damagemultiplier="0.5" probabilitymultiplier="0.5" damagesound="LimbArmor" />
</Wearable>
<Holdable slots="RightHand+LeftHand" controlpose="true" holdpos="0,-50" handle1="-10,-20" handle2="10,-20" holdangle="45" msg="ItemMsgPickUpUse" canbeselected="false" canbepicked="true" pickkey="Use">
<Upgrade gameversion="0.1401.0.0" msg="ItemMsgPickUpUse" />
</Holdable>
<ItemContainer capacity="1" maxstacksize="60" hideitems="true" containedstateindicatorstyle="tank">
<Containable items="oxygensource,weldingtoolfuel" />
<StatusEffect type="OnWearing" target="Contained">
<RequiredItem items="oxygensource" type="Contained" />
<Conditional condition="lt 5.0" />
<Sound file="Content/Items/WarningBeepSlow.ogg" range="500" loop="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained" playsoundonrequireditemfailure="true">
<RequiredItem items="oxygensource" type="Contained" matchonempty="true" />
<Conditional condition="lte 0.0" />
<Sound file="Content/Items/WarningBeep.ogg" range="500" loop="true" />
</StatusEffect>
</ItemContainer>
<aitarget maxsightrange="1500" />
</Item>
</override>
<!-- \Content\Items\Diving\divinggear.xml -->
<override>
<Item name="" identifier="abyssdivingsuit" category="Diving,Equipment" tags="diving,deepdiving,provocative" scale="0.5" fireproof="true" description="" allowdroppingonswapwith="diving" impactsoundtag="impact_metal_heavy">
<Price baseprice="550" minleveldifficulty="35">
<Price storeidentifier="merchantoutpost" multiplier="0.9" minavailable="1" />
<Price storeidentifier="merchantcity" multiplier="0.85" minavailable="2" />
<Price storeidentifier="merchantresearch" minavailable="1" />
<Price storeidentifier="merchantmilitary" minavailable="2" />
<Price storeidentifier="merchantmine" multiplier="1.25" minavailable="2" />
</Price>
<PreferredContainer primary="divingsuitcontainer" />
<PreferredContainer primary="wreckdivingsuitcontainer" spawnprobability="0.05" />
<Deconstruct time="30">
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="rubber" amount="2" />
<Item identifier="rubber" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="45">
<RequiredSkill identifier="mechanical" level="60" />
<RequiredItem identifier="divingsuit" />
<RequiredItem identifier="titaniumaluminiumalloy" />
<RequiredItem identifier="titaniumaluminiumalloy" />
<RequiredItem identifier="rubber" />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas2.png" sourcerect="192,384,128,128" origin="0.5,0.5" />
<Sprite name="Abyss Diving Suit Item" texture="Content/Items/Diving/Abyss_DivingSuit_Items.png" sourcerect="0,0,157,121" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Abyss Diving Suit In Vertical Locker" allowedcontainertags="divingsuitcontainervertical" texture="Content/Items/Diving/Abyss_DivingSuit_Items.png" sourcerect="181,0,70,192" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Abyss Diving Suit Behind Window" allowedcontainertags="divingsuitcontainerwindow" texture="Content/Items/Containers/containers.png" sourcerect="316,379,77,214" depth="0.55" origin="-0.12,-0.13" />
<ContainedSprite name="Abyss Diving Suit In Horizontal Locker" allowedcontainertags="divingsuitcontainerhorizontal" texture="Content/Items/Diving/Abyss_DivingSuit_Items.png" sourcerect="0,193,230,63" depth="0.55" origin="0.6,0.5" />
<Body radius="45" width="34" density="15" />
<Wearable slots="OuterClothes" msg="ItemMsgEquipSelect" displaycontainedstatus="true" canbeselected="false" canbepicked="true" pickkey="Select">
<sprite name="Abyss Diving Suit Helmet Wearable" texture="Content/Items/Jobgear/headgears.png" limb="Head" inheritlimbdepth="true" inheritscale="true" ignorelimbscale="true" scale="0.65" hidelimb="true" hideotherwearables="true" sourcerect="0,409,103,103" origin="0.5,0.5">
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true">
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
</LightComponent>
</sprite>
<sprite name="Abyss Diving Suit Torso" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="Torso" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Right Hand" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="RightHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Left Hand" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="LeftHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Right Lower Arm" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="RightArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Left Lower Arm" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="LeftArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Right Upper Arm" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="RightForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Left Upper Arm" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="LeftForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Waist" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="Waist" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Right Thigh" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="RightThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Left Thigh" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="LeftThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Right Leg" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="RightLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Left Leg" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="LeftLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Left Shoe" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="LeftFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Abyss Diving Suit Right Shoe" texture="Content/Items/Diving/Abyss_DivingSuit.png" limb="RightFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<StatusEffect type="OnWearing" target="Character" OxygenAvailable="-100.0" UseHullOxygen="false" />
<StatusEffect type="OnWearing" target="Character" HideFace="true" ObstructVision="true" PressureProtection="10000.0" SpeedMultiplier="0.7" PropulsionSpeedMultiplier="0.5" LowPassMultiplier="0.2" setvalue="true" disabledeltatime="true">
<Sound file="Content/Items/Diving/DivingSuitLoop1.ogg" range="500" loop="true" />
<Sound file="Content/Items/Diving/DivingSuitLoop2.ogg" range="500" loop="true" />
</StatusEffect>
<!-- Refill oxygen when the suit is contained. -->
<StatusEffect type="OnContained" target="Contained" Condition="1.0" interval="1" disabledeltatime="true">
<Conditional Voltage="gt 0.01" targetcontainer="true" targetgrandparent="true" targetitemcomponent="Powered" />
<RequiredItem items="oxygentank" type="Contained" excludebroken="false" excludefullcondition="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" OxygenAvailable="1000.0" Condition="-0.15" comparison="Or">
<Conditional IsDead="false" />
<RequiredItem items="oxygentank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="-10.0" Condition="-0.5" interval="1" disabledeltatime="true">
<Conditional IsDead="false" />
<RequiredItem items="weldingfueltank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="-10.0" Condition="-0.5" interval="1" disabledeltatime="true">
<Conditional IsDead="false" />
<RequiredItem items="incendiumfueltank" type="Contained" />
<Affliction identifier="burn" amount="0.05" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" OxygenAvailable="1500.0" Condition="-0.05" comparison="Or">
<Conditional IsDead="false" />
<RequiredItem items="oxygenitetank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" SpeedMultiplier="1.3" setvalue="true" comparison="Or">
<Conditional IsDead="false" />
<RequiredItem items="oxygenitetank" type="Contained" />
</StatusEffect>
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="blunttrauma,gunshotwound,bitewounds,lacerations,bleeding" damagemultiplier="0.55" damagesound="LimbArmor" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictiontypes="burn" damagemultiplier="0.75" damagesound="" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="radiationsickness" damagemultiplier="0.75" damagesound="LimbArmor" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="huskinfection" damagemultiplier="0.5" probabilitymultiplier="0.5" damagesound="LimbArmor" />
</Wearable>
<Holdable slots="RightHand+LeftHand" controlpose="true" holdpos="0,-50" handle1="-10,-20" handle2="10,-20" holdangle="45" msg="ItemMsgPickUpUse" canbeselected="false" canbepicked="true" pickkey="Use" />
<ItemContainer capacity="1" maxstacksize="60" hideitems="true" containedstateindicatorstyle="tank">
<Containable items="oxygensource,weldingtoolfuel" />
<StatusEffect type="OnWearing" target="Contained">
<RequiredItem items="oxygensource" type="Contained" />
<Conditional condition="lt 5.0" />
<Sound file="Content/Items/WarningBeepSlow.ogg" range="500" loop="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained" playsoundonrequireditemfailure="true">
<RequiredItem items="oxygensource" type="Contained" matchonempty="true" />
<Conditional condition="lte 0.0" />
<Sound file="Content/Items/WarningBeep.ogg" range="500" loop="true" />
</StatusEffect>
</ItemContainer>
<aitarget maxsightrange="1500" />
</Item>
</override>
<!-- \Content\Items\Diving\divinggear.xml -->
<override>
<Item name="" identifier="combatdivingsuit" category="Diving,Equipment" tags="diving,deepdiving,provocative" scale="0.5" fireproof="true" description="" allowdroppingonswapwith="diving" impactsoundtag="impact_metal_heavy">
<Price baseprice="560" minleveldifficulty="35">
<Price storeidentifier="merchantoutpost" sold="false" multiplier="0.9" />
<Price storeidentifier="merchantcity" multiplier="0.85" minavailable="2" sold="false" />
<Price storeidentifier="merchantresearch" sold="false" />
<Price storeidentifier="merchantmilitary" minavailable="3" />
<Price storeidentifier="merchantmine" sold="false" multiplier="1.25" />
<Price storeidentifier="merchantarmory" multiplier="0.85" minavailable="3" />
</Price>
<PreferredContainer primary="divingsuitcontainer" />
<PreferredContainer primary="wreckdivingsuitcontainer" spawnprobability="0.05" />
<Deconstruct time="30">
<Item identifier="ballisticfiber" amount="2" />
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="rubber" amount="2" />
<Item identifier="rubber" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="45">
<RequiredSkill identifier="mechanical" level="60" />
<RequiredItem identifier="divingsuit" />
<RequiredItem identifier="ballisticfiber" />
<RequiredItem identifier="titaniumaluminiumalloy" />
<RequiredItem identifier="rubber" />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas2.png" sourcerect="512,0,128,128" origin="0.5,0.5" />
<!--
<Sprite name="Diving Suit" texture="DivingSuit_Item.png" sourcerect="157,0,90,307" depth="0.55" origin="0.4888889,0.5439739" />
-->
<Sprite name="Combat Diving Suit Item" texture="Content/Items/Diving/Combat_DivingSuit_Items.png" sourcerect="0,0,157,121" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Combat Diving Suit In Vertical Locker" allowedcontainertags="divingsuitcontainervertical" texture="Content/Items/Diving/Combat_DivingSuit_Items.png" sourcerect="181,0,70,192" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Combat Diving Suit Behind Window" allowedcontainertags="divingsuitcontainerwindow" texture="Content/Items/Containers/containers.png" sourcerect="215,379,80,207" depth="0.55" origin="-0.12,-0.14" />
<ContainedSprite name="Combat Diving Suit In Horizontal Locker" allowedcontainertags="divingsuitcontainerhorizontal" texture="Content/Items/Diving/Combat_DivingSuit_Items.png" sourcerect="0,193,230,63" depth="0.55" origin="0.6,0.5" />
<Body radius="45" width="34" density="15" />
<Wearable slots="OuterClothes" msg="ItemMsgEquipSelect" displaycontainedstatus="true" canbeselected="false" canbepicked="true" pickkey="Select">
<sprite name="Combat Diving Suit Helmet Wearable" texture="Content/Items/Jobgear/headgears.png" limb="Head" inheritlimbdepth="true" inheritscale="true" ignorelimbscale="true" scale="0.65" hidelimb="true" hideotherwearables="true" sourcerect="326,0,103,103" origin="0.5,0.5">
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true" allowingameediting="false">
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
</LightComponent>
</sprite>
<sprite name="Combat Diving Suit Torso" texture="Content/Items/Diving/combat_DivingSuit.png" limb="Torso" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Right Hand" texture="Content/Items/Diving/combat_DivingSuit.png" limb="RightHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Left Hand" texture="Content/Items/Diving/combat_DivingSuit.png" limb="LeftHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Right Lower Arm" texture="Content/Items/Diving/combat_DivingSuit.png" limb="RightArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Left Lower Arm" texture="Content/Items/Diving/combat_DivingSuit.png" limb="LeftArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Right Upper Arm" texture="Content/Items/Diving/combat_DivingSuit.png" limb="RightForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Left Upper Arm" texture="Content/Items/Diving/combat_DivingSuit.png" limb="LeftForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Waist" texture="Content/Items/Diving/combat_DivingSuit.png" limb="Waist" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Right Thigh" texture="Content/Items/Diving/combat_DivingSuit.png" limb="RightThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Left Thigh" texture="Content/Items/Diving/combat_DivingSuit.png" limb="LeftThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Right Leg" texture="Content/Items/Diving/combat_DivingSuit.png" limb="RightLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Left Leg" texture="Content/Items/Diving/combat_DivingSuit.png" limb="LeftLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Left Shoe" texture="Content/Items/Diving/combat_DivingSuit.png" limb="LeftFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Combat Diving Suit Right Shoe" texture="Content/Items/Diving/combat_DivingSuit.png" limb="RightFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<StatusEffect type="OnWearing" target="Character" OxygenAvailable="-100.0" UseHullOxygen="false" />
<StatusEffect type="OnWearing" target="Character" HideFace="true" ObstructVision="true" PressureProtection="6000.0" SpeedMultiplier="0.95" PropulsionSpeedMultiplier="1.4" LowPassMultiplier="0.2" setvalue="true" disabledeltatime="true">
<Sound file="Content/Items/Diving/DivingSuitLoop1.ogg" range="500" loop="true" />
<Sound file="Content/Items/Diving/DivingSuitLoop2.ogg" range="500" loop="true" />
</StatusEffect>
<!-- Refill oxygen when the suit is contained. -->
<StatusEffect type="OnContained" target="Contained" Condition="1.0" interval="1" disabledeltatime="true">
<Conditional Voltage="gt 0.01" targetcontainer="true" targetgrandparent="true" targetitemcomponent="Powered" />
<RequiredItem items="oxygentank" type="Contained" excludebroken="false" excludefullcondition="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" OxygenAvailable="1000.0" Condition="-0.3" comparison="Or">
<Conditional IsDead="false" />
<RequiredItem items="oxygentank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="-10.0" Condition="-0.5" interval="0.5" disabledeltatime="true">
<Conditional IsDead="false" />
<RequiredItem items="weldingfueltank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="-10.0" Condition="-0.5" interval="0.5" disabledeltatime="true">
<Conditional IsDead="false" />
<RequiredItem items="incendiumfueltank" type="Contained" />
<Affliction identifier="burn" amount="0.05" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" OxygenAvailable="1500.0" Condition="-0.1" comparison="Or">
<Conditional IsDead="false" />
<RequiredItem items="oxygenitetank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" SpeedMultiplier="1.3" setvalue="true" comparison="Or">
<Conditional IsDead="false" />
<RequiredItem items="oxygenitetank" type="Contained" />
</StatusEffect>
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="blunttrauma,gunshotwound,bitewounds,lacerations,bleeding" damagemultiplier="0.7" damagesound="LimbArmor" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictiontypes="burn" damagemultiplier="0.75" damagesound="" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="radiationsickness" damagemultiplier="0.75" damagesound="LimbArmor" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="huskinfection" damagemultiplier="0.5" probabilitymultiplier="0.5" damagesound="LimbArmor" />
</Wearable>
<Holdable slots="RightHand+LeftHand" controlpose="true" holdpos="0,-50" handle1="-10,-20" handle2="10,-20" holdangle="45" msg="ItemMsgPickUpUse" canbeselected="false" canbepicked="true" pickkey="Use" />
<ItemContainer capacity="1" maxstacksize="60" hideitems="true" containedstateindicatorstyle="tank">
<Containable items="oxygensource,weldingtoolfuel" />
<StatusEffect type="OnWearing" target="Contained">
<RequiredItem items="oxygensource" type="Contained" />
<Conditional condition="lt 5.0" />
<Sound file="Content/Items/WarningBeepSlow.ogg" range="500" loop="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained" playsoundonrequireditemfailure="true">
<RequiredItem items="oxygensource" type="Contained" matchonempty="true" />
<Conditional condition="lte 0.0" />
<Sound file="Content/Items/WarningBeep.ogg" range="500" loop="true" />
</StatusEffect>
</ItemContainer>
<aitarget maxsightrange="1500" />
</Item>
</override>
<!-- \Content\Items\Jobgear\Security\securityofficer_talent_items.xml -->
<override>
<Item name="" identifier="slipsuit" variantof="combatdivingsuit" category="Equipment" tags="diving,deepdiving,provocative" allowasextracargo="true" scale="0.5" fireproof="true" description="" allowdroppingonswapwith="diving" impactsoundtag="impact_metal_heavy">
<Price baseprice="630" sold="false" />
<PreferredContainer primary="divingsuitcontainer" spawnprobability="0.0" />
<PreferredContainer primary="wreckdivingsuitcontainer" spawnprobability="0.0" />
<Deconstruct time="30">
<Item identifier="ballisticfiber" amount="2" />
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="rubber" amount="2" />
<Item identifier="rubber" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="45" requiresrecipe="true">
<RequiredSkill identifier="mechanical" level="20" />
<RequiredItem identifier="combatdivingsuit" />
<RequiredItem identifier="rubber" />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas2.png" sourcerect="640,0,128,128" origin="0.5,0.5" />
<Sprite name="Slipsuit Item" texture="Content/Items/Jobgear/Security/Slipsuit_Items.png" sourcerect="7,8,157,121" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Slipsuit In Vertical Locker" allowedcontainertags="divingsuitcontainervertical" texture="Content/Items/Jobgear/Security/Slipsuit_Items.png" sourcerect="171,0,77,192" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Slipsuit Behind Window" allowedcontainertags="divingsuitcontainerwindow" texture="Content/Items/Jobgear/Security/slipsuit.png" sourcerect="430,0,80,207" depth="0.55" origin="-0.12,-0.13" />
<ContainedSprite name="Slipsuit In Horizontal Locker" allowedcontainertags="divingsuitcontainerhorizontal" texture="Content/Items/Jobgear/Security/Slipsuit_Items.png" sourcerect="0,193,230,63" depth="0.55" origin="0.6,0.5" />
<Body radius="45" width="34" density="15" />
<Wearable>
<sprite name="Slipsuit Helmet Wearable" texture="Content/Items/Jobgear/headgears.png" limb="Head" inheritlimbdepth="true" inheritscale="true" ignorelimbscale="true" scale="0.65" hidelimb="true" hideotherwearables="true" sourcerect="0,520,105,124" origin="0.5,0.4">
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true" allowingameediting="false">
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
</LightComponent>
</sprite>
<sprite name="SlipSuit Torso" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="Torso" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Right Hand" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="RightHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Left Hand" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="LeftHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Right Lower Arm" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="RightArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Left Lower Arm" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="LeftArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Right Upper Arm" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="RightForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Left Upper Arm" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="LeftForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Waist" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="Waist" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Right Thigh" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="RightThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Left Thigh" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="LeftThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Right Leg" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="RightLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Left Leg" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="LeftLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Left Shoe" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="LeftFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="SlipSuit Right Shoe" texture="Content/Items/Jobgear/Security/slipsuit.png" limb="RightFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<StatValue stattype="SwimmingSpeed" value="0.45" />
<StatValue stattype="WalkingSpeed" value="-0.6" />
</Wearable>
</Item>
</override>
<!-- Content\Items\Jobgear\Engineer\engineer_talent_items.xml -->
<override>
<Item name="" identifier="pucs" category="Equipment,Diving" tags="diving,deepdiving,divinggear_wearableindoors,provocative" allowasextracargo="true" scale="0.5" fireproof="true" description="" allowdroppingonswapwith="diving" impactsoundtag="impact_metal_heavy">
<PreferredContainer primary="divingsuitcontainer" spawnprobability="0.0" />
<Price baseprice="670" sold="false">
<Price storeidentifier="merchantoutpost" />
<Price storeidentifier="merchantcity" />
<Price storeidentifier="merchantresearch" multiplier="1.2" />
<Price storeidentifier="merchantmilitary" />
<Price storeidentifier="merchantmine" multiplier="1.1" />
</Price>
<Deconstruct time="45">
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="titaniumaluminiumalloy" amount="2" />
<Item identifier="rubber" amount="2" />
<Item identifier="lead" amount="2" />
<Item identifier="physicorium" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="80" requiresrecipe="true">
<RequiredSkill identifier="electrical" level="60" />
<RequiredItem identifier="combatdivingsuit" />
<RequiredItem identifier="lead" />
<RequiredItem identifier="physicorium" />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas2.png" sourcerect="768,0,128,128" origin="0.5,0.5" />
<Sprite name="PUCS Item" texture="Content/Items/Jobgear/Engineer/PUCS_Items.png" sourcerect="0,0,154,134" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="PUCS In Vertical Locker" allowedcontainertags="divingsuitcontainervertical" texture="Content/Items/Jobgear/Engineer/PUCS_Items.png" sourcerect="164,0,87,190" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="PUCS Behind Window" allowedcontainertags="divingsuitcontainerwindow" texture="Content/Items/Jobgear/Engineer/pucs.png" sourcerect="430,0,80,207" depth="0.55" origin="-0.12,-0.14" />
<ContainedSprite name="PUCS In Horizontal Locker" allowedcontainertags="divingsuitcontainerhorizontal" texture="Content/Items/Jobgear/Engineer/PUCS_Items.png" sourcerect="0,191,225,66" depth="0.55" origin="0.6,0.5" />
<Body radius="45" width="34" density="15" />
<Wearable slots="OuterClothes" msg="ItemMsgEquipSelect" displaycontainedstatus="true" canbeselected="false" canbepicked="true" pickkey="Select">
<sprite name="PUCS Helmet Wearable" texture="Content/Items/Jobgear/headgears.png" limb="Head" inheritlimbdepth="true" inheritscale="true" ignorelimbscale="true" scale="0.65" hidelimb="true" hideotherwearables="true" sourcerect="127,520,105,124" origin="0.5,0.35">
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true" allowingameediting="false">
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
</LightComponent>
</sprite>
<sprite name="pucs Torso" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="Torso" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Right Hand" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="RightHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Left Hand" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="LeftHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Right Lower Arm" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="RightArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Left Lower Arm" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="LeftArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Right Upper Arm" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="RightForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Left Upper Arm" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="LeftForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Waist" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="Waist" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Right Thigh" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="RightThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Left Thigh" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="LeftThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Right Leg" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="RightLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Left Leg" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="LeftLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Left Shoe" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="LeftFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="pucs Right Shoe" texture="Content/Items/Jobgear/Engineer/pucs.png" limb="RightFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<StatusEffect type="OnWearing" target="Character" HideFace="true" UseHullOxygen="true" ObstructVision="true" PressureProtection="6000.0" SpeedMultiplier="0.9" PropulsionSpeedMultiplier="1.4" LowPassMultiplier="0.2" setvalue="true" disabledeltatime="true">
<Sound file="Content/Items/Diving/DivingSuitLoop1.ogg" range="500" loop="true" />
<Sound file="Content/Items/Diving/DivingSuitLoop2.ogg" range="500" loop="true" />
</StatusEffect>
<!-- Refill oxygen when the suit is contained. -->
<StatusEffect type="OnContained" target="Contained" Condition="1.0" targetslot="0" interval="1" disabledeltatime="true">
<Conditional Voltage="gt 0.01" targetcontainer="true" targetgrandparent="true" targetitemcomponent="Powered" />
<RequiredItem items="oxygentank" type="Contained" excludebroken="false" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" UseHullOxygen="false" OxygenAvailable="1000.0" Condition="-0.3" comparison="And" targetslot="0">
<Conditional IsDead="false" />
<Conditional HullOxygenPercentage="lt 50" />
<Conditional InWater="false" />
<RequiredItem items="oxygentank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" UseHullOxygen="false" OxygenAvailable="1000.0" Condition="-0.3" comparison="And" targetslot="0">
<Conditional InWater="true" />
<RequiredItem items="oxygentank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="-10.0" Condition="-0.5" interval="1" disabledeltatime="true" targetslot="0">
<Conditional IsDead="false" />
<RequiredItem items="weldingfueltank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" Oxygen="-10.0" Condition="-0.5" interval="1" disabledeltatime="true" targetslot="0">
<Conditional IsDead="false" />
<RequiredItem items="incendiumfueltank" type="Contained" />
<Affliction identifier="burn" amount="0.05" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" UseHullOxygen="false" OxygenAvailable="1500.0" Condition="-0.1" comparison="And" targetslot="0">
<Conditional IsDead="false" />
<Conditional HullOxygenPercentage="lt 50" />
<Conditional InWater="false" />
<RequiredItem items="oxygenitetank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" UseHullOxygen="false" OxygenAvailable="1500.0" Condition="-0.1" comparison="And" targetslot="0">
<Conditional InWater="true" />
<RequiredItem items="oxygenitetank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Contained,Character" SpeedMultiplier="1.3" setvalue="true" comparison="And" targetslot="0">
<Conditional IsDead="false" />
<Conditional HullOxygenPercentage="lt 50" />
<Conditional InWater="false" />
<RequiredItem items="oxygenitetank" type="Contained" />
</StatusEffect>
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="blunttrauma,gunshotwound,bitewounds,lacerations,bleeding" damagemultiplier="0.7" damagesound="LimbArmor" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictiontypes="burn" damagemultiplier="0.1" damagesound="" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="radiationsickness" damagemultiplier="0.1" damagesound="LimbArmor" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="huskinfection" damagemultiplier="0.5" probabilitymultiplier="0.1" damagesound="LimbArmor" />
<ItemComponent>
<IsActive HullOxygenPercentage="lt 50" />
<StatusEffect type="OnActive" target="Contained,Character" comparison="And">
<RequiredItem items="oxygensource" type="Contained" />
<Conditional condition="lt 5.0" />
<Sound file="Content/Items/WarningBeepSlow.ogg" range="500" loop="true" />
</StatusEffect>
<StatusEffect type="OnActive" target="Contained" playsoundonrequireditemfailure="true">
<RequiredItem items="oxygensource" type="Contained" matchonempty="true" />
<Conditional condition="lte 0.0" />
<Sound file="Content/Items/WarningBeep.ogg" range="500" loop="true" />
</StatusEffect>
</ItemComponent>
</Wearable>
<Holdable slots="RightHand+LeftHand" controlpose="true" holdpos="0,-50" handle1="-10,-20" handle2="10,-20" holdangle="45" msg="ItemMsgPickUpUse" canbeselected="false" canbepicked="true" pickkey="Use" />
<ItemContainer capacity="0" maxstacksize="60" hideitems="true" containedstateindicatorstyle="tank" containedstateindicatorslot="0" autoinject="true">
<Containable items="none,ammobox,deepdiving,smallitem,mediumitem,largeitem" />
<SlotIcon slotindex="0" texture="Content/UI/ContainerIndicators.png" sourcerect="1,93,120,29" origin="0.5,0.45" />
<SlotIcon slotindex="1" texture="Content/UI/ContainerIndicators.png" sourcerect="2,155,120,29" origin="0.5,0.5" />
<SubContainer capacity="1" maxstacksize="60">
<Containable items="oxygensource,weldingtoolfuel" />
</SubContainer>
<SubContainer capacity="1" maxstacksize="60">
<Containable items="chem,medical" />
</SubContainer>
</ItemContainer>
</Item>
</override>
<!-- Content\Items\Diving\divinggear.xml -->
<override>
<Item name="" identifier="respawndivingsuit" category="Diving,Equipment" tags="diving,deepdiving,provocative,respawnsuit" scale="0.5" fireproof="true" description="" allowdroppingonswapwith="diving" impactsoundtag="impact_metal_heavy">
<Deconstruct time="1" />
<InventoryIcon texture="Content/Items/InventoryIconAtlas2.png" sourcerect="896,0,128,128" origin="0.5,0.5" />
<Sprite name="Respawn Diving Suit Item" texture="Content/Items/Diving/RespawnSuit_Items.png" sourcerect="0,0,157,121" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Respawn Diving Suit In Vertical Locker" allowedcontainertags="divingsuitcontainervertical" texture="Content/Items/Diving/RespawnSuit_Items.png" sourcerect="181,0,70,192" depth="0.55" origin="0.5,0.5" />
<ContainedSprite name="Respawn Diving Suit Behind Window" allowedcontainertags="divingsuitcontainerwindow" texture="Content/Items/Containers/containers.png" sourcerect="118,379,77,214" depth="0.55" origin="-0.12,-0.13" />
<ContainedSprite name="Respawn Diving Suit In Horizontal Locker" allowedcontainertags="divingsuitcontainerhorizontal" texture="Content/Items/Diving/RespawnSuit_Items.png" sourcerect="0,193,230,63" depth="0.55" origin="0.6,0.5" />
<Body radius="45" width="34" density="15" />
<Wearable slots="OuterClothes" msg="ItemMsgEquipSelect" displaycontainedstatus="true" canbeselected="false" canbepicked="true" pickkey="Select">
<sprite name="Respawn Diving Suit Helmet Wearable" texture="Content/Items/Jobgear/headgears.png" limb="Head" inheritlimbdepth="true" inheritscale="true" ignorelimbscale="true" scale="0.65" hidelimb="true" hideotherwearables="true" sourcerect="100,409,103,103" origin="0.5,0.5">
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true">
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
<IsActive condition="gt 10.0" />
</LightComponent>
<LightComponent range="200.0" lightcolor="250,224,165,255" powerconsumption="10" IsOn="true" flicker="0.8" flickerspeed="1.0" pulsefrequency="0.1" pulseamount="0.5">
<StatusEffect type="OnWearing" target="This,Character" Voltage="1.0" setvalue="true">
<Conditional IsDead="false" />
</StatusEffect>
<LightTexture texture="%ModDir%/Lights/divinghelmetlight.png" origin="0.05, 0.5" size="1.0,1.0" />
<IsActive condition="lte 10.0" />
</LightComponent>
</sprite>
<sprite name="Respawn Diving Suit Torso" texture="Content/Items/Diving/RespawnSuit.png" limb="Torso" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Right Hand" texture="Content/Items/Diving/RespawnSuit.png" limb="RightHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Left Hand" texture="Content/Items/Diving/RespawnSuit.png" limb="LeftHand" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Right Lower Arm" texture="Content/Items/Diving/RespawnSuit.png" limb="RightArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Left Lower Arm" texture="Content/Items/Diving/RespawnSuit.png" limb="LeftArm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Right Upper Arm" texture="Content/Items/Diving/RespawnSuit.png" limb="RightForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Left Upper Arm" texture="Content/Items/Diving/RespawnSuit.png" limb="LeftForearm" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Waist" texture="Content/Items/Diving/RespawnSuit.png" limb="Waist" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Right Thigh" texture="Content/Items/Diving/RespawnSuit.png" limb="RightThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Left Thigh" texture="Content/Items/Diving/RespawnSuit.png" limb="LeftThigh" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Right Leg" texture="Content/Items/Diving/RespawnSuit.png" limb="RightLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Left Leg" texture="Content/Items/Diving/RespawnSuit.png" limb="LeftLeg" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Left Shoe" texture="Content/Items/Diving/RespawnSuit.png" limb="LeftFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<sprite name="Respawn Diving Suit Right Shoe" texture="Content/Items/Diving/RespawnSuit.png" limb="RightFoot" sound="footstep_armor_heavy" hidelimb="true" inherittexturescale="true" hideotherwearables="true" inheritorigin="true" inheritsourcerect="true" />
<StatusEffect type="OnWearing" target="Character" OxygenAvailable="-100.0" UseHullOxygen="false" />
<StatusEffect type="OnWearing" target="Character" HideFace="true" ObstructVision="true" SpeedMultiplier="0.7" PropulsionSpeedMultiplier="0.5" setvalue="true" disabledeltatime="true" />
<StatusEffect type="OnWearing" target="this,Character" PressureProtection="10000.0" setvalue="true" disabledeltatime="true">
<Conditional condition="gt 0.0" />
</StatusEffect>
<StatusEffect type="OnWearing" target="this,Character" OxygenAvailable="1000.0" Condition="-0.2" comparison="and">
<Conditional IsDead="false" />
<Conditional condition="gt 0.0" />
</StatusEffect>
<StatusEffect type="OnWearing" target="this" comparison="and">
<Conditional condition="lt 5.0" />
<Conditional condition="gt 0.0" />
<Sound file="Content/Items/WarningBeepSlow.ogg" range="500" loop="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="this">
<Conditional condition="lte 0.0" />
<Sound file="Content/Items/WarningBeep.ogg" range="500" loop="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="Character" LowPassMultiplier="0.2" setvalue="true">
<Sound file="Content/Items/Diving/DivingSuitLoop1.ogg" range="500" loop="true" />
<Sound file="Content/Items/Diving/DivingSuitLoop2.ogg" range="500" loop="true" />
</StatusEffect>
<StatusEffect type="OnWearing" target="this,Character">
<Conditional condition="lte 0.0" />
<Sound file="Content/Items/Diving/ITEMS_divingSuitOxygenLeakLoop.ogg" range="200" loop="true" dontmuffle="true" />
</StatusEffect>
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="blunttrauma,gunshotwound,bitewounds,lacerations,bleeding" damagemultiplier="0.55" damagesound="LimbArmor" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictiontypes="burn" damagemultiplier="0.75" damagesound="" deflectprojectiles="true" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="radiationsickness" damagemultiplier="0.75" damagesound="LimbArmor" />
<damagemodifier armorsector="0.0,360.0" afflictionidentifiers="huskinfection" damagemultiplier="0.5" probabilitymultiplier="0.5" damagesound="LimbArmor" />
</Wearable>
<Holdable slots="RightHand+LeftHand" controlpose="true" holdpos="0,-50" handle1="-10,-20" handle2="10,-20" holdangle="45" msg="ItemMsgPickUpUse" canbeselected="false" canbepicked="true" pickkey="Use" />
<aitarget maxsightrange="1500" />
</Item>
</override>
</Items>

BIN
Brynmawr/Brynmawr.sub (Stored with Git LFS) Normal file

Binary file not shown.

4
Brynmawr/filelist.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<contentpackage name="Brynmawr" modversion="1.0.3" corepackage="False" steamworkshopid="3250148507" gameversion="1.6.19.1" >
<Submarine file="%ModDir%/Brynmawr.sub" />
</contentpackage>

69
Colorable Wire/Item.xml Normal file
View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<Override>
<Items>
<Item name="" identifier="wire" aliases="redwire,bluewire,orangewire,greenwire,blackwire,brownwire" category="Electrical" Tags="smallitem,wire" maxstacksize="60" maxstacksizecharacterinventory="60" spritecolor="210,215,218,255" InventoryIconColor="210,215,218,255" canbepicked="true" cargocontaineridentifier="metalcrate" scale="0.5" impactsoundtag="impact_metal_light">
<Price baseprice="10">
<Price storeidentifier="merchantoutpost" />
<Price storeidentifier="merchantcity" sold="false" />
<Price storeidentifier="merchantresearch" multiplier="1.25" />
<Price storeidentifier="merchantmilitary" />
<Price storeidentifier="merchantmine" />
<Price storeidentifier="merchantengineering" multiplier="0.9" />
</Price>
<PreferredContainer primary="engcab" />
<PreferredContainer secondary="wreckengcab,abandonedengcab,outpostengcab,beaconengcab" amount="1" spawnprobability="0.1" />
<Deconstruct time="1" />
<Fabricate suitablefabricators="fabricator" requiredtime="5" amount="5">
<RequiredItem identifier="copper" />
<RequiredItem identifier="rubber" />
</Fabricate>
<InventoryIcon texture="Content/Items/InventoryIconAtlas.png" sourcerect="448,64,64,64" origin="0.5,0.5" />
<Sprite texture="Content/Items/Electricity/signalcomp.png" depth="0.8" sourcerect="169,224,84,32" origin="0.5,0.5" />
<Body radius="14" width="60" density="15" />
<Holdable slots="Any,RightHand,LeftHand" handle1="0,0" msg="ItemMsgPickUpSelect" />
<Wire />
<CustomInterface canbeselected="false" drawhudwhenequipped="true" allowuioverlap="true" hudpriority="20" depth="9">
<GuiFrame relativesize="0.1,0.3" anchor="CenterLeft" style="ItemUI" />
<Button text="White">
<StatusEffect type="OnUse" targettype="This" spritecolor="210,215,218,255" InventoryIconColor="210,215,218,255" setvalue="true" />
</Button>
<Button text="Red">
<StatusEffect type="OnUse" targettype="This" spritecolor="254,23,17,255" InventoryIconColor="254,23,17,255" setvalue="true" />
</Button>
<Button text="Blue">
<StatusEffect type="OnUse" targettype="This" spritecolor="51,121,173,255" InventoryIconColor="51,121,173,255" setvalue="true" />
</Button>
<Button text="Orange">
<StatusEffect type="OnUse" targettype="This" spritecolor="255,140,13,255" InventoryIconColor="255,140,13,255" setvalue="true" />
</Button>
<Button text="Green">
<StatusEffect type="OnUse" targettype="This" spritecolor="56,143,111,255" InventoryIconColor="56,143,111,255" setvalue="true" />
</Button>
<Button text="Black">
<StatusEffect type="OnUse" targettype="This" spritecolor="50,50,50,255" InventoryIconColor="50,50,50,255" setvalue="true" />
</Button>
<Button text="Brown">
<StatusEffect type="OnUse" targettype="This" spritecolor="123,77,62,255" InventoryIconColor="123,77,62,255" setvalue="true" />
</Button>
</CustomInterface>
</Item>
<Item name="" identifier="redwire" category="Electrical" Tags="smallitem,wire" maxstacksize="60" maxstacksizecharacterinventory="60" spritecolor="254,23,17,255" InventoryIconColor="254,23,17,255" canbepicked="true" cargocontaineridentifier="metalcrate" scale="0.5" impactsoundtag="impact_metal_light">
<Deconstruct time="1" />
<InventoryIcon texture="Content/Items/InventoryIconAtlas.png" sourcerect="448,64,64,64" origin="0.5,0.5" />
<Sprite texture="Content/Items/Electricity/signalcomp.png" depth="0.8" sourcerect="169,224,84,32" origin="0.5,0.5" />
<Body radius="14" width="60" density="15" />
<Holdable slots="Any,RightHand,LeftHand" handle1="0,0" msg="ItemMsgPickUpSelect">
<StatusEffect type="OnActive" target="This" Oneshot="true">
<Removeitem />
<SpawnItem identifiers="wire" SpawnPosition="SameInventory" SpawnIfInventoryFull="true" />
</StatusEffect>
</Holdable>
<Wire />
</Item>
<Item identifier="bluewire" variantof="redwire" spritecolor="51,121,173,255" InventoryIconColor="51,121,173,255" />
<Item identifier="orangewire" variantof="redwire" spritecolor="255,140,13,255" InventoryIconColor="255,140,13,255" />
<Item identifier="greenwire" variantof="redwire" spritecolor="56,143,111,255" InventoryIconColor="56,143,111,255" />
<Item identifier="blackwire" variantof="redwire" spritecolor="50,50,50,255" InventoryIconColor="50,50,50,255" />
<Item identifier="brownwire" variantof="redwire" spritecolor="123,77,62,255" InventoryIconColor="123,77,62,255" />
</Items>
</Override>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<contentpackage name="Colorable Wire" steamworkshopid="3111822905" corepackage="false" modversion="1.0.2" gameversion="1.1.19.3" installtime="1702351670" >
<Item file="%ModDir%/Item.xml" />
</contentpackage>

View File

@@ -6,7 +6,9 @@
if SERVER then if SERVER then
require("Cyka.xpticker") require("Cyka.xpticker")
else else
require("Cyka.xpticker")
---@class MyModGlobal ---@class MyModGlobal
---@field CONFIG {QUICKSTACK_KEYS: Keys, FABRICATOR_KEY: Keys, MAX_BUY: Keys, NESTED_CONTAINERS: boolean, DEBUG_MODE: boolean}
---@field MOD_NAME string ---@field MOD_NAME string
---@field MOD_VERSION string ---@field MOD_VERSION string
---@field DumpTable fun(table: table, depth?: number) ---@field DumpTable fun(table: table, depth?: number)
@@ -26,6 +28,7 @@ else
QICK_FABRICATOR = Keys.K, QICK_FABRICATOR = Keys.K,
QICK_DECONSTRUCTOR = Keys.J, QICK_DECONSTRUCTOR = Keys.J,
QICK_MEDICAL_FABRICATOR = Keys.M, QICK_MEDICAL_FABRICATOR = Keys.M,
QICK_TERMINAL = Keys.N,
NESTED_CONTAINERS = true, NESTED_CONTAINERS = true,
DEBUG_MODE = true, DEBUG_MODE = true,
}, },
@@ -95,88 +98,93 @@ else
LuaUserData.RegisterType("Barotrauma.Items.Components.Repairable") LuaUserData.RegisterType("Barotrauma.Items.Components.Repairable")
LuaUserData.RegisterType("Barotrauma.VisualSlot") LuaUserData.RegisterType("Barotrauma.VisualSlot")
-- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
-- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.QUICKSTACK_KEYS) then return end if not PlayerInput.KeyHit(MyModGlobal.CONFIG.QUICKSTACK_KEYS) then return end
-- quickstack.quickStackItems(instance) quickstack.quickStackItems(instance)
-- end, Hook.HookMethodType.After) end, Hook.HookMethodType.After)
-- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
-- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.STACK_TO_CURSOR) then return end if not PlayerInput.KeyHit(MyModGlobal.CONFIG.STACK_TO_CURSOR) then return end
-- if not PlayerInput.IsShiftDown() then if not PlayerInput.IsShiftDown() then
-- quickstack.stackToCursor() quickstack.stackToCursor()
-- else else
-- quickstack.stackAllToCursor() quickstack.stackAllToCursor()
-- end end
-- end, Hook.HookMethodType.After) end, Hook.HookMethodType.After)
-- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
-- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.FABRICATOR_KEY) then return end if not PlayerInput.KeyHit(MyModGlobal.CONFIG.FABRICATOR_KEY) then return end
-- fabricatorstack.tryStackFabricator(instance) fabricatorstack.tryStackFabricator(instance)
-- end, Hook.HookMethodType.After) end, Hook.HookMethodType.After)
-- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) -- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
-- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.FIX) then return end -- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.FIX) then return end
-- hotkeyrepair.tryRepair() -- hotkeyrepair.tryRepair()
-- end, Hook.HookMethodType.After) -- end, Hook.HookMethodType.After)
-- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
-- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.MAX_BUY) then return end if not PlayerInput.KeyHit(MyModGlobal.CONFIG.MAX_BUY) then return end
-- quickbuy.tryBuy() quickbuy.tryBuy()
-- end, Hook.HookMethodType.After) end, Hook.HookMethodType.After)
-- local throttle = 0.1 local throttle = 0.1
-- local throttleTimer = 0 local throttleTimer = 0
-- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
-- if PlayerInput.Mouse4ButtonClicked() then if PlayerInput.Mouse4ButtonClicked() then
-- cursormacroer.setTargetInventory() cursormacroer.setTargetInventory()
-- end end
-- if not PlayerInput.IsAltDown() then return end if not PlayerInput.IsAltDown() then return end
-- if Timer.GetTime() < throttleTimer then return end if Timer.GetTime() < throttleTimer then return end
-- throttleTimer = Timer.GetTime() + throttle throttleTimer = Timer.GetTime() + throttle
-- -- We can not use shift because holding shift means we're moving half a stack -- We can not use shift because holding shift means we're moving half a stack
-- -- Fuck me sideways -- Fuck me sideways
-- -- if not PlayerInput.IsShiftDown() then return end -- if not PlayerInput.IsShiftDown() then return end
-- -- if not PlayerInput.PrimaryMouseButtonClicked() then return end -- if not PlayerInput.PrimaryMouseButtonClicked() then return end
-- cursormacroer.tryStackCursorItem() cursormacroer.tryStackCursorItem()
-- end, Hook.HookMethodType.After) end, Hook.HookMethodType.After)
-- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
-- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.UNLOAD) then return end if not PlayerInput.KeyHit(MyModGlobal.CONFIG.UNLOAD) then return end
-- quickunload.tryUnloadCursorItem() quickunload.tryUnloadCursorItem()
-- end, Hook.HookMethodType.After) end, Hook.HookMethodType.After)
-- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
-- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.RELOAD) then return end if not PlayerInput.KeyHit(MyModGlobal.CONFIG.RELOAD) then return end
-- quickreload.tryReloadCursorItem(PlayerInput.IsShiftDown()) quickreload.tryReloadCursorItem(PlayerInput.IsShiftDown())
-- end, Hook.HookMethodType.After) end, Hook.HookMethodType.After)
-- -- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) -- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)i
-- -- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.LOOT) then return end -- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.LOOT) then return end
-- -- quickloot.tryLoot() -- quickloot.tryLoot()
-- -- end, Hook.HookMethodType.After) -- end, Hook.HookMethodType.After)
-- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
-- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.SONAR) then return end if not PlayerInput.KeyHit(MyModGlobal.CONFIG.SONAR) then return end
-- sonarpinger.tryPing() sonarpinger.tryPing()
-- end, Hook.HookMethodType.After) end, Hook.HookMethodType.After)
-- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
-- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.AOEPICKUP) then return end if not PlayerInput.KeyHit(MyModGlobal.CONFIG.AOEPICKUP) then return end
-- aoepickup.tryAoePickup() aoepickup.tryAoePickup()
-- end, Hook.HookMethodType.After) end, Hook.HookMethodType.After)
-- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
-- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.QICK_FABRICATOR) then return end if not PlayerInput.KeyHit(MyModGlobal.CONFIG.QICK_FABRICATOR) then return end
-- quickaccess.tryAccessFabricator(PlayerInput.IsShiftDown()) quickaccess.tryAccessFabricator(PlayerInput.IsShiftDown())
-- end, Hook.HookMethodType.After) end, Hook.HookMethodType.After)
-- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
-- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.QICK_DECONSTRUCTOR) then return end if not PlayerInput.KeyHit(MyModGlobal.CONFIG.QICK_DECONSTRUCTOR) then return end
-- quickaccess.tryAccessDeconstructor(PlayerInput.IsShiftDown()) quickaccess.tryAccessDeconstructor(PlayerInput.IsShiftDown())
-- end, Hook.HookMethodType.After) end, Hook.HookMethodType.After)
-- Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable) Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
-- if not PlayerInput.KeyHit(MyModGlobal.CONFIG.QICK_MEDICAL_FABRICATOR) then return end if not PlayerInput.KeyHit(MyModGlobal.CONFIG.QICK_MEDICAL_FABRICATOR) then return end
-- quickaccess.tryAccessMedicalFabricator(PlayerInput.IsShiftDown()) quickaccess.tryAccessMedicalFabricator(PlayerInput.IsShiftDown())
-- end, Hook.HookMethodType.After) end, Hook.HookMethodType.After)
Hook.Patch("Barotrauma.Character", "ControlLocalPlayer", function(instance, ptable)
if not PlayerInput.KeyHit(MyModGlobal.CONFIG.QICK_TERMINAL) then return end
quickaccess.tryAccessTerminal(PlayerInput.IsShiftDown())
end, Hook.HookMethodType.After)
end end

View File

@@ -4,7 +4,7 @@ if not CLIENT then return end
local dump = require("Cyka.dump") local dump = require("Cyka.dump")
local quickstack = require("Cyka.quickstack") local quickstack = require("Cyka.quickstack")
---@class ItemLocationDistance ---@class ItemLocation
---@field item Barotrauma.Item ---@field item Barotrauma.Item
---@field distance number ---@field distance number

View File

@@ -60,7 +60,7 @@ local function tryStackCursorItem()
end end
itemTree = quickstack.sortItemTree(itemTree) itemTree = quickstack.sortItemTree(itemTree)
local options = {} local itemsToMove = {}
local now = Timer.GetTime() local now = Timer.GetTime()
for _, slot in ipairs(slots) do for _, slot in ipairs(slots) do
local runAfter = slotThrottle[slot] or 0 local runAfter = slotThrottle[slot] or 0
@@ -68,7 +68,7 @@ local function tryStackCursorItem()
goto continue goto continue
end end
-- MyModGlobal.debugPrint(string.format("Enqueuing slot: %s, before: %d", tostring(slot), #itemsToMove)) -- MyModGlobal.debugPrint(string.format("Enqueuing slot: %s, before: %d", tostring(slot), #itemsToMove))
options = utils.enqueueSlot(slot.inventory.slots[slot.slotIndex1], options) utils.enqueueSlot(slot.slot, itemsToMove)
-- MyModGlobal.debugPrint(string.format("Enqueuing slot: %s, after: %d", tostring(slot), #itemsToMove)) -- MyModGlobal.debugPrint(string.format("Enqueuing slot: %s, after: %d", tostring(slot), #itemsToMove))
slotThrottle[slot] = now + 1 slotThrottle[slot] = now + 1
::continue:: ::continue::
@@ -79,7 +79,7 @@ local function tryStackCursorItem()
-- -- MyModGlobal.debugPrint(string.format("Enqueued %d items from the inventory slot", #itemsToMove)) -- -- MyModGlobal.debugPrint(string.format("Enqueued %d items from the inventory slot", #itemsToMove))
-- MyModGlobal.DumpTable(itemTree) -- MyModGlobal.DumpTable(itemTree)
quickstack.tryMoveItems(options.itemQueue, itemTree, true) quickstack.tryMoveItems(itemsToMove, itemTree, true)
-- local errors = quickstack.tryMoveItems(itemsToMove, itemTree, true) -- local errors = quickstack.tryMoveItems(itemsToMove, itemTree, true)
-- for _, error in ipairs(errors) do -- for _, error in ipairs(errors) do
-- MyModGlobal.debugPrint(string.format("Error moving item: %s", error)) -- MyModGlobal.debugPrint(string.format("Error moving item: %s", error))
@@ -101,7 +101,14 @@ local function setTargetInventory()
-- If we get multiple we'll use the first valid one -- If we get multiple we'll use the first valid one
-- Although everything is valid to us... -- Although everything is valid to us...
for _, slot in ipairs(slots) do for _, slot in ipairs(slots) do
local item = slot.item local item
local items = slot.slot.items
if not items or #items == 0 then
print(string.format("Slot is empty, setting target inventory to %s", tostring(slot.inventory)))
targetInventory = slot.inventory
goto continue
end
item = items[1]
if not item then if not item then
print(string.format("Item in slot is nil, setting target inventory to %s", tostring(slot.inventory))) print(string.format("Item in slot is nil, setting target inventory to %s", tostring(slot.inventory)))
targetInventory = slot.inventory targetInventory = slot.inventory

View File

@@ -3,7 +3,7 @@ if not CLIENT then return end
local utils = require("Cyka.utils") local utils = require("Cyka.utils")
local dump = require("Cyka.dump") local dump = require("Cyka.dump")
---@return {item: Barotrauma.Item, fabricator: Barotrauma.Items.Components.Fabricator}?, string? ---@return {item: Barotrauma.Item, fabricator: Barotrauma.FabricatorComponent}, string?
local function getOpenFabricator() local function getOpenFabricator()
-- Get the controlled character -- Get the controlled character
local controlledCharacter = Character.Controlled local controlledCharacter = Character.Controlled
@@ -29,8 +29,8 @@ end
---@field targetItem {identifier: string, name: string, amount: number} ---@field targetItem {identifier: string, name: string, amount: number}
---@field requiredItems {amount: number, minCondition: number, maxCondition: number, prefabs: string[]}[] ---@field requiredItems {amount: number, minCondition: number, maxCondition: number, prefabs: string[]}[]
---@param fabricator Barotrauma.Items.Components.Fabricator ---@param fabricator Barotrauma.FabricatorComponent
---@return RecipeInfo?, string? ---@return RecipeInfo, string?
local function getSelectedRecipeRequirements(fabricator) local function getSelectedRecipeRequirements(fabricator)
-- local openFabricator, err = getOpenFabricator() -- local openFabricator, err = getOpenFabricator()
-- if err then return nil, err end -- if err then return nil, err end
@@ -73,7 +73,7 @@ local function tryStackFabricator(character)
MyModGlobal.debugPrint("Character inventory is nil.") MyModGlobal.debugPrint("Character inventory is nil.")
return return
end end
---@type Barotrauma.Inventory.ItemSlot ---@type Barotrauma.ItemInventory.Slot
local bagSlot = inventory.slots[MyModGlobal.BAG_SLOT] local bagSlot = inventory.slots[MyModGlobal.BAG_SLOT]
if not bagSlot then if not bagSlot then
MyModGlobal.debugPrint("Bag slot not found.") MyModGlobal.debugPrint("Bag slot not found.")
@@ -91,14 +91,14 @@ local function tryStackFabricator(character)
end end
local fabricator, err = getOpenFabricator() local fabricator, err = getOpenFabricator()
if err or not fabricator then if err then
print(string.format("Error getting open fabricator: %s", err)) print(string.format("Error getting open fabricator: %s", err))
return return
end end
local recipe local recipe
recipe, err = getSelectedRecipeRequirements(fabricator.fabricator) recipe, err = getSelectedRecipeRequirements(fabricator.fabricator)
if err or not recipe then if err then
print(string.format("Error getting selected recipe requirements: %s", err)) print(string.format("Error getting selected recipe requirements: %s", err))
return return
end end
@@ -147,10 +147,7 @@ local function tryStackFabricator(character)
-- dump(itemsOnSubmarine) -- dump(itemsOnSubmarine)
-- MyModGlobal.DumpTable(toGet) -- MyModGlobal.DumpTable(toGet)
local items, _ = utils.enqueueAllOwnedItems({ local items, _ = utils.enqueueAllOwnedItems({}, filter)
recurse = true,
itemPredicate = filter
})
-- if err then -- if err then
-- print(string.format("Error enqueueing all owned items: %s", err)) -- print(string.format("Error enqueueing all owned items: %s", err))
-- return -- return
@@ -171,7 +168,7 @@ local function tryStackFabricator(character)
local previous = nil local previous = nil
for _, item in ipairs(items) do for _, item in ipairs(items) do
if previous ~= item.Prefab.Identifier then slot = slot + 1 end if previous ~= item.Prefab.Identifier then slot = slot + 1 end
local moved = inputInventory.TryPutItem(item, slot, false, true, Character.Controlled, true) local moved = inputInventory.TryPutItem(item, slot, false, true, nil)
if not moved then if not moved then
MyModGlobal.debugPrint(string.format("Failed to move %s", item.Prefab.Identifier.Value)) MyModGlobal.debugPrint(string.format("Failed to move %s", item.Prefab.Identifier.Value))
end end

View File

@@ -5,7 +5,7 @@ local dump = require "Cyka.dump"
-- TODO: Also cook terminal -- TODO: Also cook terminal
-- terminal d:28 t:logic,smallitem c:Terminal, Holdable, ConnectionPanel, -- terminal d:28 t:logic,smallitem c:Terminal, Holdable, ConnectionPanel,
local machines = "fabricator,deconstructor,medicalfabricator" local machines = "fabricator,deconstructor,medicalfabricator,navterminal"
Hook.Patch("Cyka", "Barotrauma.Character", "CanInteractWith", Hook.Patch("Cyka", "Barotrauma.Character", "CanInteractWith",
{ "Barotrauma.Item", "System.Single&", "System.Boolean" }, { "Barotrauma.Item", "System.Single&", "System.Boolean" },
function(_, ptable) function(_, ptable)
@@ -20,7 +20,7 @@ Hook.Patch("Cyka", "Barotrauma.Character", "CanInteractWith",
local cachedFabricator = nil local cachedFabricator = nil
local cachedDeconstructor = nil local cachedDeconstructor = nil
local cachedMedicalFabricator = nil local cachedMedicalFabricator = nil
local cachedTerminal = nil
local function select(item) local function select(item)
MyModGlobal.debugPrint("Selecting " .. tostring(item)) MyModGlobal.debugPrint("Selecting " .. tostring(item))
item.Prefab.GrabWhenSelected = false item.Prefab.GrabWhenSelected = false
@@ -109,8 +109,24 @@ local function tryAccessMedicalFabricator(force)
select(medicalFabricator) select(medicalFabricator)
end end
local function tryAccessTerminal(force)
local terminal = cachedTerminal
if not terminal or force then
terminal = findByComponent("navterminal", "Steering")
if not terminal then
MyModGlobal.debugPrint("No terminal found")
return
end
cachedTerminal = terminal
end
MyModGlobal.debugPrint("Selecting terminal")
select(terminal)
end
return { return {
tryAccessFabricator = tryAccessFabricator, tryAccessFabricator = tryAccessFabricator,
tryAccessDeconstructor = tryAccessDeconstructor, tryAccessDeconstructor = tryAccessDeconstructor,
tryAccessMedicalFabricator = tryAccessMedicalFabricator, tryAccessMedicalFabricator = tryAccessMedicalFabricator,
tryAccessTerminal = tryAccessTerminal,
} }

View File

@@ -4,12 +4,12 @@ if not CLIENT then return end
---@return Barotrauma.Location.StoreInfo[], string? ---@return Barotrauma.Location.StoreInfo[], string?
local function getCurrentStore() local function getCurrentStore()
if not Game or not Game.GameSession or not Game.GameSession.Campaign then if not Game or not Game.GameSession or not Game.GameSession.Campaign then
return {}, "No game session found" return nil, "No game session found"
end end
local map = Game.GameSession.Campaign.Map local map = Game.GameSession.Campaign.Map
if not map or not map.CurrentLocation or not map.CurrentLocation.Stores then if not map or not map.CurrentLocation or not map.CurrentLocation.Stores then
return {}, "No map found" return nil, "No map found"
end end
local location = map.CurrentLocation local location = map.CurrentLocation
@@ -17,13 +17,13 @@ local function getCurrentStore()
-- Otherwise, determine which store is active by checking the cargo manager -- Otherwise, determine which store is active by checking the cargo manager
local cargoManager = Game.GameSession.Campaign.CargoManager local cargoManager = Game.GameSession.Campaign.CargoManager
if not cargoManager then if not cargoManager then
return {}, "No cargo manager found" return nil, "No cargo manager found"
end end
-- Find which store has items in the cart -- Find which store has items in the cart
local stores = {} local stores = {}
for _, store in pairs(location.Stores) do for _, store in pairs(location.Stores) do
if #cargoManager:GetBuyCrateItems() > 0 then if #cargoManager:GetBuyCrateItems(store) > 0 then
stores[#stores + 1] = store stores[#stores + 1] = store
end end
end end
@@ -47,7 +47,7 @@ local function tryBuy()
for _, store in ipairs(stores) do for _, store in ipairs(stores) do
local toAdd = {} local toAdd = {}
-- Get items available at the store -- Get items available at the store
local items = cargoManager:GetBuyCrateItems() local items = cargoManager:GetBuyCrateItems(store)
for item in items do for item in items do
-- We have already added this many of item -- We have already added this many of item
toAdd[item.ItemPrefab.Identifier.Value] = { toAdd[item.ItemPrefab.Identifier.Value] = {
@@ -55,7 +55,6 @@ local function tryBuy()
prefab = item.ItemPrefab -- Store the ItemPrefab object prefab = item.ItemPrefab -- Store the ItemPrefab object
} }
end end
---@diagnostic disable-next-line: undefined-field
for item in store.Stock do for item in store.Stock do
-- So if we add the total amount available -- So if we add the total amount available
-- We get the amount we have to add to buy entire stock -- We get the amount we have to add to buy entire stock
@@ -69,7 +68,6 @@ local function tryBuy()
if info.quantity > 0 then if info.quantity > 0 then
MyModGlobal.debugPrint(string.format("Adding %d of %s to the buy crate", info.quantity, idValue)) MyModGlobal.debugPrint(string.format("Adding %d of %s to the buy crate", info.quantity, idValue))
-- Use the stored ItemPrefab object, not the string identifier -- Use the stored ItemPrefab object, not the string identifier
---@diagnostic disable-next-line: undefined-field
cargoManager:ModifyItemQuantityInBuyCrate(store.Identifier, info.prefab, info.quantity) cargoManager:ModifyItemQuantityInBuyCrate(store.Identifier, info.prefab, info.quantity)
end end
end end

View File

@@ -16,13 +16,14 @@ local LOAD_MAP = require("Cyka.quickreload_loadmap")
---@param inventory Barotrauma.ItemInventory ---@param inventory Barotrauma.ItemInventory
---@return InventorySlot[] ---@return InventorySlot[]
local function getSlots(inventory) local function getSlots(inventory)
---@type InventorySlot[]
local slots = {} local slots = {}
---@type Barotrauma.Inventory.ItemSlot[]
local inventorySlots = inventory.slots local inventorySlots = inventory.slots
for i, _ in ipairs(inventorySlots) do for i, inventorySlot in ipairs(inventorySlots) do
local invSlot = MyModGlobal.InventorySlot.new(inventory, i) slots[#slots + 1] = {
slots[#slots + 1] = invSlot inventory = inventory,
slotIndex = i - 1,
slot = inventorySlot
}
end end
return slots return slots
end end
@@ -35,11 +36,7 @@ local function getItemsPerSlot(slots)
---@type table<InventorySlot, Barotrauma.Item[]> ---@type table<InventorySlot, Barotrauma.Item[]>
local movableBySlot = {} local movableBySlot = {}
-- Get all the items and then we will sort them by condition and shit -- Get all the items and then we will sort them by condition and shit
utils.enqueuePlayerItems({ utils.enqueueAllPlayerItems({}, function(ititem, itemRef)
recurse = true,
loadRefs = true,
itemPredicate = function(ititem, itemRef)
MyModGlobal.debugPrint(string.format("Checking item: %s", tostring(ititem)))
-- We don't want to take oxygen out of our diving suit to load our plasma cutter -- We don't want to take oxygen out of our diving suit to load our plasma cutter
-- Most loadable items have 1 capacity -- Most loadable items have 1 capacity
-- But some have 2 or 3 (coil speargun) -- But some have 2 or 3 (coil speargun)
@@ -51,7 +48,7 @@ local function getItemsPerSlot(slots)
-- dump(slots) -- dump(slots)
-- MyModGlobal.debugPrint(ititem.Prefab.Identifier.Value) -- MyModGlobal.debugPrint(ititem.Prefab.Identifier.Value)
for _, inventorySlot in ipairs(slots) do for _, inventorySlot in ipairs(slots) do
local canMove = inventorySlot.inventory.CanBePutInSlot(ititem, inventorySlot.slotIndex1 - 1) local canMove = inventorySlot.inventory.CanBePutInSlot(ititem, inventorySlot.slotIndex)
-- MyModGlobal.debugPrint(string.format("Can move to slot %d: %s", inventorySlot.slotIndex, tostring(canMove))) -- MyModGlobal.debugPrint(string.format("Can move to slot %d: %s", inventorySlot.slotIndex, tostring(canMove)))
if canMove then if canMove then
movableBySlot[inventorySlot] = movableBySlot[inventorySlot] or {} movableBySlot[inventorySlot] = movableBySlot[inventorySlot] or {}
@@ -60,8 +57,7 @@ local function getItemsPerSlot(slots)
end end
end end
return false return false
end end, true)
})
return movableBySlot return movableBySlot
end end
@@ -97,11 +93,11 @@ local function printPermissibleItems(movableBySlot)
end end
---@param invSlot InventorySlot ---@param slot InventorySlot
---@param preferMinCondition boolean ---@param preferMinCondition boolean
local function tryReloadSlot(invSlot, preferMinCondition) local function tryReloadSlot(slot, preferMinCondition)
---@type Barotrauma.Item ---@type Barotrauma.Item
local item = invSlot.item local item = slot.slot.items[1]
if not item then if not item then
MyModGlobal.debugPrint("No item in slot") MyModGlobal.debugPrint("No item in slot")
return return
@@ -119,10 +115,13 @@ local function tryReloadSlot(invSlot, preferMinCondition)
MyModGlobal.debugPrint("No slots") MyModGlobal.debugPrint("No slots")
return return
end end
-- MyModGlobal.debugPrint("Slots:")
-- dump(slots)
---@type table<InventorySlot, Barotrauma.Item[]> ---@type table<InventorySlot, Barotrauma.Item[]>
local movableBySlot = getItemsPerSlot(slots) local movableBySlot = getItemsPerSlot(slots)
-- MyModGlobal.debugPrint("Movable by slot:") -- MyModGlobal.debugPrint("Movable by slot:")
-- dump(movableBySlot)
local permissibleItems = LOAD_MAP[tostring(item.Prefab.Identifier.Value)] local permissibleItems = LOAD_MAP[tostring(item.Prefab.Identifier.Value)]
if not permissibleItems then if not permissibleItems then
@@ -157,19 +156,22 @@ local function tryReloadSlot(invSlot, preferMinCondition)
-- We loaded as many as we have been allowed to -- We loaded as many as we have been allowed to
-- And we do this check up front because an item may already -- And we do this check up front because an item may already
-- Be partially loaded -- Be partially loaded
local nowHave = inventorySlot.stackSize local nowHave = #inventorySlot.slot.items
if nowHave >= permissible then if nowHave >= permissible then
MyModGlobal.debugPrint(string.format( -- MyModGlobal.debugPrint(string.format(
"Finished processing item: %s. Current slot has reached the permissible limit of %d items.", -- "Finished processing item: %s. Current slot has reached the permissible limit of %d items.",
tostring(ititem.Prefab.Identifier.Value), permissible)) -- tostring(ititem.Prefab.Identifier.Value), permissible))
break break
end end
if not inventorySlot:canFit(ititem.Prefab) then local moved = inventorySlot.inventory.TryPutItem(ititem, inventorySlot.slotIndex, false, true, nil)
break -- When the slot is full no more will be able to be moved
end -- And tat that point we're done with that slot
utils.enqueueMove(ititem, inventorySlot) if not moved then break end
numMoved = numMoved + 1 numMoved = numMoved + 1
-- else
-- MyModGlobal.debugPrint(string.format("Not permissible: %s", tostring(ititem.Prefab.Identifier.Value)))
end end
end end
end end

View File

@@ -12,17 +12,25 @@ local oxygen = { oxygentank = 1 }
local LOAD_MAP = { local LOAD_MAP = {
anechoicdivingsuit = oxygen, anechoicdivingsuit = oxygen,
autocpr = battery, autocpr = battery,
bvm = oxygen,
defibrillator = battery, defibrillator = battery,
divingmask = oxygen, divingmask = oxygen,
divingsuit = oxygen, divingsuit = oxygen,
exosuit = { fuelrod = 1, oxygentank = 1 },
flashlight = battery, flashlight = battery,
handcannon = { handcannonround = 999 },
handheldsonar = battery, handheldsonar = battery,
harpooncoilrifle = harpoonGun, harpooncoilrifle = harpoonGun,
harpoongun = harpoonGun, harpoongun = harpoonGun,
healthscanner = battery,
plasmacutter = oxygen, plasmacutter = oxygen,
portablepump = battery,
revolver = { revolverround = 999 }, revolver = { revolverround = 999 },
underwaterscooter = battery, underwaterscooter = battery,
weldingtool = { weldingfueltank = 1 }, weldingtool = { weldingfueltank = 1 },
flamerunique = { weldingfueltank = 1 },
flamer = { weldingfueltank = 1 },
sprayer = { ethanol = 1 },
} }
return LOAD_MAP return LOAD_MAP

View File

@@ -5,14 +5,20 @@ if not CLIENT then return end
local utils = require("Cyka.utils") local utils = require("Cyka.utils")
local dump = require("Cyka.dump") local dump = require("Cyka.dump")
---@class ItemLocation
---@field inventory Barotrauma.ItemInventory
---@field slotIndex number
---@field depth number
---@field maxFits number
-- The resulting item tree is a table where the key is an ID of an item -- The resulting item tree is a table where the key is an ID of an item
-- And the value is an object that represents where that item is located -- And the value is an object that represents where that item is located
-- In our inventory -- In our inventory
-- Special case are empty slots where any item fits -- Special case are empty slots where any item fits
---@param inventory Barotrauma.Inventory ---@param inventory Barotrauma.ItemInventory
---@param itemTree? table<string, InventorySlot[]> ---@param itemTree table<string, ItemLocation[]>
---@param depth? number ---@param depth number
---@return table<string, InventorySlot[]> ---@return table<string, ItemLocation[]>
local function buildItemTree(inventory, itemTree, depth) local function buildItemTree(inventory, itemTree, depth)
itemTree = itemTree or {} itemTree = itemTree or {}
depth = depth or 0 depth = depth or 0
@@ -23,24 +29,38 @@ local function buildItemTree(inventory, itemTree, depth)
-- One slot can have one item but multiple of it -- One slot can have one item but multiple of it
-- The number of an item in a slot is #slot.items -- The number of an item in a slot is #slot.items
for slotIndex, _ in ipairs(inventory.slots) do for slotIndex, slot in ipairs(inventory.slots) do
local invSlot = MyModGlobal.InventorySlot.new(inventory, slotIndex):with({ depth = depth }) -- MyModGlobal.debugPrint(string.format("Building item tree for inventory at slot index: %d", slotIndex))
if not invSlot.item then -- MyModGlobal.debugPrint(string.format("Slot %d has %d items", slotIndex, #slot.items))
if #slot.items == 0 then
-- MyModGlobal.debugPrint(string.format("Slot %d is empty, adding to itemTree as 'empty'", slotIndex)) -- MyModGlobal.debugPrint(string.format("Slot %d is empty, adding to itemTree as 'empty'", slotIndex))
itemTree['empty'] = itemTree['empty'] or {} itemTree['empty'] = itemTree['empty'] or {}
itemTree['empty'][#itemTree['empty'] + 1] = invSlot itemTree['empty'][#itemTree['empty'] + 1] = {
inventory = inventory,
slotIndex = slotIndex - 1,
maxFits = 60,
depth = depth
}
-- MyModGlobal.debugPrint(string.format("Added empty slot to itemTree at index: %d", slotIndex)) -- MyModGlobal.debugPrint(string.format("Added empty slot to itemTree at index: %d", slotIndex))
else else
local identifier = invSlot.item.Prefab.Identifier.Value ---@type Barotrauma.Item
local item = slot.items[1]
local identifier = item.Prefab.Identifier.Value
-- MyModGlobal.debugPrint(string.format("Found item: %s with identifier: %s", item.Name, identifier))
itemTree[identifier] = itemTree[identifier] or {} itemTree[identifier] = itemTree[identifier] or {}
-- We DO want even slots with maxFits = 0 -- We DO want even slots with maxFits = 0
-- Because that indicates that we DO HAVE the item -- Because that indicates that we DO HAVE the item
-- At all -- At all
-- And based on that we decide to move it -- And based on that we decide to move it
itemTree[identifier][#itemTree[identifier] + 1] = invSlot itemTree[identifier][#itemTree[identifier] + 1] = {
inventory = inventory,
slotIndex = slotIndex - 1,
maxFits = slot.HowManyCanBePut(item.Prefab),
depth = depth
}
-- MyModGlobal.debugPrint(string.format("Added item to itemTree under identifier: %s", identifier)) -- MyModGlobal.debugPrint(string.format("Added item to itemTree under identifier: %s", identifier))
local tags = invSlot.item.Prefab.Tags local tags = item.Prefab.Tags
local shouldSuss = false local shouldSuss = false
for tag in tags do for tag in tags do
if tag.value:find("container") then if tag.value:find("container") then
@@ -51,7 +71,7 @@ local function buildItemTree(inventory, itemTree, depth)
if shouldSuss then if shouldSuss then
-- MyModGlobal.debugPrint(string.format("Searching inside %s for nested containers", item.Name)) -- MyModGlobal.debugPrint(string.format("Searching inside %s for nested containers", item.Name))
buildItemTree(invSlot.item.OwnInventory, itemTree, depth + 1) buildItemTree(item.OwnInventory, itemTree, depth + 1)
end end
end end
end end
@@ -61,20 +81,19 @@ local function buildItemTree(inventory, itemTree, depth)
end end
-- We would like to fill larger stacks first -- We would like to fill larger stacks first
---@param itemTree table<string, InventorySlot[]> ---@param itemTree table<string, ItemLocation[]>
---@return table<string, InventorySlot[]> ---@return table<string, ItemLocation[]>
local function sortItemTree(itemTree) local function sortItemTree(itemTree)
for _, item in pairs(itemTree) do for _, item in pairs(itemTree) do
table.sort(item, function(a, b) table.sort(item, function(a, b)
---@cast a InventorySlot ---@cast a ItemLocation
---@cast b InventorySlot ---@cast b ItemLocation
local maxfitsA, maxfitsB = a:maxFits(), b:maxFits()
if a.depth ~= b.depth then if a.depth ~= b.depth then
return a.depth < b.depth return a.depth < b.depth
elseif maxfitsA ~= maxfitsB then elseif a.maxFits ~= b.maxFits then
return maxfitsA > maxfitsB return a.maxFits > b.maxFits
else else
return a.slotIndex0 < b.slotIndex0 return a.slotIndex < b.slotIndex
end end
end) end)
end end
@@ -83,16 +102,16 @@ local function sortItemTree(itemTree)
end end
---@param item Barotrauma.Item ---@param item Barotrauma.Item
---@param itemTree table<string, InventorySlot[]> ---@param itemTree table<string, ItemLocation[]>
---@param force boolean ---@param force boolean
---@return string? ---@return string
local function tryMoveItem(item, itemTree, force) local function tryMoveItem(item, itemTree, force)
-- MyModGlobal.debugPrint(string.format("Attempting to move item: %s", item.Prefab.Identifier.Value)) -- MyModGlobal.debugPrint(string.format("Attempting to move item: %s", item.Prefab.Identifier.Value))
force = force or false force = force or false
local location = itemTree[item.Prefab.Identifier.Value] local location = itemTree[item.Prefab.Identifier.Value]
if not location and not force then if not location and not force then
-- MyModGlobal.debugPrint("No locations for item, not stacking (not forced)") -- MyModGlobal.debugPrint("No locations for item, not stacking (not forced)")
return "No locations for item, not stacking (not forced)" return nil, "No locations for item, not stacking (not forced)"
end end
-- MyModGlobal.debugPrint(string.format("Attempting to move item: %s", item.Prefab.Identifier.Value)) -- MyModGlobal.debugPrint(string.format("Attempting to move item: %s", item.Prefab.Identifier.Value))
-- MyModGlobal.DumpTable(location) -- MyModGlobal.DumpTable(location)
@@ -102,13 +121,22 @@ local function tryMoveItem(item, itemTree, force)
-- First try to move to existing stacks -- First try to move to existing stacks
for _, itemLocation in ipairs(location) do for _, itemLocation in ipairs(location) do
-- We cannot stack items with decreased condition -- We cannot stack items with decreased condition
local canFit = itemLocation:canFit(item.Prefab) local canBePut = itemLocation.inventory.CanBePutInSlot(item.Prefab, itemLocation.slotIndex, item.Condition)
if canFit then -- MyModGlobal.debugPrint(string.format("Can be put in slot %d: %s", itemLocation.slotIndex, tostring(canBePut)))
-- There's no more guess work, if we call move then we must be sure we can move
utils.enqueueMove(item, itemLocation) if itemLocation.maxFits > 0 and canBePut then
moved = true moved = moved or
itemLocation.inventory.TryPutItem(item, itemLocation.slotIndex, false, true, nil)
if moved then
itemLocation.maxFits = itemLocation.inventory.HowManyCanBePut(item.Prefab, itemLocation.slotIndex)
break break
end end
-- if moved then
-- MyModGlobal.debugPrint(string.format("Moved item to existing stack at slot index: %d", itemLocation .slotIndex))
-- else
-- MyModGlobal.debugPrint(string.format("Failed to move item to existing stack at slot index: %d", itemLocation .slotIndex))
-- end
end
end end
end end
@@ -120,17 +148,28 @@ local function tryMoveItem(item, itemTree, force)
return "No empty slots found" return "No empty slots found"
end end
for _, itemLocation in ipairs(itemTree['empty']) do for _, itemLocation in ipairs(itemTree['empty']) do
local maxFits = itemLocation.maxFits
-- These empty slots are not guranteed to be empty, ironically -- These empty slots are not guranteed to be empty, ironically
-- After we insert an item into one it's no longer empty -- After we insert an item into one it's no longer empty
-- But it still is in the empty table -- But it still is in the empty table
-- So we want to make sure we can insert our item -- So we want to make sure we can insert our item
-- Into the maybe empty slots -- Into the maybe empty slots
local canFit = itemLocation:canFit(item.Prefab) itemLocation.maxFits = itemLocation.inventory.HowManyCanBePut(item.Prefab, itemLocation.slotIndex)
if canFit then
utils.enqueueMove(item, itemLocation) if maxFits > 0 then
moved = true -- MyModGlobal.debugPrint(string.format("Trying to move item to empty slot at index: %d", itemLocation.slotIndex))
moved = moved or
itemLocation.inventory.TryPutItem(item, itemLocation.slotIndex, true, false, nil)
if moved then
itemLocation.maxFits = itemLocation.inventory.HowManyCanBePut(item.Prefab, itemLocation.slotIndex)
break break
end end
-- if moved then
-- MyModGlobal.debugPrint(string.format("Moved item to empty slot at index: %d", itemLocation.slotIndex))
-- else
-- MyModGlobal.debugPrint(string.format("Failed to move item to empty slot at index: %d", itemLocation.slotIndex))
-- end
end
end end
end end
@@ -144,8 +183,8 @@ local function tryMoveItem(item, itemTree, force)
end end
---@param items Barotrauma.Item[] ---@param items Barotrauma.Item[]
---@param itemTree table<string, InventorySlot[]> ---@param itemTree table<string, ItemLocation[]>
---@param force? boolean ---@param force boolean
---@return string[] ---@return string[]
local function tryMoveItems(items, itemTree, force) local function tryMoveItems(items, itemTree, force)
force = force or false force = force or false
@@ -161,7 +200,7 @@ local function tryMoveItems(items, itemTree, force)
end end
---@param character Barotrauma.Character ---@param character Barotrauma.Character
---@return table<string, InventorySlot[]>, string? ---@return table<string, ItemLocation[]>, string
local function tryBuildCharacterItemTree(character) local function tryBuildCharacterItemTree(character)
local itemTree = {} local itemTree = {}
-- MyModGlobal.debugPrint(string.format("Preparing to stack items into the bag...")) -- MyModGlobal.debugPrint(string.format("Preparing to stack items into the bag..."))
@@ -226,7 +265,7 @@ end
-- Function to quickly stack items from inventory to containers -- Function to quickly stack items from inventory to containers
-- 6 and 7 are hands -- 6 and 7 are hands
-- 9..18 are main slots -- 9..18 are main slots
-- local inventorySlotsToStack = { 6, 7, } local inventorySlotsToStack = { 6, 7, }
-- local inventorySlotsToStack = { 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 } -- local inventorySlotsToStack = { 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 }
---@param character Barotrauma.Character ---@param character Barotrauma.Character
local function quickStackItems(character) local function quickStackItems(character)
@@ -235,10 +274,12 @@ local function quickStackItems(character)
-- Then stack all items from the parent inventory into the mouseover container -- Then stack all items from the parent inventory into the mouseover container
local mouseover = utils.getFirstSlotUnderCursor() local mouseover = utils.getFirstSlotUnderCursor()
if mouseover then if mouseover then
local itemInventory = mouseover.item.OwnInventory ---@type Barotrauma.Item
local slotItem = mouseover.slot.items[1]
local itemInventory = slotItem.OwnInventory
if itemInventory then if itemInventory then
MyModGlobal.debugPrint(string.format("Item inventory found: %s", tostring(itemInventory))) MyModGlobal.debugPrint(string.format("Item inventory found: %s", tostring(itemInventory)))
local err = stackToContainer(mouseover.item) local err = stackToContainer(slotItem)
if err then if err then
MyModGlobal.debugPrint(string.format("Error stacking items to container: %s", err)) MyModGlobal.debugPrint(string.format("Error stacking items to container: %s", err))
end end
@@ -298,7 +339,6 @@ local function quickStackItems(character)
-- end -- end
-- end -- end
-- TODO: enqueueOpenContainers?
local openContainers = utils.getOpenContainers() local openContainers = utils.getOpenContainers()
for _, container in ipairs(openContainers) do for _, container in ipairs(openContainers) do
local inventories = container.OwnInventories local inventories = container.OwnInventories
@@ -325,38 +365,48 @@ local function stackToCursor()
return return
end end
local item, slot
local function predicate(ititem) local function predicate(ititem)
for _, invSlot in ipairs(slots) do ---@cast ititem Barotrauma.Item
if invSlot:canFit(ititem.Prefab) then if ititem.Prefab.Identifier.Value == item.Prefab.Identifier.Value then
utils.enqueueMove(ititem, invSlot) if item == ititem then return false end
-- We are moving items in the predicate because we expect to only
-- Select a small subset of all items
-- And it is much easier to let the game decide when we can not move
-- Any more items (via return value of TryPutItem)
-- And we then know that we can safely stop
-- UPDATE: OK well that was a stupid idea, it returns an error for other shit as well
-- What other shit? Wish I knew
-- So we'll use HowManyCanBePut instead...
local moved = slot.inventory.TryPutItem(ititem, slot.slotIndex - 1, false, true, nil)
if not moved then
MyModGlobal.debugPrint(string.format("Failed to move item %s to slot %d", ititem.Name, slot
.slotIndex - 1))
-- return false, true
end
local maxFits = slot.inventory.HowManyCanBePut(ititem.Prefab, slot.slotIndex - 1)
if maxFits <= 0 then
MyModGlobal.debugPrint(string.format("Item %s has no more fits in slot %d", ititem.Name, slot
.slotIndex - 1))
return false, true
end end
end end
local haveSpace = false
for _, invSlot in ipairs(slots) do
-- Empty slot or has space for more items
if (invSlot.stackSize < invSlot.maxStackSize) or not invSlot.item then
haveSpace = true
break
end
end
if not haveSpace then return false, true end
end end
---@type EnqueueOptions
local options = {
itemPredicate = predicate,
recurse = true,
}
-- We gotta do a little juggling... -- We gotta do a little juggling...
for _, invSlot in ipairs(slots) do for _, sslot in ipairs(slots) do
if not invSlot.item then slot = sslot
local items
if not slot.slot.items or #slot.slot.items == 0 then
MyModGlobal.debugPrint("No items in slot") MyModGlobal.debugPrint("No items in slot")
goto continue goto continue
end end
MyModGlobal.debugPrint(string.format("Stacking all player items to %s", invSlot.item.Prefab.Identifier.Value)) item = slot.slot.items[1]
utils.enqueuePlayerItems(options) MyModGlobal.debugPrint(string.format("Stacking all player items to %s", item.Prefab.Identifier.Value))
utils.enqueueOpenContainers(options) items = {}
utils.enqueueAllPlayerItems(items, predicate)
utils.enqueueOpenContainers(items, predicate)
::continue:: ::continue::
end end
end end
@@ -368,38 +418,44 @@ local function stackAllToCursor()
return return
end end
local function predicate(ititem) for _, slot in ipairs(slots) do
for _, invSlot in ipairs(slots) do local item, predicate
if invSlot:canFit(ititem.Prefab) then if not slot.slot.items or #slot.slot.items == 0 then
utils.enqueueMove(ititem, invSlot)
end
end
local haveSpace = false
for _, invSlot in ipairs(slots) do
-- Empty slot or has space for more items
if (invSlot.stackSize < invSlot.maxStackSize) or not invSlot.item then
haveSpace = true
break
end
end
if not haveSpace then return false, true end
end
---@type EnqueueOptions
local options = {
itemPredicate = predicate,
recurse = true,
}
for _, invSlot in ipairs(slots) do
if not invSlot.item then
MyModGlobal.debugPrint("No items in slot") MyModGlobal.debugPrint("No items in slot")
goto continue goto continue
end end
MyModGlobal.debugPrint(string.format("Stacking all items to %s", invSlot.item.Prefab.Identifier.Value)) item = slot.slot.items[1]
utils.enqueueSubmarineItems(options) MyModGlobal.debugPrint(string.format("Stacking all items to %s", item.Prefab.Identifier.Value))
utils.enqueuePlayerItems(options) predicate = function(ititem)
if ititem.Prefab.Identifier.Value == item.Prefab.Identifier.Value then
if item == ititem then return false end
-- We are moving items in the predicate because we expect to only
-- Select a small subset of all items
-- And it is much easier to let the game decide when we can not move
-- Any more items (via return value of TryPutItem)
-- And we then know that we can safely stop
-- UPDATE: OK well that was a stupid idea, it returns an error for other shit as well
-- What other shit? Wish I knew
-- So we'll use HowManyCanBePut instead...
local moved = slot.inventory.TryPutItem(ititem, slot.slotIndex - 1, false, true, nil)
if not moved then
MyModGlobal.debugPrint(string.format("Failed to move item %s to slot %d", ititem.Name, slot
.slotIndex - 1))
-- return false, true
end
local maxFits = slot.inventory.HowManyCanBePut(ititem.Prefab, slot.slotIndex - 1)
if maxFits <= 0 then
MyModGlobal.debugPrint(string.format("Item %s has no more fits in slot %d", ititem.Name, slot
.slotIndex - 1))
return false, true
end
end
end
utils.enqueueAllSubmarineItems({}, predicate)
utils.enqueueAllPlayerItems({}, predicate)
::continue:: ::continue::
end end
end end

View File

@@ -2,49 +2,106 @@
if not CLIENT then return end if not CLIENT then return end
local utils = require("Cyka.utils") local utils = require("Cyka.utils")
local dump = require("Cyka.dump")
---@param invSlot InventorySlot ---@param inventory Barotrauma.ItemInventory
local function tryUnloadSlot(invSlot) ---@param predicate fun(slot: InventorySlot): boolean
---@type table<Barotrauma.ItemPrefab, boolean> ---@return InventorySlot[], string?
local toUnloadByPrefab = {} local function findSlotsThat(inventory, predicate)
local slots = {}
for i, slot in ipairs(inventory.slots) do
local inventorySlot = {
slot = slot,
inventory = inventory,
slotIndex = i - 1
}
if predicate(inventorySlot) then
slots[#slots + 1] = inventorySlot
end
end
return slots
end
local itemInventory = invSlot.item.OwnInventory ---@param slot InventorySlot
if not itemInventory then local function tryUnloadSlot(slot)
MyModGlobal.debugPrint("No inventory for item") ---@type Barotrauma.Item
local item = slot.slot.items[1]
if not item then
MyModGlobal.debugPrint("No item in slot")
return
end
local inventory = item.OwnInventory
if not inventory then
MyModGlobal.debugPrint("Item has no own inventory")
return return
end end
MyModGlobal.debugPrint(string.format("Enqueuing inventory %s", tostring(itemInventory)))
local toUnload = utils.enqueueInventory(itemInventory, { local toUnload = {}
itemPredicate = function(item) local toUnloadByPrefab = {}
toUnloadByPrefab[item.Prefab] = true local inventorySlots = inventory.slots
return true for _, inventorySlot in ipairs(inventorySlots) do
end, for _, inventoryItem in ipairs(inventorySlot.items) do
recurse = false, toUnload[#toUnload + 1] = inventoryItem
}) -- This will only serve as O(1) lookup
MyModGlobal.debugPrint(string.format("Moving %d items to unload %s", #toUnload.itemQueue, tostring(invSlot.item))) toUnloadByPrefab[inventoryItem.Prefab] = true
end
end
-- Where can we put our toUnload items? -- Where can we put our toUnload items?
local nearbySlots = invSlot:getNearbySlots(function(islot) local nearbySlots = findSlotsThat(slot.inventory, function(islot)
local isEmpty = not islot.item local isEmpty = #islot.slot.items == 0
if isEmpty then return true end if isEmpty then return true end
for prefab, _ in pairs(toUnloadByPrefab) do for _, prefab in ipairs(toUnloadByPrefab) do
local canFit = islot:canFit(prefab) local canAccept = islot.inventory.CanBePutInSlot(prefab, islot.slotIndex)
if canFit then return true end if canAccept then return true end
end end
return false return false
end) end)
MyModGlobal.debugPrint(string.format("Into %d nearby slots", #nearbySlots)) -- print("Before sorting:")
-- dump(nearbySlots)
-- Some inventories don't have slots per row, like the player inventory
local slotsPerRow = 900
local ok, err = pcall(function()
slotsPerRow = slot.inventory.slotsPerRow
end)
if not ok then
MyModGlobal.debugPrint(string.format("Error getting slots per row: %s", err))
end
for _, iitem in ipairs(toUnload.itemQueue) do local getGridPos = function(slotIndex)
local x = slotIndex % slotsPerRow
local y = math.floor(slotIndex / slotsPerRow)
return x, y
end
-- We are offsetting here by 1 because the backend uses 0-indexed slots
-- And the lua uses 1-indexed slots
-- We are trying to match the backend behavior for sorting
local slotx, sloty = getGridPos(slot.slotIndex - 1)
-- print(string.format("Slot position %d: %d, %d", slot.slotIndex, slotx, sloty))
table.sort(nearbySlots, function(a, b)
local ax, ay = getGridPos(a.slotIndex)
local bx, by = getGridPos(b.slotIndex)
local distA = math.max(math.abs(ax - slotx), math.abs(ay - sloty))
local distB = math.max(math.abs(bx - slotx), math.abs(by - sloty))
if distA == distB then
return a.slotIndex < b.slotIndex
end
return distA < distB
end)
-- print(string.format("Current slot: %d at (%d, %d)", slot.slotIndex, slotx, sloty))
for _, iitem in ipairs(toUnload) do
for _, nearbySlot in ipairs(nearbySlots) do for _, nearbySlot in ipairs(nearbySlots) do
local canAccept = nearbySlot:canFit(iitem.Prefab) local canAccept = nearbySlot.inventory.CanBePutInSlot(iitem.Prefab, nearbySlot.slotIndex)
if canAccept then if canAccept then
utils.enqueueMove(iitem, nearbySlot) local moved = nearbySlot.inventory.TryPutItem(iitem, nearbySlot.slotIndex, true, false,
break nil)
-- print(string.format("Moved item %s to slot %d", iitem.Name, nearbySlot.slotIndex))
if moved then break end
end end
end end
end end
@@ -53,12 +110,12 @@ end
local function tryUnloadCursorItem() local function tryUnloadCursorItem()
local slots, err = utils.getSlotsUnderCursor() local slots, err = utils.getSlotsUnderCursor()
if err then if err then
MyModGlobal.debugPrint(string.format("Error getting inventory slot: %s", err)) -- MyModGlobal.debugPrint(string.format("Error getting inventory slot: %s", err))
return return
end end
if not slots or #slots == 0 then if not slots or #slots == 0 then
MyModGlobal.debugPrint("No items in slot") -- MyModGlobal.debugPrint("No items in slot")
return return
end end

View File

@@ -1,290 +1,15 @@
-- luacheck: globals Character MyModGlobal Timer _ -- luacheck: globals Character MyModGlobal
-- luacheck: max line length 420 -- luacheck: max line length 420
---@class Barotrauma.Inventory.ItemSlot ---@class ItemRefs
---@field items Barotrauma.Item[]
---@class HollowInventorySlot
---@field inventory? Barotrauma.Inventory
---@field slotIndex1? number Lua based item slots
---@field slotIndex0? number Barotrauma API based item slots
---@field item? Barotrauma.Item
---@field stackSize? number
---@field maxStackSize? number
---@field depth? number Currently almost always 0
-- local globalInventorySlotCache = {}
---@class InventorySlot ---@field slot Barotrauma.Inventory.ItemSlot
---@field inventory Barotrauma.Inventory
---@field slotIndex1 number Lua based item slots
---@field slotIndex0 number Barotrauma API based item slots
---@field item Barotrauma.Item ---@field item Barotrauma.Item
---@field stackSize number ---@field inventory Barotrauma.ItemInventory
---@field maxStackSize number ---@field slot Barotrauma.ItemInventory.Slot
---@field depth number Currently almost always 0
-- ---@field lastUpdated number
MyModGlobal.InventorySlot = {
---@param inventory Barotrauma.Inventory
---@param slotIndex1 number
---@return InventorySlot
new = function(inventory, slotIndex1)
local self = setmetatable({}, {
__index = MyModGlobal.InventorySlot
})
self.inventory = inventory
self.slotIndex1 = slotIndex1
self.slotIndex0 = slotIndex1 - 1
self.stackSize = 0
self.maxStackSize = 0
self.depth = 0
-- self:update()
if inventory and inventory.slots and #inventory.slots > 0 then
self.slot = inventory.slots[slotIndex1]
end
if self.slot and self.slot.items and #self.slot.items > 0 then
self.item = self.slot.items[1]
self.stackSize = #self.slot.items
-- At this point inventory has to exist
-- If it didn't slot wouldn't either and then this wouldn't either
self.maxStackSize = self.item.Prefab.GetMaxStackSize(inventory)
end
return self
end,
--- A very weird builder indeed
---@param self InventorySlot
---@param other HollowInventorySlot
with = function(self, other)
if other.inventory ~= nil then
self.inventory = other.inventory
end
if other.slotIndex1 ~= nil then
self.slotIndex1 = other.slotIndex1
end
if other.slotIndex0 ~= nil then
self.slotIndex0 = other.slotIndex0
end
if other.item ~= nil then
self.item = other.item
end
if other.stackSize ~= nil then
self.stackSize = other.stackSize
end
if other.maxStackSize ~= nil then
self.maxStackSize = other.maxStackSize
end
if other.depth ~= nil then
self.depth = other.depth
end
return self
end,
---@param self InventorySlot
---@param item Barotrauma.Item
pretendMoved = function(self, item)
if not self.inventory then
MyModGlobal.debugPrint("Error pretending moved but it was moved to nil inventory")
return
end
-- Slot was previously empty, we want to figure out its max stack for the new item
if not self.item then
self.maxStackSize = item.Prefab.GetMaxStackSize(self.inventory)
end
self.item = item
self.stackSize = self.stackSize + 1
end,
update = function(self)
-- self.lastUpdated = Timer.GetTime()
if not self.inventory then
MyModGlobal.debugPrint("Error updating inventory slot, inventory not found")
return
end
if not self.inventory.slots then
MyModGlobal.debugPrint("Error updating inventory slot, inventory has no slots")
return
end
local slot = self.inventory.slots[self.slotIndex1]
if not slot then
MyModGlobal.debugPrint("Error updating inventory slot, slot not found")
return
end
self.slot = slot
if not slot.items or #slot.items == 0 then
-- MyModGlobal.debugPrint("Error updating inventory slot, slot is empty")
return
end
self.item = slot.items[1]
self.stackSize = #slot.items
self.maxStackSize = self.item.Prefab.GetMaxStackSize(self.inventory)
end,
__tostring = function(self)
return string.format(
"InventorySlot(inventory=%s, item=%s, stackSize=%d, maxStackSize=%d, slotIndex1=%d, slotIndex0=%d)",
tostring(self.inventory), tostring(self.item), self.stackSize, self.maxStackSize, self.slotIndex1,
self.slotIndex0)
end,
---@param self InventorySlot
---@param predicate? fun(slot: InventorySlot): boolean
---@return InventorySlot[]
getNearbySlots = function(self, predicate)
predicate = predicate or function() return true end
local slotsPerRow = 900
local ok, err = pcall(function()
slotsPerRow = self.inventory.slotsPerRow
end)
if not ok then
MyModGlobal.debugPrint(string.format("Error getting slots per row: %s", err))
end
local getGridPos = function(slotIndex)
local x = slotIndex % slotsPerRow
local y = math.floor(slotIndex / slotsPerRow)
return x, y
end
local slots = {}
for slotIndex, _ in ipairs(self.inventory.slots) do
local inventorySlot = MyModGlobal.InventorySlot.new(self.inventory, slotIndex)
if predicate(inventorySlot) then
slots[#slots + 1] = inventorySlot
end
end
local slotx, sloty = getGridPos(self.slotIndex0)
table.sort(slots, function(a, b)
local ax, ay = getGridPos(a.slotIndex0)
local bx, by = getGridPos(b.slotIndex0)
-- Chebyshev distance
local distA = math.max(math.abs(ax - slotx), math.abs(ay - sloty))
local distB = math.max(math.abs(bx - slotx), math.abs(by - sloty))
if distA == distB then
return a.slotIndex0 < b.slotIndex0
end
return distA < distB
end)
return slots
end,
--- TODO: What about item condition?
---@param self InventorySlot
---@param itemPrefab Barotrauma.ItemPrefab
---@return number
howManyCanFit = function(self, itemPrefab)
-- There is an item in the slot and it's not stackable with itemPrefab
if self.item and not self.item.Prefab.Equals(itemPrefab) then
return 0
end
-- The slot is empty - we can fit as many as the game tells us
if not self.item then
return itemPrefab.GetMaxStackSize(self.inventory)
end
-- The slot has an item that is stackable with itemPrefab
-- We can fit as many as to fill the stack
return self.maxStackSize - self.stackSize
end,
---@param self InventorySlot
---@param itemPrefab Barotrauma.ItemPrefab
---@return boolean
canFit = function(self, itemPrefab)
return self:howManyCanFit(itemPrefab) > 0
end,
---@param self InventorySlot
---@return number
maxFits = function(self)
return self.maxStackSize - self.stackSize
end
-- hash = function(self)
-- return string.format("%s:%d:%d", tostring(self.inventory), self.slotIndex1, self.slotIndex0)
-- end
}
---@class ItemMoveRequest
---@field what Barotrauma.Item
---@field where InventorySlot
---@field allowSwap boolean
---@field allowCombine boolean
local enqueueMove
do
-- A bit of cheeky scoping
local enabled = true
---@type ItemMoveRequest[]
local itemMoveQueue = {}
---@type table<Barotrauma.Item, boolean>
local itemLookup = {}
local rate = 500
local perIteration = 30
local noQueue = true
-- rate / 1000 is ms to seconds and *perIteraion is number of items per second
local maxQueueSize = 10 * (1000 / rate * perIteration)
local function processQueue()
if noQueue then return end
-- MyModGlobal.debugPrint("Processing queue")
Timer.Wait(processQueue, rate)
if not enabled then return end
if #itemMoveQueue == 0 then return end
local iterations = math.min(perIteration, #itemMoveQueue)
for _ = 1, iterations do
---@type ItemMoveRequest
local moveRequest = table.remove(itemMoveQueue, 1)
-- TODO: Maybe try and figure out if we CAN put A into B
moveRequest.allowCombine = moveRequest.allowCombine or false
moveRequest.allowSwap = moveRequest.allowSwap or false
local success = moveRequest.where.inventory.TryPutItem(moveRequest.what, moveRequest.where.slotIndex0,
moveRequest.allowSwap, moveRequest.allowCombine, nil)
if not success then
MyModGlobal.debugPrint(string.format("Failed moving item from %s to %s", tostring(moveRequest.what),
tostring(moveRequest.where:__tostring())))
end
itemLookup[moveRequest.what] = nil
end
end
processQueue()
---@param what Barotrauma.Item
---@param where InventorySlot
---@param allowSwap? boolean
---@param allowCombine? boolean
enqueueMove = function(what, where, allowSwap, allowCombine)
allowCombine = allowCombine == true
allowSwap = allowSwap == true
if noQueue then
local success = where.inventory.TryPutItem(what, where.slotIndex0,
allowSwap, allowCombine, nil)
if not success then
MyModGlobal.debugPrint(string.format("Failed moving item from %s to %s", tostring(what),
tostring(where:__tostring())))
end
where:pretendMoved(what)
else
if #itemMoveQueue >= maxQueueSize then
MyModGlobal.debugPrint("Queue is full, skipping move")
return
end
if itemLookup[what] then
MyModGlobal.debugPrint("Item is already in the queue, skipping move")
return
end
MyModGlobal.debugPrint(string.format("Enqueuing move from %s to %s, now in queue %d/%d", tostring(what),
tostring(where:__tostring()), #itemMoveQueue, maxQueueSize))
table.insert(itemMoveQueue, {
what = what,
where = where,
allowSwap = allowSwap or false,
allowCombine = allowCombine ~= false,
})
itemLookup[what] = true
-- We will very optimistically pretend that this will 100% for sure work
where:pretendMoved(what)
end
end
end
---@class InventorySlot
---@field slot Barotrauma.ItemSlot
---@field inventory Barotrauma.ItemInventory
---@field slotIndex number
---@return Barotrauma.Item[], string? ---@return Barotrauma.Item[], string?
local function getOpenContainers() local function getOpenContainers()
@@ -298,9 +23,7 @@ end
---@return Barotrauma.Item, string? ---@return Barotrauma.Item, string?
local function getFirstOpenContainer() local function getFirstOpenContainer()
local containers, err = getOpenContainers() local containers, err = getOpenContainers()
---@diagnostic disable-next-line: return-type-mismatch
if err then return nil, err end if err then return nil, err end
---@diagnostic disable-next-line: return-type-mismatch
if #containers == 0 then return nil, "No open containers" end if #containers == 0 then return nil, "No open containers" end
return containers[1], nil return containers[1], nil
end end
@@ -309,232 +32,194 @@ end
-- And enqueueItem calls enqueueInventory -- And enqueueItem calls enqueueInventory
-- So unless we define them both before using them -- So unless we define them both before using them
-- We will get an error saying either is undefined -- We will get an error saying either is undefined
-- TODO: Rework these enqueue functions to accept a params object
-- That will house all optional parameters
-- And in that include recurse boolean
---@class ItemRefs
---@field item Barotrauma.Item
---@field inventory Barotrauma.Inventory
---@field slot Barotrauma.Inventory.ItemSlot
---@field slotIndex1 number
---@class EnqueueOptions
---@field itemQueue? Barotrauma.Item[]
---@field slotQueue? Barotrauma.Inventory.ItemSlot[]
---@field inventoryQueue? Barotrauma.Inventory[]
---@field itemPredicate? fun(item: Barotrauma.Item, itemRef: ItemRefs): boolean
---@field slotPredicate? fun(slot: Barotrauma.Inventory.ItemSlot, itemRef: ItemRefs): boolean
---@field inventoryPredicate? fun(inventory: Barotrauma.Inventory, itemRef: ItemRefs): boolean
---@field loadRefs? boolean
---@field itemRef? ItemRefs
---@field recurse? boolean
---@param options EnqueueOptions
---@return EnqueueOptions
local function ensureOptionsDefaults(options)
options = options or {}
options.itemQueue = options.itemQueue or {}
options.slotQueue = options.slotQueue or {}
options.inventoryQueue = options.inventoryQueue or {}
options.itemPredicate = options.itemPredicate or function() return true end
options.slotPredicate = options.slotPredicate or function() return true end
options.inventoryPredicate = options.inventoryPredicate or function() return true end
options.loadRefs = options.loadRefs == true
options.itemRef = options.itemRef or {}
options.recurse = options.recurse == true
return options
end
local enqueueItem local enqueueItem
local enqueueSlot local enqueueSlot
local enqueueInventory local enqueueInventory
local enqueuePlayerItems
local enqueueOpenContainers local enqueueOpenContainers
local enqueueSubmarineItems local allPlayerItems
local enqueueAllOwnedItems local allSubmarineItems
local allOwnedItems
local _
---@alias FilterPredicate fun(item: Barotrauma.Item, inventoryRef?: Barotrauma.ItemInventory, slotRef: Barotrauma.ItemInventory.Slot): boolean
-- Loading refs is optional because it MAY have a performance impact
do
---@param item Barotrauma.Item ---@param item Barotrauma.Item
---@param options EnqueueOptions ---@param queue Barotrauma.Item[]
---@return EnqueueOptions, string? ---@param predicate? FilterPredicate
enqueueItem = function(item, options) ---@param loadRefs? boolean
options = ensureOptionsDefaults(options) ---@param itemRef? ItemRefs
if not item then return options, "No item" end ---@return Barotrauma.Item[], string?
enqueueItem = function(item, queue, predicate, loadRefs, itemRef)
queue = queue or {}
predicate = predicate or function() return true end
itemRef = itemRef or {}
-- debugPrint(string.format("Enqueuing item: %s", item.Prefab.Identifier.Value))
-- local err
-- This should make it breadth first, right...?
-- No, not yet...
if not item then return queue, "No item" end
local ok, stop = options.itemPredicate(item, options.itemRef) local ok, stop = predicate(item, itemRef)
if ok then if ok then
options.itemQueue[#options.itemQueue + 1] = item queue[#queue + 1] = item
end end
if stop then return options, "Stop" end if stop then return queue, "Stop" end
local err
if item.OwnInventory then if item.OwnInventory then
-- As far as I know every item has only one inventory -- As far as I know every item has only one inventory
-- Only machines have multiple -- Only machines have multiple
-- So inventrorY should be fine here -- So inventrorY should be fine here
if options.recurse then -- debugPrint("Item has its own inventory, enqueuing inventory...")
if options.loadRefs then if loadRefs then
options.itemRef.item = item itemRef.item = item
options.inventoryQueue, err = enqueueInventory(item.OwnInventory, options) queue, _ = enqueueInventory(item.OwnInventory, queue, predicate, loadRefs, itemRef)
else else
options.inventoryQueue, err = enqueueInventory(item.OwnInventory, options) queue, _ = enqueueInventory(item.OwnInventory, queue, predicate, itemRef)
end end
-- if err then
-- debugPrint(string.format("Error enqueuing inventory: %s", err))
-- end
end end
end -- debugPrint(string.format("Item enqueued. Current queue size: %d", #queue))
return options, err return queue, nil
end end
---@param slot Barotrauma.Inventory.ItemSlot ---@param slot Barotrauma.ItemInventory.Slot
---@param options EnqueueOptions ---@param queue Barotrauma.Item[]
---@return EnqueueOptions, string? ---@param predicate? FilterPredicate
enqueueSlot = function(slot, options) ---@param loadRefs? boolean
options = ensureOptionsDefaults(options) ---@param itemRef? ItemRefs
if not slot then return options, "No slot" end ---@return Barotrauma.Item[], string?
if not slot.items then return options, "No items" end enqueueSlot = function(slot, queue, predicate, loadRefs, itemRef)
queue = queue or {}
local ok, stop = options.slotPredicate(slot, options.itemRef) predicate = predicate or function() return true end
if ok then itemRef = itemRef or {}
options.slotQueue[#options.slotQueue + 1] = slot -- debugPrint(string.format("Enqueuing slot with %d items.", #slot.items))
end -- We don't want to shadow queue
if stop then return options, "Stop" end local err
-- If the slot is empty there's nothing to iterate
-- And we will naturally return queue as is
if not slot then return queue, "No slot" end
if not slot.items then return queue, "No items" end
for _, item in ipairs(slot.items) do for _, item in ipairs(slot.items) do
-- We redeclare err every iteration so it doesn't spill over -- Only the final leaf nodes decide upon the predicate
local err if loadRefs then
if options.loadRefs then itemRef.slot = slot
options.itemRef.slot = slot queue, err = enqueueItem(item, queue, predicate, loadRefs, itemRef)
options, err = enqueueItem(item, options)
else else
options, err = enqueueItem(item, options) queue, err = enqueueItem(item, queue, predicate)
end end
if err then if err then
return options, err return queue, err
end end
end end
return options -- debugPrint(string.format("Finished enqueuing slot. Current queue size: %d", #queue))
return queue
end end
---@param inventory Barotrauma.Inventory ---@param inventory Barotrauma.ItemInventory
---@param options EnqueueOptions ---@param queue Barotrauma.Item[]
---@return EnqueueOptions, string? ---@param predicate? FilterPredicate
enqueueInventory = function(inventory, options) ---@param loadRefs? boolean
options = ensureOptionsDefaults(options) ---@param itemRef? ItemRefs
if not inventory then return options, "No inventory" end ---@return Barotrauma.Item[], string?
if not inventory.slots then return options, "No slots" end enqueueInventory = function(inventory, queue, predicate, loadRefs, itemRef)
queue = queue or {}
local ok, stop = options.inventoryPredicate(inventory, options.itemRef) predicate = predicate or function() return true end
if ok then itemRef = itemRef or {}
options.inventoryQueue[#options.inventoryQueue + 1] = inventory -- debugPrint(string.format("Enqueuing inventory with %d slots.", #inventory.slots))
end
if stop then return options, "Stop" end
for i, slot in ipairs(inventory.slots) do
local err local err
if options.loadRefs then if not inventory then return queue, "No inventory" end
options.itemRef.inventory = inventory if not inventory.slots then return queue, "No slots" end
options.itemRef.slot = slot
options.itemRef.slotIndex1 = i for _, slot in ipairs(inventory.slots) do
options, err = enqueueSlot(slot, options) -- Only the final leaf nodes decide upon the predicate
if loadRefs then
itemRef.inventory = inventory
queue, err = enqueueSlot(slot, queue, predicate, loadRefs, itemRef)
else else
options, err = enqueueSlot(slot, options) queue, err = enqueueSlot(slot, queue, predicate)
end end
if err then if err then
return options, err return queue, err
end end
end end
return options -- debugPrint(string.format("Finished enqueuing inventory. Current queue size: %d", #queue))
return queue
end end
local relevantPlayerInventorySlots = { local relevantPlayerInventorySlots = { 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, MyModGlobal.BAG_SLOT }
false, ---@param queue Barotrauma.Item[]
false, ---@param predicate? FilterPredicate
false, ---@param loadRefs? boolean
false, ---@return Barotrauma.Item[], string?
false, allPlayerItems = function(queue, predicate, loadRefs)
true, queue = queue or {}
true, predicate = predicate or function() return true end
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
true,
}
---@param options EnqueueOptions
---@return EnqueueOptions, string?
enqueuePlayerItems = function(options)
options = ensureOptionsDefaults(options)
local character = Character.Controlled local character = Character.Controlled
if not character then return options, "No character" end if not character then return queue, "No character" end
local inventory = character.Inventory local inventory = character.Inventory
if not inventory then return options, "No inventory" end if not inventory then return queue, "No inventory" end
options.loadRefs = true
local originalItemPredicate = options.itemPredicate or function() return true end
options.itemPredicate = function(item)
if not item then return false end
local parentInventory = item.ParentInventory
if not parentInventory then return false end
if not parentInventory.Equals(inventory) then return false end
return originalItemPredicate(item, options.itemRef)
end
local originalSlotPredicate = options.slotPredicate or function() return true end
options.slotPredicate = function(slot, itemRef)
if not slot then return false end
if itemRef.slotIndex1 and relevantPlayerInventorySlots[itemRef.slotIndex1] then
return originalSlotPredicate(slot, itemRef)
end
return false
end
for _, slotid in ipairs(relevantPlayerInventorySlots) do
local slot = inventory.slots[slotid]
local err local err
options, err = enqueueInventory(inventory, options)
if err then return options, err end
return options if not slot then goto continue end
if #slot.items == 0 then goto continue end
queue, err = enqueueSlot(slot, queue, predicate, loadRefs)
if err then return queue, err end
::continue::
end end
---@param options EnqueueOptions return queue
---@return EnqueueOptions, string? end
enqueueOpenContainers = function(options)
options = ensureOptionsDefaults(options) ---@param queue Barotrauma.Item[]
---@param predicate? FilterPredicate
---@param loadRefs? boolean
---@return Barotrauma.Item[], string?
enqueueOpenContainers = function(queue, predicate, loadRefs)
queue = queue or {}
predicate = predicate or function() return true end
local containers, err = getOpenContainers() local containers, err = getOpenContainers()
if err then return options, err end if err then return queue, err end
for _, container in ipairs(containers) do for _, container in ipairs(containers) do
local inventories = container.OwnInventories local inventories = container.OwnInventories
if not inventories then goto continue end if not inventories then goto continue end
for containerInventory in inventories do for containerInventory in inventories do
options, err = enqueueInventory(containerInventory, options) queue, err = enqueueInventory(containerInventory, queue, predicate, loadRefs)
if err then return options, err end if err then return queue, err end
end end
::continue:: ::continue::
end end
return options return queue
end end
---@param options EnqueueOptions ---@param queue Barotrauma.Item[]
---@return EnqueueOptions, string? ---@param predicate? FilterPredicate
enqueueSubmarineItems = function(options) ---@return Barotrauma.Item[], string?
options = ensureOptionsDefaults(options) allSubmarineItems = function(queue, predicate)
queue = queue or {}
predicate = predicate or function() return true end
-- This only exists so predicate does not explode -- This only exists so predicate does not explode
-- Even if its empty -- Even if its empty
local itemRef = {} local itemRef = {}
local character = Character.Controlled local character = Character.Controlled
if not character then return options, "No character" end if not character then return queue, "No character" end
local submarine = character.Submarine local submarine = character.Submarine
if not submarine then return options, "No submarine" end if not submarine then return queue, "No submarine" end
for item in submarine.GetItems(false) do for item in submarine.GetItems(false) do
-- We do NOT want to call enqueueItem here because enqueueItem -- We do NOT want to call enqueueItem here because enqueueItem
@@ -542,30 +227,32 @@ do
-- And this call (GetItems) already gets all items -- And this call (GetItems) already gets all items
-- So we would be doing double the work (at best case) -- So we would be doing double the work (at best case)
-- It also means we won't have refs here which sucks -- It also means we won't have refs here which sucks
local ok, stop = options.itemPredicate(item, itemRef) local ok, stop = predicate(item, itemRef)
if ok then if ok then
options.itemQueue[#options.itemQueue + 1] = item queue[#queue + 1] = item
end end
if stop then return options, "Stop" end if stop then return queue, "Stop" end
end end
return options return queue
end end
---@param options EnqueueOptions ---@param queue Barotrauma.Item[]
---@return EnqueueOptions, string? ---@param predicate? FilterPredicate
enqueueAllOwnedItems = function(options) ---@param loadRefs? boolean
options = ensureOptionsDefaults(options) ---@return Barotrauma.Item[], string?
allOwnedItems = function(queue, predicate, loadRefs)
queue = queue or {}
predicate = predicate or function() return true end
local err local err
options, err = enqueuePlayerItems(options) queue, err = allPlayerItems(queue, predicate, loadRefs)
if err then return options, err end if err then return queue, err end
options, err = enqueueSubmarineItems(options) queue, err = allSubmarineItems(queue, predicate)
if err then return options, err end if err then return queue, err end
return options return queue
end
end end
-- There is actually no need to recurse deep -- There is actually no need to recurse deep
@@ -573,8 +260,8 @@ end
-- And not an item in an item in the inventory -- And not an item in an item in the inventory
-- So in theory we only need to recurse 1 deep -- So in theory we only need to recurse 1 deep
---@param inventory Barotrauma.Inventory ---@param inventory Barotrauma.Inventory
---@param slots? InventorySlot[] ---@param slots InventorySlot[]
---@param depth? number ---@param depth number
---@return InventorySlot[], string? ---@return InventorySlot[], string?
local function getMouseoverSlots(inventory, slots, depth) local function getMouseoverSlots(inventory, slots, depth)
slots = slots or {} slots = slots or {}
@@ -582,7 +269,7 @@ local function getMouseoverSlots(inventory, slots, depth)
if depth > 1 then return slots, nil end if depth > 1 then return slots, nil end
local visualSlots = inventory.visualSlots local visualSlots = inventory.visualSlots
if not visualSlots then return slots, "Inventory has no visual slots" end if not visualSlots then return nil, "Inventory has no visual slots" end
for i, visualSlot in ipairs(visualSlots) do for i, visualSlot in ipairs(visualSlots) do
local item local item
@@ -618,8 +305,11 @@ local function getMouseoverSlots(inventory, slots, depth)
::mouseover:: ::mouseover::
if visualSlot:MouseOn() then if visualSlot:MouseOn() then
local inventorySlot = MyModGlobal.InventorySlot.new(inventory, i) slots[#slots + 1] = {
slots[#slots + 1] = inventorySlot inventory = inventory,
slotIndex = i,
slot = slot
}
end end
::continue:: ::continue::
@@ -630,17 +320,15 @@ end
---@return InventorySlot[], string? ---@return InventorySlot[], string?
local function getSlotsUnderCursor() local function getSlotsUnderCursor()
local slots = {}
-- Make sure we have a controlled character -- Make sure we have a controlled character
local controlledCharacter = Character.Controlled local controlledCharacter = Character.Controlled
if not controlledCharacter then return slots, "No controlled character" end if not controlledCharacter then return nil, "No controlled character" end
local inventory = controlledCharacter.Inventory local inventory = controlledCharacter.Inventory
if not inventory then return slots, "No inventory" end if not inventory then return nil, "No inventory" end
local err local mouseoverSlots, err = getMouseoverSlots(inventory)
slots, err = getMouseoverSlots(inventory, slots) if err then return mouseoverSlots, err end
if err then return slots, err end
-- Even if we don't get them we're still fine -- Even if we don't get them we're still fine
local openContainers, _ = getOpenContainers() local openContainers, _ = getOpenContainers()
@@ -649,30 +337,35 @@ local function getSlotsUnderCursor()
for _, container in ipairs(openContainers) do for _, container in ipairs(openContainers) do
local containerInventories = container.OwnInventories local containerInventories = container.OwnInventories
for containerInventory in containerInventories do for containerInventory in containerInventories do
local slot
if not containerInventory or not containerInventory.visualSlots then if not containerInventory or not containerInventory.visualSlots then
MyModGlobal.debugPrint("Container inventory has no visual slots") MyModGlobal.debugPrint("Container inventory has no visual slots")
goto continue goto continue
end end
for i, visualSlot in ipairs(containerInventory.visualSlots) do for i, visualSlot in ipairs(containerInventory.visualSlots) do
if visualSlot:MouseOn() then if visualSlot:MouseOn() then
local inventorySlot = MyModGlobal.InventorySlot.new(containerInventory, i) slot = containerInventory.slots[i]
slots[#slots + 1] = inventorySlot mouseoverSlots[#mouseoverSlots + 1] = {
inventory = containerInventory,
slotIndex = i,
slot = slot
}
end end
end end
::continue:: ::continue::
end end
end end
return slots, nil return mouseoverSlots, nil
end end
---@return InventorySlot, string? ---@return InventorySlot, string?
local function getFirstSlotUnderCursor() local function getFirstSlotUnderCursor()
local slots, err = getSlotsUnderCursor() local slots, err = getSlotsUnderCursor()
if err then return slots, err end if err then return nil, err end
if #slots == 0 then return slots, "No slots found under cursor" end if #slots == 0 then return nil, "No slots found under cursor" end
for _, slot in ipairs(slots) do for _, slot in ipairs(slots) do
if slot.item then if slot.slot.items and #slot.slot.items > 0 then
return slot return slot
end end
end end
@@ -683,13 +376,12 @@ return {
enqueueItem = enqueueItem, enqueueItem = enqueueItem,
enqueueSlot = enqueueSlot, enqueueSlot = enqueueSlot,
enqueueInventory = enqueueInventory, enqueueInventory = enqueueInventory,
enqueuePlayerItems = enqueuePlayerItems, enqueueAllPlayerItems = allPlayerItems,
enqueueSubmarineItems = enqueueSubmarineItems, enqueueAllSubmarineItems = allSubmarineItems,
enqueueAllOwnedItems = enqueueAllOwnedItems, enqueueAllOwnedItems = allOwnedItems,
enqueueOpenContainers = enqueueOpenContainers, enqueueOpenContainers = enqueueOpenContainers,
getOpenContainers = getOpenContainers, getOpenContainers = getOpenContainers,
getFirstOpenContainer = getFirstOpenContainer, getFirstOpenContainer = getFirstOpenContainer,
getSlotsUnderCursor = getSlotsUnderCursor, getSlotsUnderCursor = getSlotsUnderCursor,
getFirstSlotUnderCursor = getFirstSlotUnderCursor, getFirstSlotUnderCursor = getFirstSlotUnderCursor,
enqueueMove = enqueueMove,
} }

View File

@@ -1,5 +1,5 @@
-- luacheck: globals Character Timer Hook SERVER CLIENT -- luacheck: globals Character Timer Hook SERVER CLIENT
if not SERVER then return end -- if not SERVER then return end
local amountExperience = 6000 local amountExperience = 6000
local passiveExperienceDelay = 60 local passiveExperienceDelay = 60
local passiveExperienceTimer = 0 local passiveExperienceTimer = 0

BIN
Dugong Ultimate/Dugong Ultimate.sub (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<contentpackage name="Dugong Ultimate" modversion="1.0.119" corepackage="False" steamworkshopid="2970679991" gameversion="1.1.19.3" >
<Submarine file="%ModDir%/Dugong Ultimate.sub" />
</contentpackage>

View File

@@ -4,7 +4,7 @@
<!--OVERRIDES--> <!--OVERRIDES-->
<!--OVERRIDES--> <!--OVERRIDES-->
<Override> <Override>
<OutpostDestroyMission identifier="huskcultspecialassassinate" type="OutpostDestroy" achievementidentifier="huskcultspecialassassinate" reward="2000" difficulty="4" commonness="0" allowretry="true" sonarlabel="target" requireCorrectLocationType="true" BlockLocationTypeChanges="true"> <OutpostDestroyMission identifier="huskcultspecialassassinate" type="OutpostDestroy" achievementidentifier="huskcultspecialassassinate" reward="8000" difficulty="4" commonness="0" allowretry="true" sonarlabel="target" requireCorrectLocationType="true" BlockLocationTypeChanges="true">
<Reputation identifier="huskcult" amount="10" /> <Reputation identifier="huskcult" amount="10" />
<Reputation identifier="coalition" amount="-5" /> <Reputation identifier="coalition" amount="-5" />
<Icon texture="Content/UI/MissionIcons.png" sourcerect="0,512,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="0,512,256,256" color="214,50,48" />
@@ -38,7 +38,7 @@
<Metadata identifier="tormsdalereport" value="2" /> <Metadata identifier="tormsdalereport" value="2" />
</SalvageMission> </SalvageMission>
<!-- Added Base --> <!-- Added Base -->
<OutpostMission identifier="jailbreak_coalition" name="missionname.jailbreak" successmessage="missionsuccess.jailbreak" failuremessage="missionfailure.jailbreak" tags="jailbreak_coalition" requiredlocationfaction="separatists" achievementidentifier="jailbreak_coalition" type="AbandonedOutpost" reward="3000" difficulty="3" commonness="100" allowretry="true" hostageskilledmessage="prisonerkilled"> <OutpostMission identifier="jailbreak_coalition" name="missionname.jailbreak" successmessage="missionsuccess.jailbreak" failuremessage="missionfailure.jailbreak" tags="jailbreak_coalition" requiredlocationfaction="separatists" achievementidentifier="jailbreak_coalition" type="AbandonedOutpost" reward="12000" difficulty="3" commonness="100" allowretry="true" hostageskilledmessage="prisonerkilled">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="214,50,48" />
<LocationType identifier="Colony" /> <LocationType identifier="Colony" />
<LocationType identifier="City" /> <LocationType identifier="City" />
@@ -53,7 +53,7 @@
<Reputation identifier="coalition" amount="5" amountforopposingfaction="-5" /> <Reputation identifier="coalition" amount="5" amountforopposingfaction="-5" />
<message header="missionheader0.prisonerrescue" text="missionmessage0.prisonerrescue" /> <message header="missionheader0.prisonerrescue" text="missionmessage0.prisonerrescue" />
</OutpostMission> </OutpostMission>
<OutpostMission identifier="jailbreak_separatists" name="missionname.jailbreak" successmessage="missionsuccess.jailbreak" failuremessage="missionfailure.jailbreak" tags="jailbreak_separatists" requiredlocationfaction="coalition" achievementidentifier="jailbreak_separatists" type="AbandonedOutpost" reward="3000" difficulty="3" commonness="100" allowretry="true" hostageskilledmessage="prisonerkilled"> <OutpostMission identifier="jailbreak_separatists" name="missionname.jailbreak" successmessage="missionsuccess.jailbreak" failuremessage="missionfailure.jailbreak" tags="jailbreak_separatists" requiredlocationfaction="coalition" achievementidentifier="jailbreak_separatists" type="AbandonedOutpost" reward="12000" difficulty="3" commonness="100" allowretry="true" hostageskilledmessage="prisonerkilled">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="214,50,48" />
<LocationType identifier="Colony" /> <LocationType identifier="Colony" />
<LocationType identifier="City" /> <LocationType identifier="City" />
@@ -68,7 +68,7 @@
<Reputation identifier="separatists" amount="5" amountforopposingfaction="-5" /> <Reputation identifier="separatists" amount="5" amountforopposingfaction="-5" />
<message header="missionheader0.prisonerrescue" text="missionmessage0.prisonerrescue" /> <message header="missionheader0.prisonerrescue" text="missionmessage0.prisonerrescue" />
</OutpostMission> </OutpostMission>
<OutpostMission identifier="jailbreak_sootman" name="missionname.jailbreak" successmessage="missionsuccess.jailbreak_singletarget" failuremessage="missionfailure.jailbreak_singletarget" tags="jailbreak_separatists" achievementidentifier="jailbreak_sootman" type="AbandonedOutpost" alloworderingrescuees="false" reward="3000" difficulty="3" commonness="0" allowretry="true" hostageskilledmessage="prisonerkilled" BlockLocationTypeChanges="true"> <OutpostMission identifier="jailbreak_sootman" name="missionname.jailbreak" successmessage="missionsuccess.jailbreak_singletarget" failuremessage="missionfailure.jailbreak_singletarget" tags="jailbreak_separatists" achievementidentifier="jailbreak_sootman" type="AbandonedOutpost" alloworderingrescuees="false" reward="12000" difficulty="3" commonness="0" allowretry="true" hostageskilledmessage="prisonerkilled" BlockLocationTypeChanges="true">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="214,50,48" />
<LocationType identifier="Colony" /> <LocationType identifier="Colony" />
<LocationType identifier="City" /> <LocationType identifier="City" />
@@ -83,7 +83,7 @@
<Metadata identifier="sootman_freed" value="true" /> <Metadata identifier="sootman_freed" value="true" />
</OutpostMission> </OutpostMission>
<!-- -2 bandit rep for doing abandoned outposts --> <!-- -2 bandit rep for doing abandoned outposts -->
<AbandonedOutpostMission identifier="abandonedoutposthumans" tags="abandonedoutpost" achievementidentifier="abandonedoutpostdestroyhumans" type="OutpostDestroy" reward="3000" difficulty="2" commonness="100" allowretry="true" targetitem="reactor" unhideentitysubcategories="abandonedhuman" maxleveldifficulty="65"> <AbandonedOutpostMission identifier="abandonedoutposthumans" tags="abandonedoutpost" achievementidentifier="abandonedoutpostdestroyhumans" type="OutpostDestroy" reward="12000" difficulty="2" commonness="100" allowretry="true" targetitem="reactor" unhideentitysubcategories="abandonedhuman" maxleveldifficulty="65">
<Reputation identifier="bandits" amount="-2" /> <Reputation identifier="bandits" amount="-2" />
<Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="214,50,48" />
<LocationType identifier="Abandoned" /> <LocationType identifier="Abandoned" />
@@ -101,7 +101,7 @@
<TriggerEvent state="0" delay="5" eventidentifier="heartofgold" campaignonly="true" /> <TriggerEvent state="0" delay="5" eventidentifier="heartofgold" campaignonly="true" />
<message header="missionheader0.abandonedoutposthumans" text="missionmessage0.abandonedoutposthumans" /> <message header="missionheader0.abandonedoutposthumans" text="missionmessage0.abandonedoutposthumans" />
</AbandonedOutpostMission> </AbandonedOutpostMission>
<AbandonedOutpostMission identifier="abandonedoutposthumans2" textidentifier="abandonedoutposthumans" tags="abandonedoutpost" achievementidentifier="abandonedoutpostdestroyhumans" type="OutpostDestroy" reward="4000" difficulty="3" commonness="100" allowretry="true" targetitem="reactor" unhideentitysubcategories="abandonedhuman" minleveldifficulty="50"> <AbandonedOutpostMission identifier="abandonedoutposthumans2" textidentifier="abandonedoutposthumans" tags="abandonedoutpost" achievementidentifier="abandonedoutpostdestroyhumans" type="OutpostDestroy" reward="16000" difficulty="3" commonness="100" allowretry="true" targetitem="reactor" unhideentitysubcategories="abandonedhuman" minleveldifficulty="50">
<Reputation identifier="bandits" amount="-2" /> <Reputation identifier="bandits" amount="-2" />
<Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="214,50,48" />
<LocationType identifier="Abandoned" /> <LocationType identifier="Abandoned" />
@@ -120,7 +120,7 @@
<TriggerEvent state="0" delay="5" eventidentifier="heartofgold" campaignonly="true" /> <TriggerEvent state="0" delay="5" eventidentifier="heartofgold" campaignonly="true" />
<message header="missionheader0.abandonedoutposthumans" text="missionmessage0.abandonedoutposthumans" /> <message header="missionheader0.abandonedoutposthumans" text="missionmessage0.abandonedoutposthumans" />
</AbandonedOutpostMission> </AbandonedOutpostMission>
<AbandonedOutpostMission identifier="abandonedoutposthumans3" textidentifier="abandonedoutposthumans" tags="abandonedoutpost" achievementidentifier="abandonedoutpostdestroyhumans" type="OutpostDestroy" reward="6000" difficulty="4" commonness="100" allowretry="true" targetitem="reactor" unhideentitysubcategories="abandonedhuman" minleveldifficulty="65"> <AbandonedOutpostMission identifier="abandonedoutposthumans3" textidentifier="abandonedoutposthumans" tags="abandonedoutpost" achievementidentifier="abandonedoutpostdestroyhumans" type="OutpostDestroy" reward="24000" difficulty="4" commonness="100" allowretry="true" targetitem="reactor" unhideentitysubcategories="abandonedhuman" minleveldifficulty="65">
<Reputation identifier="bandits" amount="-2" /> <Reputation identifier="bandits" amount="-2" />
<Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="214,50,48" />
<LocationType identifier="Abandoned" /> <LocationType identifier="Abandoned" />
@@ -141,17 +141,17 @@
<message header="missionheader0.abandonedoutposthumans" text="missionmessage0.abandonedoutposthumans" /> <message header="missionheader0.abandonedoutposthumans" text="missionmessage0.abandonedoutposthumans" />
</AbandonedOutpostMission> </AbandonedOutpostMission>
<!-- Variants of abyssals that avoid abyss and roam main path --> <!-- Variants of abyssals that avoid abyss and roam main path -->
<MonsterMission identifier="huntinggrounds1" textidentifier="huntinggrounds" tags="huntinggrounds,hard" type="Monster" sideobjective="true" difficulty="4" commonness="0" reward="6500" sonarlabel="target" spawntype="MainPath" maxsonarmarkerdistance="20000" successmessage="" monsterfile="Endworm_Hunting"> <MonsterMission identifier="huntinggrounds1" textidentifier="huntinggrounds" tags="huntinggrounds,hard" type="Monster" sideobjective="true" difficulty="4" commonness="0" reward="26000" sonarlabel="target" spawntype="MainPath" maxsonarmarkerdistance="20000" successmessage="" monsterfile="Endworm_Hunting">
<Reputation identifier="location" amount="2" /> <Reputation identifier="location" amount="2" />
<Icon texture="Content/UI/MissionIcons2.png" sourcerect="256,768,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons2.png" sourcerect="256,768,256,256" color="214,50,48" />
<message header="missionheader0.huntinggrounds1" text="missionmessage0.huntinggrounds1" /> <message header="missionheader0.huntinggrounds1" text="missionmessage0.huntinggrounds1" />
</MonsterMission> </MonsterMission>
<MonsterMission identifier="huntinggrounds2" textidentifier="huntinggrounds" tags="huntinggrounds" type="Monster" sideobjective="true" difficulty="4" commonness="0" reward="6500" sonarlabel="target" spawntype="MainPath" maxsonarmarkerdistance="20000" successmessage="" monsterfile="Charybdis_Hunting"> <MonsterMission identifier="huntinggrounds2" textidentifier="huntinggrounds" tags="huntinggrounds" type="Monster" sideobjective="true" difficulty="4" commonness="0" reward="26000" sonarlabel="target" spawntype="MainPath" maxsonarmarkerdistance="20000" successmessage="" monsterfile="Charybdis_Hunting">
<Reputation identifier="location" amount="2" /> <Reputation identifier="location" amount="2" />
<Icon texture="Content/UI/MissionIcons2.png" sourcerect="256,768,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons2.png" sourcerect="256,768,256,256" color="214,50,48" />
<message header="missionheader0.huntinggrounds1" text="missionmessage0.huntinggrounds1" /> <message header="missionheader0.huntinggrounds1" text="missionmessage0.huntinggrounds1" />
</MonsterMission> </MonsterMission>
<MonsterMission identifier="huntinggrounds3" textidentifier="huntinggrounds" tags="huntinggrounds,easy" type="Monster" sideobjective="true" difficulty="4" commonness="0" reward="6500" sonarlabel="target" spawntype="MainPath" maxsonarmarkerdistance="20000" successmessage="" monsterfile="Latcher_Hunting"> <MonsterMission identifier="huntinggrounds3" textidentifier="huntinggrounds" tags="huntinggrounds,easy" type="Monster" sideobjective="true" difficulty="4" commonness="0" reward="26000" sonarlabel="target" spawntype="MainPath" maxsonarmarkerdistance="20000" successmessage="" monsterfile="Latcher_Hunting">
<Reputation identifier="location" amount="2" /> <Reputation identifier="location" amount="2" />
<Icon texture="Content/UI/MissionIcons2.png" sourcerect="256,768,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons2.png" sourcerect="256,768,256,256" color="214,50,48" />
<message header="missionheader0.huntinggrounds1" text="missionmessage0.huntinggrounds1" /> <message header="missionheader0.huntinggrounds1" text="missionmessage0.huntinggrounds1" />
@@ -161,7 +161,7 @@
<!--END OF OVERRIDES--> <!--END OF OVERRIDES-->
<!--END OF OVERRIDES--> <!--END OF OVERRIDES-->
<!-- Lair --> <!-- Lair -->
<CrawlerLairMission identifier="crawlerlair1" textidentifier="destroylair" tags="destroylair,crawlerlair" type="OutpostDestroy" reward="2000" difficulty="3" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="0" maxleveldifficulty="30"> <CrawlerLairMission identifier="crawlerlair1" textidentifier="destroylair" tags="destroylair,crawlerlair" type="OutpostDestroy" reward="8000" difficulty="3" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="0" maxleveldifficulty="30">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="Lair" /> <LocationType identifier="Lair" />
<LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" /> <LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" />
@@ -185,7 +185,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</CrawlerLairMission> </CrawlerLairMission>
<CrawlerLairMission identifier="crawlerlair2" textidentifier="destroylair" tags="destroylair,crawlerlair" type="OutpostDestroy" reward="2500" difficulty="3" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="30" maxleveldifficulty="50"> <CrawlerLairMission identifier="crawlerlair2" textidentifier="destroylair" tags="destroylair,crawlerlair" type="OutpostDestroy" reward="10000" difficulty="3" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="30" maxleveldifficulty="50">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="Lair" /> <LocationType identifier="Lair" />
<LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" /> <LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" />
@@ -213,7 +213,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</CrawlerLairMission> </CrawlerLairMission>
<CrawlerLairMission identifier="crawlerlair3" textidentifier="destroylair" tags="destroylair,crawlerlair" type="OutpostDestroy" reward="3000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="50"> <CrawlerLairMission identifier="crawlerlair3" textidentifier="destroylair" tags="destroylair,crawlerlair" type="OutpostDestroy" reward="12000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="50">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="Lair" /> <LocationType identifier="Lair" />
<LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" /> <LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" />
@@ -252,7 +252,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</CrawlerLairMission> </CrawlerLairMission>
<MudraptorLairMission identifier="mudraptorlair1" textidentifier="destroylair" tags="destroylair,mudraptorlair" type="OutpostDestroy" reward="3000" difficulty="3" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="15" maxleveldifficulty="40"> <MudraptorLairMission identifier="mudraptorlair1" textidentifier="destroylair" tags="destroylair,mudraptorlair" type="OutpostDestroy" reward="12000" difficulty="3" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="15" maxleveldifficulty="40">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="Lair" /> <LocationType identifier="Lair" />
<LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" /> <LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" />
@@ -276,7 +276,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</MudraptorLairMission> </MudraptorLairMission>
<MudraptorLairMission identifier="mudraptorlair2" textidentifier="destroylair" tags="destroylair,mudraptorlair" type="OutpostDestroy" reward="3500" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="40" maxleveldifficulty="60"> <MudraptorLairMission identifier="mudraptorlair2" textidentifier="destroylair" tags="destroylair,mudraptorlair" type="OutpostDestroy" reward="14000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="40" maxleveldifficulty="60">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="Lair" /> <LocationType identifier="Lair" />
<LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" /> <LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" />
@@ -305,7 +305,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</MudraptorLairMission> </MudraptorLairMission>
<MudraptorLairMission identifier="mudraptorlair3" textidentifier="destroylair" tags="destroylair,mudraptorlair" type="OutpostDestroy" reward="4000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="60"> <MudraptorLairMission identifier="mudraptorlair3" textidentifier="destroylair" tags="destroylair,mudraptorlair" type="OutpostDestroy" reward="16000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="60">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="Lair" /> <LocationType identifier="Lair" />
<LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" /> <LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" />
@@ -341,7 +341,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</MudraptorLairMission> </MudraptorLairMission>
<ThresherLairMission identifier="thresherlair1" textidentifier="destroylair" tags="destroylair,thresherlair" type="OutpostDestroy" reward="3000" difficulty="3" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="45" maxleveldifficulty="60"> <ThresherLairMission identifier="thresherlair1" textidentifier="destroylair" tags="destroylair,thresherlair" type="OutpostDestroy" reward="12000" difficulty="3" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="45" maxleveldifficulty="60">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="Lair" /> <LocationType identifier="Lair" />
<LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" /> <LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" />
@@ -367,7 +367,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</ThresherLairMission> </ThresherLairMission>
<ThresherLairMission identifier="thresherlair2" textidentifier="destroylair" tags="destroylair,thresherlair" type="OutpostDestroy" reward="3500" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="60" maxleveldifficulty="75"> <ThresherLairMission identifier="thresherlair2" textidentifier="destroylair" tags="destroylair,thresherlair" type="OutpostDestroy" reward="14000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="60" maxleveldifficulty="75">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="Lair" /> <LocationType identifier="Lair" />
<LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" /> <LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" />
@@ -404,7 +404,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</ThresherLairMission> </ThresherLairMission>
<ThresherLairMission identifier="thresherlair3" textidentifier="destroylair" tags="destroylair,thresherlair" type="OutpostDestroy" reward="4000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="75"> <ThresherLairMission identifier="thresherlair3" textidentifier="destroylair" tags="destroylair,thresherlair" type="OutpostDestroy" reward="16000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="75">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="Lair" /> <LocationType identifier="Lair" />
<LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" /> <LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" />
@@ -441,7 +441,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</ThresherLairMission> </ThresherLairMission>
<HuskCrawlerLairMission identifier="huskcrawlerlair1" textidentifier="huskcrawlerlair" tags="husklair" type="OutpostDestroy" reward="4000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Target" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="0" maxleveldifficulty="50"> <HuskCrawlerLairMission identifier="huskcrawlerlair1" textidentifier="huskcrawlerlair" tags="husklair" type="OutpostDestroy" reward="16000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Target" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="0" maxleveldifficulty="50">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="HuskgroundsDE" /> <LocationType identifier="HuskgroundsDE" />
<LocationTypeChange from="HuskgroundsDE" to="MilitaryForces" requiredduration="1" cooldownafterchange="1" /> <LocationTypeChange from="HuskgroundsDE" to="MilitaryForces" requiredduration="1" cooldownafterchange="1" />
@@ -457,7 +457,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</HuskCrawlerLairMission> </HuskCrawlerLairMission>
<HuskCrawlerLairMission identifier="huskcrawlerlair2" textidentifier="huskcrawlerlair" tags="husklair" type="OutpostDestroy" reward="4500" difficulty="4" commonness="100" allowretry="true" sonarlabel="Target" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="50" maxleveldifficulty="100"> <HuskCrawlerLairMission identifier="huskcrawlerlair2" textidentifier="huskcrawlerlair" tags="husklair" type="OutpostDestroy" reward="18000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Target" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true" minleveldifficulty="50" maxleveldifficulty="100">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="HuskgroundsDE" /> <LocationType identifier="HuskgroundsDE" />
<LocationTypeChange from="HuskgroundsDE" to="MilitaryForces" requiredduration="1" cooldownafterchange="1" /> <LocationTypeChange from="HuskgroundsDE" to="MilitaryForces" requiredduration="1" cooldownafterchange="1" />
@@ -473,14 +473,14 @@
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</HuskCrawlerLairMission> </HuskCrawlerLairMission>
<!-- Electric Spineling --> <!-- Electric Spineling -->
<MonsterMission identifier="killelectricspineling1" tags="killmonster_thegreatsea" type="Monster" difficulty="3" commonness="33" reward="3500" maxsonarmarkerdistance="10000" sonarlabel="character.spineling" monsterfile="spineling_electric"> <MonsterMission identifier="killelectricspineling1" tags="killmonster_thegreatsea" type="Monster" difficulty="3" commonness="33" reward="14000" maxsonarmarkerdistance="10000" sonarlabel="character.spineling" monsterfile="spineling_electric">
<monster character="spineling" min="4" max="8" /> <monster character="spineling" min="4" max="8" />
<monster character="spineling_electric" min="1" max="1" /> <monster character="spineling_electric" min="1" max="1" />
<Reputation identifier="location" amount="2" /> <Reputation identifier="location" amount="2" />
<Icon texture="Content/UI/MissionIcons.png" sourcerect="768,768,256,256" color="10,100,150" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="768,768,256,256" color="10,100,150" />
<message header="missionheader0.spineling_electric1" text="missionmessage0.spineling_electric1" /> <message header="missionheader0.spineling_electric1" text="missionmessage0.spineling_electric1" />
</MonsterMission> </MonsterMission>
<MonsterMission identifier="killelectricspineling2" tags="killmonster_thegreatsea" type="Monster" difficulty="4" commonness="33" reward="4500" maxsonarmarkerdistance="10000" sonarlabel="character.spineling" monsterfile="spineling_electric"> <MonsterMission identifier="killelectricspineling2" tags="killmonster_thegreatsea" type="Monster" difficulty="4" commonness="33" reward="18000" maxsonarmarkerdistance="10000" sonarlabel="character.spineling" monsterfile="spineling_electric">
<monster character="spineling" min="4" max="5" /> <monster character="spineling" min="4" max="5" />
<monster character="spineling_electric" min="2" max="2" /> <monster character="spineling_electric" min="2" max="2" />
<Reputation identifier="location" amount="2" /> <Reputation identifier="location" amount="2" />
@@ -532,17 +532,17 @@
<message header="missionheader0.pirate_heavy" text="missionmessage0.pirate_heavy" /> <message header="missionheader0.pirate_heavy" text="missionmessage0.pirate_heavy" />
<message header="missionheader1.pirate_heavy" text="missionmessage1.pirate_heavy" /> <message header="missionheader1.pirate_heavy" text="missionmessage1.pirate_heavy" />
</PirateMission> </PirateMission>
<PirateMission type="Pirate" identifier="pirate_heavy" tags="piratemission,heavypirate" difficulty="4" commonness="100" reward="3500" achievementidentifier="piratemission" addedmissiondifficultyperplayer="8"> <PirateMission type="Pirate" identifier="pirate_heavy" tags="piratemission,heavypirate" difficulty="4" commonness="100" reward="14000" achievementidentifier="piratemission" addedmissiondifficultyperplayer="8">
<Reputation identifier="coalition" amount="7" /> <Reputation identifier="coalition" amount="7" />
<Reputation identifier="separatists" amount="7" /> <Reputation identifier="separatists" amount="7" />
<Reputation identifier="bandits" amount="-2" /> <Reputation identifier="bandits" amount="-2" />
<SubmarineTypes> <SubmarineTypes>
<Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/U-41SPirate.sub" preferreddifficulty="20" alternatereward="3000" /> <Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/U-41SPirate.sub" preferreddifficulty="20" alternatereward="12000" />
<Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/LuotiPirate.sub" preferreddifficulty="30" alternatereward="3500" /> <Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/LuotiPirate.sub" preferreddifficulty="30" alternatereward="14000" />
<Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/GunGatorPirate.sub" preferreddifficulty="35" alternatereward="3500" /> <Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/GunGatorPirate.sub" preferreddifficulty="35" alternatereward="14000" />
<Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/BerthaPirate.sub" preferreddifficulty="40" alternatereward="4000" /> <Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/BerthaPirate.sub" preferreddifficulty="40" alternatereward="16000" />
<Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/Winterhalter [PIRATE].sub" preferreddifficulty="40" alternatereward="4500" /> <Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/Winterhalter [PIRATE].sub" preferreddifficulty="40" alternatereward="18000" />
<Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/U-42CPirate.sub" preferreddifficulty="50" alternatereward="5000" /> <Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/U-42CPirate.sub" preferreddifficulty="50" alternatereward="20000" />
</SubmarineTypes> </SubmarineTypes>
<Characters> <Characters>
<Character typeidentifier="piratecaptain" minamount="1" maxamount="1" /> <Character typeidentifier="piratecaptain" minamount="1" maxamount="1" />
@@ -579,14 +579,14 @@
<message header="missionheader0.pirate_heavy" text="missionmessage0.pirate_heavy" /> <message header="missionheader0.pirate_heavy" text="missionmessage0.pirate_heavy" />
<message header="missionheader1.pirate_heavy" text="missionmessage1.pirate_heavy" /> <message header="missionheader1.pirate_heavy" text="missionmessage1.pirate_heavy" />
</PirateMission> </PirateMission>
<PirateMission type="Pirate" identifier="pirate_party" tags="piratemission,partypirate" difficulty="4" commonness="20" reward="5000" achievementidentifier="piratemission" addedmissiondifficultyperplayer="8"> <PirateMission type="Pirate" identifier="pirate_party" tags="piratemission,partypirate" difficulty="4" commonness="20" reward="20000" achievementidentifier="piratemission" addedmissiondifficultyperplayer="8">
<Reputation identifier="coalition" amount="3" /> <Reputation identifier="coalition" amount="3" />
<Reputation identifier="separatists" amount="3" /> <Reputation identifier="separatists" amount="3" />
<Reputation identifier="huskcult" amount="3" /> <Reputation identifier="huskcult" amount="3" />
<Reputation identifier="clowns" amount="-5" /> <Reputation identifier="clowns" amount="-5" />
<SubmarineTypes> <SubmarineTypes>
<Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/U-41SPartyPirate.sub" preferreddifficulty="20" alternatereward="5000" /> <Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/U-41SPartyPirate.sub" preferreddifficulty="20" alternatereward="20000" />
<Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/Warden Raving Vessel 1.sub" preferreddifficulty="40" alternatereward="5000" /> <Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/Warden Raving Vessel 1.sub" preferreddifficulty="40" alternatereward="20000" />
</SubmarineTypes> </SubmarineTypes>
<Characters> <Characters>
<Character typeidentifier="partypiratecaptain" minamount="1" maxamount="1" /> <Character typeidentifier="partypiratecaptain" minamount="1" maxamount="1" />
@@ -620,12 +620,12 @@
<message header="missionheader1.pirate_party" text="missionmessage1.pirate_party" /> <message header="missionheader1.pirate_party" text="missionmessage1.pirate_party" />
</PirateMission> </PirateMission>
<!--STRANGE VESSEL MISSIONS--> <!--STRANGE VESSEL MISSIONS-->
<PirateMission type="Pirate" identifier="pirate_piezo" tags="piratemission,strangepirate" difficulty="4" commonness="20" reward="5000" achievementidentifier="piratemission" addedmissiondifficultyperplayer="8"> <PirateMission type="Pirate" identifier="pirate_piezo" tags="piratemission,strangepirate" difficulty="4" commonness="20" reward="20000" achievementidentifier="piratemission" addedmissiondifficultyperplayer="8">
<Reputation identifier="coalition" amount="10" /> <Reputation identifier="coalition" amount="10" />
<Reputation identifier="separatists" amount="10" /> <Reputation identifier="separatists" amount="10" />
<Reputation identifier="bandits" amount="-2" /> <Reputation identifier="bandits" amount="-2" />
<SubmarineTypes> <SubmarineTypes>
<Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/U-42PiezoPirate.sub" preferreddifficulty="50" alternatereward="5000" /> <Submarine path="%ModDir:2532991202%/EnemySubmarines/Pirates/U-42PiezoPirate.sub" preferreddifficulty="50" alternatereward="20000" />
</SubmarineTypes> </SubmarineTypes>
<Characters> <Characters>
<Character typeidentifier="piratecaptain" minamount="1" maxamount="1" /> <Character typeidentifier="piratecaptain" minamount="1" maxamount="1" />
@@ -918,7 +918,7 @@
</OutpostDestroyMission> </OutpostDestroyMission>
--> -->
<!--OUTPOST TAKEOVER--> <!--OUTPOST TAKEOVER-->
<OutpostDestroyMission name="Coalition Station-Takeover" identifier="cotakeover_separatistoutpost" tags="outposttakeovermission" type="OutpostDestroy" requireCorrectLocationType="true" locations="city,research,military,colony,base,blockade,hospital,factory,shipyard" reward="5000" difficulty="4" commonness="0" allowretry="true" BlockLocationTypeChanges="true"> <OutpostDestroyMission name="Coalition Station-Takeover" identifier="cotakeover_separatistoutpost" tags="outposttakeovermission" type="OutpostDestroy" requireCorrectLocationType="true" locations="city,research,military,colony,base,blockade,hospital,factory,shipyard" reward="20000" difficulty="4" commonness="0" allowretry="true" BlockLocationTypeChanges="true">
<Reputation identifier="separatists" amount="-200" /> <Reputation identifier="separatists" amount="-200" />
<Reputation identifier="coalition" amount="10" /> <Reputation identifier="coalition" amount="10" />
<Icon texture="Content/UI/MissionIcons.png" sourcerect="0,512,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="0,512,256,256" color="214,50,48" />
@@ -952,7 +952,7 @@
<message header="missionheader0.coalitiontakeover" text="missionmessage0.coalitiontakeover" /> <message header="missionheader0.coalitiontakeover" text="missionmessage0.coalitiontakeover" />
<!-- <Metadata identifier="completedcoalitiontakeover" operation="Add" value="1"/> --> <!-- <Metadata identifier="completedcoalitiontakeover" operation="Add" value="1"/> -->
</OutpostDestroyMission> </OutpostDestroyMission>
<OutpostDestroyMission name="Separatist Station-Takeover" identifier="septakeover_coalitionoutpost" tags="outposttakeovermission" type="OutpostDestroy" requireCorrectLocationType="true" locations="city,research,military,colony,base,blockade,hospital,factory,shipyard" reward="5000" difficulty="4" commonness="0" allowretry="true" BlockLocationTypeChanges="true"> <OutpostDestroyMission name="Separatist Station-Takeover" identifier="septakeover_coalitionoutpost" tags="outposttakeovermission" type="OutpostDestroy" requireCorrectLocationType="true" locations="city,research,military,colony,base,blockade,hospital,factory,shipyard" reward="20000" difficulty="4" commonness="0" allowretry="true" BlockLocationTypeChanges="true">
<Reputation identifier="coalition" amount="-200" /> <Reputation identifier="coalition" amount="-200" />
<Reputation identifier="separatists" amount="10" /> <Reputation identifier="separatists" amount="10" />
<Icon texture="Content/UI/MissionIcons.png" sourcerect="0,512,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="0,512,256,256" color="214,50,48" />
@@ -1083,7 +1083,7 @@
<message header="missionheader0.surveyedminerals" text="missionmessage0.surveyedminerals" /> <message header="missionheader0.surveyedminerals" text="missionmessage0.surveyedminerals" />
</MineralMission> </MineralMission>
<!-- BACKWARDS COMPATIBILITY | THESE MISSIONS ARE UNOBTAINABLE THROUGH GAMEPLAY AND ONLY EXIST TO ALLOW OLDER CAMPAIGNS TO LOAD --> <!-- BACKWARDS COMPATIBILITY | THESE MISSIONS ARE UNOBTAINABLE THROUGH GAMEPLAY AND ONLY EXIST TO ALLOW OLDER CAMPAIGNS TO LOAD -->
<CrawlerLairMission identifier="crawlerlair" tags="" type="OutpostDestroy" textidentifier="destroylair" reward="3500" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true"> <CrawlerLairMission identifier="crawlerlair" tags="" type="OutpostDestroy" textidentifier="destroylair" reward="14000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="Lair" /> <LocationType identifier="Lair" />
<LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" /> <LocationTypeChange from="Lair" to="None" requiredduration="1" cooldownafterchange="1" />
@@ -1111,7 +1111,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</CrawlerLairMission> </CrawlerLairMission>
<MudraptorLairMission identifier="mudraptorlair" tags="" type="OutpostDestroy" textidentifier="destroylair" reward="4000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true"> <MudraptorLairMission identifier="mudraptorlair" tags="" type="OutpostDestroy" textidentifier="destroylair" reward="16000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="Lair" /> <LocationType identifier="Lair" />
<LocationType identifier="LairMudraptor" /> <LocationType identifier="LairMudraptor" />
@@ -1142,7 +1142,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</MudraptorLairMission> </MudraptorLairMission>
<ThresherLairMission identifier="thresherlair" tags="" type="OutpostDestroy" textidentifier="destroylair" reward="4500" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true"> <ThresherLairMission identifier="thresherlair" tags="" type="OutpostDestroy" textidentifier="destroylair" reward="18000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Nest" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="Lair" /> <LocationType identifier="Lair" />
<LocationType identifier="LairThresher" /> <LocationType identifier="LairThresher" />
@@ -1181,7 +1181,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</ThresherLairMission> </ThresherLairMission>
<HuskCrawlerLairMission identifier="huskcrawlerlair" tags="" type="OutpostDestroy" reward="4500" difficulty="4" commonness="100" allowretry="true" sonarlabel="Target" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true"> <HuskCrawlerLairMission identifier="huskcrawlerlair" tags="" type="OutpostDestroy" reward="18000" difficulty="4" commonness="100" allowretry="true" sonarlabel="Target" unhideentitysubcategories="abandonedmonster" requireCorrectLocationType="true">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="214,50,48" />
<LocationType identifier="HuskgroundsDE" /> <LocationType identifier="HuskgroundsDE" />
<LocationTypeChange from="HuskgroundsDE" to="MilitaryForces" requiredduration="1" cooldownafterchange="1" /> <LocationTypeChange from="HuskgroundsDE" to="MilitaryForces" requiredduration="1" cooldownafterchange="1" />
@@ -1195,7 +1195,7 @@
<message header="missionheader0.destroylair" text="missionmessage0.destroylair" /> <message header="missionheader0.destroylair" text="missionmessage0.destroylair" />
<TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" /> <TriggerEvent state="0" eventidentifier="lairbombspawn" campaignonly="true" />
</HuskCrawlerLairMission> </HuskCrawlerLairMission>
<OutpostMission identifier="vipnapping" name="missionname.vipnapping" successmessage="missionsuccess.vipnapping" failuremessage="missionfailure.vipnapping" tags="vipnapping" type="AbandonedOutpost" alloworderingrescuees="false" reward="3000" difficulty="3" commonness="0" allowretry="true" hostageskilledmessage="vipkilled" BlockLocationTypeChanges="true"> <OutpostMission identifier="vipnapping" name="missionname.vipnapping" successmessage="missionsuccess.vipnapping" failuremessage="missionfailure.vipnapping" tags="vipnapping" type="AbandonedOutpost" alloworderingrescuees="false" reward="12000" difficulty="3" commonness="0" allowretry="true" hostageskilledmessage="vipkilled" BlockLocationTypeChanges="true">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="512,512,256,256" color="130,90,90" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="512,512,256,256" color="130,90,90" />
<LocationType identifier="colony" /> <LocationType identifier="colony" />
<LocationType identifier="city" /> <LocationType identifier="city" />
@@ -1211,7 +1211,7 @@
<message header="missionheader0.vipnapping" text="missionmessage0.vipnapping" /> <message header="missionheader0.vipnapping" text="missionmessage0.vipnapping" />
<Metadata identifier="vipnappingnorepeat" value="1" /> <Metadata identifier="vipnappingnorepeat" value="1" />
</OutpostMission> </OutpostMission>
<AbandonedOutpostMission identifier="silencewitness" tags="assasination" achievementidentifier="abandonedoutpostassassinate" type="OutpostDestroy" reward="3000" difficulty="3" commonness="100" allowretry="true" description="missiondescription.silencewitness" successmessage="missionsuccess.silencewitness" failuremessage="missionfailure.silencewitness"> <AbandonedOutpostMission identifier="silencewitness" tags="assasination" achievementidentifier="abandonedoutpostassassinate" type="OutpostDestroy" reward="12000" difficulty="3" commonness="100" allowretry="true" description="missiondescription.silencewitness" successmessage="missionsuccess.silencewitness" failuremessage="missionfailure.silencewitness">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="0,512,256,256" color="125,90,90,255" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="0,512,256,256" color="125,90,90,255" />
<LocationType identifier="Colony" /> <LocationType identifier="Colony" />
<LocationType identifier="City" /> <LocationType identifier="City" />
@@ -1226,7 +1226,7 @@
<Reputation identifier="bandits" amount="3" /> <Reputation identifier="bandits" amount="3" />
<Metadata identifier="silencewitnessnorepeat" value="1" /> <Metadata identifier="silencewitnessnorepeat" value="1" />
</AbandonedOutpostMission> </AbandonedOutpostMission>
<OutpostDestroyMission name="Hostage Situation" identifier="hostagesituation" tags="outposttakeovermission" type="OutpostDestroy" requireCorrectLocationType="true" reward="3500" difficulty="3" commonness="0" allowretry="true" BlockLocationTypeChanges="true" hostageskilledmessage="hostagesexecuted"> <OutpostDestroyMission name="Hostage Situation" identifier="hostagesituation" tags="outposttakeovermission" type="OutpostDestroy" requireCorrectLocationType="true" reward="14000" difficulty="3" commonness="0" allowretry="true" BlockLocationTypeChanges="true" hostageskilledmessage="hostagesexecuted">
<Reputation identifier="location" amount="5" /> <Reputation identifier="location" amount="5" />
<Icon texture="Content/UI/MissionIcons.png" sourcerect="512,512,256,256" color="60,125,125" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="512,512,256,256" color="60,125,125" />
<Characters> <Characters>
@@ -1255,7 +1255,7 @@
<CompleteCheckDataAction identifier="hostagesituationresolved" condition="eq 1" /> <CompleteCheckDataAction identifier="hostagesituationresolved" condition="eq 1" />
<CompleteCheckDataAction identifier="hostagesalive" condition="eq 1" /> <CompleteCheckDataAction identifier="hostagesalive" condition="eq 1" />
</OutpostDestroyMission> </OutpostDestroyMission>
<EscortMission identifier="escortmedivac" tags="escortmedivac,escort" type="Escort" difficulty="2" commonness="100" reward="2000" achievementidentifier="escortmission" baseescortedcharacters="1"> <EscortMission identifier="escortmedivac" tags="escortmedivac,escort" type="Escort" difficulty="2" commonness="100" reward="8000" achievementidentifier="escortmission" baseescortedcharacters="1">
<Characters> <Characters>
<Character from="customnpcs" identifier="sickpatient"> <Character from="customnpcs" identifier="sickpatient">
<StatusEffect target="Character" delay="1" disabledeltatime="true"> <StatusEffect target="Character" delay="1" disabledeltatime="true">
@@ -1271,34 +1271,34 @@
<LocationType from="AnyOutpost" to="HuskChurch" /> <LocationType from="AnyOutpost" to="HuskChurch" />
<message header="missionheader0.escortmedivac" text="missionmessage0.escortmedivac" /> <message header="missionheader0.escortmedivac" text="missionmessage0.escortmedivac" />
</EscortMission> </EscortMission>
<SalvageMission identifier="retrieveindustrialwaste" name="missionname.retrieveindustrialwaste" description="missiondescription.retrieveindustrialwaste" successmessage="missionsuccess.retrieveindustrialwaste" failuremessage="missionfailure.retrieveindustrialwaste" tags="salvageindustrial" type="Salvage" difficulty="3" commonness="100" reward="2000" requireddeliveryamount="0.80" PartiallyRetrievedMessage="missionmessage.retrieveindustrialwaste.partiallyretrieved" AllRetrievedMessage="missionmessage.retrieveindustrialwaste.allretrieved"> <SalvageMission identifier="retrieveindustrialwaste" name="missionname.retrieveindustrialwaste" description="missiondescription.retrieveindustrialwaste" successmessage="missionsuccess.retrieveindustrialwaste" failuremessage="missionfailure.retrieveindustrialwaste" tags="salvageindustrial" type="Salvage" difficulty="3" commonness="100" reward="8000" requireddeliveryamount="0.80" PartiallyRetrievedMessage="missionmessage.retrieveindustrialwaste.partiallyretrieved" AllRetrievedMessage="missionmessage.retrieveindustrialwaste.allretrieved">
<Reputation identifier="location" amount="3" /> <Reputation identifier="location" amount="3" />
<Portrait texture="Content/Map/LocationPortraits/Wreck1.png" sourcerect="0,0,2160,1080" premultiplyalpha="false" /> <Portrait texture="Content/Map/LocationPortraits/Wreck1.png" sourcerect="0,0,2160,1080" premultiplyalpha="false" />
<target spawntype="mainpath" itemidentifier="radioactivewaste" sonarlabel="missionsonarlabel.retrieveindustrialwaste" allowcontinuebeforeretrieved="true" requireretrieval="RetrievedToSub" hidelabelafterretrieved="false" minamount="5" maxamount="7"></target> <target spawntype="mainpath" itemidentifier="radioactivewaste" sonarlabel="missionsonarlabel.retrieveindustrialwaste" allowcontinuebeforeretrieved="true" requireretrieval="RetrievedToSub" hidelabelafterretrieved="false" minamount="5" maxamount="7"></target>
<LocationType from="AnyOutpost" to="AnyOutpost" /> <LocationType from="AnyOutpost" to="AnyOutpost" />
<Icon texture="Content/UI/MissionIcons2.png" sourcerect="512,256,256,256" color="120,214,48" /> <Icon texture="Content/UI/MissionIcons2.png" sourcerect="512,256,256,256" color="120,214,48" />
</SalvageMission> </SalvageMission>
<SalvageMission identifier="retrievehammerheadmucus" name="missionname.retrievehammerheadmucus" description="missiondescription.retrievehammerheadmucus" successmessage="missionsuccess.retrievehammerheadmucus" failuremessage="missionfailure.retrievehammerheadmucus" tags="salvagemedical" type="Salvage" difficulty="2" commonness="80" reward="2000" requireddeliveryamount="0.01" PartiallyRetrievedMessage="missionmessage.retrievehammerheadmucus.partiallyretrieved" AllRetrievedMessage="missionmessage.retrievehammerheadmucus.allretrieved"> <SalvageMission identifier="retrievehammerheadmucus" name="missionname.retrievehammerheadmucus" description="missiondescription.retrievehammerheadmucus" successmessage="missionsuccess.retrievehammerheadmucus" failuremessage="missionfailure.retrievehammerheadmucus" tags="salvagemedical" type="Salvage" difficulty="2" commonness="80" reward="8000" requireddeliveryamount="0.01" PartiallyRetrievedMessage="missionmessage.retrievehammerheadmucus.partiallyretrieved" AllRetrievedMessage="missionmessage.retrievehammerheadmucus.allretrieved">
<Reputation identifier="location" amount="3" /> <Reputation identifier="location" amount="3" />
<Portrait texture="Content/Map/LocationPortraits/Wreck1.png" sourcerect="0,0,2160,1080" premultiplyalpha="false" /> <Portrait texture="Content/Map/LocationPortraits/Wreck1.png" sourcerect="0,0,2160,1080" premultiplyalpha="false" />
<target spawntype="mainpath" itemidentifier="hammerheadmucus" sonarlabel="missionsonarlabel.retrievehammerheadmucus" allowcontinuebeforeretrieved="true" requireretrieval="RetrievedToSub" hidelabelafterretrieved="false" minamount="4" maxamount="5"></target> <target spawntype="mainpath" itemidentifier="hammerheadmucus" sonarlabel="missionsonarlabel.retrievehammerheadmucus" allowcontinuebeforeretrieved="true" requireretrieval="RetrievedToSub" hidelabelafterretrieved="false" minamount="4" maxamount="5"></target>
<LocationType from="AnyOutpost" to="AnyOutpost" /> <LocationType from="AnyOutpost" to="AnyOutpost" />
<Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="140,160,90" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="256,256,256,256" color="140,160,90" />
</SalvageMission> </SalvageMission>
<MonsterMission identifier="salvagekillmoloch" textidentifier="salvagekillmoloch" tags="salvageartifact" type="Monster" difficulty="3" commonness="20" reward="3500" sonarlabel="missionsonarlabel.salvagekillmoloch" maxsonarmarkerdistance="10000" monsterfile="Molochblack"> <MonsterMission identifier="salvagekillmoloch" textidentifier="salvagekillmoloch" tags="salvageartifact" type="Monster" difficulty="3" commonness="20" reward="14000" sonarlabel="missionsonarlabel.salvagekillmoloch" maxsonarmarkerdistance="10000" monsterfile="Molochblack">
<Reputation identifier="location" amount="2" amountforopposingfaction="-2" /> <Reputation identifier="location" amount="2" amountforopposingfaction="-2" />
<Icon texture="Content/UI/MissionIcons2.png" sourcerect="768,0,256,256" color="49,93,233" /> <Icon texture="Content/UI/MissionIcons2.png" sourcerect="768,0,256,256" color="49,93,233" />
<message header="missionheader0.salvagekillmoloch" text="missionmessage0.salvagekillmoloch" /> <message header="missionheader0.salvagekillmoloch" text="missionmessage0.salvagekillmoloch" />
</MonsterMission> </MonsterMission>
<!-- turns out for GoTo missions in outposts, you need to use a maxprogressstate that is >1, otherwise it will show up as completed in the menu! --> <!-- turns out for GoTo missions in outposts, you need to use a maxprogressstate that is >1, otherwise it will show up as completed in the menu! -->
<GotoMission name="" identifier="industrialincident" type="GoTo" difficulty="2" commonness="0" maxprogressstate="2" reward="3000" BlockLocationTypeChanges="true"> <GotoMission name="" identifier="industrialincident" type="GoTo" difficulty="2" commonness="0" maxprogressstate="2" reward="12000" BlockLocationTypeChanges="true">
<TriggerEvent state="1" delay="5" eventidentifier="industrialincidentevent" campaignonly="true" /> <TriggerEvent state="1" delay="5" eventidentifier="industrialincidentevent" campaignonly="true" />
<LocationType identifier="Factory" /> <LocationType identifier="Factory" />
<LocationType identifier="Shipyard" /> <LocationType identifier="Shipyard" />
<CompleteCheckDataAction identifier="outpostfixed" condition="eq 1" /> <CompleteCheckDataAction identifier="outpostfixed" condition="eq 1" />
<Icon texture="Content/UI/MissionIcons2.png" sourcerect="0,512,256,256" color="230,230,50" /> <Icon texture="Content/UI/MissionIcons2.png" sourcerect="0,512,256,256" color="230,230,50" />
</GotoMission> </GotoMission>
<GotoMission identifier="escortorangeboys" name="missionname.escortorangeboys" description="missiondescription.escortorangeboys" tags="escortfood" type="GoTo" difficulty="2" commonness="0" maxprogressstate="2" reward="2500" successmessage="missionsuccess.escortorangeboys" failuremessage="missionfailure.escortorangeboys"> <GotoMission identifier="escortorangeboys" name="missionname.escortorangeboys" description="missiondescription.escortorangeboys" tags="escortfood" type="GoTo" difficulty="2" commonness="0" maxprogressstate="2" reward="10000" successmessage="missionsuccess.escortorangeboys" failuremessage="missionfailure.escortorangeboys">
<Reputation identifier="location" amount="3" /> <Reputation identifier="location" amount="3" />
<Icon texture="Content/UI/MissionIcons.png" sourcerect="768,512,256,256" color="240,180,70" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="768,512,256,256" color="240,180,70" />
<LocationType from="Hydroponics" to="Outpost" /> <LocationType from="Hydroponics" to="Outpost" />
@@ -1309,9 +1309,9 @@
<TriggerEvent state="0" delay="0" eventidentifier="escortorangeboysevent" /> <TriggerEvent state="0" delay="0" eventidentifier="escortorangeboysevent" />
<CompleteCheckDataAction identifier="escortedorangeboys" condition="eq 1" /> <CompleteCheckDataAction identifier="escortedorangeboys" condition="eq 1" />
</GotoMission> </GotoMission>
<CargoMission identifier="cargodefensebots" tags="cargodefensebots" type="Cargo" description="missiondescription.cargodefensebots" difficulty="2" commonness="100" reward="500" achievementidentifier="cargomission" requireddeliveryamount="0.95"> <CargoMission identifier="cargodefensebots" tags="cargodefensebots" type="Cargo" description="missiondescription.cargodefensebots" difficulty="2" commonness="100" reward="2000" achievementidentifier="cargomission" requireddeliveryamount="0.95">
<Items> <Items>
<Item identifier="cargodefensebot" reward="400" maxcount="5" /> <Item identifier="cargodefensebot" reward="1600" maxcount="5" />
</Items> </Items>
<Reputation identifier="location" amount="3" amountforopposingfaction="-3" /> <Reputation identifier="location" amount="3" amountforopposingfaction="-3" />
<Icon texture="Content/UI/MissionIcons2.png" sourcerect="0,256,256,256" color="80,110,90" /> <Icon texture="Content/UI/MissionIcons2.png" sourcerect="0,256,256,256" color="80,110,90" />
@@ -1326,10 +1326,10 @@
<LocationType from="AnyOutpost" to="Factory" /> <LocationType from="AnyOutpost" to="Factory" />
<LocationType from="AnyOutpost" to="Shipyard" /> <LocationType from="AnyOutpost" to="Shipyard" />
</CargoMission> </CargoMission>
<CargoMission identifier="cargodefensebots_defective" tags="cargodefensebots" type="Cargo" description="missiondescription.cargodefensebots" difficulty="2" commonness="20" reward="500" achievementidentifier="cargomission" requireddeliveryamount="0.75"> <CargoMission identifier="cargodefensebots_defective" tags="cargodefensebots" type="Cargo" description="missiondescription.cargodefensebots" difficulty="2" commonness="20" reward="2000" achievementidentifier="cargomission" requireddeliveryamount="0.75">
<Items> <Items>
<Item identifier="cargodefensebot" reward="400" maxcount="4" /> <Item identifier="cargodefensebot" reward="1600" maxcount="4" />
<Item identifier="cargodefensebot_defective" reward="400" maxcount="1" /> <Item identifier="cargodefensebot_defective" reward="1600" maxcount="1" />
</Items> </Items>
<Reputation identifier="location" amount="3" amountforopposingfaction="-3" /> <Reputation identifier="location" amount="3" amountforopposingfaction="-3" />
<Icon texture="Content/UI/MissionIcons2.png" sourcerect="0,256,256,256" color="80,110,90" /> <Icon texture="Content/UI/MissionIcons2.png" sourcerect="0,256,256,256" color="80,110,90" />
@@ -1345,7 +1345,7 @@
<LocationType from="AnyOutpost" to="Shipyard" /> <LocationType from="AnyOutpost" to="Shipyard" />
</CargoMission> </CargoMission>
<!-- turns out for GoTo missions in outposts, you need to use a maxprogressstate that is >1, otherwise it will show up as completed in the menu! --> <!-- turns out for GoTo missions in outposts, you need to use a maxprogressstate that is >1, otherwise it will show up as completed in the menu! -->
<GotoMission name="" identifier="alcoholcontraband" type="GoTo" difficulty="1" commonness="0" maxprogressstate="2" reward="1500" BlockLocationTypeChanges="true"> <GotoMission name="" identifier="alcoholcontraband" type="GoTo" difficulty="1" commonness="0" maxprogressstate="2" reward="6000" BlockLocationTypeChanges="true">
<Reputation identifier="bandits" amount="3" /> <Reputation identifier="bandits" amount="3" />
<TriggerEvent state="1" delay="5" eventidentifier="alcoholcontrabandevent" campaignonly="true" /> <TriggerEvent state="1" delay="5" eventidentifier="alcoholcontrabandevent" campaignonly="true" />
<LocationType identifier="Settlement" /> <LocationType identifier="Settlement" />
@@ -1365,7 +1365,7 @@
<!-- CULT OF HUSK RELATED missions --> <!-- CULT OF HUSK RELATED missions -->
<CargoMission identifier="huskmedicalcargo" tags="cargohusk" type="Cargo" difficulty="1" commonness="100" achievementidentifier="cargomission"> <CargoMission identifier="huskmedicalcargo" tags="cargohusk" type="Cargo" difficulty="1" commonness="100" achievementidentifier="cargomission">
<Items> <Items>
<Item identifier="mediccrate" reward="250" maxcount="10"> <Item identifier="mediccrate" reward="1000" maxcount="10">
<Item identifier="antibiotics" amount="5" /> <Item identifier="antibiotics" amount="5" />
<Item identifier="stabilozine" amount="3" /> <Item identifier="stabilozine" amount="3" />
</Item> </Item>
@@ -1376,7 +1376,7 @@
</CargoMission> </CargoMission>
<CargoMission identifier="huskeggsmuggling" tags="cargohusk,cargosmugglinghusk" type="Cargo" difficulty="1" commonness="100" achievementidentifier="cargomission"> <CargoMission identifier="huskeggsmuggling" tags="cargohusk,cargosmugglinghusk" type="Cargo" difficulty="1" commonness="100" achievementidentifier="cargomission">
<Items> <Items>
<Item identifier="mediccrate" reward="500" maxcount="5"> <Item identifier="mediccrate" reward="2000" maxcount="5">
<Item identifier="antidama1" amount="2" /> <Item identifier="antidama1" amount="2" />
<Item identifier="antidama2" amount="2" /> <Item identifier="antidama2" amount="2" />
<Item identifier="antibloodloss1" amount="1" /> <Item identifier="antibloodloss1" amount="1" />
@@ -1393,7 +1393,7 @@
</CargoMission> </CargoMission>
<CargoMission identifier="keepwetcargo" tags="cargohusk" type="Cargo" textidentifier="keepwetcargo" description="missiondescription.keepwetcargo" difficulty="1" commonness="100" achievementidentifier="cargomission"> <CargoMission identifier="keepwetcargo" tags="cargohusk" type="Cargo" textidentifier="keepwetcargo" description="missiondescription.keepwetcargo" difficulty="1" commonness="100" achievementidentifier="cargomission">
<Items> <Items>
<Item identifier="biocrate" reward="2000" maxcount="1" /> <Item identifier="biocrate" reward="8000" maxcount="1" />
</Items> </Items>
<Reputation identifier="location" amount="3" /> <Reputation identifier="location" amount="3" />
<Icon texture="Content/UI/MissionIcons2.png" sourcerect="512,256,256,256" color="50,70,150" /> <Icon texture="Content/UI/MissionIcons2.png" sourcerect="512,256,256,256" color="50,70,150" />
@@ -1405,7 +1405,7 @@
<LocationType from="AnyOutpost" to="City" /> <LocationType from="AnyOutpost" to="City" />
<message header="missionheader0.keepwetcargo" text="missionmessage0.keepwetcargo" /> <message header="missionheader0.keepwetcargo" text="missionmessage0.keepwetcargo" />
</CargoMission> </CargoMission>
<EscortMission identifier="escorthuskvip" tags="escortVIP,escort" type="Escort" difficulty="2" commonness="100" reward="3000" achievementidentifier="escortmission"> <EscortMission identifier="escorthuskvip" tags="escortVIP,escort" type="Escort" difficulty="2" commonness="100" reward="12000" achievementidentifier="escortmission">
<Characters> <Characters>
<Character from="husknpcsmission" identifier="huskvip" escortidentifier="vip" color="40,140,80"> <Character from="husknpcsmission" identifier="huskvip" escortidentifier="vip" color="40,140,80">
<StatusEffect target="Character" delay="1" disabledeltatime="true"> <StatusEffect target="Character" delay="1" disabledeltatime="true">
@@ -1423,7 +1423,7 @@
<LocationType from="AnyOutpost" to="City" /> <LocationType from="AnyOutpost" to="City" />
<message header="missionheader0.escort2" text="missionmessage0.escort2" /> <message header="missionheader0.escort2" text="missionmessage0.escort2" />
</EscortMission> </EscortMission>
<MineralMission identifier="slimecollection" textIdentifier="slimecollection" tags="collectplants,collectplants_set1,collectplants_cave" type="Mineral" difficulty="1" commonness="100" resourceHandoverAmount="0.4" positionType="cave" reward="2000"> <MineralMission identifier="slimecollection" textIdentifier="slimecollection" tags="collectplants,collectplants_set1,collectplants_cave" type="Mineral" difficulty="1" commonness="100" resourceHandoverAmount="0.4" positionType="cave" reward="8000">
<Items> <Items>
<Item identifier="slimebacteria" /> <Item identifier="slimebacteria" />
<Item identifier="slimebacteria" /> <Item identifier="slimebacteria" />
@@ -1436,7 +1436,7 @@
<Reputation identifier="huskcult" amount="3" /> <Reputation identifier="huskcult" amount="3" />
<message header="missionheader0.slimecollection" text="missionmessage0.slimecollection" /> <message header="missionheader0.slimecollection" text="missionmessage0.slimecollection" />
</MineralMission> </MineralMission>
<EscortMission identifier="escorthuskterrorist" tags="escortterrorists,escortterroristshusk,escort" type="Escort" difficulty="2" commonness="100" reward="2500" achievementidentifier="escortmission" baseescortedcharacters="1" scalingescortedcharacters="0.35" terroristchance="0.35" terroristannouncedialogtag="huskterroristannounce"> <EscortMission identifier="escorthuskterrorist" tags="escortterrorists,escortterroristshusk,escort" type="Escort" difficulty="2" commonness="100" reward="10000" achievementidentifier="escortmission" baseescortedcharacters="1" scalingescortedcharacters="0.35" terroristchance="0.35" terroristannouncedialogtag="huskterroristannounce">
<Characters> <Characters>
<Character from="escortnpcs1" identifier="commoner" /> <Character from="escortnpcs1" identifier="commoner" />
</Characters> </Characters>
@@ -1458,7 +1458,7 @@
<message header="missionheader0.escorthuskterrorist" text="missionmessage0.escorthuskterrorist" /> <message header="missionheader0.escorthuskterrorist" text="missionmessage0.escorthuskterrorist" />
<message header="missionheader1.escorthuskterrorist" text="missionmessage1.escorthuskterrorist" /> <message header="missionheader1.escorthuskterrorist" text="missionmessage1.escorthuskterrorist" />
</EscortMission> </EscortMission>
<OutpostMission identifier="jailbreak_husk" name="missionname.jailbreak_husk" successmessage="missionsuccess.jailbreak" failuremessage="missionfailure.jailbreak" tags="jailbreak_husk" type="AbandonedOutpost" reward="3000" difficulty="3" commonness="100" allowretry="true" hostageskilledmessage="prisonerkilled"> <OutpostMission identifier="jailbreak_husk" name="missionname.jailbreak_husk" successmessage="missionsuccess.jailbreak" failuremessage="missionfailure.jailbreak" tags="jailbreak_husk" type="AbandonedOutpost" reward="12000" difficulty="3" commonness="100" allowretry="true" hostageskilledmessage="prisonerkilled">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="40,140,80" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="512,256,256,256" color="40,140,80" />
<LocationType identifier="Colony" /> <LocationType identifier="Colony" />
<LocationType identifier="City" /> <LocationType identifier="City" />
@@ -1472,7 +1472,7 @@
<message header="missionheader0.prisonerrescue" text="missionmessage0.prisonerrescue" /> <message header="missionheader0.prisonerrescue" text="missionmessage0.prisonerrescue" />
</OutpostMission> </OutpostMission>
<!-- add event? --> <!-- add event? -->
<AbandonedOutpostMission identifier="assassinatehuskresearcher" tags="assasination" achievementidentifier="abandonedoutpostassassinate" type="OutpostDestroy" reward="3000" difficulty="3" commonness="100" allowretry="true" sonarlabel="target"> <AbandonedOutpostMission identifier="assassinatehuskresearcher" tags="assasination" achievementidentifier="abandonedoutpostassassinate" type="OutpostDestroy" reward="12000" difficulty="3" commonness="100" allowretry="true" sonarlabel="target">
<Icon texture="Content/UI/MissionIcons.png" sourcerect="0,512,256,256" color="214,50,48" /> <Icon texture="Content/UI/MissionIcons.png" sourcerect="0,512,256,256" color="214,50,48" />
<LocationType identifier="huskchurch" /> <LocationType identifier="huskchurch" />
<Characters> <Characters>
@@ -1487,7 +1487,7 @@
<PirateMission type="Pirate" identifier="huskcultattack1" tags="huskcultattack" showinmenus="false" showstartmessage="false" issideobjective="true" achievementidentifier="combatmissionseparatistsvscoalition" difficulty="4" commonness="0" reward="0" addedmissiondifficultyperplayer="8"> <PirateMission type="Pirate" identifier="huskcultattack1" tags="huskcultattack" showinmenus="false" showstartmessage="false" issideobjective="true" achievementidentifier="combatmissionseparatistsvscoalition" difficulty="4" commonness="0" reward="0" addedmissiondifficultyperplayer="8">
<Reputation identifier="huskchurch" amount="-5" /> <Reputation identifier="huskchurch" amount="-5" />
<SubmarineTypes> <SubmarineTypes>
<Submarine path="%ModDir:2532991202%/EnemySubmarines/Husk/Huskedsub.sub" faction="huskcult" preferreddifficulty="40" alternatereward="3200" /> <Submarine path="%ModDir:2532991202%/EnemySubmarines/Husk/Huskedsub.sub" faction="huskcult" preferreddifficulty="40" alternatereward="12800" />
</SubmarineTypes> </SubmarineTypes>
<Characters> <Characters>
<Character typeidentifier="huskcultcaptain" minamount="1" maxamount="1"> <Character typeidentifier="huskcultcaptain" minamount="1" maxamount="1">
@@ -1547,7 +1547,7 @@
<Reputation identifier="separatists" amount="15" amountforopposingfaction="-5" /> <Reputation identifier="separatists" amount="15" amountforopposingfaction="-5" />
<Reputation identifier="huskchurch" amount="-15" /> <Reputation identifier="huskchurch" amount="-15" />
<SubmarineTypes> <SubmarineTypes>
<Submarine path="%ModDir:2532991202%/EnemySubmarines/Husk/Huskedsub.sub" faction="huskcult" preferreddifficulty="10" alternatereward="3200" /> <Submarine path="%ModDir:2532991202%/EnemySubmarines/Husk/Huskedsub.sub" faction="huskcult" preferreddifficulty="10" alternatereward="12800" />
</SubmarineTypes> </SubmarineTypes>
<Characters> <Characters>
<Character typeidentifier="huskcultcaptain" minamount="1" maxamount="1"> <Character typeidentifier="huskcultcaptain" minamount="1" maxamount="1">
@@ -1603,7 +1603,7 @@
<LocationType from="AnyOutpost" to="AnyOutpost" /> <LocationType from="AnyOutpost" to="AnyOutpost" />
<Metadata identifier="huskinterceptionmissionnorepeat" value="1" /> <Metadata identifier="huskinterceptionmissionnorepeat" value="1" />
</PirateMission> </PirateMission>
<GotoMission identifier="capturelivecrawler" name="missionname.livecapture" description="missiondescription.livecapture" tags="capturemission" type="GoTo" difficulty="3" commonness="0" reward="3500" successmessage="missionsuccess.livecapture" failuremessage="missionfailure.livecapture"> <GotoMission identifier="capturelivecrawler" name="missionname.livecapture" description="missiondescription.livecapture" tags="capturemission" type="GoTo" difficulty="3" commonness="0" reward="14000" successmessage="missionsuccess.livecapture" failuremessage="missionfailure.livecapture">
<Reputation identifier="huskcult" amount="5" /> <Reputation identifier="huskcult" amount="5" />
<Icon texture="Content/UI/MissionIcons2.png" sourcerect="768,768,256,256" color="60,120,90" /> <Icon texture="Content/UI/MissionIcons2.png" sourcerect="768,768,256,256" color="60,120,90" />
<LocationType from="Anyoutpost" to="Huskchurch" /> <LocationType from="Anyoutpost" to="Huskchurch" />
@@ -1612,7 +1612,7 @@
<CompleteCheckDataAction identifier="capturedlivetarget" condition="eq 1" /> <CompleteCheckDataAction identifier="capturedlivetarget" condition="eq 1" />
<Metadata identifier="capturelivecrawlernorepeat" value="1" /> <Metadata identifier="capturelivecrawlernorepeat" value="1" />
</GotoMission> </GotoMission>
<GotoMission identifier="chimerasamples" name="missionname.chimerasamples" description="missiondescription.chimerasamples" tags="capturemission" type="GoTo" difficulty="3" commonness="0" reward="3500" successmessage="missionsuccess.chimerasamples" failuremessage="missionfailure.chimerasamples"> <GotoMission identifier="chimerasamples" name="missionname.chimerasamples" description="missiondescription.chimerasamples" tags="capturemission" type="GoTo" difficulty="3" commonness="0" reward="14000" successmessage="missionsuccess.chimerasamples" failuremessage="missionfailure.chimerasamples">
<Reputation identifier="huskcult" amount="5" /> <Reputation identifier="huskcult" amount="5" />
<Icon texture="Content/UI/MissionIcons2.png" sourcerect="768,768,256,256" color="60,120,90" /> <Icon texture="Content/UI/MissionIcons2.png" sourcerect="768,768,256,256" color="60,120,90" />
<LocationType from="Anyoutpost" to="Anyoutpost" /> <LocationType from="Anyoutpost" to="Anyoutpost" />
@@ -1649,7 +1649,7 @@
identifier="industrialsabotage" identifier="industrialsabotage"
tags="industrialsabotage" tags="industrialsabotage"
type="OutpostDestroy" type="OutpostDestroy"
reward="1000" reward="4000"
difficulty="2" difficulty="2"
commonness="100" commonness="100"
allowretry="true" allowretry="true"
@@ -1671,7 +1671,7 @@
commonness="50" commonness="50"
resourceHandoverAmount="0.25" resourceHandoverAmount="0.25"
positionType="mainpath" positionType="mainpath"
reward="1200"> reward="4800">
<Items> <Items>
<Item identifier="lithomorphspawnerpyromorphite" /> <Item identifier="lithomorphspawnerpyromorphite" />
<Item identifier="pyromorphite" /> <Item identifier="pyromorphite" />
@@ -1705,7 +1705,7 @@
difficulty="2" difficulty="2"
commonness="30" commonness="30"
resourceHandoverAmount="0.25" resourceHandoverAmount="0.25"
reward="1600"> reward="6400">
<Items> <Items>
<Item identifier="lithomorphspawnergalena" /> <Item identifier="lithomorphspawnergalena" />
<Item identifier="galena" /> <Item identifier="galena" />
@@ -1739,7 +1739,7 @@
difficulty="2" difficulty="2"
commonness="75" commonness="75"
resourceHandoverAmount="0.33" resourceHandoverAmount="0.33"
reward="2100"> reward="8400">
<Items> <Items>
<Item identifier="lithomorphspawnertriphylite" /> <Item identifier="lithomorphspawnertriphylite" />
<Item identifier="triphylite" /> <Item identifier="triphylite" />
@@ -1771,7 +1771,7 @@
difficulty="2" difficulty="2"
commonness="30" commonness="30"
resourceHandoverAmount="0.25" resourceHandoverAmount="0.25"
reward="2400"> reward="9600">
<Items> <Items>
<Item identifier="ilmenite" /> <Item identifier="ilmenite" />
<Item identifier="ilmenite" /> <Item identifier="ilmenite" />
@@ -1805,7 +1805,7 @@
difficulty="2" difficulty="2"
commonness="50" commonness="50"
resourceHandoverAmount="0.33" resourceHandoverAmount="0.33"
reward="2700"> reward="10800">
<Items> <Items>
<Item identifier="lithomorphspawnertitanite" /> <Item identifier="lithomorphspawnertitanite" />
<Item identifier="titanite" /> <Item identifier="titanite" />
@@ -1835,7 +1835,7 @@
tags="huskbeaconmission" tags="huskbeaconmission"
type="Beacon" type="Beacon"
difficulty="1" difficulty="1"
reward="1500" reward="6000"
sideobjective="false"> sideobjective="false">
<Reputation identifier="huskchurch" amount="5" /> <Reputation identifier="huskchurch" amount="5" />
<SubmarineTypes> <SubmarineTypes>
@@ -1855,9 +1855,9 @@
type="Beacon" type="Beacon"
difficulty="2" difficulty="2"
commonness="100" commonness="100"
reward="1500"> reward="6000">
<SubmarineTypes> <SubmarineTypes>
<Submarine path="Content/Map/BeaconStations/BeaconStation2_AlienResearch.sub" faction="huskcult" alternatereward="3200"/> <Submarine path="Content/Map/BeaconStations/BeaconStation2_AlienResearch.sub" faction="huskcult" alternatereward="12800"/>
</SubmarineTypes> </SubmarineTypes>
<monsters commonness="100"> <monsters commonness="100">
<monster character="Crawler" min="0" max="8"/> <monster character="Crawler" min="0" max="8"/>
@@ -1884,7 +1884,7 @@
tags="assasination" tags="assasination"
achievementidentifier="abandonedoutpostassassinate" achievementidentifier="abandonedoutpostassassinate"
type="OutpostDestroy" type="OutpostDestroy"
reward="3000" reward="12000"
difficulty="3" difficulty="3"
commonness="100" commonness="100"
allowretry="true" allowretry="true"
@@ -1899,7 +1899,7 @@
<Metadata identifier="poisonchalicemissionnorepeat" value="1"/> <Metadata identifier="poisonchalicemissionnorepeat" value="1"/>
</OutpostMission> --> </OutpostMission> -->
<!-- Unused. BUGGED. TODO: reenable multiple documents if ever fixed --> <!-- Unused. BUGGED. TODO: reenable multiple documents if ever fixed -->
<!-- <SalvageMission identifier="stealingintel" tags="stealintel" type="Salvage" difficulty="3" commonness="0" reward="3000" sonarlabel="target" spawntype="Outpost" showmessagewhenpickedup="true" itemidentifier="documents" removeitem="true" containertag="admincabinet" requirewreck="false" BlockLocationTypeChanges="true"> <!-- <SalvageMission identifier="stealingintel" tags="stealintel" type="Salvage" difficulty="3" commonness="0" reward="12000" sonarlabel="target" spawntype="Outpost" showmessagewhenpickedup="true" itemidentifier="documents" removeitem="true" containertag="admincabinet" requirewreck="false" BlockLocationTypeChanges="true">
<Reputation identifier="coalition" amount="-10" /> <Reputation identifier="coalition" amount="-10" />
<Reputation identifier="separatists" amount="10" /> <Reputation identifier="separatists" amount="10" />
<Icon texture="Content/UI/MissionIcons2.png" sourcerect="0,512,256,256" color="49,93,233" /> <Icon texture="Content/UI/MissionIcons2.png" sourcerect="0,512,256,256" color="49,93,233" />
@@ -1961,7 +1961,7 @@
type="Salvage" type="Salvage"
difficulty="3" difficulty="3"
commonness="100" commonness="100"
reward="2000" reward="8000"
requireddeliveryamount="1" requireddeliveryamount="1"
PartiallyRetrievedMessage="missionmessage.findhiddenpylons.partiallyretrieved" PartiallyRetrievedMessage="missionmessage.findhiddenpylons.partiallyretrieved"
AllRetrievedMessage="missionmessage.findhiddenpylons.allretrieved"> AllRetrievedMessage="missionmessage.findhiddenpylons.allretrieved">
@@ -2017,7 +2017,7 @@
type="Salvage" type="Salvage"
difficulty="5" difficulty="5"
commonness="0" commonness="0"
reward="2000" reward="8000"
requirewreck="false"> requirewreck="false">
<target <target
@@ -2044,7 +2044,7 @@
type="GoTo" type="GoTo"
difficulty="3" difficulty="3"
commonness="0" commonness="0"
reward="3500" reward="14000"
successmessage="missionsuccess.rescuestrandeddivers" successmessage="missionsuccess.rescuestrandeddivers"
failuremessage="missionfailure.rescuestrandeddivers"> failuremessage="missionfailure.rescuestrandeddivers">
<Reputation identifier="location" amount="3" /> <Reputation identifier="location" amount="3" />

View File

@@ -33,7 +33,7 @@
<ItemContainer selectkey="Action" capacity="0" itemsperrow="0" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect"> <ItemContainer selectkey="Action" capacity="0" itemsperrow="0" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.25,0.15" absoluteoffset="0,0.15" anchor="BottomCenter" style="ItemUI" /> <GuiFrame relativesize="0.25,0.15" absoluteoffset="0,0.15" anchor="BottomCenter" style="ItemUI" />
<Containable items="none" /> <Containable items="none" />
<SubContainer capacity="15" itemsperrow="5"> <SubContainer capacity="45" itemsperrow="5">
<Containable items="smallitem,mediumitem,ammobox,deepdiving,largeitem" /> <Containable items="smallitem,mediumitem,ammobox,deepdiving,largeitem" />
</SubContainer> </SubContainer>
</ItemContainer> </ItemContainer>

View File

@@ -122,9 +122,9 @@
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" /> <requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<input name="toggle" /> <input name="toggle" />
<input name="set_state" /> <input name="set_state" />
<output name="state_out" maxwires="10" /> <output name="state_out" maxwires="40" />
<output name="condition_out" maxwires="10" /> <output name="condition_out" maxwires="40" />
<output name="activate_out" maxwires="10" /> <output name="activate_out" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="door" ID="143" markedfordeconstruction="false" rect="-320,-256,24,208" linked="151" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="weldable,door,containmentdoor" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.51" HiddenInGame="False" conditionpercentage="100"> <Item name="" identifier="door" ID="143" markedfordeconstruction="false" rect="-320,-256,24,208" linked="151" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="weldable,door,containmentdoor" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.51" HiddenInGame="False" conditionpercentage="100">
@@ -138,16 +138,16 @@
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" /> <requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<input name="toggle" /> <input name="toggle" />
<input name="set_state" /> <input name="set_state" />
<output name="state_out" maxwires="10" /> <output name="state_out" maxwires="40" />
<output name="condition_out" maxwires="10" /> <output name="condition_out" maxwires="40" />
<output name="activate_out" maxwires="10" /> <output name="activate_out" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="lever" ID="148" markedfordeconstruction="false" rect="64,-256,31,31" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="smallitem,switch,mineentrance" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.79" HiddenInGame="False" conditionpercentage="100"> <Item name="" identifier="lever" ID="148" markedfordeconstruction="false" rect="64,-256,31,31" NonInteractable="False" NonPlayerTeamInteractable="False" AllowSwapping="True" Rotation="0" Scale="0.5" SpriteColor="255,255,255,255" InventoryIconColor="255,255,255,255" ContainerColor="255,255,255,255" InvulnerableToDamage="False" Tags="smallitem,switch,mineentrance" DisplaySideBySideWhenLinked="False" DisallowedUpgrades="" SpriteDepth="0.79" HiddenInGame="False" conditionpercentage="100">
<Controller IsToggle="True" Output="1" FalseOutput="0" State="False" PickingTime="0" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgPressSelect" /> <Controller IsToggle="True" Output="1" FalseOutput="0" State="False" PickingTime="0" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgPressSelect" />
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver"> <ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" /> <requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<output name="signal_out" maxwires="10" /> <output name="signal_out" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="10" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench"> <Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="10" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" /> <requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
@@ -157,7 +157,7 @@
<Controller IsToggle="True" Output="1" FalseOutput="0" State="False" PickingTime="0" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgPressSelect" /> <Controller IsToggle="True" Output="1" FalseOutput="0" State="False" PickingTime="0" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgPressSelect" />
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver"> <ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" /> <requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<output name="signal_out" maxwires="10" /> <output name="signal_out" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="10" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench"> <Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="10" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" /> <requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
@@ -167,7 +167,7 @@
<Controller IsToggle="True" Output="1" FalseOutput="0" State="False" PickingTime="0" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgPressSelect" /> <Controller IsToggle="True" Output="1" FalseOutput="0" State="False" PickingTime="0" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgPressSelect" />
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver"> <ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" /> <requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<output name="signal_out" maxwires="10" /> <output name="signal_out" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="10" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench"> <Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="10" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" /> <requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
@@ -179,7 +179,7 @@
</Controller> </Controller>
<ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver"> <ConnectionPanel Locked="False" PickingTime="0" CanBePicked="False" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgRewireScrewdriver">
<requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" /> <requireditem items="screwdriver" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />
<output name="signal_out" maxwires="10" /> <output name="signal_out" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="10" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench"> <Holdable Attached="True" SpriteDepthWhenDropped="0.55" PickingTime="10" CanBePicked="True" LockGuiFramePosition="False" GuiFrameOffset="0,0" AllowInGameEditing="True" Msg="ItemMsgDetachWrench">
<requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" /> <requireditem items="wrench" type="Equipped" characterinventoryslottype="None" optional="false" ignoreineditor="false" excludebroken="true" requireempty="false" excludefullcondition="false" targetslot="-1" allowvariants="true" rotation="0" setactive="false" />

View File

@@ -73,10 +73,10 @@
<input name="shutdown" displayname="connection.shutdown"> <input name="shutdown" displayname="connection.shutdown">
<StatusEffect type="OnUse" target="This" condition="-100" setvalue="true" /> <StatusEffect type="OnUse" target="This" condition="-100" setvalue="true" />
</input> </input>
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<output name="power_value_out" displayname="connection.powervalueout" maxwires="10" /> <output name="power_value_out" displayname="connection.powervalueout" maxwires="40" />
<output name="charge" displayname="connection.batterychargestatusout" maxwires="10" /> <output name="charge" displayname="connection.batterychargestatusout" maxwires="40" />
<output name="charge_%" displayname="connection.batterychargepercentage" maxwires="10" /> <output name="charge_%" displayname="connection.batterychargepercentage" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Pest Nest" identifier="cavepestspawner" category="Alien" Tags="alien,pestnest" scale="0.4" damagedbyexplosions="true" damagedbyprojectiles="true" damagedbyrepairtools="true" damagedbymeleeweapons="true" health="5"> <Item name="Pest Nest" identifier="cavepestspawner" category="Alien" Tags="alien,pestnest" scale="0.4" damagedbyexplosions="true" damagedbyprojectiles="true" damagedbyrepairtools="true" damagedbymeleeweapons="true" health="5">

View File

@@ -14,7 +14,7 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Triggered Effect - Water Leak (Small)" identifier="effect_trigger_leak_water_small" tags="effect" scale="0.25" spritecolor="0,150,255,255" health="100" hiddeningame="true" damagedbyrepairtools="false" allowrotatingineditor="false" allowedlinks="gap,door" linkable="true"> <Item name="Triggered Effect - Water Leak (Small)" identifier="effect_trigger_leak_water_small" tags="effect" scale="0.25" spritecolor="0,150,255,255" health="100" hiddeningame="true" damagedbyrepairtools="false" allowrotatingineditor="false" allowedlinks="gap,door" linkable="true">
@@ -30,7 +30,7 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Continuous Effect - Water Leak (Large)" identifier="effect_leak_water_large" tags="effect" scale="0.25" spritecolor="0,150,255,255" health="100" hiddeningame="true" damagedbyrepairtools="false" allowrotatingineditor="false" allowedlinks="gap,door" linkable="true"> <Item name="Continuous Effect - Water Leak (Large)" identifier="effect_leak_water_large" tags="effect" scale="0.25" spritecolor="0,150,255,255" health="100" hiddeningame="true" damagedbyrepairtools="false" allowrotatingineditor="false" allowedlinks="gap,door" linkable="true">
@@ -64,7 +64,7 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Continuous Effect - Short Circuit" identifier="effect_shortcircuit" tags="effect" scale="0.25" spritecolor="255,215,0,255" health="100" hiddeningame="true" damagedbyrepairtools="false" allowrotatingineditor="false" allowedlinks="gap,door" linkable="true"> <Item name="Continuous Effect - Short Circuit" identifier="effect_shortcircuit" tags="effect" scale="0.25" spritecolor="255,215,0,255" health="100" hiddeningame="true" damagedbyrepairtools="false" allowrotatingineditor="false" allowedlinks="gap,door" linkable="true">
@@ -89,7 +89,7 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Continuous Effect - Lava" identifier="effect_lava" tags="effect" scale="0.25" spritecolor="255,0,0,255" health="100" hiddeningame="true" damagedbyrepairtools="false" allowrotatingineditor="false" allowedlinks="gap,door" linkable="true"> <Item name="Continuous Effect - Lava" identifier="effect_lava" tags="effect" scale="0.25" spritecolor="255,0,0,255" health="100" hiddeningame="true" damagedbyrepairtools="false" allowrotatingineditor="false" allowedlinks="gap,door" linkable="true">

View File

@@ -364,7 +364,7 @@
</StatusEffect> </StatusEffect>
<StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" /> <StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" />
</Holdable> </Holdable>
<ItemContainer capacity="18" keepopenwhenequipped="false" movableframe="true" spawnwithid="revolver,revolver,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel"> <ItemContainer capacity="50" keepopenwhenequipped="false" movableframe="true" spawnwithid="revolver,revolver,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel,revolverrounddepletedfuel">
<Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo" /> <Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo" />
</ItemContainer> </ItemContainer>
</Item> </Item>
@@ -386,7 +386,7 @@
</StatusEffect> </StatusEffect>
<StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" /> <StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" />
</Holdable> </Holdable>
<ItemContainer capacity="18" keepopenwhenequipped="false" movableframe="true" spawnwithid="smg,smgmagazine,smgmagazine,smgmagazine,smgmagazine,smgmagazinedepletedfuel,smgmagazinedepletedfuel,smgmagazinedepletedfuel,smgmagazinedepletedfuel"> <ItemContainer capacity="50" keepopenwhenequipped="false" movableframe="true" spawnwithid="smg,smgmagazine,smgmagazine,smgmagazine,smgmagazine,smgmagazinedepletedfuel,smgmagazinedepletedfuel,smgmagazinedepletedfuel,smgmagazinedepletedfuel">
<Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo" /> <Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo" />
</ItemContainer> </ItemContainer>
</Item> </Item>
@@ -408,7 +408,7 @@
</StatusEffect> </StatusEffect>
<StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" /> <StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" />
</Holdable> </Holdable>
<ItemContainer capacity="18" keepopenwhenequipped="false" movableframe="true" spawnwithid="shotgun,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell"> <ItemContainer capacity="50" keepopenwhenequipped="false" movableframe="true" spawnwithid="shotgun,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell,shotgunshell">
<Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo" /> <Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo" />
</ItemContainer> </ItemContainer>
</Item> </Item>
@@ -430,7 +430,7 @@
</StatusEffect> </StatusEffect>
<StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" /> <StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" />
</Holdable> </Holdable>
<ItemContainer capacity="18" keepopenwhenequipped="false" movableframe="true" spawnwithid="autoshotgun,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive"> <ItemContainer capacity="50" keepopenwhenequipped="false" movableframe="true" spawnwithid="autoshotgun,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive,shotgunslugexplosive">
<Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo" /> <Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo" />
</ItemContainer> </ItemContainer>
</Item> </Item>
@@ -452,7 +452,7 @@
</StatusEffect> </StatusEffect>
<StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" /> <StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" />
</Holdable> </Holdable>
<ItemContainer capacity="18" keepopenwhenequipped="false" movableframe="true" spawnwithid="assaultrifle,assaultriflemagazine,assaultriflemagazine,assaultriflemagazine,assaultriflemagazine,assaultriflemagazine"> <ItemContainer capacity="50" keepopenwhenequipped="false" movableframe="true" spawnwithid="assaultrifle,assaultriflemagazine,assaultriflemagazine,assaultriflemagazine,assaultriflemagazine,assaultriflemagazine">
<Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo,ammobox,deepdiving,smallitem,mediumitem,largeitem" /> <Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo,ammobox,deepdiving,smallitem,mediumitem,largeitem" />
</ItemContainer> </ItemContainer>
</Item> </Item>
@@ -474,7 +474,7 @@
</StatusEffect> </StatusEffect>
<StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" /> <StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" />
</Holdable> </Holdable>
<ItemContainer capacity="18" keepopenwhenequipped="false" movableframe="true" spawnwithid="grenadelauncher,40mmgrenade,40mmgrenade,40mmgrenade,40mmgrenade,40mmgrenade,40mmgrenade,40mmgrenade,40mmgrenade"> <ItemContainer capacity="50" keepopenwhenequipped="false" movableframe="true" spawnwithid="grenadelauncher,40mmgrenade,40mmgrenade,40mmgrenade,40mmgrenade,40mmgrenade,40mmgrenade,40mmgrenade,40mmgrenade">
<Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo,ammobox,deepdiving,smallitem,mediumitem,largeitem" /> <Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo,ammobox,deepdiving,smallitem,mediumitem,largeitem" />
</ItemContainer> </ItemContainer>
</Item> </Item>
@@ -496,7 +496,7 @@
</StatusEffect> </StatusEffect>
<StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" /> <StatusEffect type="OnBroken" target="This" capacity="0" allowaccess="false" drawinventory="false" setvalue="true" />
</Holdable> </Holdable>
<ItemContainer capacity="18" keepopenwhenequipped="false" movableframe="true" spawnwithid="hmg,hmgmagazine,hmgmagazine,hmgmagazine,hmgmagazine"> <ItemContainer capacity="50" keepopenwhenequipped="false" movableframe="true" spawnwithid="hmg,hmgmagazine,hmgmagazine,hmgmagazine,hmgmagazine">
<Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo,ammobox,deepdiving,smallitem,mediumitem,largeitem" /> <Containable items="weapon,gun,weaponsmith,grenade,smgammo,shotgunammo,stungunammo,harpoonammo,rifleammo,hmgammo,revolverammo,pistolammoitem,ammo,ammunition,bullet,assaultrifleammo,ammobox,deepdiving,smallitem,mediumitem,largeitem" />
</ItemContainer> </ItemContainer>
</Item> </Item>
@@ -729,12 +729,12 @@
<input name="signal_in2" displayname="connection.signalinx~[num]=2" /> <input name="signal_in2" displayname="connection.signalinx~[num]=2" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="10" /> <output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="40" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="load_value_out" displayname="connection.loadvalueout" maxwires="10" /> <output name="load_value_out" displayname="connection.loadvalueout" maxwires="40" />
<output name="power_value_out" displayname="connection.powervalueout" maxwires="10" /> <output name="power_value_out" displayname="connection.powervalueout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<!-- OUTPOST TAKEOVER --> <!-- OUTPOST TAKEOVER -->

View File

@@ -45,7 +45,7 @@
</ItemContainer> </ItemContainer>
<aitarget sightrange="2000" soundrange="5000" fadeouttime="5" /> <aitarget sightrange="2000" soundrange="5000" fadeouttime="5" />
<Quality> <Quality>
<QualityStat stattype="FirepowerMultiplier" value="0.3" /> <QualityStat stattype="FirepowerMultiplier" value="0.9" />
</Quality> </Quality>
<Upgrade gameversion="0.10.0.0" scale="0.5" /> <Upgrade gameversion="0.10.0.0" scale="0.5" />
<SkillRequirementHint identifier="weapons" level="40" /> <SkillRequirementHint identifier="weapons" level="40" />
@@ -109,7 +109,7 @@
</ItemContainer> </ItemContainer>
<aitarget sightrange="2000" soundrange="4000" fadeouttime="5" /> <aitarget sightrange="2000" soundrange="4000" fadeouttime="5" />
<Quality> <Quality>
<QualityStat stattype="FirepowerMultiplier" value="0.3" /> <QualityStat stattype="FirepowerMultiplier" value="0.9" />
</Quality> </Quality>
<Upgrade gameversion="0.10.0.0" scale="0.5" /> <Upgrade gameversion="0.10.0.0" scale="0.5" />
<SkillRequirementHint identifier="weapons" level="50" /> <SkillRequirementHint identifier="weapons" level="50" />
@@ -174,7 +174,7 @@
</ItemContainer> </ItemContainer>
<aitarget sightrange="3000" soundrange="5000" fadeouttime="5" /> <aitarget sightrange="3000" soundrange="5000" fadeouttime="5" />
<Quality> <Quality>
<QualityStat stattype="FirepowerMultiplier" value="0.3" /> <QualityStat stattype="FirepowerMultiplier" value="0.9" />
</Quality> </Quality>
<Upgrade gameversion="0.10.0.0" scale="0.5" /> <Upgrade gameversion="0.10.0.0" scale="0.5" />
<SkillRequirementHint identifier="weapons" level="50" /> <SkillRequirementHint identifier="weapons" level="50" />
@@ -237,7 +237,7 @@
</ItemContainer> </ItemContainer>
<aitarget sightrange="2000" soundrange="4000" fadeouttime="5" /> <aitarget sightrange="2000" soundrange="4000" fadeouttime="5" />
<Quality> <Quality>
<QualityStat stattype="FirepowerMultiplier" value="0.3" /> <QualityStat stattype="FirepowerMultiplier" value="0.9" />
</Quality> </Quality>
<SkillRequirementHint identifier="weapons" level="50" /> <SkillRequirementHint identifier="weapons" level="50" />
</Item> </Item>
@@ -292,7 +292,7 @@
</ItemContainer> </ItemContainer>
<aitarget sightrange="2000" soundrange="4000" fadeouttime="5" /> <aitarget sightrange="2000" soundrange="4000" fadeouttime="5" />
<Quality> <Quality>
<QualityStat stattype="FirepowerMultiplier" value="0.3" /> <QualityStat stattype="FirepowerMultiplier" value="0.9" />
</Quality> </Quality>
<SkillRequirementHint identifier="weapons" level="60" /> <SkillRequirementHint identifier="weapons" level="60" />
</Item> </Item>

View File

@@ -121,7 +121,7 @@
<input name="activate" displayname="connection.activate"> <input name="activate" displayname="connection.activate">
<StatusEffect type="OnUse" target="This" condition="-100" setvalue="true" /> <StatusEffect type="OnUse" target="This" condition="-100" setvalue="true" />
</input> </input>
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
</Items> </Items>

View File

@@ -379,7 +379,7 @@
<StatusEffect type="OnContaining" target="This" Voltage="1.0" setvalue="true" /> <StatusEffect type="OnContaining" target="This" Voltage="1.0" setvalue="true" />
</Containable> </Containable>
</SubContainer> </SubContainer>
<SubContainer capacity="30"> <SubContainer capacity="50">
<Containable items="smallitem,ammobox,deepdiving,mediumitem,largeitem" /> <Containable items="smallitem,ammobox,deepdiving,mediumitem,largeitem" />
</SubContainer> </SubContainer>
</ItemContainer> </ItemContainer>

BIN
EK_Marauder2_Mk-II/EK_Marauder2_Mk-I.sub (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<contentpackage name="EK_Marauder2_Mk-II" modversion="1.0.5" corepackage="False" steamworkshopid="3357551865" gameversion="1.6.19.1" >
<Submarine file="%ModDir%/EK_Marauder2_Mk-I.sub" />
</contentpackage>

BIN
FDF-Vulture/FDF-Vulture.sub (Stored with Git LFS) Normal file

Binary file not shown.

4
FDF-Vulture/filelist.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<contentpackage name="FDF-Vulture" modversion="1.0.29" corepackage="False" steamworkshopid="2782233361" gameversion="1.4.6.0" >
<Submarine file="%ModDir%/FDF-Vulture.sub" />
</contentpackage>

BIN
IKATERE/Ikatere.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
IKATERE/Kaeaea G-120.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
IKATERE/Kaeaea S-60.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
IKATERE/Kaeaea XR-140.sub (Stored with Git LFS) Normal file

Binary file not shown.

7
IKATERE/filelist.xml Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<contentpackage name="IKATERE" modversion="1.0.20" corepackage="False" steamworkshopid="2697440509" gameversion="1.2.8.0" >
<Submarine file="%ModDir%/Kaeaea G-120.sub" />
<Submarine file="%ModDir%/Kaeaea XR-140.sub" />
<Submarine file="%ModDir%/Kaeaea S-60.sub" />
<Submarine file="%ModDir%/Ikatere.sub" />
</contentpackage>

BIN
IMC FORTUNA/IMC FORTUNA II.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
IMC FORTUNA/IMC FORTUNA III DEMO.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
IMC FORTUNA/IMC FORTUNA III.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
IMC FORTUNA/IMC FORTUNA T2 SHUTTLE.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
IMC FORTUNA/IMC FORTUNA T3 SHUTTLE.sub (Stored with Git LFS) Normal file

Binary file not shown.

BIN
IMC FORTUNA/IMC FORTUNA.sub (Stored with Git LFS) Normal file

Binary file not shown.

9
IMC FORTUNA/filelist.xml Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<contentpackage name="IMC FORTUNA" modversion="1.0.13" corepackage="False" steamworkshopid="3170267552" gameversion="1.4.6.0" >
<Submarine file="%ModDir%/IMC FORTUNA III DEMO.sub" />
<Submarine file="%ModDir%/IMC FORTUNA T2 SHUTTLE.sub" />
<Submarine file="%ModDir%/IMC FORTUNA T3 SHUTTLE.sub" />
<Submarine file="%ModDir%/IMC FORTUNA II.sub" />
<Submarine file="%ModDir%/IMC FORTUNA III.sub" />
<Submarine file="%ModDir%/IMC FORTUNA.sub" />
</contentpackage>

View File

@@ -93,17 +93,17 @@
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="transducer_in" displayname="connection.sonartransducerin" /> <input name="transducer_in" displayname="connection.sonartransducerin" />
<input name="velocity_in" displayname="connection.steeringvelocityin" /> <input name="velocity_in" displayname="connection.steeringvelocityin" />
<output name="velocity_x_out" displayname="connection.velocityxout" maxwires="10" /> <output name="velocity_x_out" displayname="connection.velocityxout" maxwires="40" />
<output name="velocity_y_out" displayname="connection.velocityyout" maxwires="10" /> <output name="velocity_y_out" displayname="connection.velocityyout" maxwires="40" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="10" /> <output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="40" />
<output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="10" /> <output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="40" />
<output name="toggle_docking" displayname="connection.toggledocking" maxwires="10" /> <output name="toggle_docking" displayname="connection.toggledocking" maxwires="40" />
<output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="10" /> <output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="40" />
<output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="10" /> <output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="40" />
<output name="current_position_x" displayname="connection.currentpositionx" maxwires="10" /> <output name="current_position_x" displayname="connection.currentpositionx" maxwires="40" />
<output name="current_position_y" displayname="connection.currentpositiony" maxwires="10" /> <output name="current_position_y" displayname="connection.currentpositiony" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.125" mindeteriorationdelay="180" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.125" mindeteriorationdelay="180" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,280" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,280" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />
@@ -195,7 +195,7 @@
<requireditem items="screwdriver" type="Equipped" /> <requireditem items="screwdriver" type="Equipped" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="transducer_in" displayname="connection.sonartransducerin" /> <input name="transducer_in" displayname="connection.sonartransducerin" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,280" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,280" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />
@@ -291,15 +291,15 @@
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="transducer_in" displayname="connection.sonartransducerin" /> <input name="transducer_in" displayname="connection.sonartransducerin" />
<input name="velocity_in" displayname="connection.steeringvelocityin" /> <input name="velocity_in" displayname="connection.steeringvelocityin" />
<output name="velocity_x_out" displayname="connection.velocityxout" maxwires="10" /> <output name="velocity_x_out" displayname="connection.velocityxout" maxwires="40" />
<output name="velocity_y_out" displayname="connection.velocityyout" maxwires="10" /> <output name="velocity_y_out" displayname="connection.velocityyout" maxwires="40" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="toggle_docking" displayname="connection.toggledocking" maxwires="10" /> <output name="toggle_docking" displayname="connection.toggledocking" maxwires="40" />
<output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="10" /> <output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="40" />
<output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="10" /> <output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="40" />
<output name="current_position_x" displayname="connection.currentpositionx" maxwires="10" /> <output name="current_position_x" displayname="connection.currentpositionx" maxwires="40" />
<output name="current_position_y" displayname="connection.currentpositiony" maxwires="10" /> <output name="current_position_y" displayname="connection.currentpositiony" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" fixDurationHighSkill="10" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" fixDurationHighSkill="10" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,280" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,280" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />

BIN
Kasserine/Kasserine.sub (Stored with Git LFS) Normal file

Binary file not shown.

4
Kasserine/filelist.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<contentpackage name="Kasserine" modversion="1.0.10" corepackage="False" steamworkshopid="2902312635" gameversion="1.6.19.1" >
<Submarine file="%ModDir%/Kasserine.sub" />
</contentpackage>

View File

@@ -17,7 +17,7 @@
<Sprite texture="%ModDir%/Images/InGameItemIconAtlas.png" depth="0.54" sourcerect="10,578,146,82" origin="0.5,0.5" /> <Sprite texture="%ModDir%/Images/InGameItemIconAtlas.png" depth="0.54" sourcerect="10,578,146,82" origin="0.5,0.5" />
<Body width="145" height="85" density="50" /> <Body width="145" height="85" density="50" />
<Holdable slots="RightHand+LeftHand" holdpos="0,-80" handle1="-20,14" handle2="20,14" aimable="false" msg="ItemMsgPickUpSelect" /> <Holdable slots="RightHand+LeftHand" holdpos="0,-80" handle1="-20,14" handle2="20,14" aimable="false" msg="ItemMsgPickUpSelect" />
<ItemContainer capacity="36" canbeselected="false" hideitems="true" keepopenwhenequipped="true" movableframe="true"> <ItemContainer capacity="50" canbeselected="false" hideitems="true" keepopenwhenequipped="true" movableframe="true">
<Containable items="smallitem,organ,ammobox,deepdiving,mediumitem,largeitem" /> <Containable items="smallitem,organ,ammobox,deepdiving,mediumitem,largeitem" />
</ItemContainer> </ItemContainer>
</Item> </Item>
@@ -58,7 +58,7 @@
</StatusEffect> </StatusEffect>
</Attack> </Attack>
</MeleeWeapon> </MeleeWeapon>
<ItemContainer capacity="18" keepopenwhenequipped="true" movableframe="true"> <ItemContainer capacity="50" keepopenwhenequipped="true" movableframe="true">
<Containable items="smallitem,organ,ammobox,deepdiving,mediumitem,largeitem" /> <Containable items="smallitem,organ,ammobox,deepdiving,mediumitem,largeitem" />
</ItemContainer> </ItemContainer>
<aitarget sightrange="1000" soundrange="1000" fadeouttime="2" /> <aitarget sightrange="1000" soundrange="1000" fadeouttime="2" />
@@ -90,7 +90,7 @@
</StatusEffect> </StatusEffect>
</Attack> </Attack>
</MeleeWeapon> </MeleeWeapon>
<ItemContainer capacity="27" keepopenwhenequipped="true" movableframe="true"> <ItemContainer capacity="50" keepopenwhenequipped="true" movableframe="true">
<Containable items="medical,chem,organ,ammobox,deepdiving,smallitem,mediumitem,largeitem" /> <Containable items="medical,chem,organ,ammobox,deepdiving,smallitem,mediumitem,largeitem" />
</ItemContainer> </ItemContainer>
<aitarget sightrange="1000" soundrange="1000" fadeouttime="2" /> <aitarget sightrange="1000" soundrange="1000" fadeouttime="2" />
@@ -121,7 +121,7 @@
</StatusEffect> </StatusEffect>
</Attack> </Attack>
</MeleeWeapon> </MeleeWeapon>
<ItemContainer capacity="36" keepopenwhenequipped="true" movableframe="true"> <ItemContainer capacity="50" keepopenwhenequipped="true" movableframe="true">
<Containable items="surgerytool,ammobox,deepdiving,smallitem,mediumitem,largeitem" /> <Containable items="surgerytool,ammobox,deepdiving,smallitem,mediumitem,largeitem" />
</ItemContainer> </ItemContainer>
<aitarget sightrange="1000" soundrange="1000" fadeouttime="2" /> <aitarget sightrange="1000" soundrange="1000" fadeouttime="2" />
@@ -142,7 +142,7 @@
<Sprite texture="%ModDir%/Images/InGameItemIconAtlas.png" depth="0.54" sourcerect="158,578,146,82" origin="0.5,0.5" /> <Sprite texture="%ModDir%/Images/InGameItemIconAtlas.png" depth="0.54" sourcerect="158,578,146,82" origin="0.5,0.5" />
<Body width="145" height="85" density="50" /> <Body width="145" height="85" density="50" />
<Holdable slots="RightHand+LeftHand" holdpos="0,-80" handle1="-20,14" handle2="20,14" aimable="false" msg="ItemMsgPickUpSelect" /> <Holdable slots="RightHand+LeftHand" holdpos="0,-80" handle1="-20,14" handle2="20,14" aimable="false" msg="ItemMsgPickUpSelect" />
<ItemContainer capacity="27" canbeselected="false" hideitems="true" keepopenwhenequipped="true" movableframe="true"> <ItemContainer capacity="50" canbeselected="false" hideitems="true" keepopenwhenequipped="true" movableframe="true">
<Containable items="medtoolbox,medical,surgerytoolbox,ammobox,deepdiving,smallitem,mediumitem,largeitem" /> <Containable items="medtoolbox,medical,surgerytoolbox,ammobox,deepdiving,smallitem,mediumitem,largeitem" />
</ItemContainer> </ItemContainer>
<ItemComponent> <ItemComponent>

View File

@@ -52,20 +52,20 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.15,0.6" minsize="300,450" maxsize="380,500" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.15,0.6" minsize="300,450" maxsize="380,500" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="alive_out" displayname="connection.aliveout" maxwires="10" /> <output name="alive_out" displayname="connection.aliveout" maxwires="40" />
<output name="conscious_out" displayname="connection.consciousout" maxwires="10" /> <output name="conscious_out" displayname="connection.consciousout" maxwires="40" />
<output name="name_out" displayname="connection.nameout" maxwires="10" /> <output name="name_out" displayname="connection.nameout" maxwires="40" />
<output name="vitality_out" displayname="connection.vitalityout" maxwires="10" /> <output name="vitality_out" displayname="connection.vitalityout" maxwires="40" />
<output name="heartrate_out" displayname="connection.heartrateout" maxwires="10" /> <output name="heartrate_out" displayname="connection.heartrateout" maxwires="40" />
<output name="breathingrate_out" displayname="connection.breathingrateout" maxwires="10" /> <output name="breathingrate_out" displayname="connection.breathingrateout" maxwires="40" />
<output name="bloodpressure_out" displayname="connection.bloodpressureout" maxwires="10" /> <output name="bloodpressure_out" displayname="connection.bloodpressureout" maxwires="40" />
<output name="bloodoxygen_out" displayname="connection.bloodoxygenout" maxwires="10" /> <output name="bloodoxygen_out" displayname="connection.bloodoxygenout" maxwires="40" />
<output name="neurotrauma_out" displayname="connection.neurotraumaout" maxwires="10" /> <output name="neurotrauma_out" displayname="connection.neurotraumaout" maxwires="40" />
<output name="organdamage_out" displayname="connection.organdamageout" maxwires="10" /> <output name="organdamage_out" displayname="connection.organdamageout" maxwires="40" />
<output name="insurgery_out" displayname="connection.insurgeryout" maxwires="10" /> <output name="insurgery_out" displayname="connection.insurgeryout" maxwires="40" />
<output name="causeofdeath_out" displayname="connection.causeofdeathout" maxwires="10" /> <output name="causeofdeath_out" displayname="connection.causeofdeathout" maxwires="40" />
<output name="bloodph_out" displayname="connection.bloodphout" maxwires="10" /> <output name="bloodph_out" displayname="connection.bloodphout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="wheelchair" category="Equipment" tags="provocative,mediumitem" scale="0.5" fireproof="false" description="" cargocontaineridentifier="metalcrate" impactsoundtag="impact_metal_heavy"> <Item name="" identifier="wheelchair" category="Equipment" tags="provocative,mediumitem" scale="0.5" fireproof="false" description="" cargocontaineridentifier="metalcrate" impactsoundtag="impact_metal_heavy">

View File

@@ -44,7 +44,7 @@
</MeleeWeapon> </MeleeWeapon>
<aitarget sightrange="500" soundrange="500" fadeouttime="1" /> <aitarget sightrange="500" soundrange="500" fadeouttime="1" />
<Quality> <Quality>
<QualityStat stattype="RepairSpeed" value="0.3" /> <QualityStat stattype="RepairSpeed" value="0.9" />
</Quality> </Quality>
<Upgrade gameversion="0.10.0.0" scale="0.5" /> <Upgrade gameversion="0.10.0.0" scale="0.5" />
<SkillRequirementHint identifier="medical" level="60" /> <SkillRequirementHint identifier="medical" level="60" />
@@ -332,20 +332,20 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.15,0.6" minsize="300,450" maxsize="380,500" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.15,0.6" minsize="300,450" maxsize="380,500" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="alive_out" displayname="connection.aliveout" maxwires="10" /> <output name="alive_out" displayname="connection.aliveout" maxwires="40" />
<output name="conscious_out" displayname="connection.consciousout" maxwires="10" /> <output name="conscious_out" displayname="connection.consciousout" maxwires="40" />
<output name="name_out" displayname="connection.nameout" maxwires="10" /> <output name="name_out" displayname="connection.nameout" maxwires="40" />
<output name="vitality_out" displayname="connection.vitalityout" maxwires="10" /> <output name="vitality_out" displayname="connection.vitalityout" maxwires="40" />
<output name="heartrate_out" displayname="connection.heartrateout" maxwires="10" /> <output name="heartrate_out" displayname="connection.heartrateout" maxwires="40" />
<output name="breathingrate_out" displayname="connection.breathingrateout" maxwires="10" /> <output name="breathingrate_out" displayname="connection.breathingrateout" maxwires="40" />
<output name="bloodpressure_out" displayname="connection.bloodpressureout" maxwires="10" /> <output name="bloodpressure_out" displayname="connection.bloodpressureout" maxwires="40" />
<output name="bloodoxygen_out" displayname="connection.bloodoxygenout" maxwires="10" /> <output name="bloodoxygen_out" displayname="connection.bloodoxygenout" maxwires="40" />
<output name="neurotrauma_out" displayname="connection.neurotraumaout" maxwires="10" /> <output name="neurotrauma_out" displayname="connection.neurotraumaout" maxwires="40" />
<output name="organdamage_out" displayname="connection.organdamageout" maxwires="10" /> <output name="organdamage_out" displayname="connection.organdamageout" maxwires="40" />
<output name="insurgery_out" displayname="connection.insurgeryout" maxwires="10" /> <output name="insurgery_out" displayname="connection.insurgeryout" maxwires="40" />
<output name="causeofdeath_out" displayname="connection.causeofdeathout" maxwires="10" /> <output name="causeofdeath_out" displayname="connection.causeofdeathout" maxwires="40" />
<output name="bloodph_out" displayname="connection.bloodphout" maxwires="10" /> <output name="bloodph_out" displayname="connection.bloodphout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="opdeco_bunkbeds" width="356" height="264" texturescale="1.0,1.0" scale="0.5" category="Decorative" spritecolor="255,255,255,255"> <Item name="" identifier="opdeco_bunkbeds" width="356" height="264" texturescale="1.0,1.0" scale="0.5" category="Decorative" spritecolor="255,255,255,255">
@@ -1301,7 +1301,7 @@
</MeleeWeapon> </MeleeWeapon>
<aitarget sightrange="500" soundrange="250" fadeouttime="1" /> <aitarget sightrange="500" soundrange="250" fadeouttime="1" />
<Quality> <Quality>
<QualityStat stattype="StrikingPowerMultiplier" value="0.3" /> <QualityStat stattype="StrikingPowerMultiplier" value="0.9" />
</Quality> </Quality>
<Upgrade gameversion="0.10.0.0" scale="0.5" /> <Upgrade gameversion="0.10.0.0" scale="0.5" />
<SkillRequirementHint identifier="medical" level="30" /> <SkillRequirementHint identifier="medical" level="30" />
@@ -1583,7 +1583,7 @@
<Holdable slots="Any,RightHand,LeftHand" handle1="0,0" holdangle="60" msg="ItemMsgPickUpSelect"></Holdable> <Holdable slots="Any,RightHand,LeftHand" handle1="0,0" holdangle="60" msg="ItemMsgPickUpSelect"></Holdable>
<aitarget sightrange="500" soundrange="500" fadeouttime="1" /> <aitarget sightrange="500" soundrange="500" fadeouttime="1" />
<Quality> <Quality>
<QualityStat stattype="RepairSpeed" value="0.3" /> <QualityStat stattype="RepairSpeed" value="0.9" />
</Quality> </Quality>
</Item> </Item>
</Items> </Items>

View File

@@ -28,7 +28,7 @@
<input name="trigger_in" displayname="connection.turrettriggerin" /> <input name="trigger_in" displayname="connection.turrettriggerin" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<CustomInterface canbeselected="true" pickkey="Use" drawhudwhenequipped="true" allowuioverlap="false"> <CustomInterface canbeselected="true" pickkey="Use" drawhudwhenequipped="true" allowuioverlap="false">
<GuiFrame style="ItemUI" absoluteoffset="0,0" anchor="BottomCenter" relativesize="0.2,0.13" /> <GuiFrame style="ItemUI" absoluteoffset="0,0" anchor="BottomCenter" relativesize="0.2,0.13" />

View File

@@ -229,7 +229,7 @@
<Item name="" identifier="railgunshellrackwrecked" nameidentifier="railgunshellrack" variantof="railgunshellrack" tags="container,wreckrailgunammocontainer" category="Wrecked"> <Item name="" identifier="railgunshellrackwrecked" nameidentifier="railgunshellrack" variantof="railgunshellrack" tags="container,wreckrailgunammocontainer" category="Wrecked">
<Upgrade gameversion="0.20.4.0" scale="0.5" condition="0" /> <Upgrade gameversion="0.20.4.0" scale="0.5" condition="0" />
<Sprite texture="Content/Items/Shipwrecks/MiscWrecked.png" sourcerect="936,1869,182,176" /> <Sprite texture="Content/Items/Shipwrecks/MiscWrecked.png" sourcerect="936,1869,182,176" />
<ItemContainer hideitems="false" drawinventory="true" capacity="12" slotsperrow="4" itempos="42,-60" iteminterval="32,0" itemrotation="90" containedspritedepth="0.845" canbeselected="true" msg="ItemMsgInteractSelect"> <ItemContainer hideitems="false" drawinventory="true" capacity="36" slotsperrow="6" itempos="42,-60" iteminterval="32,0" itemrotation="90" containedspritedepth="0.845" canbeselected="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.3,0.2" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.3,0.2" anchor="Center" style="ItemUI" />
<Containable items="railgunammo" /> <Containable items="railgunammo" />
</ItemContainer> </ItemContainer>
@@ -240,7 +240,7 @@
<SwappableItem canbebought="false" origin="149,276" /> <SwappableItem canbebought="false" origin="149,276" />
<Sprite texture="Content/Items/Weapons/LegacyLoaders.png" depth="0.8" sourcerect="0,0,298,276" origin="0.5,0.5" /> <Sprite texture="Content/Items/Weapons/LegacyLoaders.png" depth="0.8" sourcerect="0,0,298,276" origin="0.5,0.5" />
<BrokenSprite texture="Content/Map/Outposts/AbandonedOutpost/RustedDecalItem.png" sourcerect="463,269,289,286" offset="0,0" depth="0.8" origin="0.5,0.5" scale="true" fadein="true" maxcondition="80" /> <BrokenSprite texture="Content/Map/Outposts/AbandonedOutpost/RustedDecalItem.png" sourcerect="463,269,289,286" offset="0,0" depth="0.8" origin="0.5,0.5" scale="true" fadein="true" maxcondition="80" />
<ItemContainer hideitems="false" drawinventory="true" capacity="15" slotsperrow="4" itempos="53,-140" iteminterval="48,0" itemrotation="90" canbeselected="true" msg="ItemMsgInteractSelect"> <ItemContainer hideitems="false" drawinventory="true" capacity="45" slotsperrow="7" itempos="53,-140" iteminterval="48,0" itemrotation="90" canbeselected="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.3,0.2" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.3,0.2" anchor="Center" style="ItemUI" />
<Containable items="railgunammo" /> <Containable items="railgunammo" />
</ItemContainer> </ItemContainer>

View File

@@ -64,17 +64,17 @@
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="transducer_in" displayname="connection.sonartransducerin" /> <input name="transducer_in" displayname="connection.sonartransducerin" />
<input name="velocity_in" displayname="connection.steeringvelocityin" /> <input name="velocity_in" displayname="connection.steeringvelocityin" />
<output name="velocity_x_out" displayname="connection.velocityxout" maxwires="10" /> <output name="velocity_x_out" displayname="connection.velocityxout" maxwires="40" />
<output name="velocity_y_out" displayname="connection.velocityyout" maxwires="10" /> <output name="velocity_y_out" displayname="connection.velocityyout" maxwires="40" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="10" /> <output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="40" />
<output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="10" /> <output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="40" />
<output name="toggle_docking" displayname="connection.toggledocking" maxwires="10" /> <output name="toggle_docking" displayname="connection.toggledocking" maxwires="40" />
<output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="10" /> <output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="40" />
<output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="10" /> <output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="40" />
<output name="current_position_x" displayname="connection.currentpositionx" maxwires="10" /> <output name="current_position_x" displayname="connection.currentpositionx" maxwires="40" />
<output name="current_position_y" displayname="connection.currentpositiony" maxwires="10" /> <output name="current_position_y" displayname="connection.currentpositiony" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.125" mindeteriorationdelay="180" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.125" mindeteriorationdelay="180" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,280" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,280" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />
@@ -120,7 +120,7 @@
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="water_data_in" displayname="connection.waterdatain" /> <input name="water_data_in" displayname="connection.waterdatain" />
<input name="oxygen_data_in" displayname="connection.oxygendatain" /> <input name="oxygen_data_in" displayname="connection.oxygendatain" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.15" mindeteriorationdelay="120" maxdeteriorationdelay="480" MinDeteriorationCondition="0" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.15" mindeteriorationdelay="120" maxdeteriorationdelay="480" MinDeteriorationCondition="0" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,280" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,280" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />

View File

@@ -83,17 +83,17 @@
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="transducer_in" displayname="connection.sonartransducerin" /> <input name="transducer_in" displayname="connection.sonartransducerin" />
<input name="velocity_in" displayname="connection.steeringvelocityin" /> <input name="velocity_in" displayname="connection.steeringvelocityin" />
<output name="velocity_x_out" displayname="connection.velocityxout" maxwires="10" /> <output name="velocity_x_out" displayname="connection.velocityxout" maxwires="40" />
<output name="velocity_y_out" displayname="connection.velocityyout" maxwires="10" /> <output name="velocity_y_out" displayname="connection.velocityyout" maxwires="40" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="10" /> <output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="40" />
<output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="10" /> <output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="40" />
<output name="toggle_docking" displayname="connection.toggledocking" maxwires="10" /> <output name="toggle_docking" displayname="connection.toggledocking" maxwires="40" />
<output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="10" /> <output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="40" />
<output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="10" /> <output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="40" />
<output name="current_position_x" displayname="connection.currentpositionx" maxwires="10" /> <output name="current_position_x" displayname="connection.currentpositionx" maxwires="40" />
<output name="current_position_y" displayname="connection.currentpositiony" maxwires="10" /> <output name="current_position_y" displayname="connection.currentpositiony" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" fixDurationHighSkill="5" fixDurationLowSkill="15" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" fixDurationHighSkill="5" fixDurationLowSkill="15" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />

View File

@@ -72,20 +72,20 @@
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="transducer_in" displayname="connection.sonartransducerin" /> <input name="transducer_in" displayname="connection.sonartransducerin" />
<input name="velocity_in" displayname="connection.steeringvelocityin" /> <input name="velocity_in" displayname="connection.steeringvelocityin" />
<output name="velocity_x_out" displayname="connection.velocityxout" maxwires="10" /> <output name="velocity_x_out" displayname="connection.velocityxout" maxwires="40" />
<output name="velocity_y_out" displayname="connection.velocityyout" maxwires="10" /> <output name="velocity_y_out" displayname="connection.velocityyout" maxwires="40" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="10" /> <output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="40" />
<output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="10" /> <output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="40" />
<output name="signal_out4" displayname="connection.signaloutx~[num]=4" maxwires="10" /> <output name="signal_out4" displayname="connection.signaloutx~[num]=4" maxwires="40" />
<output name="signal_out5" displayname="connection.signaloutx~[num]=5" maxwires="10" /> <output name="signal_out5" displayname="connection.signaloutx~[num]=5" maxwires="40" />
<output name="signal_out6" displayname="connection.signaloutx~[num]=6" maxwires="10" /> <output name="signal_out6" displayname="connection.signaloutx~[num]=6" maxwires="40" />
<output name="toggle_docking" displayname="connection.toggledocking" maxwires="10" /> <output name="toggle_docking" displayname="connection.toggledocking" maxwires="40" />
<output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="10" /> <output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="40" />
<output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="10" /> <output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="40" />
<output name="current_position_x" displayname="connection.currentpositionx" maxwires="10" /> <output name="current_position_x" displayname="connection.currentpositionx" maxwires="40" />
<output name="current_position_y" displayname="connection.currentpositiony" maxwires="10" /> <output name="current_position_y" displayname="connection.currentpositiony" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.125" mindeteriorationdelay="180" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.125" mindeteriorationdelay="180" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />
@@ -165,15 +165,15 @@
<input name="transducer_in" displayname="connection.sonartransducerin" /> <input name="transducer_in" displayname="connection.sonartransducerin" />
<input name="velocity_in" displayname="connection.steeringvelocityin" /> <input name="velocity_in" displayname="connection.steeringvelocityin" />
<input name="signal_in" displayname="connection.signalin" /> <input name="signal_in" displayname="connection.signalin" />
<output name="velocity_x_out" displayname="connection.velocityxout" maxwires="10" /> <output name="velocity_x_out" displayname="connection.velocityxout" maxwires="40" />
<output name="velocity_y_out" displayname="connection.velocityyout" maxwires="10" /> <output name="velocity_y_out" displayname="connection.velocityyout" maxwires="40" />
<output name="signal_out" displayname="connection.signalout" maxwires="10" /> <output name="signal_out" displayname="connection.signalout" maxwires="40" />
<output name="toggle_docking" displayname="connection.toggledocking" maxwires="10" /> <output name="toggle_docking" displayname="connection.toggledocking" maxwires="40" />
<output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="10" /> <output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="40" />
<output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="10" /> <output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="40" />
<output name="current_position_x" displayname="connection.currentpositionx" maxwires="10" /> <output name="current_position_x" displayname="connection.currentpositionx" maxwires="40" />
<output name="current_position_y" displayname="connection.currentpositiony" maxwires="10" /> <output name="current_position_y" displayname="connection.currentpositiony" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.125" mindeteriorationdelay="180" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.125" mindeteriorationdelay="180" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />

View File

@@ -2,21 +2,21 @@
<Items> <Items>
<Item name="Medium Windowed Storage Locker" identifier="Storage_Locker_01" tags="locker, container,suppliescontainer" linkable="true" pickdistance="150" scale="0.446"> <Item name="Medium Windowed Storage Locker" identifier="Storage_Locker_01" tags="locker, container,suppliescontainer" linkable="true" pickdistance="150" scale="0.446">
<Sprite texture="containers_01.png" depth="0.84" sourcerect="0,0,118,431" origin="0.5,0.5" /> <Sprite texture="containers_01.png" depth="0.84" sourcerect="0,0,118,431" origin="0.5,0.5" />
<ItemContainer capacity="45" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect"> <ItemContainer capacity="50" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" />
<Containable items="smallitem,mediumitem,ammobox,deepdiving,largeitem" /> <Containable items="smallitem,mediumitem,ammobox,deepdiving,largeitem" />
</ItemContainer> </ItemContainer>
</Item> </Item>
<Item name="Medium Storage Locker" identifier="Storage_Locker_02" tags="locker, container,suppliescontainer" linkable="true" pickdistance="150" scale="0.446"> <Item name="Medium Storage Locker" identifier="Storage_Locker_02" tags="locker, container,suppliescontainer" linkable="true" pickdistance="150" scale="0.446">
<Sprite texture="containers_01.png" depth="0.84" sourcerect="118,0,118,431" origin="0.5,0.5" /> <Sprite texture="containers_01.png" depth="0.84" sourcerect="118,0,118,431" origin="0.5,0.5" />
<ItemContainer capacity="45" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect"> <ItemContainer capacity="50" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" />
<Containable items="smallitem,mediumitem,ammobox,deepdiving,largeitem" /> <Containable items="smallitem,mediumitem,ammobox,deepdiving,largeitem" />
</ItemContainer> </ItemContainer>
</Item> </Item>
<Item name="Reactor Fuel Storage" identifier="Storage_Locker_03" tags="locker, container,reactorcab" linkable="true" pickdistance="150" scale="0.446"> <Item name="Reactor Fuel Storage" identifier="Storage_Locker_03" tags="locker, container,reactorcab" linkable="true" pickdistance="150" scale="0.446">
<Sprite texture="containers_01.png" depth="0.84" sourcerect="242,0,108,428" origin="0.5,0.5" /> <Sprite texture="containers_01.png" depth="0.84" sourcerect="242,0,108,428" origin="0.5,0.5" />
<ItemContainer capacity="45" slotsperrow="7" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect"> <ItemContainer capacity="50" slotsperrow="8" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" />
<Containable items="smallitem,mediumitem,ammobox,deepdiving,largeitem" /> <Containable items="smallitem,mediumitem,ammobox,deepdiving,largeitem" />
</ItemContainer> </ItemContainer>
@@ -38,14 +38,14 @@
</Item> </Item>
<Item name="Cargo Access" identifier="cargoaccess" tags="cargocontainer, container" linkable="true" pickdistance="150" waterproof="true" scale="0.5"> <Item name="Cargo Access" identifier="cargoaccess" tags="cargocontainer, container" linkable="true" pickdistance="150" waterproof="true" scale="0.5">
<Sprite texture="containers_01.png" depth="0.84" sourcerect="0,579,474,445" origin="0.5,0.5" /> <Sprite texture="containers_01.png" depth="0.84" sourcerect="0,579,474,445" origin="0.5,0.5" />
<ItemContainer capacity="30" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect"> <ItemContainer capacity="50" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" />
<Containable items="crate,ammobox,deepdiving,smallitem,mediumitem,largeitem" /> <Containable items="crate,ammobox,deepdiving,smallitem,mediumitem,largeitem" />
</ItemContainer> </ItemContainer>
</Item> </Item>
<Item name="Chemical Storage container" identifier="chem_container" tags="locker, container,suppliescontainer" linkable="true" pickdistance="150" waterproof="true" scale="0.446"> <Item name="Chemical Storage container" identifier="chem_container" tags="locker, container,suppliescontainer" linkable="true" pickdistance="150" waterproof="true" scale="0.446">
<Sprite texture="containers_01.png" depth="0.84" sourcerect="480,833,538,170" origin="0.5,0.5" /> <Sprite texture="containers_01.png" depth="0.84" sourcerect="480,833,538,170" origin="0.5,0.5" />
<ItemContainer capacity="45" slotsperrow="7" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect"> <ItemContainer capacity="50" slotsperrow="8" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" />
<Containable items="smallitem,mediumitem,ammobox,deepdiving,largeitem" /> <Containable items="smallitem,mediumitem,ammobox,deepdiving,largeitem" />
</ItemContainer> </ItemContainer>

View File

@@ -23,7 +23,7 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
</ConnectionPanel> </ConnectionPanel>
<ItemContainer hideitems="false" drawinventory="true" capacity="15" maxstacksize="60" slotsperrow="4" itempos="132,-44" iteminterval="0,-65" itemrotation="0" containedspritedepth="0.83" canbeselected="true" msg="ItemMsgInteractSelect"> <ItemContainer hideitems="false" drawinventory="true" capacity="45" maxstacksize="60" slotsperrow="7" itempos="132,-44" iteminterval="0,-65" itemrotation="0" containedspritedepth="0.83" canbeselected="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.25,0.2" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.2" anchor="Center" style="ItemUI" />
<Containable items="deepdiving,divingsuit,abyssdivingsuit,combatdivingsuit,pucs,slipsuit" /> <Containable items="deepdiving,divingsuit,abyssdivingsuit,combatdivingsuit,pucs,slipsuit" />
</ItemContainer> </ItemContainer>
@@ -56,7 +56,7 @@
<Item name="" identifier="ekdockyard_cargocompartment_style1" tags="container,crateshelf,cargocontainer" linkable="true" pickdistance="150" scale="0.5"> <Item name="" identifier="ekdockyard_cargocompartment_style1" tags="container,crateshelf,cargocontainer" linkable="true" pickdistance="150" scale="0.5">
<Sprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.8" sourcerect="0,0,320,416" origin="0.5,0.5" /> <Sprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.8" sourcerect="0,0,320,416" origin="0.5,0.5" />
<DecorativeSprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.85" sourcerect="336,0,288,416" origin="0.5,0.5" /> <DecorativeSprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.85" sourcerect="336,0,288,416" origin="0.5,0.5" />
<ItemContainer capacity="24" maxstacksize="60" slotsperrow="5" canbeselected="true" hideitems="false" itempos="92,-368" iteminterval="136,105" itemsperrow="2" msg="ItemMsgInteractSelect" containedspritedepths="0.81,0.82,0.81,0.82,0.81,0.82,0.81,0.82"> <ItemContainer capacity="50" maxstacksize="60" slotsperrow="8" canbeselected="true" hideitems="false" itempos="92,-368" iteminterval="136,105" itemsperrow="2" msg="ItemMsgInteractSelect" containedspritedepths="0.81,0.82,0.81,0.82,0.81,0.82,0.81,0.82">
<GuiFrame relativesize="0.25,0.3" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.3" anchor="Center" style="ItemUI" />
<Containable items="crate,ek_ammocrate_small,coilgunammobox,coilgunammo,chaingunammo,pulselaserammo,ammobox,depthchargeammo,ita_cratebulk,duffelbag,ita_duffelbag1,ek_densifiedresource" /> <Containable items="crate,ek_ammocrate_small,coilgunammobox,coilgunammo,chaingunammo,pulselaserammo,ammobox,depthchargeammo,ita_cratebulk,duffelbag,ita_duffelbag1,ek_densifiedresource" />
</ItemContainer> </ItemContainer>
@@ -64,7 +64,7 @@
<Item name="" identifier="ekdockyard_cargocompartment_style2" tags="container,crateshelf,cargocontainer" linkable="true" pickdistance="150" scale="0.5"> <Item name="" identifier="ekdockyard_cargocompartment_style2" tags="container,crateshelf,cargocontainer" linkable="true" pickdistance="150" scale="0.5">
<Sprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.8" sourcerect="0,0,320,208" origin="0.5,0.5" /> <Sprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.8" sourcerect="0,0,320,208" origin="0.5,0.5" />
<DecorativeSprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.85" sourcerect="640,208,288,208" origin="0.5,0.5" /> <DecorativeSprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.85" sourcerect="640,208,288,208" origin="0.5,0.5" />
<ItemContainer capacity="12" maxstacksize="60" slotsperrow="4" canbeselected="true" hideitems="false" itempos="92,-158" iteminterval="136,105" itemsperrow="2" msg="ItemMsgInteractSelect" containedspritedepths="0.81,0.82,0.81,0.82"> <ItemContainer capacity="36" maxstacksize="60" slotsperrow="6" canbeselected="true" hideitems="false" itempos="92,-158" iteminterval="136,105" itemsperrow="2" msg="ItemMsgInteractSelect" containedspritedepths="0.81,0.82,0.81,0.82">
<GuiFrame relativesize="0.25,0.3" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.3" anchor="Center" style="ItemUI" />
<Containable items="crate,ek_ammocrate_small,coilgunammobox,coilgunammo,chaingunammo,pulselaserammo,ammobox,depthchargeammo,ita_cratebulk,duffelbag,ita_duffelbag1,ek_densifiedresource" /> <Containable items="crate,ek_ammocrate_small,coilgunammobox,coilgunammo,chaingunammo,pulselaserammo,ammobox,depthchargeammo,ita_cratebulk,duffelbag,ita_duffelbag1,ek_densifiedresource" />
</ItemContainer> </ItemContainer>
@@ -72,7 +72,7 @@
<Item name="" identifier="ekdockyard_cargocompartment_style3" tags="container,crateshelf,cargocontainer" linkable="true" pickdistance="150" scale="0.5"> <Item name="" identifier="ekdockyard_cargocompartment_style3" tags="container,crateshelf,cargocontainer" linkable="true" pickdistance="150" scale="0.5">
<Sprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.8" sourcerect="640,0,624,208" origin="0.5,0.5" /> <Sprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.8" sourcerect="640,0,624,208" origin="0.5,0.5" />
<DecorativeSprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.85" sourcerect="640,208,592,208" origin="0.5,0.5" /> <DecorativeSprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.85" sourcerect="640,208,592,208" origin="0.5,0.5" />
<ItemContainer capacity="24" maxstacksize="60" slotsperrow="5" canbeselected="true" hideitems="false" itempos="86,-158" iteminterval="150,105" itemsperrow="4" msg="ItemMsgInteractSelect" containedspritedepths="0.81,0.82,0.81,0.82,0.81,0.82,0.81,0.82"> <ItemContainer capacity="50" maxstacksize="60" slotsperrow="8" canbeselected="true" hideitems="false" itempos="86,-158" iteminterval="150,105" itemsperrow="4" msg="ItemMsgInteractSelect" containedspritedepths="0.81,0.82,0.81,0.82,0.81,0.82,0.81,0.82">
<GuiFrame relativesize="0.25,0.3" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.3" anchor="Center" style="ItemUI" />
<Containable items="crate,ek_ammocrate_small,coilgunammobox,coilgunammo,chaingunammo,pulselaserammo,ammobox,depthchargeammo,ita_cratebulk,duffelbag,ita_duffelbag1,ek_densifiedresource" /> <Containable items="crate,ek_ammocrate_small,coilgunammobox,coilgunammo,chaingunammo,pulselaserammo,ammobox,depthchargeammo,ita_cratebulk,duffelbag,ita_duffelbag1,ek_densifiedresource" />
</ItemContainer> </ItemContainer>
@@ -80,7 +80,7 @@
<Item name="" identifier="ekdockyard_cargocompartment_style4" tags="container,crateshelf,cargocontainer" linkable="true" pickdistance="150" scale="0.5"> <Item name="" identifier="ekdockyard_cargocompartment_style4" tags="container,crateshelf,cargocontainer" linkable="true" pickdistance="150" scale="0.5">
<Sprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.8" sourcerect="640,0,624,104" origin="0.5,0.5" /> <Sprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.8" sourcerect="640,0,624,104" origin="0.5,0.5" />
<DecorativeSprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.85" sourcerect="640,208,592,104" origin="0.5,0.5" /> <DecorativeSprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.85" sourcerect="640,208,592,104" origin="0.5,0.5" />
<ItemContainer capacity="12" maxstacksize="60" slotsperrow="4" canbeselected="true" hideitems="false" itempos="86,-54" iteminterval="150,0" itemsperrow="4" msg="ItemMsgInteractSelect" containedspritedepths="0.81,0.82,0.81,0.82,0.81,0.82,0.81,0.82"> <ItemContainer capacity="36" maxstacksize="60" slotsperrow="6" canbeselected="true" hideitems="false" itempos="86,-54" iteminterval="150,0" itemsperrow="4" msg="ItemMsgInteractSelect" containedspritedepths="0.81,0.82,0.81,0.82,0.81,0.82,0.81,0.82">
<GuiFrame relativesize="0.25,0.3" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.3" anchor="Center" style="ItemUI" />
<Containable items="crate,ek_ammocrate_small,coilgunammobox,coilgunammo,chaingunammo,pulselaserammo,ammobox,depthchargeammo,ita_cratebulk,duffelbag,ita_duffelbag1,ek_densifiedresource" /> <Containable items="crate,ek_ammocrate_small,coilgunammobox,coilgunammo,chaingunammo,pulselaserammo,ammobox,depthchargeammo,ita_cratebulk,duffelbag,ita_duffelbag1,ek_densifiedresource" />
</ItemContainer> </ItemContainer>
@@ -88,7 +88,7 @@
<Item name="" identifier="ekdockyard_cargocompartment_style5" tags="container,crateshelf,cargocontainer" linkable="true" pickdistance="150" scale="0.5"> <Item name="" identifier="ekdockyard_cargocompartment_style5" tags="container,crateshelf,cargocontainer" linkable="true" pickdistance="150" scale="0.5">
<Sprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.8" sourcerect="0,0,320,104" origin="0.5,0.5" /> <Sprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.8" sourcerect="0,0,320,104" origin="0.5,0.5" />
<DecorativeSprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.85" sourcerect="640,208,288,104" origin="0.5,0.5" /> <DecorativeSprite texture="%ModDir%/Items/Containers/variants_cargocompartments.png" depth="0.85" sourcerect="640,208,288,104" origin="0.5,0.5" />
<ItemContainer capacity="6" maxstacksize="60" slotsperrow="3" canbeselected="true" hideitems="false" itempos="92,-54" iteminterval="136,0" itemsperrow="2" msg="ItemMsgInteractSelect" containedspritedepths="0.81,0.82,0.81,0.82"> <ItemContainer capacity="18" maxstacksize="60" slotsperrow="5" canbeselected="true" hideitems="false" itempos="92,-54" iteminterval="136,0" itemsperrow="2" msg="ItemMsgInteractSelect" containedspritedepths="0.81,0.82,0.81,0.82">
<GuiFrame relativesize="0.25,0.3" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.3" anchor="Center" style="ItemUI" />
<Containable items="crate,ek_ammocrate_small,coilgunammobox,coilgunammo,chaingunammo,pulselaserammo,ammobox,depthchargeammo,ita_cratebulk,duffelbag,ita_duffelbag1,ek_densifiedresource" /> <Containable items="crate,ek_ammocrate_small,coilgunammobox,coilgunammo,chaingunammo,pulselaserammo,ammobox,depthchargeammo,ita_cratebulk,duffelbag,ita_duffelbag1,ek_densifiedresource" />
</ItemContainer> </ItemContainer>
@@ -104,7 +104,7 @@
<AnimationConditional IsActive="True" targetitemcomponent="LightComponent" /> <AnimationConditional IsActive="True" targetitemcomponent="LightComponent" />
<AnimationConditional Voltage="gt 0.5" targetitemcomponent="LightComponent" /> <AnimationConditional Voltage="gt 0.5" targetitemcomponent="LightComponent" />
</DecorativeSprite> </DecorativeSprite>
<ItemContainer capacity="24" maxstacksize="60" slotsperrow="5" canbeselected="true" hideitems="false" itempos="98,-368" iteminterval="138,105" itemsperrow="2" msg="ItemMsgInteractSelect" containedspritedepths="0.81,0.82,0.81,0.82,0.81,0.82,0.81,0.82"> <ItemContainer capacity="50" maxstacksize="60" slotsperrow="8" canbeselected="true" hideitems="false" itempos="98,-368" iteminterval="138,105" itemsperrow="2" msg="ItemMsgInteractSelect" containedspritedepths="0.81,0.82,0.81,0.82,0.81,0.82,0.81,0.82">
<GuiFrame relativesize="0.25,0.3" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.3" anchor="Center" style="ItemUI" />
<Containable identifiers="crate,ita_cratebulk,cratetall,ita_eggcrate,ita_eggcrate2,ek_crateperishable" /> <Containable identifiers="crate,ita_cratebulk,cratetall,ita_eggcrate,ita_eggcrate2,ek_crateperishable" />
<StatusEffect type="Always" targettype="Contained" targets="ita_eggcrate2" Condition="12.5" /> <StatusEffect type="Always" targettype="Contained" targets="ita_eggcrate2" Condition="12.5" />
@@ -151,7 +151,7 @@
description="" description=""
linkable="true" displaysidebysidewhenlinked="true" allowedlinks="ekdockyard_ioport_logistics" pickdistance="150" scale="0.5" waterproof="true" fireproof="true" explosiondamagemultiplier="0.1" spritecolor="200,200,200,255"> linkable="true" displaysidebysidewhenlinked="true" allowedlinks="ekdockyard_ioport_logistics" pickdistance="150" scale="0.5" waterproof="true" fireproof="true" explosiondamagemultiplier="0.1" spritecolor="200,200,200,255">
<Sprite texture="Mods/EK Gunnery/Items/Containers/ekgunnery_containers.png" depth="0.84" sourcerect="528,0,400,208" origin="0.5,0.5" /> <Sprite texture="Mods/EK Gunnery/Items/Containers/ekgunnery_containers.png" depth="0.84" sourcerect="528,0,400,208" origin="0.5,0.5" />
<ItemContainer autofill="False" capacity="6" slotsperrow="3" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect"> <ItemContainer autofill="False" capacity="18" slotsperrow="5" canbeselected="true" hideitems="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.15,0.35" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.15,0.35" anchor="Center" style="ItemUI" />
<Containable items="smallitem,ammobox,deepdiving,mediumitem,largeitem" /> <Containable items="smallitem,ammobox,deepdiving,mediumitem,largeitem" />
</ItemContainer> </ItemContainer>
@@ -163,7 +163,7 @@
<PowerContainer capacity="50" maxrechargespeed="0" maxoutput="0" canbeselected="false" msg="ItemMsgInteractSelect" charge="0" /> <PowerContainer capacity="50" maxrechargespeed="0" maxoutput="0" canbeselected="false" msg="ItemMsgInteractSelect" charge="0" />
<ItemContainer autofill="False" hideitems="true" drawinventory="true" capacity="6" maxstacksize="60" canbeselected="true" msg="ItemMsgInteractSelect" > <ItemContainer autofill="False" hideitems="true" drawinventory="true" capacity="18" maxstacksize="60" canbeselected="true" msg="ItemMsgInteractSelect" >
<Containable identifiers="ekdockyard_generatorfuel" /> <Containable identifiers="ekdockyard_generatorfuel" />
<SlotIcon slotindex="0" texture="%ModDir%/UI/ekdockyard_sloticons.png" sourcerect="0,0,64,64" origin="0.5,0.45" /> <SlotIcon slotindex="0" texture="%ModDir%/UI/ekdockyard_sloticons.png" sourcerect="0,0,64,64" origin="0.5,0.45" />
<SlotIcon slotindex="1" texture="%ModDir%/UI/ekdockyard_sloticons.png" sourcerect="64,0,64,64" origin="0.5,0.45" /> <SlotIcon slotindex="1" texture="%ModDir%/UI/ekdockyard_sloticons.png" sourcerect="64,0,64,64" origin="0.5,0.45" />

View File

@@ -46,7 +46,7 @@
</Item> </Item>
<Item name="" identifier="oxygear_supplies" tags="container,suppliescontainer,oxygear" category="Misc" linkable="true" pickdistance="150" showcontentsintooltip="true" scale="0.5" waterproof="true" fireproof="true"> <Item name="" identifier="oxygear_supplies" tags="container,suppliescontainer,oxygear" category="Misc" linkable="true" pickdistance="150" showcontentsintooltip="true" scale="0.5" waterproof="true" fireproof="true">
<Sprite texture="oxygear_supplies_v1.png" depth="0.84" sourcerect="0,0,117,129" origin="0.5,0.5" /> <Sprite texture="oxygear_supplies_v1.png" depth="0.84" sourcerect="0,0,117,129" origin="0.5,0.5" />
<ItemContainer hideitems="true" drawinventory="true" capacity="24" slotsperrow="5" autofill="False" canbeselected="true" msg="ItemMsgInteractSelect"> <ItemContainer hideitems="true" drawinventory="true" capacity="50" slotsperrow="8" autofill="False" canbeselected="true" msg="ItemMsgInteractSelect">
<RequiredItem items="idcard" type="Picked" msg="ItemMsgUnauthorizedAccess" ignoreineditor="true" /> <RequiredItem items="idcard" type="Picked" msg="ItemMsgUnauthorizedAccess" ignoreineditor="true" />
<GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" />
<Containable items="smallitem,mediumitem" /> <Containable items="smallitem,mediumitem" />
@@ -66,7 +66,7 @@
</Item> </Item>
<Item name="" identifier="oxygear_cargo" tags="container,oxygear,ammoboxcontainer,railgunammocontainer" category="Misc" linkable="true" pickdistance="150" showcontentsintooltip="true" scale="0.5" waterproof="true" fireproof="true"> <Item name="" identifier="oxygear_cargo" tags="container,oxygear,ammoboxcontainer,railgunammocontainer" category="Misc" linkable="true" pickdistance="150" showcontentsintooltip="true" scale="0.5" waterproof="true" fireproof="true">
<Sprite texture="oxygear_cargostorage.png" depth="0.84" sourcerect="0,0,189,185" origin="0.5,0.5" /> <Sprite texture="oxygear_cargostorage.png" depth="0.84" sourcerect="0,0,189,185" origin="0.5,0.5" />
<ItemContainer hideitems="true" drawinventory="true" capacity="24" slotsperrow="5" canbeselected="true" msg="ItemMsgInteractSelect"> <ItemContainer hideitems="true" drawinventory="true" capacity="50" slotsperrow="8" canbeselected="true" msg="ItemMsgInteractSelect">
<RequiredItem items="idcard" type="Picked" msg="ItemMsgUnauthorizedAccess" ignoreineditor="true" /> <RequiredItem items="idcard" type="Picked" msg="ItemMsgUnauthorizedAccess" ignoreineditor="true" />
<GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" />
<Containable items="ammobox,coilgunequipment,coilgunammo,railgunequipment,railgunammo,depthchargeammo" /> <Containable items="ammobox,coilgunequipment,coilgunammo,railgunequipment,railgunammo,depthchargeammo" />

View File

@@ -31,14 +31,14 @@
<RequiredItem identifier="screwdriver" type="Equipped" /> <RequiredItem identifier="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="10" /> <output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="40" />
<!-- Todo: wait for this to work <!-- Todo: wait for this to work
<output name="signal_0" displayname="connection.signalx~[num]=0" fallbackdisplayname="connection.signalinx~[num]=0" maxwires="10" /> <output name="signal_0" displayname="connection.signalx~[num]=0" fallbackdisplayname="connection.signalinx~[num]=0" maxwires="40" />
<output name="signal_1" displayname="connection.signalx~[num]=1" fallbackdisplayname="connection.signalinx~[num]=1" maxwires="10" /> <output name="signal_1" displayname="connection.signalx~[num]=1" fallbackdisplayname="connection.signalinx~[num]=1" maxwires="40" />
<output name="signal_2" displayname="connection.signalx~[num]=2" fallbackdisplayname="connection.signalinx~[num]=2" maxwires="10" /> <output name="signal_2" displayname="connection.signalx~[num]=2" fallbackdisplayname="connection.signalinx~[num]=2" maxwires="40" />
<output name="signal_3" displayname="connection.signalx~[num]=3" fallbackdisplayname="connection.signalinx~[num]=3" maxwires="10" /> <output name="signal_3" displayname="connection.signalx~[num]=3" fallbackdisplayname="connection.signalinx~[num]=3" maxwires="40" />
--> -->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
@@ -72,14 +72,14 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="10" /> <output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="40" />
<!-- Todo: wait for this to work <!-- Todo: wait for this to work
<output name="signal_0" displayname="connection.signalx~[num]=0" fallbackdisplayname="connection.signalinx~[num]=0" maxwires="10" /> <output name="signal_0" displayname="connection.signalx~[num]=0" fallbackdisplayname="connection.signalinx~[num]=0" maxwires="40" />
<output name="signal_1" displayname="connection.signalx~[num]=1" fallbackdisplayname="connection.signalinx~[num]=1" maxwires="10" /> <output name="signal_1" displayname="connection.signalx~[num]=1" fallbackdisplayname="connection.signalinx~[num]=1" maxwires="40" />
<output name="signal_2" displayname="connection.signalx~[num]=2" fallbackdisplayname="connection.signalinx~[num]=2" maxwires="10" /> <output name="signal_2" displayname="connection.signalx~[num]=2" fallbackdisplayname="connection.signalinx~[num]=2" maxwires="40" />
<output name="signal_3" displayname="connection.signalx~[num]=3" fallbackdisplayname="connection.signalinx~[num]=3" maxwires="10" /> <output name="signal_3" displayname="connection.signalx~[num]=3" fallbackdisplayname="connection.signalinx~[num]=3" maxwires="40" />
--> -->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
@@ -102,9 +102,9 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="10" /> <output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Docking Rail Horizontal" identifier="ekdockyard_dockingrailhorizontal" tags="dock" linkable="true" scale="0.5" description="A docking interface aligned along a horizontal rail." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false"> <Item name="Docking Rail Horizontal" identifier="ekdockyard_dockingrailhorizontal" tags="dock" linkable="true" scale="0.5" description="A docking interface aligned along a horizontal rail." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false">
@@ -125,9 +125,9 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="10" /> <output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Small Docking Port" identifier="ekdockyard_dockingportsmall" tags="dock" linkable="true" scale="0.5" description="A vertically aligned docking interface in a thin form-factor." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false"> <Item name="Small Docking Port" identifier="ekdockyard_dockingportsmall" tags="dock" linkable="true" scale="0.5" description="A vertically aligned docking interface in a thin form-factor." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false">
@@ -161,9 +161,9 @@
<RequiredItem identifier="screwdriver" type="Equipped" /> <RequiredItem identifier="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="power" displayname="connection.power" maxwires="24" maxplayerconnectablewires="5" /> <output name="power" displayname="connection.power" maxwires="96" maxplayerconnectablewires="5" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="10" /> <output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Small Docking Hatch" identifier="ekdockyard_dockinghatchsmall" tags="dock" linkable="true" scale="0.5" description="A horizontally aligned docking interface in a thin form-factor." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false"> <Item name="Small Docking Hatch" identifier="ekdockyard_dockinghatchsmall" tags="dock" linkable="true" scale="0.5" description="A horizontally aligned docking interface in a thin form-factor." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false">
@@ -197,9 +197,9 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="power" displayname="connection.power" maxwires="24" maxplayerconnectablewires="5" /> <output name="power" displayname="connection.power" maxwires="96" maxplayerconnectablewires="5" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="10" /> <output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Small Docking Port (Silent)" identifier="ekdockyard_dockingportsmallsilent" tags="dock" linkable="true" scale="0.5" description="A vertically aligned docking interface in a thin form-factor. Improved actuation mechanism and dampening systems allow for almost noiseless operation." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false"> <Item name="Small Docking Port (Silent)" identifier="ekdockyard_dockingportsmallsilent" tags="dock" linkable="true" scale="0.5" description="A vertically aligned docking interface in a thin form-factor. Improved actuation mechanism and dampening systems allow for almost noiseless operation." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false">
@@ -232,9 +232,9 @@
<RequiredItem identifier="screwdriver" type="Equipped" /> <RequiredItem identifier="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="power" displayname="connection.power" maxwires="24" maxplayerconnectablewires="5" /> <output name="power" displayname="connection.power" maxwires="96" maxplayerconnectablewires="5" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="10" /> <output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Small Docking Hatch (Silent)" identifier="ekdockyard_dockinghatchsmallsilent" tags="dock" linkable="true" scale="0.5" description="A vertically aligned docking interface in a thin form-factor. Improved actuation mechanism and dampening systems allow for almost noiseless operation." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false"> <Item name="Small Docking Hatch (Silent)" identifier="ekdockyard_dockinghatchsmallsilent" tags="dock" linkable="true" scale="0.5" description="A vertically aligned docking interface in a thin form-factor. Improved actuation mechanism and dampening systems allow for almost noiseless operation." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false">
@@ -267,9 +267,9 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="power" displayname="connection.power" maxwires="24" maxplayerconnectablewires="5" /> <output name="power" displayname="connection.power" maxwires="96" maxplayerconnectablewires="5" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="10" /> <output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Docking Port Micro" identifier="ekdockyard_dockingportmicro" tags="dock" linkable="true" scale="0.5" description="A vertically aligned docking interface in a very small form-factor." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false"> <Item name="Docking Port Micro" identifier="ekdockyard_dockingportmicro" tags="dock" linkable="true" scale="0.5" description="A vertically aligned docking interface in a very small form-factor." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false">
@@ -290,9 +290,9 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="10" /> <output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Docking Hach Micro" identifier="ekdockyard_dockinghatchmicro" tags="dock" linkable="true" scale="0.5" description="A horizontally aligned docking interface in a very small form-factor." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false"> <Item name="Docking Hach Micro" identifier="ekdockyard_dockinghatchmicro" tags="dock" linkable="true" scale="0.5" description="A horizontally aligned docking interface in a very small form-factor." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false">
@@ -313,9 +313,9 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="10" /> <output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Large Docking Port" identifier="ekdockyard_dockingportlarge" tags="dock" linkable="true" scale="0.5" description="A vertically aligned docking interface with increased diameter." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false"> <Item name="Large Docking Port" identifier="ekdockyard_dockingportlarge" tags="dock" linkable="true" scale="0.5" description="A vertically aligned docking interface with increased diameter." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false">
@@ -351,9 +351,9 @@
<RequiredItem identifier="screwdriver" type="Equipped" /> <RequiredItem identifier="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="power" displayname="connection.power" maxwires="24" maxplayerconnectablewires="5" /> <output name="power" displayname="connection.power" maxwires="96" maxplayerconnectablewires="5" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="10" /> <output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Large Docking Hatch" identifier="ekdockyard_dockinghatchlarge" tags="dock" linkable="true" scale="0.5" description="A horizontally aligned docking interface with increased diameter." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false"> <Item name="Large Docking Hatch" identifier="ekdockyard_dockinghatchlarge" tags="dock" linkable="true" scale="0.5" description="A horizontally aligned docking interface with increased diameter." indestructible="true" requirecursorinsidetrigger="true" requirebodyinsidetrigger="false">
@@ -389,9 +389,9 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="power" displayname="connection.power" maxwires="24" maxplayerconnectablewires="5" /> <output name="power" displayname="connection.power" maxwires="96" maxplayerconnectablewires="5" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="10" /> <output name="proximity_sensor" displayname="connection.dockingproximitysensor" fallbackdisplayname="label.readytodock" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
</Items> </Items>

View File

@@ -45,8 +45,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Glass Door with Buttons" identifier="ekdockyard_glassdoorwbuttons" tags="door" scale="0.5" description="A sliding door with a huge window and two integrated buttons." health="80" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" damagedbyprojectiles="false" damagedbymeleeweapons="true" explosiondamagemultiplier="0.5" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true"> <Item name="Glass Door with Buttons" identifier="ekdockyard_glassdoorwbuttons" tags="door" scale="0.5" description="A sliding door with a huge window and two integrated buttons." health="80" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" damagedbyprojectiles="false" damagedbymeleeweapons="true" explosiondamagemultiplier="0.5" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true">
@@ -93,8 +93,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Hatch" identifier="ekdockyard_glasshatch" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A windowed door, but on the horizontal axis. No integrated buttons - has to be wired manually." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Windowed Hatch" identifier="ekdockyard_glasshatch" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A windowed door, but on the horizontal axis. No integrated buttons - has to be wired manually." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -130,8 +130,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Hatch with Buttons" identifier="ekdockyard_glasshatchwbuttons" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,weldable" scale="0.5" description="A windowed door, but on the horizontal axis. Two integrated buttons." health="100" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" damagedbyprojectiles="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Windowed Hatch with Buttons" identifier="ekdockyard_glasshatchwbuttons" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,weldable" scale="0.5" description="A windowed door, but on the horizontal axis. Two integrated buttons." health="100" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" damagedbyprojectiles="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -170,8 +170,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<!-- Door Test --> <!-- Door Test -->
@@ -207,8 +207,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
--> -->
@@ -247,8 +247,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Short Door With Buttons" identifier="ekdockyard_shortdoorwbuttons" tags="door" scale="0.5" description="A door with the same size as a hatch with two integrated buttons." health="100" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true"> <Item name="Short Door With Buttons" identifier="ekdockyard_shortdoorwbuttons" tags="door" scale="0.5" description="A door with the same size as a hatch with two integrated buttons." health="100" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true">
@@ -289,8 +289,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<!-- Heavy Doors --> <!-- Heavy Doors -->
@@ -329,8 +329,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Heavy Door With Buttons" identifier="ekdockyard_heavydoorvanillawbuttons" tags="door" scale="0.5" description="A heavy bulkhead door with two integrated buttons." health="450" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.2" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true"> <Item name="Heavy Door With Buttons" identifier="ekdockyard_heavydoorvanillawbuttons" tags="door" scale="0.5" description="A heavy bulkhead door with two integrated buttons." health="450" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.2" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true">
@@ -372,8 +372,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Blast Door" identifier="ekdockyard_blastdoor" tags="door,weldable" scale="0.5" description="A heavily armored shutter. No integrated buttons - has to be wired manually." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.15" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true"> <Item name="Blast Door" identifier="ekdockyard_blastdoor" tags="door,weldable" scale="0.5" description="A heavily armored shutter. No integrated buttons - has to be wired manually." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.15" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true">
@@ -410,8 +410,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Blast Door With Buttons" identifier="ekdockyard_blastdoorwbuttons" tags="door" scale="0.5" description="A heavily armored shutter. No integrated buttons - has to be wired manually." health="350" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.15" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true"> <Item name="Blast Door With Buttons" identifier="ekdockyard_blastdoorwbuttons" tags="door" scale="0.5" description="A heavily armored shutter. No integrated buttons - has to be wired manually." health="350" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.15" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true">
@@ -453,8 +453,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Blast Hatch" identifier="ekdockyard_blasthatch" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A heavily armored shutter, but on the horizontal axis. No integrated buttons - has to be wired manually." health="350" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.15" allowrotatingineditor="false"> <Item name="Blast Hatch" identifier="ekdockyard_blasthatch" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A heavily armored shutter, but on the horizontal axis. No integrated buttons - has to be wired manually." health="350" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.15" allowrotatingineditor="false">
@@ -491,8 +491,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Blast Hatch With Buttons" identifier="ekdockyard_blasthatchwbuttons" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A heavily armored shutter, but on the horizontal axis. No integrated buttons - has to be wired manually." health="350" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.15" allowrotatingineditor="false"> <Item name="Blast Hatch With Buttons" identifier="ekdockyard_blasthatchwbuttons" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A heavily armored shutter, but on the horizontal axis. No integrated buttons - has to be wired manually." health="350" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.15" allowrotatingineditor="false">
@@ -533,8 +533,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<!-- Maintenance Panels --> <!-- Maintenance Panels -->
@@ -574,8 +574,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel A Vertical 256" identifier="ekdockyard_doormaintenance1_vertical256" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true"> <Item name="Maintenance Panel A Vertical 256" identifier="ekdockyard_doormaintenance1_vertical256" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true">
@@ -614,8 +614,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel A Horizontal 384" identifier="ekdockyard_doormaintenance1_horizontal384" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Maintenance Panel A Horizontal 384" identifier="ekdockyard_doormaintenance1_horizontal384" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -654,8 +654,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel A Horizontal 256" identifier="ekdockyard_doormaintenance1_horizontal256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Maintenance Panel A Horizontal 256" identifier="ekdockyard_doormaintenance1_horizontal256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -694,8 +694,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel B Vertical 416" identifier="ekdockyard_doormaintenance2_vertical416" tags="door,wall,weldable" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical thick hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true"> <Item name="Maintenance Panel B Vertical 416" identifier="ekdockyard_doormaintenance2_vertical416" tags="door,wall,weldable" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical thick hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true">
@@ -734,8 +734,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel B Vertical 256" identifier="ekdockyard_doormaintenance2_vertical256" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical thick hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true"> <Item name="Maintenance Panel B Vertical 256" identifier="ekdockyard_doormaintenance2_vertical256" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical thick hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true">
@@ -774,8 +774,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel B Horizontal 384" identifier="ekdockyard_doormaintenance2_horizontal384" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal thick hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Maintenance Panel B Horizontal 384" identifier="ekdockyard_doormaintenance2_horizontal384" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal thick hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -814,8 +814,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel B Horizontal 256" identifier="ekdockyard_doormaintenance2_horizontal256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal thick hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Maintenance Panel B Horizontal 256" identifier="ekdockyard_doormaintenance2_horizontal256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal thick hull wall." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -854,8 +854,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel C Vertical 416" identifier="ekdockyard_doormaintenance3_vertical416" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical legacy wall." category="Legacy" health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true"> <Item name="Maintenance Panel C Vertical 416" identifier="ekdockyard_doormaintenance3_vertical416" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical legacy wall." category="Legacy" health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true">
@@ -894,8 +894,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel C Vertical 256" identifier="ekdockyard_doormaintenance3_vertical256" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical legacy wall." category="Legacy" health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true"> <Item name="Maintenance Panel C Vertical 256" identifier="ekdockyard_doormaintenance3_vertical256" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical legacy wall." category="Legacy" health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true">
@@ -934,8 +934,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel C Horizontal 384" identifier="ekdockyard_doormaintenance3_horizontal384" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal legacy wall." category="Legacy" health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Maintenance Panel C Horizontal 384" identifier="ekdockyard_doormaintenance3_horizontal384" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal legacy wall." category="Legacy" health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -974,8 +974,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel C Horizontal 256" identifier="ekdockyard_doormaintenance3_horizontal256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal legacy wall." category="Legacy" health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Maintenance Panel C Horizontal 256" identifier="ekdockyard_doormaintenance3_horizontal256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal legacy wall." category="Legacy" health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -1014,8 +1014,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel D Vertical 416" identifier="ekdockyard_doormaintenance4_vertical416" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical armor wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.35" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true"> <Item name="Maintenance Panel D Vertical 416" identifier="ekdockyard_doormaintenance4_vertical416" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical armor wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.35" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true">
@@ -1054,8 +1054,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel D Vertical 256" identifier="ekdockyard_doormaintenance4_vertical256" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical armor wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.35" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true"> <Item name="Maintenance Panel D Vertical 256" identifier="ekdockyard_doormaintenance4_vertical256" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Vertical armor wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.35" explosiondamagemultiplier="0.1" allowrotatingineditor="false" allowedlinks="structure,item" linkable="true">
@@ -1094,8 +1094,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel D Horizontal 384" identifier="ekdockyard_doormaintenance4_horizontal384" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal armor wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.35" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Maintenance Panel D Horizontal 384" identifier="ekdockyard_doormaintenance4_horizontal384" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal armor wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.35" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -1134,8 +1134,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Maintenance Panel D Horizontal 256" identifier="ekdockyard_doormaintenance4_horizontal256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal armor wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.35" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Maintenance Panel D Horizontal 256" identifier="ekdockyard_doormaintenance4_horizontal256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="0.5" description="A sliding maintenance panel used to access the inner crawlspaces of the submarine. Horizontal armor wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.35" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -1174,8 +1174,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<!-- Shuttle Shell Hatch --> <!-- Shuttle Shell Hatch -->
@@ -1212,8 +1212,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shuttle Shell Hatch with Buttons" identifier="ekdockyard_shuttleshellhatchwbuttons" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with a window and two integrated buttons." health="100" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Shuttle Shell Hatch with Buttons" identifier="ekdockyard_shuttleshellhatchwbuttons" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with a window and two integrated buttons." health="100" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -1252,8 +1252,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shuttle Shell Hatch" identifier="ekdockyard_windowedshuttleshellhatch" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with a window. No integrated buttons - has to be wired manually." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Windowed Shuttle Shell Hatch" identifier="ekdockyard_windowedshuttleshellhatch" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with a window. No integrated buttons - has to be wired manually." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -1289,8 +1289,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shuttle Shell Hatch with Buttons" identifier="ekdockyard_windowedshuttleshellhatchwbuttons" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with a window and two integrated buttons." health="100" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Windowed Shuttle Shell Hatch with Buttons" identifier="ekdockyard_windowedshuttleshellhatchwbuttons" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with a window and two integrated buttons." health="100" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -1329,8 +1329,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shuttle Shell Hatch Mirrored" identifier="ekdockyard_shuttleshellhatch_mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with window. No integrated buttons - has to be wired manually." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Shuttle Shell Hatch Mirrored" identifier="ekdockyard_shuttleshellhatch_mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with window. No integrated buttons - has to be wired manually." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -1366,8 +1366,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shuttle Shell Hatch with Buttons Mirrored" identifier="ekdockyard_shuttleshellhatchwbuttons_mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with a window and two integrated buttons." health="100" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Shuttle Shell Hatch with Buttons Mirrored" identifier="ekdockyard_shuttleshellhatchwbuttons_mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with a window and two integrated buttons." health="100" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -1406,8 +1406,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shuttle Shell Hatch Mirrored" identifier="ekdockyard_windowedshuttleshellhatch_mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with a window. No integrated buttons - has to be wired manually." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Windowed Shuttle Shell Hatch Mirrored" identifier="ekdockyard_windowedshuttleshellhatch_mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with a window. No integrated buttons - has to be wired manually." health="100" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -1443,8 +1443,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shuttle Shell Hatch with Buttons Mirrored" identifier="ekdockyard_windowedshuttleshellhatchwbuttons_mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with a window and two integrated buttons." health="100" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Windowed Shuttle Shell Hatch with Buttons Mirrored" identifier="ekdockyard_windowedshuttleshellhatchwbuttons_mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door" scale="0.5" description="A shuttle shell access hatch with a window and two integrated buttons." health="100" requirebodyinsidetrigger="false" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -1483,8 +1483,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<!-- Shell Exterior Doors --> <!-- Shell Exterior Doors -->
@@ -1521,8 +1521,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Horizontal A 256" identifier="ekdockyard_shelldoor1windowed_horizontal256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="150" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Horizontal A 256" identifier="ekdockyard_shelldoor1windowed_horizontal256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="150" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -1558,8 +1558,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Horizontal A 512" identifier="ekdockyard_shelldoor1_horizontal512" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Horizontal A 512" identifier="ekdockyard_shelldoor1_horizontal512" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -1595,8 +1595,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Horizontal A 512" identifier="ekdockyard_shelldoor1windowed_horizontal512" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Horizontal A 512" identifier="ekdockyard_shelldoor1windowed_horizontal512" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -1632,8 +1632,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Horizontal A 768" identifier="ekdockyard_shelldoor1_horizontal768" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Horizontal A 768" identifier="ekdockyard_shelldoor1_horizontal768" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -1669,8 +1669,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Horizontal A 768" identifier="ekdockyard_shelldoor1windowed_horizontal768" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Horizontal A 768" identifier="ekdockyard_shelldoor1windowed_horizontal768" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -1706,8 +1706,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Horizontal A 1024" identifier="ekdockyard_shelldoor1_horizontal1024" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Horizontal A 1024" identifier="ekdockyard_shelldoor1_horizontal1024" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -1743,8 +1743,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Horizontal A 1024" identifier="ekdockyard_shelldoor1windowed_horizontal1024" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Horizontal A 1024" identifier="ekdockyard_shelldoor1windowed_horizontal1024" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -1780,8 +1780,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Horizontal A 1536" identifier="ekdockyard_shelldoor1_horizontal1536" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Horizontal A 1536" identifier="ekdockyard_shelldoor1_horizontal1536" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -1817,8 +1817,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Horizontal A 1536" identifier="ekdockyard_shelldoor1windowed_horizontal1536" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Horizontal A 1536" identifier="ekdockyard_shelldoor1windowed_horizontal1536" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -1854,8 +1854,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Vertical A 256" identifier="ekdockyard_shelldoor1_vertical256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="150" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Vertical A 256" identifier="ekdockyard_shelldoor1_vertical256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="150" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -1891,8 +1891,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Vertical A 256" identifier="ekdockyard_shelldoor1windowed_vertical256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="150" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Vertical A 256" identifier="ekdockyard_shelldoor1windowed_vertical256" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="150" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -1928,8 +1928,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Vertical A 512" identifier="ekdockyard_shelldoor1_vertical512" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Vertical A 512" identifier="ekdockyard_shelldoor1_vertical512" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -1965,8 +1965,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Vertical A 512" identifier="ekdockyard_shelldoor1windowed_vertical512" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Vertical A 512" identifier="ekdockyard_shelldoor1windowed_vertical512" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2002,8 +2002,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Vertical A 768" identifier="ekdockyard_shelldoor1_vertical768" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Vertical A 768" identifier="ekdockyard_shelldoor1_vertical768" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2039,8 +2039,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Vertical A 768" identifier="ekdockyard_shelldoor1windowed_vertical768" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Vertical A 768" identifier="ekdockyard_shelldoor1windowed_vertical768" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2083,8 +2083,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Vertical A 1024" identifier="ekdockyard_shelldoor1_vertical1024" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Vertical A 1024" identifier="ekdockyard_shelldoor1_vertical1024" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2120,8 +2120,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Vertical A 1024" identifier="ekdockyard_shelldoor1windowed_vertical1024" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Vertical A 1024" identifier="ekdockyard_shelldoor1windowed_vertical1024" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2157,8 +2157,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<!-- Mirrored Shell Exterior Doors --> <!-- Mirrored Shell Exterior Doors -->
@@ -2195,8 +2195,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Horizontal A 256 Mirrored" identifier="ekdockyard_shelldoor1windowed_horizontal256mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="150" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Horizontal A 256 Mirrored" identifier="ekdockyard_shelldoor1windowed_horizontal256mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="150" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2232,8 +2232,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Horizontal A 512 Mirrored" identifier="ekdockyard_shelldoor1_horizontal512mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Horizontal A 512 Mirrored" identifier="ekdockyard_shelldoor1_horizontal512mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2269,8 +2269,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Horizontal A 512 Mirrored" identifier="ekdockyard_shelldoor1windowed_horizontal512mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Horizontal A 512 Mirrored" identifier="ekdockyard_shelldoor1windowed_horizontal512mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2306,8 +2306,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Horizontal A 768 Mirrored" identifier="ekdockyard_shelldoor1_horizontal768mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Horizontal A 768 Mirrored" identifier="ekdockyard_shelldoor1_horizontal768mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2343,8 +2343,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Horizontal A 768 Mirrored" identifier="ekdockyard_shelldoor1windowed_horizontal768mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Horizontal A 768 Mirrored" identifier="ekdockyard_shelldoor1windowed_horizontal768mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2380,8 +2380,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Horizontal A 1024 Mirrored" identifier="ekdockyard_shelldoor1_horizontal1024mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Horizontal A 1024 Mirrored" identifier="ekdockyard_shelldoor1_horizontal1024mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2417,8 +2417,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Horizontal A 1024 Mirrored" identifier="ekdockyard_shelldoor1windowed_horizontal1024mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Horizontal A 1024 Mirrored" identifier="ekdockyard_shelldoor1windowed_horizontal1024mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2454,8 +2454,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Horizontal A 1536 Mirrored" identifier="ekdockyard_shelldoor1_horizontal1536mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Horizontal A 1536 Mirrored" identifier="ekdockyard_shelldoor1_horizontal1536mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2491,8 +2491,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Horizontal A 1536 Mirrored" identifier="ekdockyard_shelldoor1windowed_horizontal1536mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Horizontal A 1536 Mirrored" identifier="ekdockyard_shelldoor1windowed_horizontal1536mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Horizontal shell wall." health="300" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2528,8 +2528,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Vertical A 256 Mirrored" identifier="ekdockyard_shelldoor1_vertical256mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="150" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Vertical A 256 Mirrored" identifier="ekdockyard_shelldoor1_vertical256mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="150" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2565,8 +2565,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Vertical A 256 Mirrored" identifier="ekdockyard_shelldoor1windowed_vertical256mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="150" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Vertical A 256 Mirrored" identifier="ekdockyard_shelldoor1windowed_vertical256mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="150" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2602,8 +2602,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Vertical A 512 Mirrored" identifier="ekdockyard_shelldoor1_vertical512mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Vertical A 512 Mirrored" identifier="ekdockyard_shelldoor1_vertical512mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2639,8 +2639,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Vertical A 512 Mirrored" identifier="ekdockyard_shelldoor1windowed_vertical512mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Vertical A 512 Mirrored" identifier="ekdockyard_shelldoor1windowed_vertical512mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="200" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2676,8 +2676,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Vertical A 768 Mirrored" identifier="ekdockyard_shelldoor1_vertical768mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Vertical A 768 Mirrored" identifier="ekdockyard_shelldoor1_vertical768mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2713,8 +2713,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Vertical A 768 Mirrored" identifier="ekdockyard_shelldoor1windowed_vertical768mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Vertical A 768 Mirrored" identifier="ekdockyard_shelldoor1windowed_vertical768mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2750,8 +2750,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Door Vertical A 1024 Mirrored" identifier="ekdockyard_shelldoor1_vertical1024mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Shell Door Vertical A 1024 Mirrored" identifier="ekdockyard_shelldoor1_vertical1024mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2787,8 +2787,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Windowed Shell Door Vertical A 1024 Mirrored" identifier="ekdockyard_shelldoor1windowed_vertical1024mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false"> <Item name="Windowed Shell Door Vertical A 1024 Mirrored" identifier="ekdockyard_shelldoor1windowed_vertical1024mirrored" allowedlinks="gap,hull,structure,item" linkable="true" tags="door,wall" scale="1" description="A sliding exterior hull door. Vertical shell wall." health="250" damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" monsterdamagemultiplier="0.75" explosiondamagemultiplier="0.2" allowrotatingineditor="false">
@@ -2831,8 +2831,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<!-- Ducts --> <!-- Ducts -->
@@ -2863,8 +2863,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Medium Duct B" identifier="ekdockyard_mediumduct2" tags="ductblock" scale="0.5" description="A mechanically operated vent that may be opened or closed to allow the passage of water." damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Medium Duct B" identifier="ekdockyard_mediumduct2" tags="ductblock" scale="0.5" description="A mechanically operated vent that may be opened or closed to allow the passage of water." damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -2894,8 +2894,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Medium Duct C" identifier="ekdockyard_mediumduct3" tags="ductblock" scale="0.5" description="A mechanically operated vent that may be opened or closed to allow the passage of water." damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Medium Duct C" identifier="ekdockyard_mediumduct3" tags="ductblock" scale="0.5" description="A mechanically operated vent that may be opened or closed to allow the passage of water." damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -2925,8 +2925,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Duct Horizontal" identifier="ekdockyard_shellduct1_horizontal" tags="ductblock" scale="1" description="A mechanically operated vent that may be opened or closed to allow the passage of water." damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Shell Duct Horizontal" identifier="ekdockyard_shellduct1_horizontal" tags="ductblock" scale="1" description="A mechanically operated vent that may be opened or closed to allow the passage of water." damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -2957,8 +2957,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Shell Duct Horizontal Mirrored" identifier="ekdockyard_shellduct1_horizontalmirrored" tags="ductblock" scale="1" description="A mechanically operated vent that may be opened or closed to allow the passage of water." damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false"> <Item name="Shell Duct Horizontal Mirrored" identifier="ekdockyard_shellduct1_horizontalmirrored" tags="ductblock" scale="1" description="A mechanically operated vent that may be opened or closed to allow the passage of water." damagedbyrepairtools="true" damagedbymonsters="true" damagedbyexplosions="true" explosiondamagemultiplier="0.1" allowrotatingineditor="false">
@@ -2989,8 +2989,8 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
</Items> </Items>

View File

@@ -21,7 +21,7 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="control_in" displayname="connection.controlin" /> <input name="control_in" displayname="connection.controlin" />
<output name="data_out" displayname="connection.sonardataout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="data_out" displayname="connection.sonardataout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="ekdockyard_cameradeco_sensor2" category="Electrical" tags="command,camera,sonartransducer" focusonselected="true" offsetonselected="1250" linkable="true" Scale="0.5" spritecolor="150,150,150,255"> <Item name="" identifier="ekdockyard_cameradeco_sensor2" category="Electrical" tags="command,camera,sonartransducer" focusonselected="true" offsetonselected="1250" linkable="true" Scale="0.5" spritecolor="150,150,150,255">
@@ -32,7 +32,7 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="control_in" displayname="connection.controlin" /> <input name="control_in" displayname="connection.controlin" />
<output name="data_out" displayname="connection.sonardataout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="data_out" displayname="connection.sonardataout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="ekdockyard_cameradeco_sensor3" category="Electrical" tags="command,camera,sonartransducer" focusonselected="true" offsetonselected="1250" linkable="true" Scale="0.75" spritecolor="150,150,150,255"> <Item name="" identifier="ekdockyard_cameradeco_sensor3" category="Electrical" tags="command,camera,sonartransducer" focusonselected="true" offsetonselected="1250" linkable="true" Scale="0.75" spritecolor="150,150,150,255">
@@ -48,7 +48,7 @@
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="position_in" displayname="connection.turretaimingin" /> <input name="position_in" displayname="connection.turretaimingin" />
<output name="data_out" displayname="connection.sonardataout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="data_out" displayname="connection.sonardataout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<!-- Turrets cannot be manually controlled. <!-- Turrets cannot be manually controlled.
@@ -77,8 +77,8 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="position_out" displayname="connection.turretaimingout" fallbackdisplayname="inputtype.aim" maxwires="10" /> <output name="position_out" displayname="connection.turretaimingout" fallbackdisplayname="inputtype.aim" maxwires="40" />
<output name="trigger_out" displayname="connection.turrettriggerout" fallbackdisplayname="inputtype.shoot" maxwires="10" /> <output name="trigger_out" displayname="connection.turrettriggerout" fallbackdisplayname="inputtype.shoot" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
--> -->
@@ -89,7 +89,7 @@
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<output name="data_out" displayname="connection.sonardataout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="data_out" displayname="connection.sonardataout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="ekdockyard_transducer_sonardome2" category="Electrical" tags="command,sonartransducer" focusonselected="true" offsetonselected="1250" linkable="true" Scale="0.75" spritecolor="150,150,150,255"> <Item name="" identifier="ekdockyard_transducer_sonardome2" category="Electrical" tags="command,sonartransducer" focusonselected="true" offsetonselected="1250" linkable="true" Scale="0.75" spritecolor="150,150,150,255">
@@ -99,7 +99,7 @@
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<output name="data_out" displayname="connection.sonardataout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="data_out" displayname="connection.sonardataout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
</Items> </Items>

View File

@@ -161,7 +161,7 @@
<input name="power" displayname="connection.power" /> <input name="power" displayname="connection.power" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="ekdockyard_firejet_radial" category="Equipment" Tags="signal" characterusable="false" Scale="0.32" impactsoundtag="impact_metal_light" maxstacksize="60"> <Item name="" identifier="ekdockyard_firejet_radial" category="Equipment" Tags="signal" characterusable="false" Scale="0.32" impactsoundtag="impact_metal_light" maxstacksize="60">
@@ -362,12 +362,12 @@
<ConnectionPanel selectkey="Select" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Select" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<requireditem items="screwdriver" type="Equipped" /> <requireditem items="screwdriver" type="Equipped" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="10" /> <output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="40" />
<output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="10" /> <output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="40" />
<output name="signal_out4" displayname="connection.signaloutx~[num]=4" maxwires="10" /> <output name="signal_out4" displayname="connection.signaloutx~[num]=4" maxwires="40" />
<output name="signal_out5" displayname="connection.signaloutx~[num]=5" maxwires="10" /> <output name="signal_out5" displayname="connection.signaloutx~[num]=5" maxwires="40" />
<output name="signal_out6" displayname="connection.signaloutx~[num]=6" maxwires="10" /> <output name="signal_out6" displayname="connection.signaloutx~[num]=6" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="ekdockyard_switchboard2" tags="logic,command" scale="0.5" category="Machine" linkable="true" allowedlinks="command,reactor,generator,container"> <Item name="" identifier="ekdockyard_switchboard2" tags="logic,command" scale="0.5" category="Machine" linkable="true" allowedlinks="command,reactor,generator,container">
@@ -389,12 +389,12 @@
<ConnectionPanel selectkey="Select" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Select" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<requireditem items="screwdriver" type="Equipped" /> <requireditem items="screwdriver" type="Equipped" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="10" /> <output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="40" />
<output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="10" /> <output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="40" />
<output name="signal_out4" displayname="connection.signaloutx~[num]=4" maxwires="10" /> <output name="signal_out4" displayname="connection.signaloutx~[num]=4" maxwires="40" />
<output name="signal_out5" displayname="connection.signaloutx~[num]=5" maxwires="10" /> <output name="signal_out5" displayname="connection.signaloutx~[num]=5" maxwires="40" />
<output name="signal_out6" displayname="connection.signaloutx~[num]=6" maxwires="10" /> <output name="signal_out6" displayname="connection.signaloutx~[num]=6" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<!-- <!--
@@ -418,12 +418,12 @@
<ConnectionPanel selectkey="Select" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Select" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<requireditem items="screwdriver" type="Equipped" /> <requireditem items="screwdriver" type="Equipped" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="10" /> <output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="40" />
<output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="10" /> <output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="40" />
<output name="signal_out4" displayname="connection.signaloutx~[num]=4" maxwires="10" /> <output name="signal_out4" displayname="connection.signaloutx~[num]=4" maxwires="40" />
<output name="signal_out5" displayname="connection.signaloutx~[num]=5" maxwires="10" /> <output name="signal_out5" displayname="connection.signaloutx~[num]=5" maxwires="40" />
<output name="signal_out6" displayname="connection.signaloutx~[num]=6" maxwires="10" /> <output name="signal_out6" displayname="connection.signaloutx~[num]=6" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
--> -->
@@ -501,9 +501,9 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<requireditem items="screwdriver" type="Equipped" /> <requireditem items="screwdriver" type="Equipped" />
<output name="signal_out1" displayname="connection.signalout" maxwires="10" /> <output name="signal_out1" displayname="connection.signalout" maxwires="40" />
<output name="signal_out2" displayname="connection.activate" maxwires="10" /> <output name="signal_out2" displayname="connection.activate" maxwires="40" />
<output name="signal_out3" displayname="reset" maxwires="10" /> <output name="signal_out3" displayname="reset" maxwires="40" />
<!--campaigncrew.clear--> <!--campaigncrew.clear-->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
@@ -1279,9 +1279,9 @@
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<requireditem items="screwdriver" type="Equipped" /> <requireditem items="screwdriver" type="Equipped" />
<input name="power" displayname="connection.power" /> <input name="power" displayname="connection.power" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="10" /> <output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="40" />
<output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="10" /> <output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="ekdockyard_ioterminal_fabricator" tags="container" category="Machine" linkable="true" displaysidebysidewhenlinked="false" allowedlinks="fabricator,medicalfabricator" pickdistance="150" scale="0.5" spritecolor="200,200,200,255"> <Item name="" identifier="ekdockyard_ioterminal_fabricator" tags="container" category="Machine" linkable="true" displaysidebysidewhenlinked="false" allowedlinks="fabricator,medicalfabricator" pickdistance="150" scale="0.5" spritecolor="200,200,200,255">
@@ -1301,9 +1301,9 @@
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<requireditem items="screwdriver" type="Equipped" /> <requireditem items="screwdriver" type="Equipped" />
<input name="power" displayname="connection.power" /> <input name="power" displayname="connection.power" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="10" /> <output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="40" />
<output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="10" /> <output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="ekdockyard_ioterminal_deconstructor" tags="container" category="Machine" linkable="true" displaysidebysidewhenlinked="false" allowedlinks="deconstructor" pickdistance="150" scale="0.5" spritecolor="190,210,200,255"> <Item name="" identifier="ekdockyard_ioterminal_deconstructor" tags="container" category="Machine" linkable="true" displaysidebysidewhenlinked="false" allowedlinks="deconstructor" pickdistance="150" scale="0.5" spritecolor="190,210,200,255">
@@ -1323,9 +1323,9 @@
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<requireditem items="screwdriver" type="Equipped" /> <requireditem items="screwdriver" type="Equipped" />
<input name="power" displayname="connection.power" /> <input name="power" displayname="connection.power" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="10" /> <output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="40" />
<output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="10" /> <output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="ekdockyard_ioterminal_chair1" tags="chair,command" category="Machine" linkable="true" displaysidebysidewhenlinked="false" allowedlinks="command,navterminal,primarynavterminal,sonarmonitor,statusmonitor,terminal,reactor,generator,fabricator,medicalfabricator,deconstructor" pickdistance="150" scale="0.5" spritecolor="190,210,200,255"> <Item name="" identifier="ekdockyard_ioterminal_chair1" tags="chair,command" category="Machine" linkable="true" displaysidebysidewhenlinked="false" allowedlinks="command,navterminal,primarynavterminal,sonarmonitor,statusmonitor,terminal,reactor,generator,fabricator,medicalfabricator,deconstructor" pickdistance="150" scale="0.5" spritecolor="190,210,200,255">
@@ -1352,9 +1352,9 @@
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<requireditem items="screwdriver" type="Equipped" /> <requireditem items="screwdriver" type="Equipped" />
<input name="power" displayname="connection.power" /> <input name="power" displayname="connection.power" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="10" /> <output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="40" />
<output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="10" /> <output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="40" />
</ConnectionPanel>--> </ConnectionPanel>-->
</Item> </Item>
<Item name="" identifier="ekdockyard_navcomputer1" tags="command,navterminal" linkable="false" scale="0.5" category="Machine" disallowedupgrades="increasemaxcondition,decreaselowskillfixduration,decreaserequiredskilllevel,sonarmonitorincreaserange"> <Item name="" identifier="ekdockyard_navcomputer1" tags="command,navterminal" linkable="false" scale="0.5" category="Machine" disallowedupgrades="increasemaxcondition,decreaselowskillfixduration,decreaserequiredskilllevel,sonarmonitorincreaserange">
@@ -1405,12 +1405,12 @@
<requireditem items="screwdriver" type="Equipped" /> <requireditem items="screwdriver" type="Equipped" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="velocity_in" displayname="connection.steeringvelocityin" /> <input name="velocity_in" displayname="connection.steeringvelocityin" />
<output name="velocity_x_out" displayname="connection.velocityxout" maxwires="10" /> <output name="velocity_x_out" displayname="connection.velocityxout" maxwires="40" />
<output name="velocity_y_out" displayname="connection.velocityyout" maxwires="10" /> <output name="velocity_y_out" displayname="connection.velocityyout" maxwires="40" />
<output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="10" /> <output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="40" />
<output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="10" /> <output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="40" />
<output name="current_position_x" displayname="connection.currentpositionx" maxwires="10" /> <output name="current_position_x" displayname="connection.currentpositionx" maxwires="40" />
<output name="current_position_y" displayname="connection.currentpositiony" maxwires="10" /> <output name="current_position_y" displayname="connection.currentpositiony" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.075" mindeteriorationdelay="320" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.075" mindeteriorationdelay="320" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />
@@ -1446,11 +1446,11 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="signal_0" displayname="connection.signalx~[num]=0" fallbackdisplayname="connection.signalinx~[num]=0" maxwires="40" /> <output name="signal_0" displayname="connection.signalx~[num]=0" fallbackdisplayname="connection.signalinx~[num]=0" maxwires="160" />
<output name="signal_1" displayname="connection.signalx~[num]=1" fallbackdisplayname="connection.signalinx~[num]=1" maxwires="40" /> <output name="signal_1" displayname="connection.signalx~[num]=1" fallbackdisplayname="connection.signalinx~[num]=1" maxwires="160" />
<output name="signal_2" displayname="connection.signalx~[num]=2" fallbackdisplayname="connection.signalinx~[num]=2" maxwires="40" /> <output name="signal_2" displayname="connection.signalx~[num]=2" fallbackdisplayname="connection.signalinx~[num]=2" maxwires="160" />
<output name="signal_3" displayname="connection.signalx~[num]=3" fallbackdisplayname="connection.signalinx~[num]=3" maxwires="40" /> <output name="signal_3" displayname="connection.signalx~[num]=3" fallbackdisplayname="connection.signalinx~[num]=3" maxwires="160" />
<output name="signal_4" displayname="connection.signalx~[num]=4" fallbackdisplayname="connection.signalinx~[num]=4" maxwires="40" /> <output name="signal_4" displayname="connection.signalx~[num]=4" fallbackdisplayname="connection.signalinx~[num]=4" maxwires="160" />
</ConnectionPanel> </ConnectionPanel>
<!-- <!--
<Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.1" mindeteriorationdelay="120" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.1" mindeteriorationdelay="120" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">

View File

@@ -15,7 +15,7 @@
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> --> <!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" /> -->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced01" category="Legacy" Tags="smallitem,light" scale="0.5"> <Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced01" category="Legacy" Tags="smallitem,light" scale="0.5">
@@ -32,7 +32,7 @@
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> --> <!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" /> -->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced02" category="Legacy" Tags="smallitem,light" scale="0.5"> <Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced02" category="Legacy" Tags="smallitem,light" scale="0.5">
@@ -49,7 +49,7 @@
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> --> <!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" /> -->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced03" category="Legacy" Tags="smallitem,light" scale="0.5"> <Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced03" category="Legacy" Tags="smallitem,light" scale="0.5">
@@ -66,7 +66,7 @@
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> --> <!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" /> -->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced04" category="Legacy" Tags="smallitem,light" scale="0.5"> <Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced04" category="Legacy" Tags="smallitem,light" scale="0.5">
@@ -83,7 +83,7 @@
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> --> <!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" /> -->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced05" category="Legacy" Tags="smallitem,light" scale="0.5"> <Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced05" category="Legacy" Tags="smallitem,light" scale="0.5">
@@ -100,7 +100,7 @@
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> --> <!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" /> -->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced01" category="Legacy" Tags="smallitem,light" scale="0.25"> <Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced01" category="Legacy" Tags="smallitem,light" scale="0.25">
@@ -117,7 +117,7 @@
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> --> <!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" /> -->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced02" category="Legacy" Tags="smallitem,light" scale="0.25"> <Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced02" category="Legacy" Tags="smallitem,light" scale="0.25">
@@ -134,7 +134,7 @@
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> --> <!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" /> -->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced03" category="Legacy" Tags="smallitem,light" scale="0.25"> <Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced03" category="Legacy" Tags="smallitem,light" scale="0.25">
@@ -151,7 +151,7 @@
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> --> <!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" /> -->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced04" category="Legacy" Tags="smallitem,light" scale="0.25"> <Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced04" category="Legacy" Tags="smallitem,light" scale="0.25">
@@ -168,7 +168,7 @@
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> --> <!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" /> -->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced05" category="Legacy" Tags="smallitem,light" scale="0.25"> <Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced05" category="Legacy" Tags="smallitem,light" scale="0.25">
@@ -185,7 +185,7 @@
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> --> <!-- <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" /> -->
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<!-- Rotating Lights --> <!-- Rotating Lights -->

View File

@@ -10,11 +10,11 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced01" category="Electrical" Tags="smallitem,light" scale="0.5"> <Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced01" category="Electrical" Tags="smallitem,light" scale="0.5">
@@ -27,11 +27,11 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced02" category="Electrical" Tags="smallitem,light" scale="0.5"> <Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced02" category="Electrical" Tags="smallitem,light" scale="0.5">
@@ -44,11 +44,11 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced03" category="Electrical" Tags="smallitem,light" scale="0.5"> <Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced03" category="Electrical" Tags="smallitem,light" scale="0.5">
@@ -61,11 +61,11 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced04" category="Electrical" Tags="smallitem,light" scale="0.5"> <Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced04" category="Electrical" Tags="smallitem,light" scale="0.5">
@@ -78,11 +78,11 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced05" category="Electrical" Tags="smallitem,light" scale="0.5"> <Item name="Advanced Lamp" identifier="ekdockyard_vanillalightadvanced05" category="Electrical" Tags="smallitem,light" scale="0.5">
@@ -95,11 +95,11 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced01" category="Electrical" Tags="smallitem,light" scale="0.25"> <Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced01" category="Electrical" Tags="smallitem,light" scale="0.25">
@@ -112,11 +112,11 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced02" category="Electrical" Tags="smallitem,light" scale="0.25"> <Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced02" category="Electrical" Tags="smallitem,light" scale="0.25">
@@ -129,11 +129,11 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced03" category="Electrical" Tags="smallitem,light" scale="0.25"> <Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced03" category="Electrical" Tags="smallitem,light" scale="0.25">
@@ -146,11 +146,11 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced04" category="Electrical" Tags="smallitem,light" scale="0.25"> <Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced04" category="Electrical" Tags="smallitem,light" scale="0.25">
@@ -163,11 +163,11 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced05" category="Electrical" Tags="smallitem,light" scale="0.25"> <Item name="Advanced Lamp" identifier="ekdockyard_lightadvanced05" category="Electrical" Tags="smallitem,light" scale="0.25">
@@ -180,11 +180,11 @@
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10"> <ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" /> <GuiFrame relativesize="0.2,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" /> <input name="set_state" displayname="connection.setstate" />
<input name="set_color" displayname="connection.setcolor" /> <input name="set_color" displayname="connection.setcolor" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
</Items> </Items>

View File

@@ -24,7 +24,7 @@
<Explosion range="350.0" levelwalldamage="75" force="0" severlimbsprobability="0" camerashake="0" camerashakerange="0" shockwave="false" smoke="false" flames="false" flash="false" sparks="false" underwaterbubble="false" ignorecover="true" applyfireeffects="false"></Explosion> <Explosion range="350.0" levelwalldamage="75" force="0" severlimbsprobability="0" camerashake="0" camerashakerange="0" shockwave="false" smoke="false" flames="false" flash="false" sparks="false" underwaterbubble="false" ignorecover="true" applyfireeffects="false"></Explosion>
</StatusEffect> </StatusEffect>
</input> </input>
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="ekdockyard_function_icebreaker2" category="Machine" tags="" Scale="2" spritecolor="154,213,163,255" hiddeningame="true"> <Item name="" identifier="ekdockyard_function_icebreaker2" category="Machine" tags="" Scale="2" spritecolor="154,213,163,255" hiddeningame="true">
@@ -51,7 +51,7 @@
<Explosion range="475.0" levelwalldamage="100" force="0" severlimbsprobability="0" camerashake="0" camerashakerange="0" shockwave="false" smoke="false" flames="false" flash="false" sparks="false" underwaterbubble="false" ignorecover="true" applyfireeffects="false"></Explosion> <Explosion range="475.0" levelwalldamage="100" force="0" severlimbsprobability="0" camerashake="0" camerashakerange="0" shockwave="false" smoke="false" flames="false" flash="false" sparks="false" underwaterbubble="false" ignorecover="true" applyfireeffects="false"></Explosion>
</StatusEffect> </StatusEffect>
</input> </input>
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
<Item name="" identifier="ekdockyard_function_icebreaker3" category="Machine" tags="" Scale="2" spritecolor="154,213,163,255" hiddeningame="true"> <Item name="" identifier="ekdockyard_function_icebreaker3" category="Machine" tags="" Scale="2" spritecolor="154,213,163,255" hiddeningame="true">
@@ -78,7 +78,7 @@
<Explosion range="600.0" levelwalldamage="125" force="0" severlimbsprobability="0" camerashake="0" camerashakerange="0" shockwave="false" smoke="false" flames="false" flash="false" sparks="false" underwaterbubble="false" ignorecover="true" applyfireeffects="false"></Explosion> <Explosion range="600.0" levelwalldamage="125" force="0" severlimbsprobability="0" camerashake="0" camerashakerange="0" shockwave="false" smoke="false" flames="false" flash="false" sparks="false" underwaterbubble="false" ignorecover="true" applyfireeffects="false"></Explosion>
</StatusEffect> </StatusEffect>
</input> </input>
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
</Item> </Item>
</Items> </Items>

View File

@@ -6,7 +6,7 @@
<OxygenGenerator generatedamount="50.0" powerconsumption="50.0" minvoltage="0.3" canbeselected="false" vulnerabletoemp="false"> <OxygenGenerator generatedamount="50.0" powerconsumption="50.0" minvoltage="0.3" canbeselected="false" vulnerabletoemp="false">
<StatusEffect type="OnActive" targettype="Contained" targets="oxygentank" Condition="2.0" /> <StatusEffect type="OnActive" targettype="Contained" targets="oxygentank" Condition="2.0" />
</OxygenGenerator> </OxygenGenerator>
<ItemContainer hideitems="false" drawinventory="true" capacity="18" maxstacksize="60" slotsperrow="5" itempos="27,-93" iteminterval="22.5,-92" itemsperrow="3" itemrotation="0" canbeselected="true" containedspritedepth="0.83" msg="ItemMsgOxygenRefill"> <ItemContainer hideitems="false" drawinventory="true" capacity="50" maxstacksize="60" slotsperrow="8" itempos="27,-93" iteminterval="22.5,-92" itemsperrow="3" itemrotation="0" canbeselected="true" containedspritedepth="0.83" msg="ItemMsgOxygenRefill">
<GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.35" anchor="Center" style="ItemUI" />
<Containable items="oxygensource" /> <Containable items="oxygensource" />
</ItemContainer> </ItemContainer>
@@ -56,8 +56,8 @@
<poweronsound file="Content/Items/PowerOnLight3.ogg" range="600" loop="false" /> <poweronsound file="Content/Items/PowerOnLight3.ogg" range="600" loop="false" />
<StatusEffect type="InWater" target="This" condition="-0.5" /> <StatusEffect type="InWater" target="This" condition="-0.5" />
</Deconstructor> </Deconstructor>
<ItemContainer capacity="9" canbeselected="true" hideitems="true" hudpos="0.5, 0.4" slotsperrow="3" uilabel="" allowuioverlap="true" /> <ItemContainer capacity="27" canbeselected="true" hideitems="true" hudpos="0.5, 0.4" slotsperrow="6" uilabel="" allowuioverlap="true" />
<ItemContainer capacity="15" canbeselected="true" hideitems="true" hudpos="0.5, 0.8" slotsperrow="4" uilabel="" allowuioverlap="true" /> <ItemContainer capacity="45" canbeselected="true" hideitems="true" hudpos="0.5, 0.8" slotsperrow="7" uilabel="" allowuioverlap="true" />
<!-- Tasten-Interface zur Aktivierung/Deaktivierung --> <!-- Tasten-Interface zur Aktivierung/Deaktivierung -->
<CustomInterface canbeselected="true"> <CustomInterface canbeselected="true">
<GuiFrame relativesize="0.10,0.15" anchor="BottomCenter" style="ItemUI" absoluteoffset="-20,0" /> <GuiFrame relativesize="0.10,0.15" anchor="BottomCenter" style="ItemUI" absoluteoffset="-20,0" />
@@ -179,20 +179,20 @@
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="velocity_in" displayname="connection.steeringvelocityin" /> <input name="velocity_in" displayname="connection.steeringvelocityin" />
<input name="transducer_in" displayname="connection.sonartransducerin" /> <input name="transducer_in" displayname="connection.sonartransducerin" />
<output name="toggle_docking" displayname="connection.toggledocking" maxwires="10" /> <output name="toggle_docking" displayname="connection.toggledocking" maxwires="40" />
<output name="velocity_x_out" displayname="connection.velocityxout" maxwires="10" /> <output name="velocity_x_out" displayname="connection.velocityxout" maxwires="40" />
<output name="velocity_y_out" displayname="connection.velocityyout" maxwires="10" /> <output name="velocity_y_out" displayname="connection.velocityyout" maxwires="40" />
<output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="10" /> <output name="current_velocity_x" displayname="connection.currentvelocityx" maxwires="40" />
<output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="10" /> <output name="current_velocity_y" displayname="connection.currentvelocityy" maxwires="40" />
<output name="current_position_x" displayname="connection.currentpositionx" maxwires="10" /> <output name="current_position_x" displayname="connection.currentpositionx" maxwires="40" />
<output name="current_position_y" displayname="connection.currentpositiony" maxwires="10" /> <output name="current_position_y" displayname="connection.currentpositiony" maxwires="40" />
<output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="10" /> <output name="signal_out1" displayname="connection.signaloutx~[num]=1" maxwires="40" />
<output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="10" /> <output name="signal_out2" displayname="connection.signaloutx~[num]=2" maxwires="40" />
<output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="10" /> <output name="signal_out3" displayname="connection.signaloutx~[num]=3" maxwires="40" />
<output name="signal_out4" displayname="connection.signaloutx~[num]=4" maxwires="10" /> <output name="signal_out4" displayname="connection.signaloutx~[num]=4" maxwires="40" />
<output name="signal_out5" displayname="connection.signaloutx~[num]=5" maxwires="10" /> <output name="signal_out5" displayname="connection.signaloutx~[num]=5" maxwires="40" />
<output name="signal_out6" displayname="connection.signaloutx~[num]=6" maxwires="10" /> <output name="signal_out6" displayname="connection.signaloutx~[num]=6" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" msg="ItemMsgRepairScrewdriver" hudpriority="10" deteriorationspeed="0.125" mindeteriorationdelay="280" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25"> <Repairable selectkey="Action" header="electricalrepairsheader" msg="ItemMsgRepairScrewdriver" hudpriority="10" deteriorationspeed="0.125" mindeteriorationdelay="280" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25">
<RequiredSkill identifier="electrical" level="55" /> <RequiredSkill identifier="electrical" level="55" />
@@ -245,7 +245,7 @@
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="water_data_in" displayname="connection.waterdatain" /> <input name="water_data_in" displayname="connection.waterdatain" />
<input name="oxygen_data_in" displayname="connection.oxygendatain" /> <input name="oxygen_data_in" displayname="connection.oxygendatain" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" msg="ItemMsgRepairScrewdriver" hudpriority="10" deteriorationspeed="0.15" mindeteriorationdelay="220" maxdeteriorationdelay="680" MinDeteriorationCondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25"> <Repairable selectkey="Action" header="electricalrepairsheader" msg="ItemMsgRepairScrewdriver" hudpriority="10" deteriorationspeed="0.15" mindeteriorationdelay="220" maxdeteriorationdelay="680" MinDeteriorationCondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25">
<RequiredSkill identifier="electrical" level="55" /> <RequiredSkill identifier="electrical" level="55" />
@@ -605,7 +605,7 @@
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="set_force" displayname="connection.setforce" /> <input name="set_force" displayname="connection.setforce" />
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
<!-- <output name="state_out" displayname="connection.stateout" maxwires="10" /> Ohne Funktion --> <!-- <output name="state_out" displayname="connection.stateout" maxwires="40" /> Ohne Funktion -->
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="mechanicalrepairsheader" msg="ItemMsgRepairWrench" hudpriority="10" deteriorationspeed="0.20" mindeteriorationdelay="200" maxdeteriorationdelay="400" mindeteriorationcondition="0" RepairThreshold="75" fixDurationHighSkill="15" fixDurationLowSkill="40"> <Repairable selectkey="Action" header="mechanicalrepairsheader" msg="ItemMsgRepairWrench" hudpriority="10" deteriorationspeed="0.20" mindeteriorationdelay="200" maxdeteriorationdelay="400" mindeteriorationcondition="0" RepairThreshold="75" fixDurationHighSkill="15" fixDurationLowSkill="40">
<GuiFrame relativesize="0.2,0.16" minsize="400,200" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,200" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />
@@ -627,7 +627,7 @@
<Sprite texture="oxygear_batteryloader_v3.png" depth="0.78" sourcerect="0,0,119,109" canflipx="false" canflipy="false" /> <Sprite texture="oxygear_batteryloader_v3.png" depth="0.78" sourcerect="0,0,119,109" canflipx="false" canflipy="false" />
<!-- Hintergrund --> <!-- Hintergrund -->
<DecorativeSprite texture="oxygear_batteryloader_v3_bg.png" depth="0.80" sourcerect="0,0,119,109" origin="0.5,0.5" canflipx="false" canflipy="false" /> <DecorativeSprite texture="oxygear_batteryloader_v3_bg.png" depth="0.80" sourcerect="0,0,119,109" origin="0.5,0.5" canflipx="false" canflipy="false" />
<ItemContainer capacity="12" maxstacksize="60" canbeselected="true" hideitems="false" uilabel="ChargingDock" autofill="False" itempos="24,-57" iteminterval="23,0" itemrotation="-90" containedspritedepth="0.79"> <ItemContainer capacity="36" maxstacksize="60" canbeselected="true" hideitems="false" uilabel="ChargingDock" autofill="False" itempos="24,-57" iteminterval="23,0" itemrotation="-90" containedspritedepth="0.79">
<!-- (Inaktiv) Zugangsberechtigung <!-- (Inaktiv) Zugangsberechtigung
<RequiredItem items="idcard" type="Picked" msg="ItemMsgUnauthorizedAccess" ignoreineditor="true" /> <RequiredItem items="idcard" type="Picked" msg="ItemMsgUnauthorizedAccess" ignoreineditor="true" />
--> -->
@@ -717,18 +717,18 @@
<input name="toggle" displayname="connection.togglestate" /> <input name="toggle" displayname="connection.togglestate" />
--> -->
<!-- Signal-Ausgänge --> <!-- Signal-Ausgänge -->
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<output name="signal_0" displayname="connection.signalx~[num]=0" fallbackdisplayname="connection.signalinx~[num]=0" maxwires="10" /> <output name="signal_0" displayname="connection.signalx~[num]=0" fallbackdisplayname="connection.signalinx~[num]=0" maxwires="40" />
<output name="signal_1" displayname="connection.signalx~[num]=1" fallbackdisplayname="connection.signalinx~[num]=1" maxwires="10" /> <output name="signal_1" displayname="connection.signalx~[num]=1" fallbackdisplayname="connection.signalinx~[num]=1" maxwires="40" />
<output name="signal_2" displayname="connection.signalx~[num]=2" fallbackdisplayname="connection.signalinx~[num]=2" maxwires="10" /> <output name="signal_2" displayname="connection.signalx~[num]=2" fallbackdisplayname="connection.signalinx~[num]=2" maxwires="40" />
<output name="signal_3" displayname="connection.signalx~[num]=3" fallbackdisplayname="connection.signalinx~[num]=3" maxwires="10" /> <output name="signal_3" displayname="connection.signalx~[num]=3" fallbackdisplayname="connection.signalinx~[num]=3" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
<output name="power_value_out" displayname="connection.powervalueout" maxwires="10" /> <output name="power_value_out" displayname="connection.powervalueout" maxwires="40" />
<output name="load_value_out" displayname="connection.loadvalueout" maxwires="10" /> <output name="load_value_out" displayname="connection.loadvalueout" maxwires="40" />
<!-- <!--
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="10" /> <output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" maxwires="40" />
--> -->
<!-- Brzzzt! [Mod.] --> <!-- Brzzzt! [Mod.] -->
<RequiredSkill identifier="electrical" level="55" /> <RequiredSkill identifier="electrical" level="55" />
@@ -786,7 +786,7 @@
<Explosion range="50" stun="0" force="3.0" flames="false" shockwave="false" sparks="true" underwaterbubble="false" /> <Explosion range="50" stun="0" force="3.0" flames="false" shockwave="false" sparks="true" underwaterbubble="false" />
</StatusEffect> </StatusEffect>
</OxygenGenerator> </OxygenGenerator>
<ItemContainer capacity="12" maxstacksize="60" canbeselected="true" hideitems="true" msg="ItemMsgOxygenRefill"> <ItemContainer capacity="36" maxstacksize="60" canbeselected="true" hideitems="true" msg="ItemMsgOxygenRefill">
<GuiFrame relativesize="0.25,0.2" anchor="Center" style="ItemUI" /> <GuiFrame relativesize="0.25,0.2" anchor="Center" style="ItemUI" />
<Containable items="oxygentank,ammobox,deepdiving,smallitem,mediumitem,largeitem" /> <Containable items="oxygentank,ammobox,deepdiving,smallitem,mediumitem,largeitem" />
</ItemContainer> </ItemContainer>
@@ -864,9 +864,9 @@
</StatusEffect> </StatusEffect>
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<!-- Auf ein Neues! <output name="signal_out" displayname="connection.signalout" maxwires="10" /> --> <!-- Auf ein Neues! <output name="signal_out" displayname="connection.signalout" maxwires="40" /> -->
<output name="signal_out" displayname="entityname.waterdetector" maxwires="10" /> <output name="signal_out" displayname="entityname.waterdetector" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="mechanicalrepairsheader" msg="ItemMsgRepairWrench" hudpriority="10" deteriorationspeed="0.2" mindeteriorationdelay="120" maxdeteriorationdelay="360" MinDeteriorationCondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25"> <Repairable selectkey="Action" header="mechanicalrepairsheader" msg="ItemMsgRepairWrench" hudpriority="10" deteriorationspeed="0.2" mindeteriorationdelay="120" maxdeteriorationdelay="360" MinDeteriorationCondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25">
<RequiredSkill identifier="mechanical" level="55" /> <RequiredSkill identifier="mechanical" level="55" />
@@ -919,7 +919,7 @@
<input name="set_active" displayname="connection.setstate" /> <input name="set_active" displayname="connection.setstate" />
<input name="set_speed" displayname="connection.setpumpingspeed" /> <input name="set_speed" displayname="connection.setpumpingspeed" />
<input name="set_targetlevel" displayname="connection.settargetwaterlevel" /> <input name="set_targetlevel" displayname="connection.settargetwaterlevel" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="mechanicalrepairsheader" msg="ItemMsgRepairWrench" hudpriority="10" deteriorationspeed="0.15" mindeteriorationdelay="160" maxdeteriorationdelay="420" MinDeteriorationCondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25"> <Repairable selectkey="Action" header="mechanicalrepairsheader" msg="ItemMsgRepairWrench" hudpriority="10" deteriorationspeed="0.15" mindeteriorationdelay="160" maxdeteriorationdelay="420" MinDeteriorationCondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25">
<RequiredSkill identifier="mechanical" level="55" /> <RequiredSkill identifier="mechanical" level="55" />

View File

@@ -32,10 +32,10 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="40" /> <output name="power" displayname="connection.power" maxwires="160" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
<output name="power_value_out" displayname="connection.powervalueout" maxwires="10" /> <output name="power_value_out" displayname="connection.powervalueout" maxwires="40" />
<output name="load_value_out" displayname="connection.loadvalueout" maxwires="10" /> <output name="load_value_out" displayname="connection.loadvalueout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.1" mindeteriorationdelay="120" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.1" mindeteriorationdelay="120" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />
@@ -86,10 +86,10 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="40" /> <output name="power" displayname="connection.power" maxwires="160" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
<output name="power_value_out" displayname="connection.powervalueout" maxwires="10" /> <output name="power_value_out" displayname="connection.powervalueout" maxwires="40" />
<output name="load_value_out" displayname="connection.loadvalueout" maxwires="10" /> <output name="load_value_out" displayname="connection.loadvalueout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.1" mindeteriorationdelay="120" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.1" mindeteriorationdelay="120" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />
@@ -150,10 +150,10 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="40" /> <output name="power" displayname="connection.power" maxwires="160" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
<output name="power_value_out" displayname="connection.powervalueout" maxwires="10" /> <output name="power_value_out" displayname="connection.powervalueout" maxwires="40" />
<output name="load_value_out" displayname="connection.loadvalueout" maxwires="10" /> <output name="load_value_out" displayname="connection.loadvalueout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.1" mindeteriorationdelay="120" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.1" mindeteriorationdelay="120" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />
@@ -204,14 +204,14 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<output name="signal_0" displayname="connection.signalx~[num]=0" fallbackdisplayname="connection.signalinx~[num]=0" maxwires="10" /> <output name="signal_0" displayname="connection.signalx~[num]=0" fallbackdisplayname="connection.signalinx~[num]=0" maxwires="40" />
<output name="signal_1" displayname="connection.signalx~[num]=1" fallbackdisplayname="connection.signalinx~[num]=1" maxwires="10" /> <output name="signal_1" displayname="connection.signalx~[num]=1" fallbackdisplayname="connection.signalinx~[num]=1" maxwires="40" />
<output name="signal_2" displayname="connection.signalx~[num]=2" fallbackdisplayname="connection.signalinx~[num]=2" maxwires="10" /> <output name="signal_2" displayname="connection.signalx~[num]=2" fallbackdisplayname="connection.signalinx~[num]=2" maxwires="40" />
<output name="signal_3" displayname="connection.signalx~[num]=3" fallbackdisplayname="connection.signalinx~[num]=3" maxwires="10" /> <output name="signal_3" displayname="connection.signalx~[num]=3" fallbackdisplayname="connection.signalinx~[num]=3" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
<output name="power_value_out" displayname="connection.powervalueout" maxwires="10" /> <output name="power_value_out" displayname="connection.powervalueout" maxwires="40" />
<output name="load_value_out" displayname="connection.loadvalueout" maxwires="10" /> <output name="load_value_out" displayname="connection.loadvalueout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.1" mindeteriorationdelay="120" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.1" mindeteriorationdelay="120" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />
@@ -262,14 +262,14 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power" displayname="connection.power" maxwires="10" /> <output name="power" displayname="connection.power" maxwires="40" />
<output name="signal_0" displayname="connection.signalx~[num]=0" fallbackdisplayname="connection.signalinx~[num]=0" maxwires="10" /> <output name="signal_0" displayname="connection.signalx~[num]=0" fallbackdisplayname="connection.signalinx~[num]=0" maxwires="40" />
<output name="signal_1" displayname="connection.signalx~[num]=1" fallbackdisplayname="connection.signalinx~[num]=1" maxwires="10" /> <output name="signal_1" displayname="connection.signalx~[num]=1" fallbackdisplayname="connection.signalinx~[num]=1" maxwires="40" />
<output name="signal_2" displayname="connection.signalx~[num]=2" fallbackdisplayname="connection.signalinx~[num]=2" maxwires="10" /> <output name="signal_2" displayname="connection.signalx~[num]=2" fallbackdisplayname="connection.signalinx~[num]=2" maxwires="40" />
<output name="signal_3" displayname="connection.signalx~[num]=3" fallbackdisplayname="connection.signalinx~[num]=3" maxwires="10" /> <output name="signal_3" displayname="connection.signalx~[num]=3" fallbackdisplayname="connection.signalinx~[num]=3" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
<output name="power_value_out" displayname="connection.powervalueout" maxwires="10" /> <output name="power_value_out" displayname="connection.powervalueout" maxwires="40" />
<output name="load_value_out" displayname="connection.loadvalueout" maxwires="10" /> <output name="load_value_out" displayname="connection.loadvalueout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.1" mindeteriorationdelay="120" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10"> <Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.1" mindeteriorationdelay="120" maxdeteriorationdelay="720" mindeteriorationcondition="0" RepairThreshold="80" fixDurationHighSkill="5" fixDurationLowSkill="25" msg="ItemMsgRepairScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" /> <GuiFrame relativesize="0.2,0.16" minsize="400,180" maxsize="480,216" anchor="Center" relativeoffset="0.0,0.27" style="ItemUI" />
@@ -307,15 +307,15 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<requireditem items="Screwdriver" type="Equipped" /> <requireditem items="Screwdriver" type="Equipped" />
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="set_rate" displayname="connection.batterysetrechargespeed" /> <input name="set_rate" displayname="connection.batterysetrechargespeed" />
<output name="charge" displayname="connection.batterychargestatusout" maxwires="10" /> <output name="charge" displayname="connection.batterychargestatusout" maxwires="40" />
<output name="charge_%" displayname="connection.batterychargepercentage" maxwires="10" /> <output name="charge_%" displayname="connection.batterychargepercentage" maxwires="40" />
<output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="10" /> <output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<ItemContainer capacity="9" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock"> <ItemContainer capacity="27" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock">
<GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" /> <GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" />
<Containable items="loadable" /> <Containable items="loadable" />
</ItemContainer> </ItemContainer>
@@ -356,15 +356,15 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<requireditem items="Screwdriver" type="Equipped" /> <requireditem items="Screwdriver" type="Equipped" />
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="set_rate" displayname="connection.batterysetrechargespeed" /> <input name="set_rate" displayname="connection.batterysetrechargespeed" />
<output name="charge" displayname="connection.batterychargestatusout" maxwires="10" /> <output name="charge" displayname="connection.batterychargestatusout" maxwires="40" />
<output name="charge_%" displayname="connection.batterychargepercentage" maxwires="10" /> <output name="charge_%" displayname="connection.batterychargepercentage" maxwires="40" />
<output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="10" /> <output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<ItemContainer capacity="9" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock"> <ItemContainer capacity="27" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock">
<GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" /> <GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" />
<Containable items="loadable" /> <Containable items="loadable" />
</ItemContainer> </ItemContainer>
@@ -405,15 +405,15 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<requireditem items="Screwdriver" type="Equipped" /> <requireditem items="Screwdriver" type="Equipped" />
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="set_rate" displayname="connection.batterysetrechargespeed" /> <input name="set_rate" displayname="connection.batterysetrechargespeed" />
<output name="charge" displayname="connection.batterychargestatusout" maxwires="10" /> <output name="charge" displayname="connection.batterychargestatusout" maxwires="40" />
<output name="charge_%" displayname="connection.batterychargepercentage" maxwires="10" /> <output name="charge_%" displayname="connection.batterychargepercentage" maxwires="40" />
<output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="10" /> <output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<ItemContainer capacity="9" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock"> <ItemContainer capacity="27" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock">
<GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" /> <GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" />
<Containable items="loadable" /> <Containable items="loadable" />
</ItemContainer> </ItemContainer>
@@ -454,15 +454,15 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<requireditem items="Screwdriver" type="Equipped" /> <requireditem items="Screwdriver" type="Equipped" />
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="set_rate" displayname="connection.batterysetrechargespeed" /> <input name="set_rate" displayname="connection.batterysetrechargespeed" />
<output name="charge" displayname="connection.batterychargestatusout" maxwires="10" /> <output name="charge" displayname="connection.batterychargestatusout" maxwires="40" />
<output name="charge_%" displayname="connection.batterychargepercentage" maxwires="10" /> <output name="charge_%" displayname="connection.batterychargepercentage" maxwires="40" />
<output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="10" /> <output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<ItemContainer capacity="9" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock"> <ItemContainer capacity="27" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock">
<GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" /> <GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" />
<Containable items="loadable" /> <Containable items="loadable" />
</ItemContainer> </ItemContainer>
@@ -503,15 +503,15 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<requireditem items="Screwdriver" type="Equipped" /> <requireditem items="Screwdriver" type="Equipped" />
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="set_rate" displayname="connection.batterysetrechargespeed" /> <input name="set_rate" displayname="connection.batterysetrechargespeed" />
<output name="charge" displayname="connection.batterychargestatusout" maxwires="10" /> <output name="charge" displayname="connection.batterychargestatusout" maxwires="40" />
<output name="charge_%" displayname="connection.batterychargepercentage" maxwires="10" /> <output name="charge_%" displayname="connection.batterychargepercentage" maxwires="40" />
<output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="10" /> <output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<ItemContainer capacity="9" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock"> <ItemContainer capacity="27" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock">
<GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" /> <GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" />
<Containable items="loadable" /> <Containable items="loadable" />
</ItemContainer> </ItemContainer>
@@ -551,13 +551,13 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<output name="charge" displayname="connection.batterychargestatusout" maxwires="10" /> <output name="charge" displayname="connection.batterychargestatusout" maxwires="40" />
<output name="charge_%" displayname="connection.batterychargepercentage" maxwires="10" /> <output name="charge_%" displayname="connection.batterychargepercentage" maxwires="40" />
<output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="10" /> <output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="40" />
<input name="set_rate" displayname="connection.batterysetrechargespeed" /> <input name="set_rate" displayname="connection.batterysetrechargespeed" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<LightComponent range="10.0" lightcolor="255,255,255,0" pulsefrequency="0.4" pulseamount="0.4" powerconsumption="1" IsOn="false" castshadows="false" allowingameediting="false"> <LightComponent range="10.0" lightcolor="255,255,255,0" pulsefrequency="0.4" pulseamount="0.4" powerconsumption="1" IsOn="false" castshadows="false" allowingameediting="false">
<sprite texture="Content/Items/Electricity/signalcomp.png" sourcerect="358,334,154,160" depth="0.1" origin="0.5,0.5" alpha="1.0" /> <sprite texture="Content/Items/Electricity/signalcomp.png" sourcerect="358,334,154,160" depth="0.1" origin="0.5,0.5" alpha="1.0" />
@@ -600,13 +600,13 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<RequiredItem items="screwdriver" type="Equipped" /> <RequiredItem items="screwdriver" type="Equipped" />
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<output name="charge" displayname="connection.batterychargestatusout" maxwires="10" /> <output name="charge" displayname="connection.batterychargestatusout" maxwires="40" />
<output name="charge_%" displayname="connection.batterychargepercentage" maxwires="10" /> <output name="charge_%" displayname="connection.batterychargepercentage" maxwires="40" />
<output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="10" /> <output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="40" />
<input name="set_rate" displayname="connection.batterysetrechargespeed" /> <input name="set_rate" displayname="connection.batterysetrechargespeed" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<LightComponent range="10.0" lightcolor="255,255,255,0" pulsefrequency="0.4" pulseamount="0.4" powerconsumption="1" IsOn="false" castshadows="false" allowingameediting="false"> <LightComponent range="10.0" lightcolor="255,255,255,0" pulsefrequency="0.4" pulseamount="0.4" powerconsumption="1" IsOn="false" castshadows="false" allowingameediting="false">
<sprite texture="Content/Items/Electricity/signalcomp.png" sourcerect="358,334,154,160" depth="0.1" origin="0.5,0.5" alpha="1.0" /> <sprite texture="Content/Items/Electricity/signalcomp.png" sourcerect="358,334,154,160" depth="0.1" origin="0.5,0.5" alpha="1.0" />

View File

@@ -27,15 +27,15 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<requireditem items="Screwdriver" type="Equipped" /> <requireditem items="Screwdriver" type="Equipped" />
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="set_rate" displayname="connection.batterysetrechargespeed" /> <input name="set_rate" displayname="connection.batterysetrechargespeed" />
<output name="charge" displayname="connection.batterychargestatusout" maxwires="10" /> <output name="charge" displayname="connection.batterychargestatusout" maxwires="40" />
<output name="charge_%" displayname="connection.batterychargepercentage" maxwires="10" /> <output name="charge_%" displayname="connection.batterychargepercentage" maxwires="40" />
<output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="10" /> <output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<ItemContainer capacity="9" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock"> <ItemContainer capacity="27" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock">
<GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" /> <GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" />
<Containable items="loadable" /> <Containable items="loadable" />
</ItemContainer> </ItemContainer>
@@ -78,15 +78,15 @@
<Affliction identifier="burn" strength="5" /> <Affliction identifier="burn" strength="5" />
</StatusEffect> </StatusEffect>
<requireditem items="Screwdriver" type="Equipped" /> <requireditem items="Screwdriver" type="Equipped" />
<output name="power_out" displayname="connection.powerout" maxwires="10" /> <output name="power_out" displayname="connection.powerout" maxwires="40" />
<input name="power_in" displayname="connection.powerin" /> <input name="power_in" displayname="connection.powerin" />
<input name="set_rate" displayname="connection.batterysetrechargespeed" /> <input name="set_rate" displayname="connection.batterysetrechargespeed" />
<output name="charge" displayname="connection.batterychargestatusout" maxwires="10" /> <output name="charge" displayname="connection.batterychargestatusout" maxwires="40" />
<output name="charge_%" displayname="connection.batterychargepercentage" maxwires="10" /> <output name="charge_%" displayname="connection.batterychargepercentage" maxwires="40" />
<output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="10" /> <output name="charge_rate" displayname="connection.batteryrechargespeedout" maxwires="40" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" /> <output name="condition_out" displayname="connection.conditionout" maxwires="40" />
</ConnectionPanel> </ConnectionPanel>
<ItemContainer capacity="9" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock"> <ItemContainer capacity="27" maxstacksize="60" canbeselected="true" hideitems="true" hudpos="0.5,0.6" uilabel="ChargingDock">
<GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" /> <GuiFrame relativesize="0.2,0.2" anchor="Center" relativeoffset="0,0.2" style="ItemUI" />
<Containable items="loadable" /> <Containable items="loadable" />
</ItemContainer> </ItemContainer>

Some files were not shown because too many files have changed in this diff Show More