This commit is contained in:
2026-02-25 17:30:59 +08:00
parent 0509f26c3c
commit fff40b0edb
70 changed files with 3951 additions and 1219 deletions

View File

@@ -202,6 +202,32 @@
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>WULA_MechShutdown</defName>
<hediffClass>HediffWithComps</hediffClass>
<label></label>
<description>This mech has stopped due to insufficient fuel, need to assign a colonist to refuel it to restore its operational capability.</description>
<descriptionShort>This mech has stopped due to insufficient fuel.</descriptionShort>
<!-- <initialSeverity>0.5</initialSeverity> -->
<minSeverity>0.01</minSeverity>
<maxSeverity>1</maxSeverity>
<alwaysShowSeverity>true</alwaysShowSeverity>
<isBad>true</isBad>
<duplicationAllowed>true</duplicationAllowed>
<keepOnBodyPartRestoration>true</keepOnBodyPartRestoration> <!-- true -->
<!-- <defaultInstallPart>Brain</defaultInstallPart> -->
<stages>
<li>
<capMods>
<li>
<capacity>Moving</capacity>
<setMax>0.1</setMax>
</li>
</capMods>
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>WULA_MechCarrierSwitchHediff</defName>

View File

@@ -86,7 +86,7 @@
<makeTargetPrisoner>false</makeTargetPrisoner> -->
</JobDef>
<WorkGiverDef>
<defName>WULA_Refuel</defName>
<defName>WULA_RefuelMech</defName>
<label>refuel Mechs</label>
<giverClass>WulaFallenEmpire.WorkGiver_RefuelMech</giverClass>
<workType>Hauling</workType>

View File

@@ -179,6 +179,7 @@
<defaultFactionType>PlayerColony</defaultFactionType>
<canMeleeAttack>false</canMeleeAttack>
<isGoodBreacher>true</isGoodBreacher>
<collidesWithPawns>false</collidesWithPawns>
<flyingAnimationFramePathPrefix>Wula/Things/Wula_Mech_Mobile_Factory/Flying/Wula_Mech_Mobile_Factory_Flying_</flyingAnimationFramePathPrefix>
<flyingAnimationDrawSize>1</flyingAnimationDrawSize>

View File

@@ -133,4 +133,17 @@
<showOnDrones>true</showOnDrones>
<workerClass>WulaFallenEmpire.StatWorker_Maintenance</workerClass>
</StatDef>
<!-- 机甲装甲值 -->
<StatDef>
<defName>WULA_MechArmor</defName>
<label>复合装甲层</label>
<description>乌拉帝国在大型战争机械和少部分护甲上使用的特殊防御装甲,当 护甲穿透乘数 * 攻击 的最终值小于此值时,该攻击将被完全抵消而不造成任何伤害。</description>
<category>Apparel</category>
<toStringStyle>FloatTwo</toStringStyle>
<defaultBaseValue>0</defaultBaseValue>
<hideAtValue>0</hideAtValue>
<minValue>0</minValue>
<displayPriorityInCategory>5000</displayPriorityInCategory>
</StatDef>
</Defs>

View File

