This commit is contained in:
2026-02-25 12:00:37 +08:00
parent 5195d05045
commit 2fd290da9e
17 changed files with 1005 additions and 171 deletions

View File

@@ -98,16 +98,6 @@
<li>ManipulationLimbCore</li>
</tags>
</BodyPartDef>
<BodyPartDef>
<defName>WULA_Mobile_Bunker_Bodypart</defName>
<label>地堡外壳</label>
<hitPoints>250</hitPoints>
<permanentInjuryChanceFactor>0</permanentInjuryChanceFactor>
<skinCovered>false</skinCovered>
<!-- <solid>true</solid> -->
<frostbiteVulnerability>1</frostbiteVulnerability>
<bleedRate>0</bleedRate>
</BodyPartDef>
<BodyPartDef>
<defName>WULA_Shield_Field_Maintainer_Bodypart</defName>
<label>反射盾发生器</label>

View File

@@ -94,4 +94,97 @@
</li>
</hediffWounds> -->
</FleshTypeDef>
<FleshTypeDef>
<defName>Wula_Mechunit_Fleshtype</defName>
<corpseCategory>CorpsesMechanoid</corpseCategory>
<damageEffecter>Damage_HitMechanoid</damageEffecter>
<isOrganic>false</isOrganic>
<genericWounds>
<li>
<texture>Things/Pawn/Wounds/WoundMechA</texture>
</li>
<li>
<texture>Things/Pawn/Wounds/WoundMechB</texture>
</li>
<li>
<texture>Things/Pawn/Wounds/WoundMechC</texture>
</li>
</genericWounds>
<bandagedWounds>
<li>
<texture>Wula/Things/WulaSpecies/Wounds/WULA_Species_Wound_None</texture>
</li>
<!-- <li>
<texture>Things/Pawn/Wounds/BandagedB</texture>
</li>
<li>
<texture>Things/Pawn/Wounds/BandagedC</texture>
</li> -->
</bandagedWounds>
<!-- <hediffWounds>
<li MayRequire="Ludeon.RimWorld.Ideology">
<hediff>Scarification</hediff>
<wounds>
<li>
<texture>Things/Pawn/Wounds/ScarificationA</texture>
<tintWithSkinColor>true</tintWithSkinColor>
<displayOverApparel>false</displayOverApparel>
<displayPermanent>false</displayPermanent>
<drawOffsetSouth>(0, 0.001, -0.24)</drawOffsetSouth>
<drawOffsetEastWest>(-0.03, 0.001, -0.24)</drawOffsetEastWest>
</li>
<li>
<texture>Things/Pawn/Wounds/ScarificationB</texture>
<tintWithSkinColor>true</tintWithSkinColor>
<displayOverApparel>false</displayOverApparel>
<displayPermanent>false</displayPermanent>
<drawOffsetSouth>(0, 0.001, -0.24)</drawOffsetSouth>
<drawOffsetEastWest>(-0.03, 0.001, -0.24)</drawOffsetEastWest>
</li>
<li>
<texture>Things/Pawn/Wounds/ScarificationC</texture>
<tintWithSkinColor>true</tintWithSkinColor>
<displayOverApparel>false</displayOverApparel>
<displayPermanent>false</displayPermanent>
<drawOffsetSouth>(0, 0.001, -0.24)</drawOffsetSouth>
<drawOffsetEastWest>(-0.03, 0.001, -0.24)</drawOffsetEastWest>
</li>
</wounds>
</li>
<li>
<hediff>MissingBodyPart</hediff>
<wounds>
<li>
<textureSouth>Things/Pawn/Wounds/MissingEye_Scar_south</textureSouth>
<textureNorth>Things/Pawn/Wounds/MissingEye_Scar_south</textureNorth>
<textureEast>Things/Pawn/Wounds/MissingEye_Scar_east</textureEast>
<textureWest>Things/Pawn/Wounds/MissingEye_Scar_east</textureWest>
<flipWest>true</flipWest>
<onlyOnPart>Eye</onlyOnPart>
<flipOnWoundAnchorTag>LeftEye</flipOnWoundAnchorTag>
<flipOnRotation>South</flipOnRotation>
<tintWithSkinColor>true</tintWithSkinColor>
<missingBodyPartFresh>false</missingBodyPartFresh>
<scale>0.7</scale>
<drawOffsetSouth>(0, -0.001, -0.24)</drawOffsetSouth>
<drawOffsetEastWest>(0, -0.001, -0.24)</drawOffsetEastWest>
</li>
<li>
<textureSouth>Things/Pawn/Wounds/MissingEye_Fresh</textureSouth>
<textureNorth>Things/Pawn/Wounds/MissingEye_Fresh</textureNorth>
<textureEast>Things/Pawn/Wounds/MissingEye_Fresh</textureEast>
<textureWest>Things/Pawn/Wounds/MissingEye_Fresh</textureWest>
<flipWest>true</flipWest>
<onlyOnPart>Eye</onlyOnPart>
<flipOnWoundAnchorTag>LeftEye</flipOnWoundAnchorTag>
<flipOnRotation>South</flipOnRotation>
<missingBodyPartFresh>true</missingBodyPartFresh>
<scale>0.7</scale>
<drawOffsetSouth>(0, -0.001, -0.24)</drawOffsetSouth>
<drawOffsetEastWest>(0, -0.001, -0.24)</drawOffsetEastWest>
</li>
</wounds>
</li>
</hediffWounds> -->
</FleshTypeDef>
</Defs>

