Files
barotrauma-localmods/Prometheus/Items/Generator/generator.xml
2025-04-01 09:00:53 +02:00

147 lines
12 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Items>
<Item name="Nuclear Reactor" identifier="ekdockyard_reactor_small" tags="reactor" type="Reactor" scale="0.5" linkable="true" category="Machine" damagedbyexplosions="true" explosiondamagemultiplier="0.2" description="Usable device for generating electrical power. An undersized reactor unit for vessels with lower power requirements.">
<trigger />
<Sprite texture="%ModDir%/Items/Generator/reactor_variant_01.png" sourcerect="0,0,291,406" depth="0.8" />
<UpgradePreviewSprite scale="3.0" texture="Content/UI/WeaponUI.png" sourcerect="0,960,64,64" origin="0.5,0.45" />
<BrokenSprite texture="%ModDir%/Items/Generator/reactor_variant_01.png" sourcerect="291,0,291,406" depth="0.8" maxcondition="80" fadein="true" />
<BrokenSprite texture="%ModDir%/Items/Generator/reactor_variant_01.png" sourcerect="582,0,291,406" depth="0.8" maxcondition="0" />
<aitarget sightrange="500" soundrange="2500" />
<Reactor canbeselected="true" firedelay="17.5" meltdowndelay="60" maxpoweroutput="5000" fuelconsumptionrate="0.1" vulnerabletoemp="false" msg="ItemMsgInteractSelect">
<StatusEffect type="InWater" target="This" condition="-0.5" comparison="and">
<Conditional condition="gt 10" />
<Conditional temperature="gt 2" />
</StatusEffect>
<GuiFrame relativesize="0.5,0.45" minsize="700,350" maxsize="2688,1166" anchor="Center" relativeoffset="0.1,0" style="ItemUI" />
<GraphLine texture="Content/Items/Reactor/graphLine.png">
<Sprite name="ReactorGraphLine" texture="Content/Items/Reactor/graphLine.png" sourcerect="0,0,32,32" />
</GraphLine>
<FissionRateMeter>
<Sprite name="FissionRateMeter" texture="Content/Items/Reactor/reactor.png" sourcerect="544,770,441,240" origin="0.5,1" />
</FissionRateMeter>
<TurbineOutputMeter>
<Sprite name="TurbineOutputMeter" texture="Content/Items/Reactor/reactor.png" sourcerect="544,770,441,240" origin="0.5,1" />
</TurbineOutputMeter>
<MeterPointer>
<Sprite name="MeterPointer" texture="Content/UI/UIAtlasDevices.png" sourcerect="938,846,31,167 " origin="0.5,0.9" />
</MeterPointer>
<SectorSprite>
<Sprite name="SectorSprite" texture="Content/UI/UIAtlasDevices.png" sourcerect="769,326,238,455" origin="0.95,0.5" />
</SectorSprite>
<TempMeterFrame>
<Sprite name="TempMeterFrame" texture="Content/UI/UIAtlasDevices.png" sourcerect="92,517,59,265" origin="0,0" size="0.5,1" />
</TempMeterFrame>
<TempMeterBar>
<Sprite name="TempMeterBar" texture="Content/UI/UIAtlasDevices.png" sourcerect="270,414,106,47" origin="0.5,0" />
</TempMeterBar>
<TempRangeIndicator>
<Sprite name="TempRangeIndicator" texture="Content/UI/UIAtlasDevices.png" sourcerect="31,614,52,25" origin="0.5,0.5" size="0.6,0.6" />
</TempRangeIndicator>
<RequiredSkill identifier="electrical" level="50" />
<sound file="%ModDir%/Sounds/ReactorAmbient.ogg" type="OnActive" range="2000.0" volumeproperty="FissionRate" volume="1.0" loop="true" />
<StatusEffect type="OnBroken" target="This" FissionRate="0.0" disabledeltatime="true">
<Conditional temperature="gt 2" />
<sound file="Content/Items/Weapons/ExplosionLarge2.ogg" range="10000" selectionmode="All" />
<sound file="Content/Items/Weapons/ExplosionDebris5.ogg" range="10000" />
<Explosion range="610" ballastfloradamage="1000" structuredamage="150" force="30.0" camerashake="275" flashrange="8000" flashduration="5.0" debris="true" screencolor="255,255,255,255" screencolorrange="3500" screencolorduration="3.0">
<Affliction identifier="burn" strength="200" />
<Affliction identifier="explosiondamage" strength="50" />
<Affliction identifier="radiationsickness" strength="50" />
<Affliction identifier="stun" strength="5" />
</Explosion>
</StatusEffect>
<StatusEffect type="OnBroken" target="Contained" Condition="0.0" setvalue="true">
<Conditional temperature="gt 2" />
</StatusEffect>
</Reactor>
<!--
<LightComponent range="10.0" lightcolor="255,255,255,0" powerconsumption="0" IsOn="false" castshadows="false" alphablend="false" allowingameediting="false" allowwhenbroken="true">
<Upgrade gameversion="0.9.600.0" lightcolor="255,255,255,0" />
<IsActive targetitemcomponent="Reactor" Condition="0.0" />
<sprite texture="%ModDir%/Items/Generator/reactor_leak_lights.png" depth="0.025" origin="0.5,0.5" alpha="1.0" />
</LightComponent> (This does not work and I do not know why- in the interim I've created this as a seperate light below.)-->
<ConnectionPanel selectkey="Action" canbeselected="true" msg="ItemMsgRewireScrewdriver" hudpriority="10">
<GuiFrame relativesize="0.3,0.32" minsize="400,350" maxsize="480,420" anchor="Center" style="ConnectionPanel" />
<RequiredSkill identifier="electrical" level="55" />
<StatusEffect type="OnFailure" target="Character" targetlimbs="LeftHand,RightHand">
<Sound file="Content/Sounds/Damage/Electrocution1.ogg" range="1000" />
<Explosion range="100.0" stun="0" force="5.0" flames="false" shockwave="false" sparks="true" underwaterbubble="false" />
<Affliction identifier="stun" strength="4" />
<Affliction identifier="burn" strength="5" />
</StatusEffect>
<RequiredItem items="screwdriver" type="Equipped" />
<output name="power_out" displayname="connection.powerout" maxwires="4" />
<output name="temperature_out" displayname="connection.temperatureout" maxwires="10" />
<input name="shutdown" displayname="connection.shutdown">
<!-- Manually set state to false because shutdown signal is sometimes unreliable -->
<StatusEffect type="OnUse" target="This" poweron="false" setvalue="true" />
</input>
<output name="meltdown_warning" displayname="connection.meltdownwarning">
<StatusEffect type="OnUse" target="This">
<ParticleEmitter particle="smoke" particleburstamount="3" particleburstinterval="0.5" particlespersecond="2" scalemin="1" scalemax="2.5" anglemin="0" anglemax="359" velocitymin="-50" velocitymax="50" mincondition="15.0" maxcondition="40.0" />
<ParticleEmitter particle="DarkSmoke" particleburstamount="3" particleburstinterval="0.5" particlespersecond="20" scalemin="2.5" scalemax="3.5" anglemin="50" anglemax="130" velocitymin="10" velocitymax="50" mincondition="0.0" maxcondition="60.0" />
<ParticleEmitter particle="DarkSmoke" particleburstamount="3" particleburstinterval="0.5" particlespersecond="40" scalemin="2.5" scalemax="3.5" distancemin="-15" distancemax="15" anglemin="50" anglemax="130" velocitymin="10" velocitymax="100" mincondition="0.0" maxcondition="20.0" />
<ParticleEmitter particle="swirlysmoke" particlespersecond="3" scalemin="1" scalemax="2" anglemin="0" anglemax="360" velocitymin="0" velocitymax="10" />
<sound file="Content/Items/Reactor/ReactorOverheatAlarm.ogg" type="OnUse" range="10000.0" loop="true" volume="1.0" />
</StatusEffect>
</output>
<input name="set_fissionrate" displayname="connection.setfissionrate" />
<input name="set_turbineoutput" displayname="connection.setturbineoutput" />
<output name="power_value_out" displayname="connection.powervalueout" maxwires="10" />
<output name="load_value_out" displayname="connection.loadvalueout" maxwires="10" />
<output name="fuel_out" displayname="connection.availablefuelout" maxwires="10" />
<output name="condition_out" displayname="connection.conditionout" maxwires="10" />
<output name="fuel_percentage_left" displayname="connection.fuelpercentageout" maxwires="10" />
<!-- Control Additions autotemp="True" -->
<input name="poweron" displayname="connection.activate">
<StatusEffect type="OnUse" target="This" poweron="true" setvalue="true" />
</input>
<input name="autotemp" displayname="pumpautocontrol">
<StatusEffect type="OnUse" target="This" autotemp="true" setvalue="true" />
</input>
</ConnectionPanel>
<ItemContainer capacity="12" maxstacksize="60" canbeselected="true" hudpos="0.5,0.15" slotsperrow="4" uilabel="FuelRods">
<Containable items="fuelrod,ammobox,deepdiving,smallitem,mediumitem,largeitem">
<StatusEffect type="OnContaining" target="This" AvailableFuel="80.0" disabledeltatime="true" />
</Containable>
<Containable items="fulguriumfuelrod">
<StatusEffect type="OnContaining" target="This" AvailableFuel="150.0" disabledeltatime="true" />
</Containable>
<Containable items="thoriumfuelrod">
<StatusEffect type="OnContaining" target="This" AvailableFuel="100.0" disabledeltatime="true" />
</Containable>
<Containable items="fulguriumfuelrodvolatile">
<StatusEffect type="OnContaining" target="This" AvailableFuel="150.0" disabledeltatime="true" />
</Containable>
</ItemContainer>
<Repairable selectkey="Action" header="electricalrepairsheader" deteriorationspeed="0.125" mindeteriorationdelay="120" maxdeteriorationdelay="720" MinDeteriorationCondition="10" minsabotagecondition="10" RepairThreshold="50" 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" />
<RequiredSkill identifier="electrical" level="55" />
<RequiredItem items="screwdriver" type="equipped" />
<ParticleEmitter particle="damagebubbles" particleburstamount="2" particleburstinterval="2.0" particlespersecond="2" scalemin="0.5" scalemax="1.5" anglemin="0" anglemax="359" velocitymin="-10" velocitymax="10" mincondition="0.0" maxcondition="50.0" />
<ParticleEmitter particle="DarkSmoke" particleburstamount="3" particleburstinterval="0.5" particlespersecond="8" scalemin="1.8" scalemax="2.5" anglemin="0" anglemax="359" velocitymin="-50" velocitymax="50" mincondition="0.0" maxcondition="50.0" />
<ParticleEmitter particle="heavysmoke" particleburstinterval="0.25" particlespersecond="2" scalemin="2.5" scalemax="5.0" mincondition="0.0" maxcondition="15.0" />
<StatusEffect type="OnFailure" target="Character" targetlimbs="LeftHand,RightHand">
<Sound file="Content/Items/MechanicalRepairFail.ogg" range="1000" />
<Affliction identifier="stun" strength="4" />
<Affliction identifier="burn" strength="5" />
</StatusEffect>
</Repairable>
</Item>
<Item name="Meltdown Light" identifier="meltdownlight" category="Electrical" Tags="light">
<Upgrade gameversion="0.10.0.0" />
<Sprite texture="%ModDir%/Items/Generator/reactor_leak_lights.png" depth="0.025" origin="0.5,0.5" sourcerect="0,0,292,407" />
<LightComponent lightcolor="255,255,255,0" range="10.0" powerconsumption="0">
<LightTexture texture="Content/Lights/pointlight_bounce.png" origin="0.5,0.5" />
<sprite texture="%ModDir%/Items/Generator/reactor_leak_lights.png" depth="0.025" origin="0.5,0.5" sourcerect="0,0,292,407" alpha="1.0" />
</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" />
<input name="set_color" displayname="connection.setcolor" />
</ConnectionPanel>
</Item>
</Items>