2025-8-22

This commit is contained in:
2025-08-22 15:20:33 +08:00
parent ba1bdc6885
commit ff3e5d3bc3
6 changed files with 212 additions and 179 deletions

View File

@@ -14,7 +14,7 @@
<taleOnVisible>ToxicityRevealed</taleOnVisible>
<comps>
<li Class="HediffCompProperties_Disappears">
<disappearsAfterTicks>12000</disappearsAfterTicks> <!-- 1 days -->
<disappearsAfterTicks>12000</disappearsAfterTicks> <!-- 1 days -->
<showRemainingTime>true</showRemainingTime>
</li>
<li Class="HediffCompProperties_SurgeryInspectable">
@@ -85,7 +85,7 @@
</li>
</stages>
</HediffDef>
<HediffDef>
<defName>WULA_Darkmatter_Explosion</defName>
<label>暗流爆发</label>
@@ -166,4 +166,44 @@
<li Class="HediffCompProperties_DisappearsOnDeath"/>
</comps>
</HediffDef>
<HediffDef>
<defName>WULA_WeaponStealEffect</defName>
<label>磁力吸附</label>
<description>被磁力光束命中,磁力光束将会夺走当前所装备的武器.</description>
<hediffClass>HediffWithComps</hediffClass>
<defaultLabelColor>(1,0,0.5)</defaultLabelColor>
<maxSeverity>1.0</maxSeverity>
<initialSeverity>0.0</initialSeverity>
<isBad>true</isBad>
<comps>
<li Class="HediffCompProperties_Disappears">
<disappearsAfterTicks>10000</disappearsAfterTicks> <!-- 2/3 RimWorld days -->
</li>
</comps>
<stages>
<li>
<label>微弱</label>
<minSeverity>0</minSeverity>
</li>
<li>
<label>较弱</label>
<minSeverity>0.3</minSeverity>
<capMods>
</capMods>
</li>
<li>
<label>较强</label>
<minSeverity>0.6</minSeverity>
<capMods>
</capMods>
</li>
<li>
<label>极强</label>
<minSeverity>0.9</minSeverity>
<capMods>
</capMods>
</li>
</stages>
</HediffDef>
</Defs>

View File

@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<HediffDef>
<defName>WULA_WeaponStealEffect</defName>
<label>磁力吸附</label>
<description>被磁力光束命中,磁力光束将会夺走当前所装备的武器.</description>
<hediffClass>HediffWithComps</hediffClass>
<defaultLabelColor>(1,0,0.5)</defaultLabelColor>
<maxSeverity>1.0</maxSeverity>
<initialSeverity>0.0</initialSeverity>
<isBad>true</isBad>
<comps>
<li Class="HediffCompProperties_Disappears">
<disappearsAfterTicks>30000</disappearsAfterTicks> <!-- 2 RimWorld days -->
</li>
</comps>
<stages>
<li>
<label>微弱</label>
<minSeverity>0</minSeverity>
</li>
<li>
<label>较弱</label>
<minSeverity>0.3</minSeverity>
<capMods>
</capMods>
</li>
<li>
<label>较强</label>
<minSeverity>0.6</minSeverity>
<capMods>
</capMods>
</li>
<li>
<label>极强</label>
<minSeverity>0.9</minSeverity>
<capMods>
</capMods>
</li>
</stages>
</HediffDef>
</Defs>

View File

@@ -283,7 +283,7 @@
<!-- 基础射线参数 -->
<hasStandardCommand>true</hasStandardCommand>
<warmupTime>0</warmupTime>
<range>2</range>
<range>5</range>
<burstShotCount>5</burstShotCount>
<ticksBetweenBurstShots>50</ticksBetweenBurstShots>
<beamDamageDef>Wula_Dark_Matter_Beam</beamDamageDef>
@@ -301,7 +301,7 @@
<soundCastBeam>BeamGraser_Shooting</soundCastBeam>
<beamGroundFleckDef>Fleck_BeamBurn</beamGroundFleckDef>
<beamFleckChancePerTick>0.32</beamFleckChancePerTick>
<beamMoteDef>Mote_Wula_Dark_Matter_Beam</beamMoteDef>
<beamMoteDef>Mote_Wula_Dark_Magnetic_Beam</beamMoteDef>
<beamEndEffecterDef>GraserBeam_End</beamEndEffecterDef>
<screenShakeFactor>0.35</screenShakeFactor>

View File