View File

@@ -13,4 +13,10 @@
<drawSize>1</drawSize>
</silhouetteGraphicData>
</LifeStageDef>
<LifeStageDef>
<defName>Wula_Mechunit_LifeStage</defName>
<label>机兵</label>
<visible>true</visible>
<milkable>false</milkable>
</LifeStageDef>
</Defs>

View File

@@ -270,32 +270,6 @@
<controlGroupPortraitZoom>0.7</controlGroupPortraitZoom>
</PawnKindDef>
<PawnKindDef ParentName="HeavyMechanoidKind">
<defName>WULA_Mobile_Bunker</defName> <!-- 修改了defName以避免冲突 -->
<label>BUk-1"地堡猫猫"</label>
<race>WULA_Mobile_Bunker</race>
<allowInMechClusters>false</allowInMechClusters>
<defaultFactionType>PlayerColony</defaultFactionType>
<canMeleeAttack>false</canMeleeAttack>
<combatPower>200</combatPower>
<lifeStages>
<li>
<bodyGraphicData>
<texPath>Wula/Things/WULA_Mobile_Bunker/Bodies/Naked_Thin</texPath>
<maskPath>Wula/Things/WULA_Cat/AllegianceOverlays/None</maskPath>
<shaderType>CutoutWithOverlay</shaderType>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>3.4</drawSize>
<shadowData>
<volume>(1.4, 1.8, 1.4)</volume>
</shadowData>
</bodyGraphicData>
</li>
</lifeStages>
<controlGroupPortraitZoom>0.7</controlGroupPortraitZoom>
</PawnKindDef>
<PawnKindDef ParentName="HeavyMechanoidKind">
<defName>Wula_Mech_Mobile_Factory</defName> <!-- 修改了defName以避免冲突 -->
<label>MFm-2"陆行舰"</label>

View File