@@ -477,9 +477,17 @@
<Steel>200</Steel>
<ComponentIndustrial>12</ComponentIndustrial>
</costList>
<weaponTags>
<weaponTags Inherit="False">
<li>Wula_AI_Heavy_Panzer_Weapon</li>
</weaponTags>
<thingCategories Inherit="False"/>
<comps>
<li Class="WulaFallenEmpire.CompProperties_MechOnlyWeapon">
<allowedMechRaces>
<li>Wula_AI_Heavy_Panzer</li>
</allowedMechRaces>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_Wula_AI_Heavy_Panzer_Main_Weapon</defName>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- human的克隆防止其他mod修改human导致的不兼容 -->
<ThingDef Abstract="True" Name="Wula_Human_Protect_Superclass" ParentName="BasePawn">
<defName>Wula_Human</defName>
<label>human</label>
@@ -225,7 +224,6 @@
</li>
</comps>
</ThingDef>
<!-- 基础类希望对human的更改在此处应用 -->
<ThingDef Abstract="True" Name="Wula_Human_Base" ParentName="Wula_Human_Protect_Superclass">
<statBases>
<MarketValue>0</MarketValue>
@@ -785,7 +783,6 @@
</comps>
</AlienRace.ThingDef_AlienRace>
<!-- 乌拉基础机械族类 -->
<ThingDef ParentName="BasePawn" Name="WULA_BaseMechanoid" Abstract="True">
<soundImpactDefault>BulletImpact_Metal</soundImpactDefault>
<statBases>
@@ -877,7 +874,6 @@
</comps>
</ThingDef>
<!-- 猫猫族系 -->
<ThingDef Abstract="True" Name="Mech_WULA_Cat_Base" ParentName="WULA_BaseMechanoid">
<statBases>
<MoveSpeed>5</MoveSpeed>
@@ -1099,695 +1095,6 @@
</comps>
</AlienRace.ThingDef_AlienRace>
<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>
<AlienRace.ThingDef_AlienRace ParentName="WULA_BaseMechanoid">
<defName>Wula_AI_Rocket_Panzer</defName> <!-- 修改了defName以避免冲突 -->
<label>HRp-3"喷火战车"</label>
<description>乌拉帝国的中型战争机械,以悬浮的方式穿梭于战场之上,拥有车体臼炮和两具可以发射大量燃烧火箭弹的转轮导弹巢,但是未像其姊妹型号那样装备护盾。</description>
<uiIconPath>Wula/Things/Wula_AI_Heavy_Panzer/Wula_AI_Rocket_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_Rocket_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="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>HRp-3"喷火战车"可以将舰身稍微下沉一些并创造低压区,以碾压靠近的敌军——这同时会使得它伤害附近所有的散落物品。</toggleDescription>
<toggleIconPath>Wula/UI/Commands/Wula_Mech_Mobile_Factory_AreaDamage</toggleIconPath>
</li>
</comps>
</AlienRace.ThingDef_AlienRace>
<AlienRace.ThingDef_AlienRace ParentName="WULA_BaseMechanoid">
<defName>Wula_Mech_Mobile_Shield</defName> <!-- 修改了defName以避免冲突 -->
<label>MSm-8"放射盾"</label>
<description>乌拉帝国的中型战争机械,常被用于镇压异族聚居地的暴动。它形状非常奇怪,根本分不出头在哪,但是不要因此小瞧这个机械体——其强大的立场盾能护佑一片区域并反射大量炮火,机体放射出来的辐射则会点燃进入反射盾范围内的敌人。在相关许可开放后,它甚至可以支持机械乌拉使用其内置的相位场进行区域传送,使其获得无与伦比的机动性。</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.5</ArmorRating_Sharp>
<ArmorRating_Blunt>0.5</ArmorRating_Blunt>
<ArmorRating_Heat>2</ArmorRating_Heat>
</statBases>
<race>
<body>WULA_Mech_Mobile_Shield_Body</body>
<baseBodySize>50</baseBodySize>
<lifeStageAges>
<li>
<def>MechanoidFullyFormed</def>
<minAge>0</minAge>
<soundCall>Pawn_Wula_Mech_Mobile_Factory_Call</soundCall>
</li>
</lifeStageAges>
<baseHealthScale>5</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_AreaShield">
<radius>15</radius>
<baseHitPoints>300</baseHitPoints>
<rechargeDelay>2400</rechargeDelay>
<rechargeHitPointsIntervalTicks>30</rechargeHitPointsIntervalTicks>
<!-- 效果器配置 -->
<absorbEffecter>Interceptor_BlockedProjectile</absorbEffecter>
<interceptEffecter>Interceptor_BlockedProjectile</interceptEffecter>
<breakEffecter>Shield_Break</breakEffecter>
<reactivateEffecter>BulletShieldGenerator_Reactivate</reactivateEffecter>
<color>(0.9, 0.2, 0.2, 0.5)</color> <!-- 护盾气泡的颜色 (RGBA) -->
<!-- 拦截设置 -->
<interceptGroundProjectiles>true</interceptGroundProjectiles>
<interceptNonHostileProjectiles>false</interceptNonHostileProjectiles>
<interceptAirProjectiles>true</interceptAirProjectiles>
<!-- 反射设置 -->
<canReflect>true</canReflect>
<reflectChance>0.85</reflectChance>
<reflectAngleRange>30</reflectAngleRange>
<reflectCost>0</reflectCost>
<reflectEffecter>Interceptor_BlockedProjectile</reflectEffecter>
</li>
<li Class="WulaFallenEmpire.CompProperties_AreaDamage">
<radius>15</radius>
<damageIntervalTicks>30</damageIntervalTicks>
<damageDef>Flame</damageDef>
<damageAmount>8</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>MSm-8"放射盾"可以打开外壳,蒸发胆敢进入反射立场内的敌军——这同时会使得它伤害附近所有的散落物品。</toggleDescription>
<toggleIconPath>Wula/UI/Commands/Wula_Psi_Titan_AreaDamage</toggleIconPath>
</li>
<!-- 区域传送组件 -->
<li Class="WulaFallenEmpire.CompProperties_AreaTeleporter">
<teleportRadius>15</teleportRadius>
<stunTicks>60</stunTicks>
<allowedRaces>
<li>WulaSpecies</li>
</allowedRaces>
<onlyPawnsInSameFaction>true</onlyPawnsInSameFaction>
<entryEffecter>Skip_Entry</entryEffecter>
<exitEffecter>Skip_Exit</exitEffecter>
<teleportSound>Psycast_Skip_Entry</teleportSound>
<requireResearchToUse>true</requireResearchToUse>
<requiredResearch>WULA_Mech_Mobile_Shield_Teleporter_Technology</requiredResearch>
</li>
</comps>
</AlienRace.ThingDef_AlienRace>
<AlienRace.ThingDef_AlienRace ParentName="WULA_BaseMechanoid">
<defName>Wula_Mech_Mobile_Factory</defName> <!-- 修改了defName以避免冲突 -->
<label>MFm-2"陆行舰"</label>
<description>乌拉帝国的大型战争机械,简直就是一座移动堡垒——它不仅装甲厚实、火炮林立,还能在战场上生产大量的辅助战争机械以形成坚实的弹性阵线,生来就是为了粉碎坚固的要塞和顽强的抵抗。</description>
<alienRace>
<raceRestriction>
<weaponList>
<li>WULA_RW_Unlimit_Penetrating_Beam_Cannon</li>
</weaponList>
<onlyUseRaceRestrictedApparel>true</onlyUseRaceRestrictedApparel>
<onlyUseRaceRestrictedWeapons>true</onlyUseRaceRestrictedWeapons>
</raceRestriction>
<compatibility>
<isFlesh>false</isFlesh>
</compatibility>
</alienRace>
<statBases>
<BandwidthCost>1</BandwidthCost>
<MoveSpeed>1</MoveSpeed>
<EnergyShieldEnergyMax>5</EnergyShieldEnergyMax>
<MaxFlightTime>9999</MaxFlightTime>
<FlightCooldown>0</FlightCooldown>
<ArmorRating_Sharp>1.75</ArmorRating_Sharp>
<ArmorRating_Blunt>1.75</ArmorRating_Blunt>
<ArmorRating_Heat>2</ArmorRating_Heat>
</statBases>
<race>
<body>WULA_Mech_Mobile_Factory_Body</body>
<baseBodySize>50</baseBodySize>
<lifeStageAges>
<li>
<def>MechanoidFullyFormed</def>
<minAge>0</minAge>
<soundCall>Pawn_Wula_Mech_Mobile_Factory_Call</soundCall>
</li>
</lifeStageAges>
<baseHealthScale>25</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_CR_Mobile_Factory_Turret</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_CR_Mobile_Factory_Turret</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_MultiTurretGun">
<ID>2</ID>
<turretDef>Wula_MR_Mobile_Factory_Turret</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.3, 0, -0.45)</offset>
<flip>true</flip>
<layer>-5</layer>
</dataNorth>
<dataEast>
<rotationOffset>90</rotationOffset>
<layer>-5</layer>
<offset>(2.4, 0, -0.35)</offset>
</dataEast>
<dataSouth>
<rotationOffset>-90</rotationOffset>
<offset>(2.3, 0, -0.45)</offset>
</dataSouth>
<dataWest>
<rotationOffset>90</rotationOffset>
<offset>(-2.4, 0, -0.35)</offset>
</dataWest>
</drawData>
</li>
</renderNodeProperties>
</li>
<li Class="WulaFallenEmpire.CompProperties_MultiTurretGun">
<ID>3</ID>
<turretDef>Wula_MR_Mobile_Factory_Turret</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.3, 0, -0.45)</offset>
<flip>true</flip>
<layer>-5</layer>
</dataNorth>
<dataEast>
<rotationOffset>-90</rotationOffset>
<offset>(2.4, 0, -0.35)</offset>
</dataEast>
<dataSouth>
<rotationOffset>-90</rotationOffset>
<offset>(-2.3, 0, -0.45)</offset>
</dataSouth>
<dataWest>
<rotationOffset>90</rotationOffset>
<layer>-5</layer>
<offset>(-2.4, 0, -0.35)</offset>
</dataWest>
</drawData>
</li>
</renderNodeProperties>
</li>
<li Class="WulaFallenEmpire.CompProperties_MultiTurretGun">
<ID>4</ID>
<turretDef>Wula_LR_Mobile_Factory_Turret</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.25, 0, 0.45)</offset>
<flip>true</flip>
<layer>-5</layer>
</dataNorth>
<dataEast>
<rotationOffset>90</rotationOffset>
<layer>-5</layer>
<offset>(1.6, 0, 0.25)</offset>
</dataEast>
<dataSouth>
<rotationOffset>-90</rotationOffset>
<offset>(-2.15, 0, 0.65)</offset>
</dataSouth>
<dataWest>
<rotationOffset>90</rotationOffset>
<offset>(-1.6, 0, 0.25)</offset>
</dataWest>
</drawData>
</li>
</renderNodeProperties>
</li>
<li Class="WulaFallenEmpire.CompProperties_MultiTurretGun">
<ID>5</ID>
<turretDef>Wula_LR_Mobile_Factory_Turret</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.25, 0, 0.45)</offset>
<flip>true</flip>
<layer>-5</layer>
</dataNorth>
<dataEast>
<rotationOffset>-90</rotationOffset>
<offset>(1.6, 0, 0.25)</offset>
</dataEast>
<dataSouth>
<rotationOffset>-90</rotationOffset>
<offset>(2.05, 0, 0.65)</offset>
</dataSouth>
<dataWest>
<rotationOffset>90</rotationOffset>
<layer>-5</layer>
<offset>(-1.6, 0, 0.25)</offset>
</dataWest>
</drawData>
</li>
</renderNodeProperties>
</li>
<!-- 护盾无法在此绘制 -->
<li Class="WulaFallenEmpire.CompProperties_AreaShield">
<radius>9</radius>
<baseHitPoints>300</baseHitPoints>
<rechargeDelay>2400</rechargeDelay>
<rechargeHitPointsIntervalTicks>30</rechargeHitPointsIntervalTicks>
<!-- 效果器配置 -->
<absorbEffecter>Interceptor_BlockedProjectile</absorbEffecter>
<interceptEffecter>Interceptor_BlockedProjectile</interceptEffecter>
<breakEffecter>Shield_Break</breakEffecter>
<reactivateEffecter>BulletShieldGenerator_Reactivate</reactivateEffecter>
<color>(0.9, 0.2, 0.2, 0.5)</color> <!-- 护盾气泡的颜色 (RGBA) -->
<!-- 拦截设置 -->
<interceptGroundProjectiles>true</interceptGroundProjectiles>
<interceptNonHostileProjectiles>false</interceptNonHostileProjectiles>
<interceptAirProjectiles>true</interceptAirProjectiles>
<!-- 反射设置 -->
<canReflect>true</canReflect>
<reflectChance>0.6</reflectChance>
<reflectAngleRange>30</reflectAngleRange>
<reflectCost>0</reflectCost>
<reflectEffecter>Interceptor_BlockedProjectile</reflectEffecter>
</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>3.5</radius>
<damageIntervalTicks>30</damageIntervalTicks>
<damageDef>Crush</damageDef>
<damageAmount>4</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>MFm-2"陆行舰"可以将舰身稍微下沉一些并创造低压区,以碾压靠近的敌军——这同时会使得它伤害附近所有的散落物品。</toggleDescription>
<toggleIconPath>Wula/UI/Commands/Wula_Mech_Mobile_Factory_AreaDamage</toggleIconPath>
</li>
</comps>
</AlienRace.ThingDef_AlienRace>
<ThingDef ParentName="BaseMechanoidWalker">
<defName>WULA_Mech_Flyer</defName>
<label>CRm-51"兵蚁"</label>
@@ -2004,7 +1311,6 @@
</comps>
</AlienRace.ThingDef_AlienRace>
<!-- 特殊单位 -->
<ThingDef ParentName="BaseMechanoidWalker">
<defName>WULA_Fxxk_Goose</defName>
<label>神人大鹅</label>