@@ -1,129 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Lancer - fast mid-range shooter -->
<ThingDef ParentName="BaseMechanoidWalker">
<defName>WULA_Mech_Flyer</defName>
<label>乌拉小镰</label>
<description>乌拉帝国小型机械体</description>
<tools>
<li>
<label>head</label>
<capacities>
<li>Blunt</li>
</capacities>
<power>8.5</power>
<cooldownTime>2</cooldownTime>
<linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup>
<ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable>
<chanceFactor>0.2</chanceFactor>
</li>
</tools>
<race>
<body>Lancer</body>
<baseHealthScale>0.72</baseHealthScale>
<detritusLeavings>
<li>
<def>ChunkMechanoidSlag</def>
<texOverrideIndex>11</texOverrideIndex>
<spawnChance>0.1</spawnChance>
</li>
<li>
<def>ChunkMechanoidSlag</def>
<texOverrideIndex>12</texOverrideIndex>
<spawnChance>0.1</spawnChance>
</li>
</detritusLeavings>
<flightStartChanceOnJobStart>0.5</flightStartChanceOnJobStart>
<lifeStageAges Inherit="False">
<li>
<def>MechanoidFullyFormed</def>
<minAge>0</minAge>
<soundWounded>Pawn_Mech_Scyther_Wounded</soundWounded>
<soundDeath>Pawn_Mech_Scyther_Death</soundDeath>
<soundCall>Pawn_Mech_Scyther_Call</soundCall>
</li>
</lifeStageAges>
<thinkTreeConstant>WarUrchinConstant</thinkTreeConstant>
<deathAction Class="DeathActionProperties_Vanish">
<workerClass>DeathActionWorker_Vanish</workerClass>
<filth>Filth_MachineBits</filth>
<filthCountRange>1~2</filthCountRange>
</deathAction>
</race>
<statBases>
<BandwidthCost MayRequire="Ludeon.RimWorld.Biotech">0</BandwidthCost>
<MaxFlightTime>30</MaxFlightTime>
<FlightCooldown>10</FlightCooldown>
</statBases>
<comps Inherit="False">
<!--加上这个组件的机械体会直接跳过原版指挥范围判定-->
<li Class="WulaFallenEmpire.CompProperties_GlobalMechCommand" />
<!--加上这个组件的机械体可以更换武器-->
<li Class="WulaFallenEmpire.CompProperties_MechWeapon" />
<li Class="CompProperties_CanBeDormant" />
<li Class="CompProperties_WakeUpDormant">
<wakeUpOnDamage>true</wakeUpOnDamage>
<wakeUpCheckRadius>30</wakeUpCheckRadius>
<wakeUpSound>MechanoidsWakeUp</wakeUpSound>
</li>
<li Class="CompProperties_TurretGun">
<turretDef>WULA_MechFlyerTurretGun</turretDef>
<angleOffset>-90</angleOffset>
<autoAttack>false</autoAttack>
<renderNodeProperties>
<li>
<nodeClass>PawnRenderNode_TurretGun</nodeClass>
<workerClass>PawnRenderNodeWorker_TurretGun</workerClass>
<parentTagDef>Body</parentTagDef>
<overrideMeshSize>(1, 1)</overrideMeshSize>
<baseLayer>20</baseLayer>
<pawnType>Any</pawnType>
<drawData>
<dataWest>
<rotationOffset>180</rotationOffset>
<offset>(0, 0, 0)</offset>
</dataWest>
</drawData>
</li>
</renderNodeProperties>
</li>
<li Class="CompProperties_MechPowerCell">
<totalPowerTicks>10000</totalPowerTicks>
</li>
</comps>
</ThingDef>
<PawnKindDef ParentName="BaseMechanoidKind">
<defName>WULA_Mech_Flyer</defName>
<label>乌拉小镰</label>
<race>WULA_Mech_Flyer</race>
<combatPower>190</combatPower>
<flyingAnimationFramePathPrefix>Wula/Things/WULA_Mech_Flyer/WULA_Mech_Flyer_Flying_</flyingAnimationFramePathPrefix>
<flyingAnimationFrameCount>2</flyingAnimationFrameCount>
<flyingAnimationTicksPerFrame>2</flyingAnimationTicksPerFrame>
<!-- <flyingAnimationDrawSize>1.35</flyingAnimationDrawSize> -->
<flyingAnimationInheritColors>false</flyingAnimationInheritColors>
<forceDeathOnDowned>true</forceDeathOnDowned>
<forceNoDeathNotification>true</forceNoDeathNotification>
<lifeStages>
<li MayRequire="Ludeon.RimWorld.Biotech">
<bodyGraphicData>
<texPath>Wula/Things/WULA_Mech_Flyer/WULA_Mech_Flyer</texPath>
<shaderType>CutoutWithOverlay</shaderType>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>1.5</drawSize>
<shadowData>
<volume>(0.4, 0.8, 0.4)</volume>
</shadowData>
</bodyGraphicData>
</li>
</lifeStages>
<weaponMoney>9999~9999</weaponMoney>
<weaponTags>
</weaponTags>
<techHediffsChance>1</techHediffsChance>
<techHediffsMoney>9999~9999</techHediffsMoney>
</PawnKindDef>
</Defs>