@@ -1099,133 +1099,6 @@
</comps>
</AlienRace.ThingDef_AlienRace>
<!-- 大型机械族 -->
<AlienRace.ThingDef_AlienRace ParentName="WULA_BaseMechanoid">
<defName>WULA_Mobile_Bunker</defName> <!-- 修改了defName以避免冲突 -->
<label>BUk-1"地堡猫猫"</label>
<description>四只猫猫在抬着地堡移动,虽然很难相信但是事实就是这样的。在地堡的射击窗里还有另外的两只乌拉猫猫,它们会操纵地堡的机枪向外射击。\n\n猫猫可以放下地堡然后一股脑地钻进去这会让地堡重新变为建筑。</description>
<alienRace>
<raceRestriction>
<onlyUseRaceRestrictedApparel>true</onlyUseRaceRestrictedApparel>
<onlyUseRaceRestrictedWeapons>true</onlyUseRaceRestrictedWeapons>
</raceRestriction>
<compatibility>
<isFlesh>false</isFlesh>
</compatibility>
</alienRace>
<statBases>
<BandwidthCost>1</BandwidthCost>
<MoveSpeed>3</MoveSpeed>
<ArmorRating_Sharp>0.75</ArmorRating_Sharp>
<ArmorRating_Blunt>0.75</ArmorRating_Blunt>
<ArmorRating_Heat>0.75</ArmorRating_Heat>
</statBases>
<race>
<!-- <body>WULA_Mobile_Bunker_Body</body> -->
<baseBodySize>5</baseBodySize>
<lifeStageAges>
<li>
<def>MechanoidFullyFormed</def>
<minAge>0</minAge>
<soundCall>Pawn_Wula_Mech_Mobile_Factory_Call</soundCall>
</li>
</lifeStageAges>
<baseHealthScale>2</baseHealthScale>
<mechWeightClass>Heavy</mechWeightClass>
</race>
<tools Inherit="False">
<li>
<label>碾压</label>
<capacities>
<li>Blunt</li>
</capacities>
<power>360</power>
<cooldownTime>8</cooldownTime>
<linkedBodyPartsGroup>Torso</linkedBodyPartsGroup>
<ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable>
</li>
</tools>
<comps>
<li Class="WulaFallenEmpire.CompProperties_MultiTurretGun">
<ID>0</ID>
<turretDef>WULA_Cat_Bunker_TurretGun</turretDef>
<!-- <angleOffset>-90</angleOffset> -->
<renderNodeProperties>
<li>
<nodeClass>PawnRenderNode_TurretGun</nodeClass>
<workerClass>PawnRenderNodeWorker_TurretGun</workerClass>
<parentTagDef>Body</parentTagDef>
<overrideMeshSize>(2, 2)</overrideMeshSize>
<baseLayer>20</baseLayer>
<pawnType>Any</pawnType>
<drawData>
<dataNorth>
<rotationOffset>-90</rotationOffset>
<offset>(-1, 0, -1.45)</offset>
<flip>true</flip>
<layer>-5</layer>
</dataNorth>
<dataEast>
<rotationOffset>90</rotationOffset>
<layer>-5</layer>
<offset>(3.25, 0, -1)</offset>
</dataEast>
<dataSouth>
<rotationOffset>-90</rotationOffset>
<offset>(1.5, 0, -1.45)</offset>
</dataSouth>
<dataWest>
<rotationOffset>90</rotationOffset>
<offset>(-3.25, 0, -1)</offset>
</dataWest>
</drawData>
</li>
</renderNodeProperties>
</li>
<li Class="WulaFallenEmpire.CompProperties_MultiTurretGun">
<ID>1</ID>
<turretDef>WULA_Cat_Bunker_TurretGun</turretDef>
<!-- <angleOffset>-90</angleOffset> -->
<renderNodeProperties>
<li>
<nodeClass>PawnRenderNode_TurretGun</nodeClass>
<workerClass>PawnRenderNodeWorker_TurretGun</workerClass>
<parentTagDef>Body</parentTagDef>
<overrideMeshSize>(2, 2)</overrideMeshSize>
<baseLayer>20</baseLayer>
<pawnType>Any</pawnType>
<drawData>
<dataNorth>
<rotationOffset>-90</rotationOffset>
<offset>(1, 0, -1.45)</offset>
<layer>-5</layer>
</dataNorth>
<dataEast>
<rotationOffset>-90</rotationOffset>
<offset>(3.25, 0, -1)</offset>
</dataEast>
<dataSouth>
<rotationOffset>-90</rotationOffset>
<offset>(-1.6, 0, -1.45)</offset>
</dataSouth>
<dataWest>
<rotationOffset>90</rotationOffset>
<offset>(-3.25, 0, -1)</offset>
<layer>-5</layer>
</dataWest>
</drawData>
</li>
</renderNodeProperties>
</li>
<!-- 转换回建筑组件 -->
<li Class="WulaFallenEmpire.CompProperties_TransformIntoBuilding">
<targetBuildingDef>WULA_Cat_Bunker</targetBuildingDef>
<gizmoLabel>部署为乌拉猫猫地堡</gizmoLabel>
<gizmoDesc>乌拉猫猫们把地堡扔在地上然后钻进去重新转变为建筑。每一次转变为建筑后都会有24小时的冷却时间在此期间不允许重新变为BUk-1"地堡猫猫"。</gizmoDesc>
<gizmoIconPath>Wula/UI/Commands/WULA_BunkerCat</gizmoIconPath>
</li>
</comps>
</AlienRace.ThingDef_AlienRace>
<AlienRace.ThingDef_AlienRace ParentName="WULA_BaseMechanoid">
<defName>Wula_AI_Heavy_Panzer</defName> <!-- 修改了defName以避免冲突 -->
<label>HAp-6"战车"</label>

