LTS.Integrated_Implants-Forked/1.5/Defs/HediffDefs/Hediffs_ShoulderWeaponry.xml

980 lines
34 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!--Shoulder Turret-->
<HediffDef ParentName="ImplantHediffBase" MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<defName>LTS_ShoulderTurret</defName>
<label>shoulder turret</label>
<labelNoun>a shoulder mounted turret</labelNoun>
<description>An installed shoulder mounted turret.</description>
<descriptionHyperlinks><ThingDef>LTS_ShoulderTurret</ThingDef></descriptionHyperlinks>
<spawnThingOnRemoved>LTS_ShoulderTurret</spawnThingOnRemoved>
<comps>
<li Class="HediffCompProperties_GiveAbility">
<abilityDefs>
<li>LTS_ToggleShoulderTurret</li>
</abilityDefs>
</li>
<li Class="LTS_Implants.LTS_HediffCompProperties_AddExtraHediffOnNPCSpawn">
<compClass>LTS_Implants.LTS_HediffComp_AddExtraHediffOnNPCSpawn</compClass>
<hediffDef>LTS_ShoulderTurretActive</hediffDef>
</li>
</comps>
<duplicationAllowed>false</duplicationAllowed>
<tags><li>LTS_ShoulderTurret</li></tags>
<!--<renderNodeProperties>
<li Class="PawnRenderNodeProperties_Spastic">
<texPaths>
<li>Things/Pawn/Attachments/ShoulderTurret</li>
</texPaths>
<parentTagDef>Body</parentTagDef>
<overrideMeshSize>1</overrideMeshSize>
<drawSize>0.5</drawSize>
<rotationRange>-30~30</rotationRange>
<durationTicksRange>10~35</durationTicksRange>
<nextSpasmTicksRange>10~50</nextSpasmTicksRange>
<drawData>
<scaleOffsetByBodySize>true</scaleOffsetByBodySize>
<useHediffAnchor>true</useHediffAnchor>
<childScale>0.7</childScale>
<bodyTypeScales>
<Hulk>1.2</Hulk>
<Fat>1.2</Fat>
<Thin>1</Thin>
<Male>1.1</Male>
</bodyTypeScales>
<defaultData>
<layer>49</layer>
</defaultData>
<dataNorth>
<offset>-0.3,0,0.2</offset>
</dataNorth>
<dataEast>
<layer>0</layer>
<offset>0,0,0.2</offset>
</dataEast>
<dataSouth>
<rotationOffset>220</rotationOffset>
<offset>0.3,0,0.2</offset>
</dataSouth>
<dataWest>
<offset>0,0,0.2</offset>
</dataWest>
</drawData>
</li>
</renderNodeProperties>-->
</HediffDef>
<ThingDef ParentName="BodyPartProstheticMakeableBase" MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<defName>LTS_ShoulderTurret</defName>
<label>shoulder turret</label>
<description>A miniature, retractable turret implanted on the shoulder. It's AI allows it to autonomously fire, even on the move, though it's size limits it's effectiveness.</description>
<descriptionHyperlinks><RecipeDef>LTS_InstallShoulderTurret</RecipeDef></descriptionHyperlinks>
<thingSetMakerTags><li>RewardStandardLowFreq</li></thingSetMakerTags>
<costList>
<Steel>60</Steel>
<ComponentIndustrial>8</ComponentIndustrial>
</costList>
<recipeMaker>
<researchPrerequisite>I_ShoulderTurrets</researchPrerequisite>
</recipeMaker>
</ThingDef>
<RecipeDef ParentName="SurgeryInstallImplantBase" MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<defName>LTS_InstallShoulderTurret</defName>
<label>install shoulder turret</label>
<description>Install a shoulder mounted turret.</description>
<descriptionHyperlinks>
<ThingDef>LTS_ShoulderTurret</ThingDef>
<HediffDef>LTS_ShoulderTurret</HediffDef>
</descriptionHyperlinks>
<jobString>Installing shoulder turret.</jobString>
<ingredients>
<li>
<filter>
<thingDefs>
<li>LTS_ShoulderTurret</li>
</thingDefs>
</filter>
<count>1</count>
</li>
</ingredients>
<fixedIngredientFilter>
<thingDefs>
<li>LTS_ShoulderTurret</li>
</thingDefs>
</fixedIngredientFilter>
<appliedOnFixedBodyParts>
<li>Torso</li>
</appliedOnFixedBodyParts>
<addsHediff>LTS_ShoulderTurret</addsHediff>
<incompatibleWithHediffTags><li>LTS_ShoulderTurret</li></incompatibleWithHediffTags>
</RecipeDef>
<RecipeDef ParentName="SurgeryRemoveImplantBase" MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<defName>LTS_RemoveShoulderTurret</defName>
<label>remove shoulder turret</label>
<description>Remove shoulder mounted turret.</description>
<descriptionHyperlinks>
<ThingDef>LTS_ShoulderTurret</ThingDef>
<HediffDef>LTS_ShoulderTurret</HediffDef>
</descriptionHyperlinks>
<jobString>Removing shoulder turret.</jobString>
<removesHediff>LTS_ShoulderTurret</removesHediff>
<workerClass>LTS_Implants.Recipe_RemoveImplantWithToggleHediff</workerClass>
<modExtensions>
<li Class="LTS_Implants.LTS_IModExtension">
<LTS_Hediff>LTS_ShoulderTurretActive</LTS_Hediff>
</li>
</modExtensions>
</RecipeDef>
<AbilityDef MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<abilityClass>Ability</abilityClass>
<defName>LTS_ToggleShoulderTurret</defName>
<label>toggle turret</label>
<description>extend or retract a tiny, shoulder mounted automatic turret</description>
<iconPath>UI/ShoulderTurret</iconPath>
<casterMustBeCapableOfViolence>true</casterMustBeCapableOfViolence>
<displayGizmoWhileUndrafted>false</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<showWhenDrafted>true</showWhenDrafted>
<uiOrder>6</uiOrder>
<targetRequired>False</targetRequired>
<comps>
<li Class="LTS_Implants.LTS_CompProperties_ToggleHediff">
<compClass>LTS_Implants.LTS_CompAbilityEffect_ToggleHediff</compClass>
<ToggleHediff>LTS_ShoulderTurretActive</ToggleHediff>
<location>Torso</location>
</li>
</comps>
<groupAbility>true</groupAbility>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<drawAimPie>false</drawAimPie>
<requireLineOfSight>false</requireLineOfSight>
<nonInterruptingSelfCast>true</nonInterruptingSelfCast>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>true</canTargetSelf>
</targetParams>
</verbProperties>
</AbilityDef>
<HediffDef MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<defName>LTS_ShoulderTurretActive</defName>
<hediffClass>HediffWithComps</hediffClass>
<label>extended shoulder turret</label>
<description>Invisible hediff with shoulderturret.</description>
<defaultLabelColor>(1,1,1)</defaultLabelColor>
<scenarioCanAdd>false</scenarioCanAdd>
<isBad>false</isBad>
<stages>
<li>
<becomeVisible>false</becomeVisible>
</li>
</stages>
<comps>
<li Class="MVCF.Comps.HediffCompProperties_ExtendedVerbGiver">
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<label>shoulder turret gun</label>
<defaultProjectile>LTS_Bullet_ShoulderTurret</defaultProjectile>
<warmupTime>1.5</warmupTime>
<range>20</range>
<hasStandardCommand>true</hasStandardCommand>
<ticksBetweenBurstShots>8</ticksBetweenBurstShots>
<burstShotCount>3</burstShotCount>
<soundCast>GunShotA</soundCast>
<soundCastTail>GunTail_Light</soundCastTail>
<muzzleFlashScale>9</muzzleFlashScale>
</li>
</verbs>
<verbProps>
<li>
<label>shoulder turret gun</label>
<visualLabel>shoulder turret gun</visualLabel>
<description>A low caliber autonomous gun made to be mounted on a shoulder.</description>
<canBeToggled>false</canBeToggled>
<comps>
<li Class="MVCF.VerbComps.VerbCompProperties_Turret">
<compClass>MVCF.VerbComps.VerbComp_Turret</compClass>
<humanAsDefault>true</humanAsDefault>
<graphic>
<texPath>Things/Pawn/Attachments/ShoulderWeaponry/ShoulderTurret</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>0.6,0.6</drawSize>
</graphic>
<!--<specificPositions>
<li>
<defName>Human</defName>
<BodyType>Hulk</BodyType>
<Default>(0,0)</Default>
<Up>(-0.3,0.2)</Up>
<Down>(0.3,0.2)</Down>
<Right>(-0.0,0.15)</Right>
<Left>(0.0,0.15)</Left>
</li>
<li>
<defName>Human</defName>
<BodyType>Fat</BodyType>
<Default>(0,0)</Default>
<Up>(-0.35,0.2)</Up>
<Down>(0.35,0.2)</Down>
<Right>(-0.0,0.15)</Right>
<Left>(0.0,0.15)</Left>
</li>
<li>
<defName>Human</defName>
<BodyType>Male</BodyType>
<Default>(0,0)</Default>
<Up>(-0.3,0.2)</Up>
<Down>(0.3,0.2)</Down>
<Right>(0,0.15)</Right>
<Left>(0,0.15)</Left>
</li>
<li>
<defName>Human</defName>
<BodyType>Female</BodyType>
<Default>(0,0)</Default>
<Up>(-0.3,0.2)</Up>
<Down>(0.3,0.2)</Down>
<Right>(0,0.15)</Right>
<Left>(0,0.15)</Left>
</li>
<li>
<defName>Human</defName>
<BodyType>Thin</BodyType>
<Default>(0,0)</Default>
<Up>(-0.275,0.2)</Up>
<Down>(0.275,0.2)</Down>
<Right>(-0,0.15)</Right>
<Left>(0,0.15)</Left>
</li>
</specificPositions>-->
<specificPositions>
<li>
<defName>Human</defName>
<BodyType>Hulk</BodyType>
<Default>(0,0)</Default>
<Up>(-0.4,-0.1)</Up>
<Down>(0.4,0.2)</Down>
<Right>(-0.55,0.1)</Right>
<Left>(0.55,0.1)</Left>
</li>
<li>
<defName>Human</defName>
<BodyType>Fat</BodyType>
<Default>(0,0)</Default>
<Up>(-0.35,-0.0)</Up>
<Down>(0.35,0.2)</Down>
<Right>(-0.5,0.1)</Right>
<Left>(0.5,0.1)</Left>
</li>
<li>
<defName>Human</defName>
<BodyType>Male</BodyType>
<Default>(0,0)</Default>
<Up>(-0.3,-0.0)</Up>
<Down>(0.3,0.2)</Down>
<Right>(-0.4,0.1)</Right>
<Left>(0.4,0.1)</Left>
</li>
<li>
<defName>Human</defName>
<BodyType>Female</BodyType>
<Default>(0,0)</Default>
<Up>(-0.3,-0.0)</Up>
<Down>(0.3,0.2)</Down>
<Right>(-0.4,0.1)</Right>
<Left>(0.4,0.1)</Left>
</li>
<li>
<defName>Human</defName>
<BodyType>Thin</BodyType>
<Default>(0,0)</Default>
<Up>(-0.275,-0.0)</Up>
<Down>(0.275,0.2)</Down>
<Right>(-0.4,0.1)</Right>
<Left>(0.4,0.1)</Left>
</li>
</specificPositions>
<scalings>
<li>
<defName>Human</defName>
<BodyType>Thin</BodyType>
<scaling>1.1</scaling>
</li>
<li>
<defName>Human</defName>
<BodyType>Male</BodyType>
<scaling>1.2</scaling>
</li>
<li>
<defName>Human</defName>
<BodyType>Female</BodyType>
<scaling>1.2</scaling>
</li>
<li>
<defName>Human</defName>
<BodyType>Fat</BodyType>
<scaling>1.3</scaling>
</li>
<li>
<defName>Human</defName>
<BodyType>Hulk</BodyType>
<scaling>1.3</scaling>
</li>
</scalings>
</li>
<li Class="MVCF.VerbComps.VerbCompProperties_Cooldown">
<compClass>MVCF.VerbComps.VerbComp_Cooldown</compClass>
<cooldownTime>1.5</cooldownTime>
</li>
</comps>
</li>
</verbProps>
</li>
</comps>
</HediffDef>
<ThingDef ParentName="BaseBullet" MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<defName>LTS_Bullet_ShoulderTurret</defName>
<label>shoulder turret bullet</label>
<graphicData>
<texPath>Things/Projectile/Bullet_Small</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile>
<damageDef>Bullet</damageDef>
<damageAmountBase>6</damageAmountBase>
<speed>55</speed>
</projectile>
</ThingDef>
<!--Shoulder Charge Turret-->
<HediffDef ParentName="ImplantHediffBase" MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<defName>LTS_ShoulderChargeTurret</defName>
<label>shoulder charge turret</label>
<labelNoun>a shoulder mounted charge turret</labelNoun>
<description>An installed, shoulder mounted charge turret.</description>
<descriptionHyperlinks><ThingDef>LTS_ShoulderChargeTurret</ThingDef></descriptionHyperlinks>
<spawnThingOnRemoved>LTS_ShoulderChargeTurret</spawnThingOnRemoved>
<comps>
<li Class="HediffCompProperties_GiveAbility">
<abilityDefs>
<li>LTS_ToggleShoulderChargeTurret</li>
</abilityDefs>
</li>
<li Class="LTS_Implants.LTS_HediffCompProperties_AddExtraHediffOnNPCSpawn">
<compClass>LTS_Implants.LTS_HediffComp_AddExtraHediffOnNPCSpawn</compClass>
<hediffDef>LTS_ShoulderChargeTurretActive</hediffDef>
</li>
</comps>
<duplicationAllowed>false</duplicationAllowed>
<tags><li>LTS_ShoulderTurret</li></tags>
</HediffDef>
<ThingDef ParentName="BodyPartBionicBase" MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<defName>LTS_ShoulderChargeTurret</defName>
<label>shoulder charge turret</label>
<description>A miniature, retractable charge turret implanted on the shoulder. It's AI allows it to autonomously fire, even on the move, though it's size limits it's effectiveness.</description>
<descriptionHyperlinks><RecipeDef>LTS_InstallShoulderChargeTurret</RecipeDef></descriptionHyperlinks>
<thingSetMakerTags><li>RewardStandardLowFreq</li></thingSetMakerTags>
<costList>
<Plasteel>25</Plasteel>
<ComponentSpacer>4</ComponentSpacer>
</costList>
<recipeMaker>
<researchPrerequisites Inherit="False"><li>I_ShoulderTurrets</li><li>ChargedShot</li></researchPrerequisites>
<researchPrerequisite Inherit="False"></researchPrerequisite>
</recipeMaker>
</ThingDef>
<RecipeDef ParentName="SurgeryInstallImplantBase" MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<defName>LTS_InstallShoulderChargeTurret</defName>
<label>install shoulder charge turret</label>
<description>Install a shoulder mounted charge turret.</description>
<descriptionHyperlinks>
<ThingDef>LTS_ShoulderChargeTurret</ThingDef>
<HediffDef>LTS_ShoulderChargeTurret</HediffDef>
</descriptionHyperlinks>
<jobString>Installing shoulder charge turret.</jobString>
<ingredients>
<li>
<filter>
<thingDefs>
<li>LTS_ShoulderChargeTurret</li>
</thingDefs>
</filter>
<count>1</count>
</li>
</ingredients>
<fixedIngredientFilter>
<thingDefs>
<li>LTS_ShoulderChargeTurret</li>
</thingDefs>
</fixedIngredientFilter>
<appliedOnFixedBodyParts>
<li>Torso</li>
</appliedOnFixedBodyParts>
<addsHediff>LTS_ShoulderChargeTurret</addsHediff>
<incompatibleWithHediffTags><li>LTS_ShoulderTurret</li></incompatibleWithHediffTags>
</RecipeDef>
<RecipeDef ParentName="SurgeryRemoveImplantBase" MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<defName>LTS_RemoveShoulderChargeTurret</defName>
<label>remove shoulder charge turret</label>
<description>Remove shoulder mounted charge turret.</description>
<descriptionHyperlinks>
<ThingDef>LTS_ShoulderChargeTurret</ThingDef>
<HediffDef>LTS_ShoulderChargeTurret</HediffDef>
</descriptionHyperlinks>
<jobString>Removing shoulder charge turret.</jobString>
<removesHediff>LTS_ShoulderChargeTurret</removesHediff>
<workerClass>LTS_Implants.Recipe_RemoveImplantWithToggleHediff</workerClass>
<modExtensions>
<li Class="LTS_Implants.LTS_IModExtension">
<LTS_Hediff>LTS_ShoulderChargeTurretActive</LTS_Hediff>
</li>
</modExtensions>
</RecipeDef>
<AbilityDef MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<abilityClass>Ability</abilityClass>
<defName>LTS_ToggleShoulderChargeTurret</defName>
<label>toggle turret</label>
<description>extend or retract a tiny, shoulder mounted automatic charge turret</description>
<iconPath>UI/ShoulderTurret</iconPath>
<casterMustBeCapableOfViolence>true</casterMustBeCapableOfViolence>
<displayGizmoWhileUndrafted>false</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<showWhenDrafted>true</showWhenDrafted>
<uiOrder>6</uiOrder>
<targetRequired>False</targetRequired>
<comps>
<li Class="LTS_Implants.LTS_CompProperties_ToggleHediff">
<compClass>LTS_Implants.LTS_CompAbilityEffect_ToggleHediff</compClass>
<ToggleHediff>LTS_ShoulderChargeTurretActive</ToggleHediff>
<location>Torso</location>
</li>
</comps>
<groupAbility>true</groupAbility>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<drawAimPie>false</drawAimPie>
<requireLineOfSight>false</requireLineOfSight>
<nonInterruptingSelfCast>true</nonInterruptingSelfCast>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>true</canTargetSelf>
</targetParams>
</verbProperties>
</AbilityDef>
<HediffDef MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<defName>LTS_ShoulderChargeTurretActive</defName>
<hediffClass>HediffWithComps</hediffClass>
<label>extended charge shoulder turret</label>
<description>Invisible hediff with shoulderturret.</description>
<defaultLabelColor>(1,1,1)</defaultLabelColor>
<scenarioCanAdd>false</scenarioCanAdd>
<isBad>false</isBad>
<stages>
<li>
<becomeVisible>false</becomeVisible>
</li>
</stages>
<comps>
<li Class="MVCF.Comps.HediffCompProperties_ExtendedVerbGiver">
<verbs>
<li>
<verbClass>Verb_Shoot</verbClass>
<label>shoulder turret charge gun</label>
<defaultProjectile>LTS_Bullet_ShoulderChargeTurret</defaultProjectile>
<warmupTime>1.5</warmupTime>
<range>20</range>
<hasStandardCommand>true</hasStandardCommand>
<ticksBetweenBurstShots>8</ticksBetweenBurstShots>
<burstShotCount>3</burstShotCount>
<soundCast>Shot_ChargeRifle</soundCast>
<soundCastTail>GunTail_Light</soundCastTail>
<muzzleFlashScale>9</muzzleFlashScale>
</li>
</verbs>
<verbProps>
<li>
<label>shoulder turret charge gun</label>
<visualLabel>shoulder turret charge gun</visualLabel>
<description>A low caliber autonomous charge gun made to be mounted on a shoulder.</description>
<canBeToggled>false</canBeToggled>
<comps>
<li Class="MVCF.VerbComps.VerbCompProperties_Turret">
<compClass>MVCF.VerbComps.VerbComp_Turret</compClass>
<humanAsDefault>true</humanAsDefault>
<graphic>
<texPath>Things/Pawn/Attachments/ShoulderWeaponry/ChargeShoulderTurret</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>0.6,0.6</drawSize>
</graphic>
<specificPositions>
<li>
<defName>Human</defName>
<BodyType>Hulk</BodyType>
<Default>(0,0)</Default>
<Up>(-0.4,-0.1)</Up>
<Down>(0.4,0.2)</Down>
<Right>(-0.55,0.1)</Right>
<Left>(0.55,0.1)</Left>
</li>
<li>
<defName>Human</defName>
<BodyType>Fat</BodyType>
<Default>(0,0)</Default>
<Up>(-0.35,-0.0)</Up>
<Down>(0.35,0.2)</Down>
<Right>(-0.5,0.1)</Right>
<Left>(0.5,0.1)</Left>
</li>
<li>
<defName>Human</defName>
<BodyType>Male</BodyType>
<Default>(0,0)</Default>
<Up>(-0.3,-0.0)</Up>
<Down>(0.3,0.2)</Down>
<Right>(-0.4,0.1)</Right>
<Left>(0.4,0.1)</Left>
</li>
<li>
<defName>Human</defName>
<BodyType>Female</BodyType>
<Default>(0,0)</Default>
<Up>(-0.3,-0.0)</Up>
<Down>(0.3,0.2)</Down>
<Right>(-0.4,0.1)</Right>
<Left>(0.4,0.1)</Left>
</li>
<li>
<defName>Human</defName>
<BodyType>Thin</BodyType>
<Default>(0,0)</Default>
<Up>(-0.275,-0.0)</Up>
<Down>(0.275,0.2)</Down>
<Right>(-0.4,0.1)</Right>
<Left>(0.4,0.1)</Left>
</li>
</specificPositions>
<scalings>
<li>
<defName>Human</defName>
<BodyType>Thin</BodyType>
<scaling>1.1</scaling>
</li>
<li>
<defName>Human</defName>
<BodyType>Male</BodyType>
<scaling>1.2</scaling>
</li>
<li>
<defName>Human</defName>
<BodyType>Female</BodyType>
<scaling>1.2</scaling>
</li>
<li>
<defName>Human</defName>
<BodyType>Fat</BodyType>
<scaling>1.3</scaling>
</li>
<li>
<defName>Human</defName>
<BodyType>Hulk</BodyType>
<scaling>1.3</scaling>
</li>
</scalings>
</li>
<li Class="MVCF.VerbComps.VerbCompProperties_Cooldown">
<compClass>MVCF.VerbComps.VerbComp_Cooldown</compClass>
<cooldownTime>1.5</cooldownTime>
</li>
</comps>
</li>
</verbProps>
</li>
</comps>
</HediffDef>
<ThingDef ParentName="BaseBullet" MayRequire="oskarpotocki.vanillafactionsexpanded.core">
<defName>LTS_Bullet_ShoulderChargeTurret</defName>
<label>shoulder turret charge shot</label>
<graphicData>
<texPath>Things/Projectile/Charge_Small</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile>
<damageDef>Bullet</damageDef>
<damageAmountBase>9</damageAmountBase>
<armorPenetrationBase>0.35</armorPenetrationBase>
<speed>70</speed>
</projectile>
</ThingDef>
<!--Shoulder Rocket Pod-->
<HediffDef ParentName="ImplantHediffBase">
<defName>LTS_ShoulderRocketPod</defName>
<label>shoulder rocket pod</label>
<labelNoun>a shoulder mounted rocket pod</labelNoun>
<description>An installed, shoulder mounted rocket pod.</description>
<descriptionHyperlinks><ThingDef>LTS_ShoulderRocketPod</ThingDef></descriptionHyperlinks>
<spawnThingOnRemoved>LTS_ShoulderRocketPod</spawnThingOnRemoved>
<abilities>
<li>LTS_ShoulderRocketPod</li>
</abilities>
<renderNodeProperties>
<li>
<workerClass>PawnRenderNodeWorker_AttachmentBody</workerClass>
<subworkerClasses><li>LTS_Implants.LTS_PawnRenderSubWorker_ChangeColourToApparel</li></subworkerClasses>
<texPath>Things/Pawn/Attachments/ShoulderWeaponry/ShoulderRocketPod</texPath>
<overrideMeshSize>(1, 1)</overrideMeshSize>
<drawSize>1,1</drawSize>
<parentTagDef>Body</parentTagDef>
<drawData>
<scaleOffsetByBodySize>true</scaleOffsetByBodySize>
<defaultData>
<layer>-2</layer>
</defaultData>
<dataNorth>
<offset>(-0.35, 0, 0.3)</offset>
<layer>90</layer>
</dataNorth>
<dataSouth>
<offset>(0.4, 0, 0.3)</offset>
</dataSouth>
<dataEast>
<offset>(-0.05, 0, 0.25)</offset>
</dataEast>
<dataWest>
<offset>(0.05, 5, 0.25)</offset>
</dataWest>
</drawData>
<tagDef>LTS_ColourableRenderNode</tagDef>
</li>
</renderNodeProperties>
<duplicationAllowed>false</duplicationAllowed>
<tags><li>LTS_ShoulderTurret</li></tags>
</HediffDef>
<ThingDef ParentName="BodyPartBionicBase">
<defName>LTS_ShoulderRocketPod</defName>
<label>shoulder rocket pod</label>
<description>A miniature rocket pod implanted on the shoulder. It can only hold a limited amount of ammo and must be reloaded after use.</description>
<descriptionHyperlinks><RecipeDef>LTS_InstallShoulderRocketPod</RecipeDef></descriptionHyperlinks>
<thingSetMakerTags><li>RewardStandardLowFreq</li></thingSetMakerTags>
<costList>
<Plasteel>30</Plasteel>
<ComponentSpacer>5</ComponentSpacer>
</costList>
<recipeMaker>
<researchPrerequisites Inherit="False"><li>I_ShoulderTurrets</li><li>RocketswarmLauncher</li></researchPrerequisites>
<researchPrerequisite Inherit="False"></researchPrerequisite>
</recipeMaker>
<isTechHediff>false</isTechHediff><!--Hopefully this should prevent it from spawning naturally and causing crashes-->
</ThingDef>
<RecipeDef ParentName="SurgeryInstallImplantBase">
<defName>LTS_InstallShoulderRocketPod</defName>
<label>install shoulder rocket pod</label>
<description>Install a shoulder rocket pod.</description>
<descriptionHyperlinks>
<ThingDef>LTS_ShoulderRocketPod</ThingDef>
<HediffDef>LTS_ShoulderRocketPod</HediffDef>
</descriptionHyperlinks>
<jobString>Installing shoulder rocket pod.</jobString>
<ingredients>
<li>
<filter>
<thingDefs>
<li>LTS_ShoulderRocketPod</li>
</thingDefs>
</filter>
<count>1</count>
</li>
</ingredients>
<fixedIngredientFilter>
<thingDefs>
<li>LTS_ShoulderRocketPod</li>
</thingDefs>
</fixedIngredientFilter>
<appliedOnFixedBodyParts>
<li>Torso</li>
</appliedOnFixedBodyParts>
<addsHediff>LTS_ShoulderRocketPod</addsHediff>
<incompatibleWithHediffTags><li>LTS_ShoulderTurret</li></incompatibleWithHediffTags>
</RecipeDef>
<RecipeDef ParentName="SurgeryRemoveImplantBase">
<defName>LTS_RemoveShoulderRocketPod</defName>
<label>remove shoulder rocket pod</label>
<description>Remove shoulder rocket pod.</description>
<descriptionHyperlinks>
<ThingDef>LTS_ShoulderRocketPod</ThingDef>
<HediffDef>LTS_ShoulderRocketPod</HediffDef>
</descriptionHyperlinks>
<jobString>Removing shoulder rocket pod.</jobString>
<removesHediff>LTS_ShoulderRocketPod</removesHediff>
</RecipeDef>
<AbilityDef>
<defName>LTS_ShoulderRocketPod</defName>
<label>fire rocket</label>
<description>Fire a rocket from a shoulder mounted pod.</description>
<iconPath>Things/Pawn/Attachments/ShoulderWeaponry/ShoulderRocketPod_east</iconPath>
<hostile>true</hostile>
<casterMustBeCapableOfViolence>true</casterMustBeCapableOfViolence>
<charges>2</charges>
<cooldownPerCharge>false</cooldownPerCharge>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<defaultProjectile>LTS_Projectile_ShoulderRocket</defaultProjectile>
<range>19.9</range>
<soundCast>RocketswarmLauncher_Fire</soundCast>
<soundCastTail>GunTail_Heavy</soundCastTail>
<muzzleFlashScale>14</muzzleFlashScale>
<warmupTime>0.5</warmupTime>
<ai_IsWeapon>true</ai_IsWeapon>
<targetParams>
<canTargetSelf>False</canTargetSelf>
<canTargetPawns>true</canTargetPawns>
<canTargetLocations>true</canTargetLocations>
<canTargetBuildings>true</canTargetBuildings>
</targetParams>
</verbProperties>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>LTS_Projectile_ShoulderRocket</projectileDef>
</li>
<li Class="LTS_Implants.LTS_CompProperties_AbilityReloadable">
<compClass>LTS_Implants.LTS_CompAbilityEffect_Reloadable</compClass>
<ammoDef>Chemfuel</ammoDef>
<ammoCountPerCharge>25</ammoCountPerCharge>
<soundReload>Standard_Reload</soundReload>
</li>
</comps>
<uiOrder>6</uiOrder>
<displayGizmoWhileUndrafted>false</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<showWhenDrafted>true</showWhenDrafted>
</AbilityDef>
<ThingDef>
<defName>LTS_Projectile_ShoulderRocket</defName>
<label>rocket</label>
<thingClass>Projectile_Explosive</thingClass>
<category>Projectile</category>
<tickerType>Normal</tickerType>
<altitudeLayer>Projectile</altitudeLayer>
<useHitPoints>False</useHitPoints>
<neverMultiSelect>True</neverMultiSelect>
<graphicData>
<texPath>Things/Projectile/Rocket_Swarm</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>1.2</drawSize>
</graphicData>
<projectile>
<damageDef>Bomb</damageDef>
<explosionRadius>1.9</explosionRadius>
<speed>38</speed>
<damageAmountBase>50</damageAmountBase>
<arcHeightFactor>0.0</arcHeightFactor>
<soundExplode>Explosion_Rocket</soundExplode>
</projectile>
</ThingDef>
<!--Shoulder Mortar-->
<HediffDef ParentName="ImplantHediffBase">
<defName>LTS_ShoulderMortar</defName>
<label>shoulder mortar</label>
<labelNoun>a shoulder mounted mortar</labelNoun>
<description>An installed, shoulder mounted mortar.</description>
<descriptionHyperlinks><ThingDef>LTS_ShoulderMortar</ThingDef></descriptionHyperlinks>
<spawnThingOnRemoved>LTS_ShoulderMortar</spawnThingOnRemoved>
<abilities>
<li>LTS_ShoulderMortar</li>
</abilities>
<renderNodeProperties>
<li>
<workerClass>PawnRenderNodeWorker_AttachmentBody</workerClass>
<subworkerClasses><li>LTS_Implants.LTS_PawnRenderSubWorker_ChangeColourToApparel</li></subworkerClasses>
<texPath>Things/Pawn/Attachments/ShoulderWeaponry/ShoulderMortar</texPath>
<overrideMeshSize>0.75</overrideMeshSize>
<drawSize>1,1</drawSize>
<parentTagDef>Body</parentTagDef>
<drawData>
<scaleOffsetByBodySize>true</scaleOffsetByBodySize>
<defaultData>
<layer>-2</layer>
</defaultData>
<dataNorth>
<offset>(-0.3, 0, 0.2)</offset>
<layer>90</layer>
</dataNorth>
<dataSouth>
<offset>(0.3, 0, 0.2)</offset>
</dataSouth>
<dataEast>
<offset>(-0.3, 0, 0.15)</offset>
</dataEast>
<dataWest>
<offset>(0.3, 0, 0.15)</offset>
</dataWest>
</drawData>
<tagDef>LTS_ColourableRenderNode</tagDef>
</li>
</renderNodeProperties>
<duplicationAllowed>false</duplicationAllowed>
<tags><li>LTS_ShoulderTurret</li></tags>
</HediffDef>
<ThingDef ParentName="BodyPartBionicBase">
<defName>LTS_ShoulderMortar</defName>
<label>shoulder mortar</label>
<description>A miniature mortar implanted on the shoulder. It can only hold a limited amount of ammo and must be reloaded after use.</description>
<descriptionHyperlinks><RecipeDef>LTS_InstallShoulderMortar</RecipeDef></descriptionHyperlinks>
<thingSetMakerTags><li>RewardStandardLowFreq</li></thingSetMakerTags>
<costList>
<Plasteel>30</Plasteel>
<ComponentSpacer>5</ComponentSpacer>
</costList>
<recipeMaker>
<researchPrerequisites Inherit="False"><li>I_ShoulderTurrets</li><li>Mortars</li></researchPrerequisites>
<researchPrerequisite Inherit="False"></researchPrerequisite>
</recipeMaker>
<isTechHediff>false</isTechHediff><!--Hopefully this should prevent it from spawning naturally and causing crashes-->
</ThingDef>
<RecipeDef ParentName="SurgeryInstallImplantBase">
<defName>LTS_InstallShoulderMortar</defName>
<label>install shoulder mortar</label>
<description>Install a shoulder mortar.</description>
<descriptionHyperlinks>
<ThingDef>LTS_ShoulderMortar</ThingDef>
<HediffDef>LTS_ShoulderMortar</HediffDef>
</descriptionHyperlinks>
<jobString>Installing shoulder mortar.</jobString>
<ingredients>
<li>
<filter>
<thingDefs>
<li>LTS_ShoulderMortar</li>
</thingDefs>
</filter>
<count>1</count>
</li>
</ingredients>
<fixedIngredientFilter>
<thingDefs>
<li>LTS_ShoulderMortar</li>
</thingDefs>
</fixedIngredientFilter>
<appliedOnFixedBodyParts>
<li>Torso</li>
</appliedOnFixedBodyParts>
<addsHediff>LTS_ShoulderMortar</addsHediff>
<incompatibleWithHediffTags><li>LTS_ShoulderTurret</li></incompatibleWithHediffTags>
</RecipeDef>
<RecipeDef ParentName="SurgeryRemoveImplantBase">
<defName>LTS_RemoveShoulderMortar</defName>
<label>remove shoulder mortar</label>
<description>Remove shoulder mortar.</description>
<descriptionHyperlinks>
<ThingDef>LTS_ShoulderMortar</ThingDef>
<HediffDef>LTS_ShoulderMortar</HediffDef>
</descriptionHyperlinks>
<jobString>Removing shoulder mortar.</jobString>
<removesHediff>LTS_ShoulderMortar</removesHediff>
</RecipeDef>
<AbilityDef>
<defName>LTS_ShoulderMortar</defName>
<label>fire mortar</label>
<description>Fire a shell from a shoulder mounted mortar.</description>
<iconPath>Things/Pawn/Attachments/ShoulderWeaponry/ShoulderMortar_east</iconPath>
<hostile>true</hostile>
<casterMustBeCapableOfViolence>true</casterMustBeCapableOfViolence>
<charges>1</charges>
<cooldownPerCharge>false</cooldownPerCharge>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<defaultProjectile>LTS_Projectile_ShoulderRocket</defaultProjectile>
<range>9.9</range>
<soundCast>Mortar_LaunchA</soundCast>
<soundCastTail>GunTail_Light</soundCastTail>
<muzzleFlashScale>14</muzzleFlashScale>
<warmupTime>3</warmupTime>
<ai_IsWeapon>true</ai_IsWeapon>
<targetParams>
<canTargetSelf>False</canTargetSelf>
<canTargetPawns>true</canTargetPawns>
<canTargetLocations>true</canTargetLocations>
<canTargetBuildings>true</canTargetBuildings>
</targetParams>
<isMortar>true</isMortar>
<requireLineOfSight>false</requireLineOfSight>
</verbProperties>
<comps>
<li Class="CompProperties_AbilityLaunchProjectile">
<projectileDef>LTS_Projectile_ShoulderMortar</projectileDef>
</li>
<li Class="LTS_Implants.LTS_CompProperties_AbilityReloadable">
<compClass>LTS_Implants.LTS_CompAbilityEffect_Reloadable</compClass>
<ammoDef>Steel</ammoDef>
<ammoCountPerCharge>30</ammoCountPerCharge>
<soundReload>Standard_Reload</soundReload>
</li>
</comps>
<uiOrder>6</uiOrder>
<displayGizmoWhileUndrafted>false</displayGizmoWhileUndrafted>
<disableGizmoWhileUndrafted>false</disableGizmoWhileUndrafted>
<showWhenDrafted>true</showWhenDrafted>
</AbilityDef>
<ThingDef>
<defName>LTS_Projectile_ShoulderMortar</defName>
<label>high-explosive shell</label>
<thingClass>Projectile_Explosive</thingClass>
<category>Projectile</category>
<tickerType>Normal</tickerType>
<altitudeLayer>Projectile</altitudeLayer>
<useHitPoints>False</useHitPoints>
<neverMultiSelect>True</neverMultiSelect>
<graphicData>
<texPath>Things/Projectile/ShellHighExplosive</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>1</drawSize>
</graphicData>
<projectile>
<damageDef>Bomb</damageDef>
<explosionRadius>2.9</explosionRadius>
<speed>24</speed>
<damageAmountBase>50</damageAmountBase>
<arcHeightFactor>0.3</arcHeightFactor>
<soundExplode>MortarBomb_Explode</soundExplode>
<soundImpactAnticipate>MortarRound_PreImpact</soundImpactAnticipate>
</projectile>
</ThingDef>
</Defs>