View File

@@ -95,7 +95,7 @@
<ThingDef ParentName="HeavyMechanoid">
<defName>WULA_Alpha_Wolf</defName> <!-- 修改了defName以避免冲突 -->
<label>SNm-6"狼王"</label>
<description>乌拉帝国中型机械体</description>
<description>乌拉帝国图书馆所使用的一种机械体,它通常会由更高一级的指挥官机械体制造,并在前线上制造小型机械体。它装备着一门等离子炮,可以在较近的距离上喷射覆盖性的等离子射弹,以摧毁成片敌军。</description>
<statBases>
<BandwidthCost>0</BandwidthCost>
<MoveSpeed>4.2</MoveSpeed>
@@ -215,11 +215,132 @@
<weaponTags>
<li>WULA_WM_Alpha_Wolf_Plasma_Gun</li>
</weaponTags>
<controlGroupPortraitZoom>0.7</controlGroupPortraitZoom>
</PawnKindDef>
<!-- 新的技能定义 -->
<ThingDef ParentName="BaseMechanoidWalker">
<defName>WULA_Mech_Flyer</defName>
<label>CRm-51"兵蚁"</label>
<description>乌拉帝国图书馆所制造的最小型的机械体,它们通常由更高一级的机械作战节点自行制造,拥有飞行能力可以快速接近敌方单位,同时使用装备的磁力射线从敌人身上窃取武器。</description>
<tools>
<li>
<label>head</label>
<capacities>
<li>Blunt</li>
</capacities>
<power>8.5</power>
<cooldownTime>2</cooldownTime>
<linkedBodyPartsGroup>HeadAttackTool</linkedBodyPartsGroup>
<ensureLinkedBodyPartsGroupAlwaysUsable>true</ensureLinkedBodyPartsGroupAlwaysUsable>
<chanceFactor>0.2</chanceFactor>
</li>
</tools>
<race>
<body>Mech_Light</body>
<baseHealthScale>0.72</baseHealthScale>
<detritusLeavings>
<li>
<def>ChunkMechanoidSlag</def>
<texOverrideIndex>11</texOverrideIndex>
<spawnChance>0.1</spawnChance>
</li>
<li>
<def>ChunkMechanoidSlag</def>
<texOverrideIndex>12</texOverrideIndex>
<spawnChance>0.1</spawnChance>
</li>
</detritusLeavings>
<flightStartChanceOnJobStart>0.5</flightStartChanceOnJobStart>
<lifeStageAges Inherit="False">
<li>
<def>MechanoidFullyFormed</def>
<minAge>0</minAge>
<soundWounded>Pawn_Mech_Scyther_Wounded</soundWounded>
<soundDeath>Pawn_Mech_Scyther_Death</soundDeath>
<soundCall>Pawn_Mech_Scyther_Call</soundCall>
</li>
</lifeStageAges>
<thinkTreeConstant>WULA_Mech_Flyer_Constant</thinkTreeConstant>
<deathAction Class="DeathActionProperties_Vanish">
<workerClass>DeathActionWorker_Vanish</workerClass>
<filth>Filth_MachineBits</filth>
<filthCountRange>1~2</filthCountRange>
</deathAction>
</race>
<statBases>
<BandwidthCost MayRequire="Ludeon.RimWorld.Biotech">0</BandwidthCost>
<MaxFlightTime>30</MaxFlightTime>
<FlightCooldown>10</FlightCooldown>
</statBases>
<comps Inherit="False">
<!--加上这个组件的机械体会直接跳过原版指挥范围判定-->
<li Class="WulaFallenEmpire.CompProperties_GlobalMechCommand" />
<!--加上这个组件的机械体可以更换武器-->
<li Class="WulaFallenEmpire.CompProperties_MechWeapon" />
<li Class="CompProperties_CanBeDormant" />
<li Class="CompProperties_WakeUpDormant">
<wakeUpOnDamage>true</wakeUpOnDamage>
<wakeUpCheckRadius>30</wakeUpCheckRadius>
<wakeUpSound>MechanoidsWakeUp</wakeUpSound>
</li>
<li Class="CompProperties_TurretGun">
<turretDef>WULA_MechFlyerTurretGun</turretDef>
<angleOffset>-90</angleOffset>
<autoAttack>false</autoAttack>
<renderNodeProperties>
<li>
<nodeClass>PawnRenderNode_TurretGun</nodeClass>
<workerClass>PawnRenderNodeWorker_TurretGun</workerClass>
<parentTagDef>Body</parentTagDef>
<overrideMeshSize>(1, 1)</overrideMeshSize>
<baseLayer>20</baseLayer>
<pawnType>Any</pawnType>
<drawData>
<dataWest>
<rotationOffset>180</rotationOffset>
<offset>(0, 0, 0)</offset>
</dataWest>
</drawData>
</li>
</renderNodeProperties>
</li>
<li Class="CompProperties_MechPowerCell">
<totalPowerTicks>10000</totalPowerTicks>
</li>
</comps>
</ThingDef>
<PawnKindDef Name="WULA_Mech_Flyer_PawnKind" ParentName="BaseMechanoidKind">
<defName>WULA_Mech_Flyer</defName>
<label>乌拉小镰</label>
<race>WULA_Mech_Flyer</race>
<combatPower>190</combatPower>
<allowInMechClusters>false</allowInMechClusters>
<flyingAnimationFramePathPrefix>Wula/Things/WULA_Mech_Flyer/WULA_Mech_Flyer_Flying_</flyingAnimationFramePathPrefix>
<flyingAnimationFrameCount>2</flyingAnimationFrameCount>
<flyingAnimationTicksPerFrame>2</flyingAnimationTicksPerFrame>
<!-- <flyingAnimationDrawSize>1.35</flyingAnimationDrawSize> -->
<flyingAnimationInheritColors>false</flyingAnimationInheritColors>
<forceDeathOnDowned>true</forceDeathOnDowned>
<forceNoDeathNotification>true</forceNoDeathNotification>
<lifeStages>
<li>
<bodyGraphicData>
<texPath>Wula/Things/WULA_Mech_Flyer/WULA_Mech_Flyer</texPath>
<shaderType>CutoutWithOverlay</shaderType>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>1.5</drawSize>
<shadowData>
<volume>(0.4, 0.8, 0.4)</volume>
</shadowData>
</bodyGraphicData>
</li>
</lifeStages>
<weaponMoney>9999~9999</weaponMoney>
<techHediffsChance>1</techHediffsChance>
<techHediffsMoney>9999~9999</techHediffsMoney>
</PawnKindDef>
<AbilityDef>
<defName>WULA_RemoveSwitchHediff</defName>
<label>重启生产</label>
@@ -248,7 +369,6 @@
</li>
</comps>
</AbilityDef>
<!-- 新增的“施加Hediff”技能定义 -->
<AbilityDef>
<defName>WULA_GiveSwitchHediff</defName>
<label>停止生产</label>