File diff suppressed because it is too large Load Diff

View File

@@ -560,4 +560,99 @@
</subNodes>
</thinkRoot>
</ThinkTreeDef>
<ThinkTreeDef>
<defName>Wula_Battle_Mech_With_1_Pilot</defName>
<thinkRoot Class="ThinkNode_Priority">
<subNodes>
<!-- Despawned -->
<li Class="ThinkNode_Subtree">
<treeDef>Despawned</treeDef>
</li>
<!-- Deactivated -->
<li Class="ThinkNode_ConditionalDeactivated" MayRequire="Ludeon.RimWorld.Odyssey">
<subNodes>
<li Class="JobGiver_Deactivated" />
</subNodes>
</li>
<!-- Downed -->
<li Class="ThinkNode_Subtree">
<treeDef>Downed</treeDef>
</li>
<!-- 重点!你需要在思考树中插入此项,以规定当没有足够的驾驶员时,机甲将执行什么行动 -->
<li Class="WulaFallenEmpire.ThinkNode_ConditionalMechHasPilot">
<minPilotCount>1</minPilotCount>
<subNodes>
<li Class="WulaFallenEmpire.JobGiver_NoPilot"/>
</subNodes>
</li>
<!-- Mental state -->
<li Class="ThinkNode_ConditionalMentalState">
<state>BerserkMechanoid</state>
<subNodes>
<li Class="ThinkNode_Priority">
<subNodes>
<li Class="JobGiver_Berserk" />
<li Class="JobGiver_WanderAnywhere">
<maxDanger>Deadly</maxDanger>
</li>
</subNodes>
</li>
</subNodes>
</li>
<!-- Do a queued job -->
<li Class="ThinkNode_QueuedJob" />
<!-- Wait if drafted -->
<li Class="ThinkNode_ConditionalOfPlayerFaction">
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>DraftedOrder</tagToGive>
<subNodes>
<li Class="JobGiver_MoveToStandable" />
<li Class="JobGiver_Orders" />
</subNodes>
</li>
</subNodes>
</li>
<!-- Lord -->
<li Class="ThinkNode_Subtree">
<treeDef>LordDuty</treeDef>
</li>
<!-- Idle player mech -->
<li Class="ThinkNode_ConditionalOfPlayerFaction">
<subNodes>
<li Class="ThinkNode_Tagger">
<tagToGive>Idle</tagToGive>
<subNodes>
<li Class="JobGiver_WanderColony">
<maxDanger>None</maxDanger>
</li>
</subNodes>
</li>
</subNodes>
</li>
<!-- Idle -->
<li Class="ThinkNode_Tagger">
<tagToGive>Idle</tagToGive>
<subNodes>
<li Class="JobGiver_WanderAnywhere">
<maxDanger>Deadly</maxDanger>
</li>
</subNodes>
</li>
<!-- Idle error -->
<li Class="JobGiver_IdleError"/>
</subNodes>
</thinkRoot>
</ThinkTreeDef>
</Defs>