Files
BarotraumaModServer/LocalMods/Neurotrauma/Xml/Items/Etc.xml
T
2026-06-09 00:42:10 +03:00

247 lines
16 KiBLFS
XML
Executable File

<?xml version="1.0" encoding="utf-8"?>
<Override>
<Items>
<!-- Surgery table -->
<Item name="" identifier="operatingtable" scale="0.4" Tags="operatingtable" maxstacksize="1" category="medical" description="" isshootable="true">
<Upgrade gameversion="0.12.0.0" noninteractable="false" />
<Body width="416" height="192" density="40" />
<Price baseprice="200" soldbydefault="false">
<Price storeidentifier="merchantmedical" sold="true" multiplier="0.9" minavailable="1" />
</Price>
<Deconstruct time="10">
<Item identifier="steel" />
<Item identifier="aluminium" />
</Deconstruct>
<Fabricate suitablefabricators="fabricator" requiredtime="30">
<RequiredSkill identifier="medical" level="50" />
<RequiredItem identifier="fpgacircuit" />
<RequiredItem identifier="plastic" />
<RequiredItem identifier="steel" />
<RequiredItem identifier="aluminium" />
</Fabricate>
<InventoryIcon texture="%ModDir%/Images/MedBayAssets.png" sourcerect="100,311,407,184" origin="0.5,0.5" />
<sprite texture="%ModDir%/Images/MedBayAssets.png" sourcerect="100,311,407,184" depth="0.53" premultiplyalpha="false" origin="0.5,0.5" />
<Controller allowingameediting="false" UserPos="0,-300" direction="Right" hidehud="false" canbeselected="true" AllowPuttingInOtherCharacters="true" KickOutCharacterMsg="ItemMsgTakeOutSelectKey" putothercharactermsg="ItemMsgPutInsideSelectKey" SelectingKicksCharacterOut="true" AllowSelectingWhenSelectedByOther="false" selectkey="Select" forceusertostayattached="true">
<limbposition limb="Head" position="-6,-10" allowusinglimb="true" />
<limbposition limb="Torso" position="104,0" allowusinglimb="true" />
<limbposition limb="Waist" position="244,-80" allowusinglimb="true" />
<limbposition limb="RightFoot" position="380,-20" allowusinglimb="true" />
<limbposition limb="LeftFoot" position="380,-20" allowusinglimb="true" />
<limbposition limb="RightHand" position="234,-10" allowusinglimb="true" />
<limbposition limb="LeftHand" position="234,-10" allowusinglimb="true" />
<!-- Give analgesia/anesthesia, if tank is present -->
<!-- Analgesia -->
<StatusEffect type="OnActive" target="Contained,Character" targettags="analgesictank,Human" Condition="-0.7" conditionalComparison="And" disabledeltatime="true" interval="1">
<Conditional HasTag="analgesictank" />
<Conditional condition="gt 0" />
<Conditional analgesia="lte 11" />
<Affliction identifier="analgesia" amount="3" />
<Affliction identifier="afopioid" amount="3" />
</StatusEffect>
<!-- reduce oxygen and disable "alv" for the user if welding fuel is present -->
<StatusEffect type="OnActive" target="Contained,Character" targettags="weldingfuel,Human" Condition="-0.5" OxygenAvailable="-100.0" Oxygen="-15.0" conditionalComparison="And">
<Conditional HasTag="weldingfuel" />
<Conditional condition="gt 0" />
<Conditional NeedsAir="true" />
<ReduceAffliction identifier="alv" amount="1000" />
</StatusEffect>
<!-- Do dialysis if dialyzer is present -->
<!-- Alkalosis dialysis -->
<StatusEffect type="OnActive" target="Contained,Character" targettags="dialyzer,Human" Condition="-1" conditionalComparison="And" disabledeltatime="true" interval="1">
<Conditional HasTag="dialyzer" />
<Conditional condition="gt 0" />
<Conditional alkalosis="gt 0" />
<ReduceAffliction identifier="alkalosis" amount="0.8" />
<Affliction identifier="sepsis" amount="1" probability="0.001" />
</StatusEffect>
<!-- Acidosis dialysis -->
<StatusEffect type="OnActive" target="Contained,Character" targettags="dialyzer,Human" Condition="-1" conditionalComparison="And" disabledeltatime="true" interval="1">
<Conditional HasTag="dialyzer" />
<Conditional condition="gt 0" />
<Conditional acidosis="gt 0" />
<ReduceAffliction identifier="acidosis" amount="0.8" />
<Affliction identifier="sepsis" amount="1" probability="0.001" />
</StatusEffect>
<!-- Toxin Cleanup -->
<!-- Sufforin Counter -->
<StatusEffect type="OnActive" target="Contained,Character" targettags="toxfilter,Human" Condition="-0.8" conditionalComparison="And" disabledeltatime="true" interval="1">
<Conditional HasTag="toxfilter" />
<Conditional condition="gt 0" />
<Conditional sufforinpoisoning="gte 50" />
<ReduceAffliction identifier="sufforinpoisoning" amount="1.8" />
<Affliction identifier="sepsis" amount="1" probability="0.001" />
</StatusEffect>
<!-- Sufforin Cure -->
<StatusEffect type="OnActive" target="Contained,Character" targettags="toxfilter,Human" Condition="-0.8" conditionalComparison="And" disabledeltatime="true" interval="1">
<Conditional HasTag="toxfilter" />
<Conditional condition="gt 0" />
<Conditional sufforinpoisoning="lt 50" />
<Conditional sufforinpoisoning="gt 0" />
<ReduceAffliction identifier="sufforinpoisoning" amount="1.0" />
<Affliction identifier="sepsis" amount="1" probability="0.001" />
</StatusEffect>
<!-- Cyanide Counter -->
<StatusEffect type="OnActive" target="Contained,Character" targettags="toxfilter,Human" Condition="-0.8" conditionalComparison="And" disabledeltatime="true" interval="1">
<Conditional HasTag="toxfilter" />
<Conditional condition="gt 0" />
<Conditional cyanidepoisoning="gte 30" />
<ReduceAffliction identifier="cyanidepoisoning" amount="5.5" />
<Affliction identifier="sepsis" amount="1" probability="0.001" />
</StatusEffect>
<!-- Cyanide Cure -->
<StatusEffect type="OnActive" target="Contained,Character" targettags="toxfilter,Human" Condition="-0.8" conditionalComparison="And" disabledeltatime="true" interval="1">
<Conditional HasTag="toxfilter" />
<Conditional condition="gt 0" />
<Conditional cyanidepoisoning="lt 30" />
<Conditional cyanidepoisoning="gt 0" />
<ReduceAffliction identifier="cyanidepoisoning" amount="2.8" />
<Affliction identifier="sepsis" amount="1" probability="0.001" />
</StatusEffect>
<!-- Morbusine Counter -->
<StatusEffect type="OnActive" target="Contained,Character" targettags="toxfilter,Human" Condition="-0.8" conditionalComparison="And" disabledeltatime="true" interval="1">
<Conditional HasTag="toxfilter" />
<Conditional condition="gt 0" />
<Conditional morbusinepoisoning="gte 50" />
<ReduceAffliction identifier="morbusinepoisoning" amount="2.3" />
<Affliction identifier="sepsis" amount="1" probability="0.001" />
</StatusEffect>
<!-- Morbusine Cure -->
<StatusEffect type="OnActive" target="Contained,Character" targettags="toxfilter,Human" Condition="-0.8" conditionalComparison="And" disabledeltatime="true" interval="1">
<Conditional HasTag="toxfilter" />
<Conditional condition="gt 0" />
<Conditional morbusinepoisoning="lt 50" />
<Conditional morbusinepoisoning="gt 0" />
<ReduceAffliction identifier="morbusinepoisoning" amount="1.8" />
<Affliction identifier="sepsis" amount="1" probability="0.001" />
</StatusEffect>
<!-- Deliriumine Counter -->
<StatusEffect type="OnActive" target="Contained,Character" targettags="toxfilter,Human" Condition="-0.8" conditionalComparison="And" disabledeltatime="true" interval="1">
<Conditional HasTag="toxfilter" />
<Conditional condition="gt 0" />
<Conditional deliriuminepoisoning="gte 50" />
<ReduceAffliction identifier="deliriuminepoisoning" amount="2.3" />
<Affliction identifier="sepsis" amount="1" probability="0.001" />
</StatusEffect>
<!-- Deliriumine Cure -->
<StatusEffect type="OnActive" target="Contained,Character" targettags="toxfilter,Human" Condition="-0.8" conditionalComparison="And" disabledeltatime="true" interval="1">
<Conditional HasTag="toxfilter" />
<Conditional condition="gt 0" />
<Conditional deliriuminepoisoning="lt 50" />
<Conditional deliriuminepoisoning="gt 0 " />
<ReduceAffliction identifier="deliriuminepoisoning" amount="1.6" />
<Affliction identifier="sepsis" amount="1" probability="0.001" />
</StatusEffect>
</Controller>
<ItemContainer canbeselected="true" selectkey="Attack" capacity="0" maxstacksize="0" hideitems="true" hidehud="false" msg="itemmsgmodifytable" uilabel="operatingtabellabel">
<GuiFrame relativesize="0.2,0.2" anchor="BottomCenter" style="ItemUI" />
<!-- Subcontainers to prepare for future sprite changes - Lukako -->
<!-- First Slot (Tanks) -->
<SubContainer capacity="1">
<SlotIcon texture="%ModDir%/Images/InventoryItemIconAtlas.png" sourcerect="357,450,32,62" origin="0.5,0.5" />
<Containable items="analgesictank,weldingfuel" itempos="102, -57" rotation="270" />
<!-- Put analgesic tank on the surgerytable sprite. -->
</SubContainer>
<!-- Second Slot (Filters) -->
<SubContainer capacity="1">
<SlotIcon texture="%ModDir%/Images/InventoryItemIconAtlas.png" sourcerect="468,457,44,55" origin="0.5,0.5" />
<Containable items="dialyzer,toxfilter" itempos="23, -63" rotation="-270" />
<!-- Put the filters on the surgerytable sprite -->
</SubContainer>
<!-- Third Slot (Organ Storage) -->
<SubContainer capacity="1">
<SlotIcon texture="%ModDir%/Images/InventoryItemIconAtlas.png" sourcerect="386,451,82,61" origin="0.5,0.5" />
<Containable items="organcrate" itempos="115, -27" />
<!-- Slot container in the back -->
</SubContainer>
</ItemContainer>
<!-- Controller output was made editable in v1.1.4.0, disallow it on surgery tables -->
<Upgrade gameversion="2.1.4.0" allowingameediting="false" />
<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" />
<RequiredItem items="screwdriver" type="Equipped" />
<output name="state_out" displayname="connection.stateout" fallbackdisplayname="connection.signalout" />
<output name="alive_out" displayname="connection.aliveout" />
<output name="conscious_out" displayname="connection.consciousout" />
<output name="name_out" displayname="connection.nameout" />
<output name="vitality_out" displayname="connection.vitalityout" />
<output name="heartrate_out" displayname="connection.heartrateout" />
<output name="breathingrate_out" displayname="connection.breathingrateout" />
<output name="bloodpressure_out" displayname="connection.bloodpressureout" />
<output name="bloodoxygen_out" displayname="connection.bloodoxygenout" />
<output name="neurotrauma_out" displayname="connection.neurotraumaout" />
<output name="organdamage_out" displayname="connection.organdamageout" />
<output name="insurgery_out" displayname="connection.insurgeryout" />
<output name="causeofdeath_out" displayname="connection.causeofdeathout" />
<output name="bloodph_out" displayname="connection.bloodphout" />
</ConnectionPanel>
<Holdable selectkey="Action" pickkey="Use" slots="RightHand+LeftHand" msg="ItemMsgDetach" PickingTime="5" aimpos="85,-10" handle1="0,0" attachable="true" aimable="true">
<!-- Artificial Ventilation and Table afflictions -->
<StatusEffect type="OnNotContained" target="NearbyCharacters" range="200" interval="1" stackable="true" disabledeltatime="true">
<Affliction identifier="table" amount="2" />
<Affliction identifier="alv" amount="100" />
</StatusEffect>
<!-- Output value update -->
<StatusEffect type="Always" target="NearbyCharacters" range="200" interval="1" stackable="false">
<LuaHook name="surgerytable.update" />
</StatusEffect>
<!-- Hide contained items to prevent sprites glitching -->
<StatusEffect type="OnUse" target="this" hideitems="false" setvalue="true" />
<!-- If placed, show items -->
<StatusEffect type="OnContained" target="this" hideitems="true" setvalue="true" />
<!-- If contained (player inventory, storage etc.) hide items.-->
</Holdable>
</Item>
<Item name="" identifier="wheelchair" category="Equipment" tags="provocative,mediumitem" scale="0.5" fireproof="false" description="" cargocontaineridentifier="metalcrate" impactsoundtag="impact_metal_heavy">
<Price baseprice="100" soldbydefault="false">
<Price storeidentifier="merchantmedical" sold="true" multiplier="0.9" />
</Price>
<Fabricate suitablefabricators="fabricator" requiredtime="20">
<RequiredSkill identifier="medical" level="20" />
<RequiredSkill identifier="mechanical" level="30" />
<RequiredItem identifier="steel" />
</Fabricate>
<Deconstruct time="10">
<Item identifier="steel" />
</Deconstruct>
<PreferredContainer primary="medcab" />
<PreferredContainer primary="wreckmedcab,abandonedmedcab" minamount="0" maxamount="1" spawnprobability="0.1" />
<Sprite texture="%ModDir%/Images/InGameItemIconAtlas.png" sourcerect="0,768,256,256" depth="0.55" origin="0.5,0.5" />
<Body radius="60" width="60" density="15" />
<Wearable slots="Any,OuterClothes" msg="ItemMsgEquipSelect" autoequipwhenfull="true">
<sprite texture="%ModDir%/Images/InGameItemIconAtlas.png" limb="Waist" hidelimb="false" inherittexturescale="true" hideotherwearables="false" inheritorigin="false" sourcerect="0,768,256,256" inheritlimbdepth="false" depth="0.10003" />
<!-- depth="0.11504" -->
</Wearable>
<Controller UserPos="0,-300" direction="Right" hidehud="false" canbeselected="true">
<limbposition limb="Head" position="-6,-10" allowusinglimb="true" />
<limbposition limb="Torso" position="104,0" allowusinglimb="true" />
<limbposition limb="Waist" position="244,-80" allowusinglimb="true" />
<limbposition limb="RightFoot" position="380,-20" allowusinglimb="true" />
<limbposition limb="LeftFoot" position="380,-20" allowusinglimb="true" />
<limbposition limb="RightHand" position="234,-10" allowusinglimb="false" />
<limbposition limb="LeftHand" position="234,-10" allowusinglimb="false" />
</Controller>
<aitarget maxsightrange="50" />
</Item>
<Item name="" identifier="blahaj" category="Equipment" cargocontaineridentifier="metalcrate" impactsoundtag="impact_squeak" RequireAimToUse="True" Tags="smallitem,medical,mountableweapon" description="" useinhealthinterface="True" scale="0.25">
<Fabricate suitablefabricators="fabricator" requiredtime="5">
<RequiredSkill identifier="mechanical" level="10" />
<RequiredItem identifier="plastic" />
</Fabricate>
<Deconstruct time="5" />
<Sprite texture="%ModDir%/Images/InGameItemIconAtlas.png" sourcerect="768,835,256,189" depth="0.55" origin="0.5,0.5" />
<Body width="100" height="80" density="9" />
<MeleeWeapon slots="Any,RightHand,LeftHand" controlpose="true" aimpos="45,10" handle1="-20,0" handle2="-10,5" holdangle="60" reload="1" range="100" combatpriority="5" msg="ItemMsgPickUpSelect">
<Attack stun="0.3" targetimpulse="2">
<Affliction identifier="stopcreatureabuse" strength="2" />
</Attack>
<StatusEffect type="OnUse" target="This" disabledeltatime="true">
<Sound file="%ModDir%/Sound/squeak1.ogg" type="OnUse" range="500" />
<Sound file="%ModDir%/Sound/squeak2.ogg" type="OnUse" range="500" />
<Sound file="%ModDir%/Sound/squeak3.ogg" type="OnUse" range="500" />
<Sound file="%ModDir%/Sound/squeak4.ogg" type="OnUse" range="500" />
<Sound file="%ModDir%/Sound/squeak5.ogg" type="OnUse" range="500" />
</StatusEffect>
</MeleeWeapon>
</Item>
</Items>
</Override>