View File

@@ -500,4 +500,48 @@
</subNodes>
</thinkRoot>
</ThinkTreeDef>
<ThinkTreeDef>
<defName>WULA_Mech_Flyer_Constant</defName>
<thinkRoot Class="ThinkNode_Priority">
<subNodes>
<!-- Despawned -->
<li Class="ThinkNode_Subtree">
<treeDef>Despawned</treeDef>
</li>
<li Class="ThinkNode_ConditionalCanDoConstantThinkTreeJobNow">
<subNodes>
<!-- Keep distance -->
<li Class="JobGiver_FleeForDistance">
<enemyDistToFleeRange>0.1~2</enemyDistToFleeRange>
<fleeDistRange>2.5~3</fleeDistRange>
</li>
<!-- React to close melee threat -->
<li Class="JobGiver_ReactToCloseMeleeThreat">
<maxDistance>2.5</maxDistance>
</li>
<li Class="JobGiver_AIFightEnemies">
<targetAcquireRadius>65</targetAcquireRadius>
<targetKeepRadius>72</targetKeepRadius>
</li>
<li Class="JobGiver_AITrashColonyClose" />
<li Class="JobGiver_AITrashBuildingsDistant" />
<li Class="JobGiver_AIGotoNearestHostile" />
<li Class="JobGiver_AITrashBuildingsDistant">
<attackAllInert>true</attackAllInert>
</li>
<li Class="ThinkNode_ConditionalPlayerMech">
<subNodes>
<li Class="JobGiver_WanderColony" />
</subNodes>
</li>
<li Class="JobGiver_WanderAnywhere" />
</subNodes>
</li>
</subNodes>
</thinkRoot>
</ThinkTreeDef>
</Defs>