<?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>