View File

@@ -0,0 +1,454 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="BasePawn" Name="Wula_MechunitBase" Abstract="True">
<!-- 重要这个新的thingclass代表其是一台机甲如果遗漏接下来的内容都无法生效 -->
<thingClass>WulaFallenEmpire.Wulamechunit</thingClass>
<defaultPlacingRot>North</defaultPlacingRot>
<soundImpactDefault>BulletImpact_Metal</soundImpactDefault>
<altitudeLayer>Pawn</altitudeLayer>
<tradeability>None</tradeability>
<statBases>
<StaggerDurationFactor>0</StaggerDurationFactor>
<ComfyTemperatureMin>-99999</ComfyTemperatureMin>
<ComfyTemperatureMax>99999</ComfyTemperatureMax>
<Wildness>0</Wildness>
<FilthRate>0</FilthRate>
<CrawlSpeed>0</CrawlSpeed>
<LeatherAmount>0</LeatherAmount>
<MeatAmount>0</MeatAmount>
<Flammability>0</Flammability>
<ToxicResistance>1</ToxicResistance>
<PsychicSensitivity>0</PsychicSensitivity>
<InjuryHealingFactor>0</InjuryHealingFactor>
<ToxicEnvironmentResistance>1</ToxicEnvironmentResistance>
<VacuumResistance MayRequire="Ludeon.RimWorld.Odyssey">1</VacuumResistance>
</statBases>
<race>
<trainability>None</trainability>
<fleshType>Wula_Mechunit_Fleshtype</fleshType>
<intelligence>ToolUser</intelligence>
<hasCorpse>true</hasCorpse>
<needsRest>false</needsRest>
<hasGenders>false</hasGenders>
<nameGenerator MayRequire="Ludeon.RimWorld.Biotech">NamerMech</nameGenerator>
<isImmuneToInfections>true</isImmuneToInfections>
<lifeStageAges>
<li>
<def>Wula_Mechunit_LifeStage</def>
<minAge>0</minAge>
<!-- <soundWounded>Pawn_Spelopede_Pain</soundWounded> -->
<!-- <soundDeath>Pawn_Spelopede_Death</soundDeath> -->
<!-- <soundCall>Pawn_Spelopede_Call</soundCall> -->
<!-- <soundAngry>Pawn_Spelopede_Angry</soundAngry> -->
</li>
</lifeStageAges>
</race>
<tools>
<li>
<label>hoof</label>
<capacities>
<li>Blunt</li>
<li>Poke</li>
</capacities>
<power>8</power>
<cooldownTime>2</cooldownTime>
<linkedBodyPartsGroup>Legs</linkedBodyPartsGroup>
<chanceFactor>0.1</chanceFactor>
</li>
</tools>
<!-- 实际上机甲并没有needs不过如果你希望为其专门写一个新的needs倒也不是不行 -->
<inspectorTabs Inherit="false">
<li>WulaFallenEmpire.ITab_MechSkills</li>
<li>ITab_Pawn_Health</li>
<li>ITab_Pawn_Needs</li>
<li>ITab_Pawn_Gear</li>
<li>ITab_Pawn_Log</li>
</inspectorTabs>
</ThingDef>
<AlienRace.ThingDef_AlienRace ParentName="WULA_BaseMechanoid">
<defName>Wula_AI_Heavy_Panzer</defName> <!-- 修改了defName以避免冲突 -->
<label>HAp-6"战车"</label>
<description></description>
<uiIconPath>Wula/Things/Wula_AI_Heavy_Panzer/Wula_AI_Heavy_Panzer_Icon</uiIconPath>
<alienRace>
<raceRestriction>
<weaponList>
<li>Wula_AI_Heavy_Panzer_Main_Weapon</li>
</weaponList>
<onlyUseRaceRestrictedApparel>true</onlyUseRaceRestrictedApparel>
<onlyUseRaceRestrictedWeapons>true</onlyUseRaceRestrictedWeapons>
</raceRestriction>
<compatibility>
<isFlesh>false</isFlesh>
</compatibility>
</alienRace>
<statBases>
<BandwidthCost>1</BandwidthCost>
<MoveSpeed>2</MoveSpeed>
<EnergyShieldEnergyMax>2</EnergyShieldEnergyMax>
<StaggerDurationFactor>0</StaggerDurationFactor>
<MaxFlightTime>9999</MaxFlightTime>
<FlightCooldown>0</FlightCooldown>
<ArmorRating_Sharp>1</ArmorRating_Sharp>
<ArmorRating_Blunt>1</ArmorRating_Blunt>
<ArmorRating_Heat>2</ArmorRating_Heat>
</statBases>
<costList Inherit="False">
<WULA_Alloy>300</WULA_Alloy>
<WULA_Charge_Cube>18</WULA_Charge_Cube>
<ComponentSpacer>2</ComponentSpacer>
</costList>
<race>
<body>WULA_AI_Heavy_Panzer_Body</body>
<baseBodySize>20</baseBodySize>
<lifeStageAges>
<li>
<def>MechanoidFullyFormed</def>
<minAge>0</minAge>
<soundCall>Pawn_Wula_AI_Heavy_Panzer_Call</soundCall>
</li>
</lifeStageAges>
<baseHealthScale>10</baseHealthScale>
<flightStartChanceOnJobStart>1</flightStartChanceOnJobStart>
<mechWeightClass>Heavy</mechWeightClass>
<!-- <thinkTreeConstant>WarUrchinConstant</thinkTreeConstant> -->
</race>
<tools Inherit="False">
<li>
<label>碾压</label>
<capacities>
<li>Blunt</li>
</capacities>
<power>360</power>
<cooldownTime>8</cooldownTime>
<linkedBodyPartsGroup>Torso</linkedBodyPartsGroup>
<ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable>
</li>
</tools>
<comps>
<li Class="WulaFallenEmpire.CompProperties_MultiTurretGun">
<ID>0</ID>
<turretDef>Wula_AI_Heavy_Panzer_Turret_Weapon</turretDef>
<!-- <angleOffset>-90</angleOffset> -->
<renderNodeProperties>
<li>
<nodeClass>PawnRenderNode_TurretGun</nodeClass>
<workerClass>PawnRenderNodeWorker_TurretGun</workerClass>
<parentTagDef>Body</parentTagDef>
<overrideMeshSize>(7, 7)</overrideMeshSize>
<baseLayer>20</baseLayer>
<pawnType>Any</pawnType>
<drawData>
<dataNorth>
<rotationOffset>-90</rotationOffset>
</dataNorth>
<dataEast>
<rotationOffset>-90</rotationOffset>
</dataEast>
<dataSouth>
<rotationOffset>-90</rotationOffset>
</dataSouth>
<dataWest>
<rotationOffset>90</rotationOffset>
</dataWest>
</drawData>
</li>
</renderNodeProperties>
</li>
<li Class="CompProperties_Shield">
<startingTicksToReset>36000</startingTicksToReset><!-- 10 mins -->
<minDrawSize>5.2</minDrawSize>
<maxDrawSize>5.4</maxDrawSize>
<energyLossPerDamage>0.02</energyLossPerDamage>
<energyOnReset>4.0</energyOnReset>
<blocksRangedWeapons>false</blocksRangedWeapons>
</li>
<!-- 飞行组件 -->
<li Class="WulaFallenEmpire.CompProperties_PawnFlight">
<!-- 飞行触发条件:仅在征召时飞行 -->
<flightCondition>Drafted</flightCondition>
<!-- 链接到我们刚刚创建的 AnimationDef -->
<flyingAnimationNorth>WULA_Hover_FlyNorth</flyingAnimationNorth>
<flyingAnimationEast>WULA_Hover_FlyEast</flyingAnimationEast>
<flyingAnimationSouth>WULA_Hover_FlySouth</flyingAnimationSouth>
</li>
<li Class="WulaFallenEmpire.CompProperties_AreaDamage">
<radius>1.5</radius>
<damageIntervalTicks>30</damageIntervalTicks>
<damageDef>Crush</damageDef>
<damageAmount>3</damageAmount>
<scaleWithPsychicSensitivity>false</scaleWithPsychicSensitivity>
<affectFriendly>false</affectFriendly>
<affectNeutral>false</affectNeutral>
<affectHostile>true</affectHostile>
<affectBuildings>false</affectBuildings>
<ignoreFactionRelations>false</ignoreFactionRelations>
<startEnabled>false</startEnabled>
<toggleLabel>碾压伤害</toggleLabel>
<toggleDescription>HAp-6"战车"可以将舰身稍微下沉一些并创造低压区,以碾压靠近的敌军——这同时会使得它伤害附近所有的散落物品。</toggleDescription>
<toggleIconPath>Wula/UI/Commands/Wula_Mech_Mobile_Factory_AreaDamage</toggleIconPath>
</li>
</comps>
</AlienRace.ThingDef_AlienRace>
<ThingDef ParentName="Wula_MechunitBase">
<defName>Wula_Basic_Panzer</defName>
<label>DHM70-Rampart</label>
<description>乌拉帝国的中型战争机械,以悬浮的方式穿梭于战场之上,使用破坏力巨大的自动炮和车体臼炮打击敌方,是乌拉帝国前锋部队的中流砥柱。</description>
<statBases>
<MoveSpeed>3.25</MoveSpeed>
<MarketValue>17500</MarketValue>
<MeleeDodgeChance>0.35</MeleeDodgeChance>
<ArmorRating_Blunt>1.25</ArmorRating_Blunt>
<ArmorRating_Sharp>1.25</ArmorRating_Sharp>
<ArmorRating_Heat>1.5</ArmorRating_Heat>
<!-- 圣化镀层的数值,伤害*穿甲率低于此数值将被直接抵挡 -->
<!-- value of the Sanctified Armour, damage * armor piercing rate below which will be directly resisted -->
<DD_MechArmor>2</DD_MechArmor>
</statBases>
<race>
<body>DD_Race_DHM69_Scythe_Body</body>
<thinkTreeMain>DD_Battle_Mech_With_3_Pilot</thinkTreeMain>
<baseBodySize>10</baseBodySize>
<baseHealthScale>5</baseHealthScale>
</race>
<butcherProducts Inherit="False">
<Steel>500</Steel>
<Plasteel>300</Plasteel>
<ComponentIndustrial>12</ComponentIndustrial>
</butcherProducts>
<comps>
<li Class="DivineDiurganate.CompProperties_MechPilotHolder">
<maxPilots>3</maxPilots>
<pilotWorkTag>MechPilot</pilotWorkTag>
<ejectPilotHealthPercentThreshold>0.1</ejectPilotHealthPercentThreshold>
<summonPilotIcon>DivineDiurganate/UI/Commands/DD_Enter_Mech</summonPilotIcon>
<ejectPilotIcon>DivineDiurganate/UI/Commands/DD_Exit_Mech</ejectPilotIcon>
</li>
<li Class="DivineDiurganate.CompProperties_MechFuel">
<fuelType>Chemfuel</fuelType>
<fuelCapacity>70</fuelCapacity>
<dailyFuelConsumption>35</dailyFuelConsumption>
<refuelSpeedFactor>1</refuelSpeedFactor>
<refuelDuration>240</refuelDuration>
<fuelBarColor>(0.6, 0.5, 0.4)</fuelBarColor>
<allowAutoRefuel>true</allowAutoRefuel>
<autoRefuelThreshold>1</autoRefuelThreshold>
<shutdownWhenEmpty>true</shutdownWhenEmpty>
</li>
<li Class="DivineDiurganate.CompProperties_MechRepairable">
<allowAutoRepair>true</allowAutoRepair>
<healthPercentThreshold>1</healthPercentThreshold>
<repairAmountPerCycle>10</repairAmountPerCycle>
<repairSound></repairSound>
<repairEffect>ConstructMetal</repairEffect>
</li>
<li Class="DivineDiurganate.CompProperties_MechInherentWeapon">
<weaponDef>DD_DHM70_Rampart_Mech_Weapon</weaponDef>
</li>
<li Class="DivineDiurganate.CompProperties_MechDefaultPilot">
<enableForNonPlayerFaction>true</enableForNonPlayerFaction>
<enableForPlayerFaction>false</enableForPlayerFaction>
<defaultPilotChance>1.0</defaultPilotChance>
<spawnOnlyIfNoPilot>true</spawnOnlyIfNoPilot>
<replaceExistingPilots>false</replaceExistingPilots>
<maxDefaultPilots>3</maxDefaultPilots>
<defaultPilots>
<li>
<pawnKind>DD_Ratkin_Pilot</pawnKind>
<weight>1</weight>
<required>false</required>
</li>
</defaultPilots>
</li>
<li Class="DivineDiurganate.CompProperties_MechSkillInheritance">
<baseSkillLevelWhenNoPilot>0</baseSkillLevelWhenNoPilot>
<skillMultiplierForPilots>1</skillMultiplierForPilots>
</li>
<li Class="DivineDiurganate.CompProperties_MoteEmitterNorthward">
<moteDef>DD_Mote_MechBlackSmoke</moteDef>
<emitIntervalTicks>30</emitIntervalTicks>
<emitIntervalMovingTicks>20</emitIntervalMovingTicks>
<moveSpeed>1.5</moveSpeed>
<lifetimeTicks>10</lifetimeTicks>
<scale>0.25</scale>
<offset>(0.85,0,2.25)</offset>
</li>
<li Class="DivineDiurganate.CompProperties_MoteEmitterNorthward">
<moteDef>DD_Mote_MechBlackSmoke</moteDef>
<emitIntervalTicks>30</emitIntervalTicks>
<emitIntervalMovingTicks>20</emitIntervalMovingTicks>
<moveSpeed>1.5</moveSpeed>
<lifetimeTicks>10</lifetimeTicks>
<scale>0.25</scale>
<offset>(-0.85,0,2.25)</offset>
</li>
<li Class="DivineDiurganate.CompProperties_MechMovementSound">
<movementSound>DD_DHM70_Rampart_Mech_Moving_Sound</movementSound>
</li>
<li Class="DivineDiurganate.CompProperties_MechSelfDestruct">
<healthPercentThreshold>0.1</healthPercentThreshold> <!-- 15%血量时自毁 -->
<wickTicks>120~180</wickTicks>
<drawWick>true</drawWick>
<!-- 爆炸参数 -->
<explosiveRadius>11.5</explosiveRadius>
<explosiveDamageType>Flame</explosiveDamageType>
<damageAmountBase>5</damageAmountBase>
<armorPenetrationBase>2</armorPenetrationBase>
<chanceToStartFire>0.25</chanceToStartFire>
<damageFalloff>true</damageFalloff>
<doVisualEffects>true</doVisualEffects>
<doSoundEffects>true</doSoundEffects>
<propagationSpeed>1</propagationSpeed>
<!-- 爆炸效果 -->
<!-- <explosionEffect>Explosion</explosionEffect> -->
<explosionSound>Explosion_Bomb</explosionSound>
<!-- 触发条件 -->
<triggerOnDeath>true</triggerOnDeath>
<triggerOnHealthThreshold>true</triggerOnHealthThreshold>
<chanceNeverExplode>0</chanceNeverExplode> <!-- 5%几率永不爆炸 -->
</li>
<li Class="DivineDiurganate.CompProperties_MultiTurretGun">
<ID>0</ID>
<turretDef>DD_DHM69_Scythe_MG_Turret</turretDef>
<renderNodeProperties>
<li>
<nodeClass>PawnRenderNode_TurretGun</nodeClass>
<workerClass>PawnRenderNodeWorker_TurretGun</workerClass>
<parentTagDef>Body</parentTagDef>
<overrideMeshSize>(2, 2)</overrideMeshSize>
<baseLayer>20</baseLayer>
<pawnType>Any</pawnType>
</li>
</renderNodeProperties>
</li>
<li Class="DivineDiurganate.CompProperties_MultiTurretGun">
<ID>1</ID>
<turretDef>DD_DHM69_Scythe_MG_Turret</turretDef>
<renderNodeProperties>
<li>
<nodeClass>PawnRenderNode_TurretGun</nodeClass>
<workerClass>PawnRenderNodeWorker_TurretGun</workerClass>
<parentTagDef>Body</parentTagDef>
<overrideMeshSize>(2, 2)</overrideMeshSize>
<baseLayer>20</baseLayer>
<pawnType>Any</pawnType>
</li>
</renderNodeProperties>
</li>
<li Class="DivineDiurganate.CompProperties_MultiTurretGun">
<ID>2</ID>
<turretDef>DD_DHM69_Scythe_MG_Turret</turretDef>
<renderNodeProperties>
<li>
<nodeClass>PawnRenderNode_TurretGun</nodeClass>
<workerClass>PawnRenderNodeWorker_TurretGun</workerClass>
<parentTagDef>Body</parentTagDef>
<overrideMeshSize>(2, 2)</overrideMeshSize>
<baseLayer>20</baseLayer>
<pawnType>Any</pawnType>
</li>
</renderNodeProperties>
</li>
<li Class="DivineDiurganate.CompProperties_HediffGiverByKind">
<!-- 调试模式 -->
<debugMode>false</debugMode>
<!-- 默认配置当没有特定PawnKind匹配时使用 -->
<defaultHediffs>
</defaultHediffs>
<defaultAddChance>1</defaultAddChance>
<defaultAllowDuplicates>false</defaultAllowDuplicates>
<!-- PawnKind特定配置 -->
<pawnKindHediffs>
<!-- Soldier类型的特定hediff -->
<li>
<pawnKind>DD_DHM70_Rampart_Mech_Prototype</pawnKind>
<hediffs>
<li>DD_MechPrototype</li>
</hediffs>
<addChance>1.0</addChance>
<allowDuplicates>false</allowDuplicates>
</li>
</pawnKindHediffs>
</li>
</comps>
</ThingDef>
<PawnKindDef>
<defName>DD_DHM70_Rampart_Mech</defName>
<label>DHM70-Rampart</label>
<race>DD_DHM70_Rampart_Mech</race>
<defaultFactionType>PlayerColony</defaultFactionType>
<forceDeathOnDowned>false</forceDeathOnDowned>
<forceNoDeathNotification>false</forceNoDeathNotification>
<collidesWithPawns>false</collidesWithPawns>
<combatPower>800</combatPower>
<weaponTags>
<li>DD_DHM70_Rampart_Mech_Weapon</li>
</weaponTags>
<weaponMoney>99999~99999</weaponMoney>
<lifeStages>
<li>
<bodyGraphicData>
<texPath>DivineDiurganate/Things/DD_DHM70_Rampart/Naked_Thin</texPath>
<drawSize>6.5</drawSize>
<shadowData>
<volume>(2 ,2, 0.8)</volume>
<offset>(0,0,-0.15)</offset>
</shadowData>
</bodyGraphicData>
</li>
</lifeStages>
</PawnKindDef>
<PawnKindDef>
<defName>DD_DHM70_Rampart_Mech_Prototype</defName>
<label>DHM70-Rampart Prototype</label>
<race>DD_DHM70_Rampart_Mech</race>
<defaultFactionType>PlayerColony</defaultFactionType>
<forceDeathOnDowned>false</forceDeathOnDowned>
<forceNoDeathNotification>false</forceNoDeathNotification>
<collidesWithPawns>false</collidesWithPawns>
<combatPower>900</combatPower>
<weaponTags>
<li>DD_DHM70_Rampart_Mech_Weapon</li>
</weaponTags>
<weaponMoney>99999~99999</weaponMoney>
<lifeStages>
<li>
<bodyGraphicData>
<texPath>DivineDiurganate/Things/DD_DHM70_Rampart/Prototype</texPath>
<drawSize>6.5</drawSize>
<shadowData>
<volume>(2 ,2, 0.8)</volume>
<offset>(0,0,-0.15)</offset>
</shadowData>
</bodyGraphicData>
</li>
</lifeStages>
</PawnKindDef>
</Defs>