Files
barotrauma-localmods/ExtinguisherComponent/ExtinguisherComponent.xml
2025-04-01 09:00:53 +02:00

306 lines
22 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Items>
<Item name="Extinguisher Component" identifier="ExtinguisherComponent" category="Equipment" Tags="smallitem,tool,signal" cargocontaineridentifier="metalcrate" requireaimtouse="true" characterusable="false" Scale="0.65" impactsoundtag="impact_metal_light" maxstacksize="60">
<PreferredContainer primary="engcab" />
<PreferredContainer primary="wreckstoragecab,abandonedstoragecab,piratestoragecab" amount="1" spawnprobability="0.0125" />
<PreferredContainer primary="outpostcrewcabinet" amount="1" spawnprobability="0.025" />
<Deconstruct time="10">
<Item identifier="Copper" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="20">
<Item identifier="Copper" amount="2" />
</Fabricate>
<Price baseprice="44">
<Price storeidentifier="merchantoutpost" minavailable="2" />
<Price storeidentifier="merchantcity" minavailable="3" />
<Price storeidentifier="merchantresearch" multiplier="1.25" minavailable="1" />
<Price storeidentifier="merchantmilitary" multiplier="1.25" minavailable="1" />
<Price storeidentifier="merchantmine" multiplier="1.25" minavailable="4" />
<Price storeidentifier="merchantengineering" minavailable="2" multiplier="0.9" />
</Price>
<Sprite texture="%ModDir%/ExtinguisherComponent.Png" sourcerect="0,0,92,52" depth="0.55" canflipx="true" origin="0.5,0.5" />
<Body width="92" height="52" density="50" />
<Holdable selectkey="Select" pickkey="Use" slots="Any,RightHand+LeftHand" msg="ItemMsgDetachWrench" PickingTime="10.0" aimpos="65,-10" handle1="0,0" attachable="true" aimable="false">
<RequiredItem identifier="wrench" type="Equipped" />
</Holdable>
<RepairTool wateramount="0.0" extinguishamount="50.0" range="600" barrelpos="0,-26" barrelrotation="270" spread="30" unskilledspread="0" targetstructures="false" hititems="false" characterusable="false" requireaimtouse="false" usablein="air">
<ParticleEmitter particle="extinguisher" velocitymin="1000.0" velocitymax="1650.0" particlespersecond="60" anglemin="-10" anglemax="10" />
<sound file="Content/Items/Tools/Extinguisher.ogg" type="OnUse" range="500.0" loop="true" />
<StatusEffect type="OnNotContained" target="This" setvalue="true" requireaimtouse="false" />
<StatusEffect type="OnContained" target="This" setvalue="true" requireaimtouse="true" />
</RepairTool>
<RepairTool wateramount="0.0" extinguishamount="50.0" range="600" barrelpos="-31,-24" barrelrotation="230" spread="30" unskilledspread="0" targetstructures="false" hititems="false" characterusable="false" requireaimtouse="false" usablein="air">
<ParticleEmitter particle="extinguisher" velocitymin="1000.0" velocitymax="1650.0" particlespersecond="60" anglemin="-10" anglemax="10" />
<sound file="Content/Items/Tools/Extinguisher.ogg" type="OnUse" range="500.0" loop="true" />
<StatusEffect type="OnNotContained" target="This" setvalue="true" requireaimtouse="false" />
<StatusEffect type="OnContained" target="This" setvalue="true" requireaimtouse="true" />
</RepairTool>
<RepairTool wateramount="0.0" extinguishamount="50.0" range="600" barrelpos="31,-24" barrelrotation="310" spread="30" unskilledspread="0" targetstructures="false" hititems="false" characterusable="false" requireaimtouse="false" usablein="air">
<ParticleEmitter particle="extinguisher" velocitymin="1000.0" velocitymax="1650.0" particlespersecond="60" anglemin="-10" anglemax="10" />
<sound file="Content/Items/Tools/Extinguisher.ogg" type="OnUse" range="500.0" loop="true" />
<StatusEffect type="OnNotContained" target="This" setvalue="true" requireaimtouse="false" />
<StatusEffect type="OnContained" target="This" setvalue="true" requireaimtouse="true" />
</RepairTool>
<LightComponent lightcolor="0,0,0,0" range="0.1" powerconsumption="1" IsOn="true" castshadows="false" allowingameediting="false">
<StatusEffect type="OnActive" target="This">
<RequiredItems items="extinguisher" type="Contained" />
<UseItem />
</StatusEffect>
<StatusEffect type="OnActive" target="Contained" condition="-6">
<RequiredItems items="extinguisher" type="Contained" />
</StatusEffect>
</LightComponent>
<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" />
<RequiredItem items="screwdriver" type="Equipped" />
<input name="power" displayname="connection.power" />
<input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" />
</ConnectionPanel>
<ItemContainer hideitems="false" containedspritedepth="0.56" drawinventory="true" capacity="1" AutoInteractWithContained="false" itempos="22.5,-16" itemrotation="270" canbeselected="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.2,0.25" anchor="Center" minsize="140,170" maxsize="280,280" style="ItemUI" />
<Containable items="extinguisher" />
</ItemContainer>
</Item>
<Item name="Flamer Component" identifier="FlamerComponent" category="Equipment" Tags="smallitem,tool,signal" cargocontaineridentifier="metalcrate" fireproof="true" requireaimtouse="true" characterusable="false" Scale="0.45" impactsoundtag="impact_metal_light" maxstacksize="60">
<PreferredContainer primary="engcab" />
<PreferredContainer primary="wreckstoragecab,abandonedstoragecab,piratestoragecab" amount="1" spawnprobability="0.0125" />
<PreferredContainer primary="outpostcrewcabinet" amount="1" spawnprobability="0.025" />
<Deconstruct time="10">
<Item identifier="Copper" amount="2" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="20">
<Item identifier="Copper" amount="2" />
</Fabricate>
<Price baseprice="44">
<Price storeidentifier="merchantoutpost" minavailable="2" />
<Price storeidentifier="merchantcity" minavailable="3" />
<Price storeidentifier="merchantresearch" multiplier="1.25" minavailable="1" />
<Price storeidentifier="merchantmilitary" multiplier="1.25" minavailable="1" />
<Price storeidentifier="merchantmine" multiplier="1.25" minavailable="4" />
<Price storeidentifier="merchantengineering" minavailable="2" multiplier="0.9" />
</Price>
<Sprite texture="%ModDir%/FlamerComponent.Png" sourcerect="0,0,92,52" depth="0.55" canflipx="true" origin="0.5,0.5" />
<Body width="92" height="52" density="50" />
<Holdable selectkey="Select" pickkey="Use" slots="Any,RightHand+LeftHand" msg="ItemMsgDetachWrench" PickingTime="10.0" aimpos="65,-10" handle1="0,0" attachable="true" aimable="false">
<RequiredItem identifier="wrench" type="Equipped" />
</Holdable>
<RepairTool firedamage="25.0" structurefixamount="0.0" usablein="Air" range="600" barrelpos="0,-26" barrelrotation="270" fireprobability="0.1" repairmultiple="true" RepairMultipleWalls="false" repairthroughwalls="false" repairthroughholes="true" combatpriority="50" spread="25" unskilledspread="25">
<!-- the item must contain a welding fuel tank for it to work -->
<StatusEffect type="OnNotContained" target="This" setvalue="true" requireaimtouse="false" />
<StatusEffect type="OnContained" target="This" setvalue="true" requireaimtouse="true" />
<ParticleEmitter particle="flamethrower" particlespersecond="80" anglemin="0" anglemax="0" velocitymin="1000" velocitymax="1500" highqualitycollisiondetection="true" />
<ParticleEmitter particle="flamethrowersmoke" particlespersecond="80" anglemin="0" anglemax="0" velocitymin="500" velocitymax="1000" />
<sound file="Content/Items/Weapons/FlameThrowerLoop.ogg" type="OnUse" range="750.0" loop="true" />
<StatusEffect type="OnFailure" target="This">
<ParticleEmitter particle="bubbles" particlespersecond="20" anglemin="-10" anglemax="10" scalemin="0.3" scalemax="0.7" velocitymin="5" velocitymax="100" copyentityangle="true" />
<ParticleEmitter particle="fleshsmoke" particlespersecond="10" anglemin="-10" anglemax="10" scalemin="1" scalemax="1.5" velocitymin="5" velocitymax="200" copyentityangle="true" />
</StatusEffect>
<StatusEffect type="OnSuccess" targettype="UseTarget" targets="item" Condition="-15.0">
<Conditional HasTag="neq weldable" />
</StatusEffect>
<!-- make the item unusable when there's less than 10% oxygen -->
<StatusEffect type="OnUse" target="Hull,This" UsableIn="None">
<Conditional OxygenPercentage="lt 10" />
</StatusEffect>
<!-- make the item usable again when there's more than 10% oxygen -->
<StatusEffect type="OnUse" target="Hull,This" UsableIn="Air">
<Conditional OxygenPercentage="gt 10" />
</StatusEffect>
<!-- when using, the contained welding fuel tank will detoriate (= lose fuel) -->
<StatusEffect type="OnUse" targettype="Contained" targets="weldingfueltank" Condition="-25.0" />
<StatusEffect type="OnUse" targettype="Contained" targets="incendiumfueltank" Condition="-10.0" />
<!-- do burn damage to characters -->
<StatusEffect type="OnUse" target="UseTarget">
<Conditional InWater="false" />
<Affliction identifier="burn" amount="1.25" />
<Affliction identifier="burning" amount="2" dividebylimbcount="true" />
</StatusEffect>
<StatusEffect type="OnUse" target="UseTarget">
<RequiredItem items="incendiumfueltank" type="Contained" />
<Conditional InWater="false" />
<Affliction identifier="burn" amount="2.5" />
<Affliction identifier="burning" amount="2" dividebylimbcount="true" />
<Affliction identifier="stun" strength="1" probability="0.1" />
</StatusEffect>
<StatusEffect type="OnUse" target="This" firedamage="40.0" fireprobability="0.35" setvalue="true">
<RequiredItem items="incendiumfueltank" type="Contained" />
</StatusEffect>
<!-- explode if oxygen tanks are inserted -->
<StatusEffect type="OnUse" targettype="Contained" targets="oxygentank" delay="1.0" stackable="false" Condition="0" setvalue="true">
<sound file="Content/Items/Weapons/ExplosionSmall1.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall2.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall3.ogg" range="2000" />
<Explosion range="150.0" force="3" applyfireeffects="false">
<Affliction identifier="burn" strength="25" />
<Affliction identifier="stun" strength="5" />
</Explosion>
</StatusEffect>
<StatusEffect type="OnUse" targettype="Contained" targets="oxygenitetank" delay="1.0" stackable="false" Condition="0" setvalue="true">
<sound file="Content/Items/Weapons/ExplosionSmall1.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall2.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall3.ogg" range="2000" />
<Explosion range="150.0" force="6" applyfireeffects="false">
<Affliction identifier="burn" strength="50" />
<Affliction identifier="stun" strength="10" />
</Explosion>
</StatusEffect>
<!-- consume oxygen from the hull -->
<StatusEffect type="OnUse" target="Hull" Oxygen="-10000" />
</RepairTool>
<RepairTool firedamage="25.0" structurefixamount="0.0" usablein="Air" range="600" barrelpos="-31,-24" barrelrotation="230" fireprobability="0.1" repairmultiple="true" RepairMultipleWalls="false" repairthroughwalls="false" repairthroughholes="true" combatpriority="50" spread="25" unskilledspread="25">
<!-- the item must contain a welding fuel tank for it to work -->
<StatusEffect type="OnNotContained" target="This" setvalue="true" requireaimtouse="false" />
<StatusEffect type="OnContained" target="This" setvalue="true" requireaimtouse="true" />
<ParticleEmitter particle="flamethrower" particlespersecond="80" anglemin="0" anglemax="0" velocitymin="1000" velocitymax="1500" highqualitycollisiondetection="true" />
<ParticleEmitter particle="flamethrowersmoke" particlespersecond="80" anglemin="0" anglemax="0" velocitymin="500" velocitymax="1000" />
<sound file="Content/Items/Weapons/FlameThrowerLoop.ogg" type="OnUse" range="750.0" loop="true" />
<StatusEffect type="OnFailure" target="This">
<ParticleEmitter particle="bubbles" particlespersecond="20" anglemin="-10" anglemax="10" scalemin="0.3" scalemax="0.7" velocitymin="5" velocitymax="100" copyentityangle="true" />
<ParticleEmitter particle="fleshsmoke" particlespersecond="10" anglemin="-10" anglemax="10" scalemin="1" scalemax="1.5" velocitymin="5" velocitymax="200" copyentityangle="true" />
</StatusEffect>
<StatusEffect type="OnSuccess" targettype="UseTarget" targets="item" Condition="-15.0">
<Conditional HasTag="neq weldable" />
</StatusEffect>
<!-- make the item unusable when there's less than 10% oxygen -->
<StatusEffect type="OnUse" target="Hull,This" UsableIn="None">
<Conditional OxygenPercentage="lt 10" />
</StatusEffect>
<!-- make the item usable again when there's more than 10% oxygen -->
<StatusEffect type="OnUse" target="Hull,This" UsableIn="Air">
<Conditional OxygenPercentage="gt 10" />
</StatusEffect>
<!-- when using, the contained welding fuel tank will detoriate (= lose fuel) -->
<StatusEffect type="OnUse" targettype="Contained" targets="weldingfueltank" Condition="-25.0" />
<StatusEffect type="OnUse" targettype="Contained" targets="incendiumfueltank" Condition="-10.0" />
<!-- do burn damage to characters -->
<StatusEffect type="OnUse" target="UseTarget">
<Conditional InWater="false" />
<Affliction identifier="burn" amount="1.25" />
<Affliction identifier="burning" amount="2" dividebylimbcount="true" />
</StatusEffect>
<StatusEffect type="OnUse" target="UseTarget">
<RequiredItem items="incendiumfueltank" type="Contained" />
<Conditional InWater="false" />
<Affliction identifier="burn" amount="2.5" />
<Affliction identifier="burning" amount="2" dividebylimbcount="true" />
<Affliction identifier="stun" strength="1" probability="0.1" />
</StatusEffect>
<StatusEffect type="OnUse" target="This" firedamage="40.0" fireprobability="0.35" setvalue="true">
<RequiredItem items="incendiumfueltank" type="Contained" />
</StatusEffect>
<!-- explode if oxygen tanks are inserted -->
<StatusEffect type="OnUse" targettype="Contained" targets="oxygentank" delay="1.0" stackable="false" Condition="0" setvalue="true">
<sound file="Content/Items/Weapons/ExplosionSmall1.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall2.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall3.ogg" range="2000" />
<Explosion range="150.0" force="3" applyfireeffects="false">
<Affliction identifier="burn" strength="25" />
<Affliction identifier="stun" strength="5" />
</Explosion>
</StatusEffect>
<StatusEffect type="OnUse" targettype="Contained" targets="oxygenitetank" delay="1.0" stackable="false" Condition="0" setvalue="true">
<sound file="Content/Items/Weapons/ExplosionSmall1.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall2.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall3.ogg" range="2000" />
<Explosion range="150.0" force="6" applyfireeffects="false">
<Affliction identifier="burn" strength="50" />
<Affliction identifier="stun" strength="10" />
</Explosion>
</StatusEffect>
<!-- consume oxygen from the hull -->
<StatusEffect type="OnUse" target="Hull" Oxygen="-10000" />
</RepairTool>
<RepairTool firedamage="25.0" structurefixamount="0.0" usablein="Air" range="600" barrelpos="31,-24" barrelrotation="310" fireprobability="0.1" repairmultiple="true" RepairMultipleWalls="false" repairthroughwalls="false" repairthroughholes="true" combatpriority="50" spread="25" unskilledspread="25">
<!-- the item must contain a welding fuel tank for it to work -->
<StatusEffect type="OnNotContained" target="This" setvalue="true" requireaimtouse="false" />
<StatusEffect type="OnContained" target="This" setvalue="true" requireaimtouse="true" />
<ParticleEmitter particle="flamethrower" particlespersecond="80" anglemin="0" anglemax="0" velocitymin="1000" velocitymax="1500" highqualitycollisiondetection="true" />
<ParticleEmitter particle="flamethrowersmoke" particlespersecond="80" anglemin="0" anglemax="0" velocitymin="500" velocitymax="1000" />
<sound file="Content/Items/Weapons/FlameThrowerLoop.ogg" type="OnUse" range="750.0" loop="true" />
<StatusEffect type="OnFailure" target="This">
<ParticleEmitter particle="bubbles" particlespersecond="20" anglemin="-10" anglemax="10" scalemin="0.3" scalemax="0.7" velocitymin="5" velocitymax="100" copyentityangle="true" />
<ParticleEmitter particle="fleshsmoke" particlespersecond="10" anglemin="-10" anglemax="10" scalemin="1" scalemax="1.5" velocitymin="5" velocitymax="200" copyentityangle="true" />
</StatusEffect>
<StatusEffect type="OnSuccess" targettype="UseTarget" targets="item" Condition="-15.0">
<Conditional HasTag="neq weldable" />
</StatusEffect>
<!-- make the item unusable when there's less than 10% oxygen -->
<StatusEffect type="OnUse" target="Hull,This" UsableIn="None">
<Conditional OxygenPercentage="lt 10" />
</StatusEffect>
<!-- make the item usable again when there's more than 10% oxygen -->
<StatusEffect type="OnUse" target="Hull,This" UsableIn="Air">
<Conditional OxygenPercentage="gt 10" />
</StatusEffect>
<!-- when using, the contained welding fuel tank will detoriate (= lose fuel) -->
<StatusEffect type="OnUse" targettype="Contained" targets="weldingfueltank" Condition="-25.0" />
<StatusEffect type="OnUse" targettype="Contained" targets="incendiumfueltank" Condition="-10.0" />
<!-- do burn damage to characters -->
<StatusEffect type="OnUse" target="UseTarget">
<Conditional InWater="false" />
<Affliction identifier="burn" amount="1.25" />
<Affliction identifier="burning" amount="2" dividebylimbcount="true" />
</StatusEffect>
<StatusEffect type="OnUse" target="UseTarget">
<RequiredItem items="incendiumfueltank" type="Contained" />
<Conditional InWater="false" />
<Affliction identifier="burn" amount="2.5" />
<Affliction identifier="burning" amount="2" dividebylimbcount="true" />
<Affliction identifier="stun" strength="1" probability="0.1" />
</StatusEffect>
<StatusEffect type="OnUse" target="This" firedamage="40.0" fireprobability="0.35" setvalue="true">
<RequiredItem items="incendiumfueltank" type="Contained" />
</StatusEffect>
<!-- explode if oxygen tanks are inserted -->
<StatusEffect type="OnUse" targettype="Contained" targets="oxygentank" delay="1.0" stackable="false" Condition="0" setvalue="true">
<sound file="Content/Items/Weapons/ExplosionSmall1.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall2.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall3.ogg" range="2000" />
<Explosion range="150.0" force="3" applyfireeffects="false">
<Affliction identifier="burn" strength="25" />
<Affliction identifier="stun" strength="5" />
</Explosion>
</StatusEffect>
<StatusEffect type="OnUse" targettype="Contained" targets="oxygenitetank" delay="1.0" stackable="false" Condition="0" setvalue="true">
<sound file="Content/Items/Weapons/ExplosionSmall1.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall2.ogg" range="2000" />
<sound file="Content/Items/Weapons/ExplosionSmall3.ogg" range="2000" />
<Explosion range="150.0" force="6" applyfireeffects="false">
<Affliction identifier="burn" strength="50" />
<Affliction identifier="stun" strength="10" />
</Explosion>
</StatusEffect>
<!-- consume oxygen from the hull -->
<StatusEffect type="OnUse" target="Hull" Oxygen="-10000" />
</RepairTool>
<LightComponent lightcolor="0,0,0,0" range="0.1" powerconsumption="1" IsOn="true" castshadows="false" allowingameediting="false">
<StatusEffect type="OnActive" target="This">
<RequiredItem items="weldingfueltank" type="Contained" />
<UseItem />
</StatusEffect>
<StatusEffect type="OnActive" target="This">
<RequiredItem items="incendiumfueltank" type="Contained" />
<UseItem />
</StatusEffect>
<StatusEffect type="OnActive" target="Contained" targets="weldingfueltank" Condition="-25.0">
<RequiredItem items="weldingfueltank" type="Contained" />
</StatusEffect>
<StatusEffect type="OnActive" target="Contained" targets="incendiumfueltank" Condition="-10.0">
<RequiredItem items="incendiumfueltank" type="Contained" />
</StatusEffect>
</LightComponent>
<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" />
<RequiredItem items="screwdriver" type="Equipped" />
<input name="power" displayname="connection.power" />
<input name="toggle" displayname="connection.togglestate" />
<input name="set_state" displayname="connection.setstate" />
</ConnectionPanel>
<ItemContainer hideitems="false" containedspritedepth="0.56" drawinventory="true" capacity="1" AutoInteractWithContained="false" itempos="22.5,-16" itemrotation="270" canbeselected="true" msg="ItemMsgInteractSelect">
<GuiFrame relativesize="0.2,0.25" anchor="Center" minsize="140,170" maxsize="280,280" style="ItemUI" />
<SlotIcon slotindex="0" texture="Content/UI/StatusMonitorUI.png" sourcerect="64,448,64,64" origin="0.5,0.5" />
<Containable items="weldingtoolfuel,oxygensource" />
</ItemContainer>
</Item>
</Items>