2025-8-22

This commit is contained in:
Tourswen
2025-08-22 23:16:33 +08:00
parent df573f1ae7
commit 260a66bce2
12 changed files with 245 additions and 7 deletions

View File

@@ -180,7 +180,7 @@
<li>
<statFactors>
<MeleeCooldownFactor>0.5</MeleeCooldownFactor>
<MeleeHitChance>1</MeleeHitChance>
<MeleeHitChance>1.25</MeleeHitChance>
<StaggerDurationFactor>0</StaggerDurationFactor>
</statFactors>
<statOffsets>

View File

@@ -264,6 +264,79 @@
</li>
</verbs>
</ThingDef>
<ThingDef ParentName="BaseWeaponTurret">
<defName>WULA_Alpha_Mantodea_Turret</defName>
<label>双子魔眼</label>
<description>由少量乌拉帝国图书馆大型机械体搭载的特殊眼部,比起单只魔眼可以同时从两个方向进行扫射,以释放恐怖的力量融化敌人。</description>
<tradeability>None</tradeability>
<destroyOnDrop>true</destroyOnDrop>
<graphicData>
<texPath>Wula/Weapon/WULA_Weapon_Empty</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<statBases>
<Mass>2.6</Mass>
<AccuracyTouch>0.60</AccuracyTouch>
<AccuracyShort>0.80</AccuracyShort>
<AccuracyMedium>0.90</AccuracyMedium>
<AccuracyLong>0.85</AccuracyLong>
</statBases>
<verbs>
<li Class="WulaFallenEmpire.VerbPropertiesExplosiveBeam">
<verbClass>WulaFallenEmpire.Verb_ShootMeltBeam</verbClass>
<!-- 基础射线参数 -->
<hasStandardCommand>true</hasStandardCommand>
<warmupTime>0</warmupTime>
<range>25</range>
<defaultCooldownTime>4</defaultCooldownTime>
<burstShotCount>20</burstShotCount>
<ticksBetweenBurstShots>5</ticksBetweenBurstShots>
<beamDamageDef>Wula_Dark_Matter_Beam</beamDamageDef>
<!-- 核心光束塑形参数 -->
<beamFullWidthRange>12</beamFullWidthRange> <!-- 光束达到最大宽度的距离 -->
<beamWidth>5</beamWidth> <!-- 光束的最大宽度 -->
<beamMaxDeviation>0.8</beamMaxDeviation> <!-- 光束路径的随机偏移量 -->
<beamCurvature>0.7</beamCurvature> <!-- 光束的弯曲程度 -->
<beamStartOffset>0.5</beamStartOffset> <!-- 光束起始点距离发射者的偏移 -->
<!-- 视觉和音效 -->
<muzzleFlashScale>0</muzzleFlashScale>
<soundCastBeam>BeamGraser_Shooting</soundCastBeam>
<beamGroundFleckDef>Fleck_BeamBurn</beamGroundFleckDef>
<beamFleckChancePerTick>0.32</beamFleckChancePerTick>
<beamMoteDef>Mote_Wula_Dark_Matter_Beam</beamMoteDef>
<beamEndEffecterDef>GraserBeam_End</beamEndEffecterDef>
<!-- 火焰效果 -->
<beamSetsGroundOnFire>true</beamSetsGroundOnFire> <!-- 光束是否点燃地面 -->
<beamChanceToStartFire>0.5</beamChanceToStartFire>
<beamChanceToAttachFire>0.5</beamChanceToAttachFire>
<beamFireSizeRange>0.2~0.4</beamFireSizeRange> <!-- 火焰大小范围 -->
<!-- 其他射线属性 -->
<beamHitsNeighborCells>true</beamHitsNeighborCells>
<stopBurstWithoutLos>false</stopBurstWithoutLos> <!-- 即使失去视野也继续扫射 -->
<!-- 攻击目标设置 -->
<targetParams>
<canTargetLocations>true</canTargetLocations>
</targetParams>
<!-- 爆炸参数 -->
<enableExplosion>true</enableExplosion>
<explosionShotInterval>4</explosionShotInterval> <!-- 每3次射击判定一次爆炸 -->
<explosionRadius>1.3</explosionRadius>
<explosionDamageDef>Wula_Dark_Matter_Flame</explosionDamageDef>
<explosionDamage>20</explosionDamage>
<explosionSound>Explosion_Bomb</explosionSound>
<chanceToStartFire>0.6</chanceToStartFire>
<screenShakeFactor>0.3</screenShakeFactor> <!-- 爆炸时的屏幕震动 -->
</li>
</verbs>
</ThingDef>
<ThingDef ParentName="BaseWeaponTurret">
<defName>WULA_MechFlyerTurretGun</defName>
<label>磁力光束</label>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="HeavyMechanoid">
<ThingDef Name="WULA_Alpha_Wolf" ParentName="HeavyMechanoid">
<defName>WULA_Alpha_Wolf</defName> <!-- 修改了defName以避免冲突 -->
<label>SNm-6"狼蛛"</label>
<description>乌拉帝国图书馆所使用的一种炮兵机械体,会在前线上制造小型机械体以辅助战斗。它装备着一门重型等离子炮,可以在极远距离上喷射覆盖性的等离子射弹以摧毁成片敌军。</description>
@@ -106,8 +106,6 @@
<combatPower>600</combatPower>
<allowInMechClusters>false</allowInMechClusters>
<defaultFactionType>PlayerColony</defaultFactionType>
<overrideDeathOnDownedChance>1</overrideDeathOnDownedChance>
<forceDeathOnDowned>true</forceDeathOnDowned>
<abilities>
<li>WULA_GiveSwitchHediff</li> <!-- 添加“停止生产”技能 -->
<li>WULA_RemoveSwitchHediff</li> <!-- 保留“恢复生产”技能 -->
@@ -133,6 +131,173 @@
</weaponTags>
<controlGroupPortraitZoom>0.7</controlGroupPortraitZoom>
</PawnKindDef>
<ThingDef ParentName="WULA_Alpha_Wolf">
<defName>WULA_Alpha_Mantodea</defName>
<label>SNm-82"螳螂"</label>
<description>乌拉帝国图书馆所使用的一种近战机械体,会在前线上制造小型机械体以辅助战斗。它装备着一对强大的巨镰和微型跃迁引擎,以在近距离上切开任何敌军的装甲。</description>
<statBases>
<MoveSpeed>6</MoveSpeed>
<MeleeHitChance>5</MeleeHitChance>
<EnergyShieldEnergyMax>10</EnergyShieldEnergyMax>
</statBases>
<tools>
<li>
<label>左巨镰</label>
<labelNoLocation>巨镰</labelNoLocation>
<capacities>
<li>Scratch</li>
</capacities>
<power>150</power>
<cooldownTime>0.5</cooldownTime>
<linkedBodyPartsGroup>Torso</linkedBodyPartsGroup>
<alwaysTreatAsWeapon>true</alwaysTreatAsWeapon>
<soundMeleeHit>Pawn_Melee_PowerClaw_Hit</soundMeleeHit>
<soundMeleeMiss>Pawn_Melee_PowerClaw_Miss</soundMeleeMiss>
</li>
<li>
<label>右巨镰</label>
<labelNoLocation>巨镰</labelNoLocation>
<capacities>
<li>Scratch</li>
</capacities>
<power>150</power>
<cooldownTime>0.5</cooldownTime>
<linkedBodyPartsGroup>Torso</linkedBodyPartsGroup>
<alwaysTreatAsWeapon>true</alwaysTreatAsWeapon>
<soundMeleeHit>Pawn_Melee_PowerClaw_Hit</soundMeleeHit>
<soundMeleeMiss>Pawn_Melee_PowerClaw_Miss</soundMeleeMiss>
</li>
</tools>
<comps Inherit="False">
<!--加上这个组件的机械体会直接跳过原版指挥范围判定-->
<li Class="WulaFallenEmpire.CompProperties_GlobalMechCommand" />
<li Class="WulaFallenEmpire.CompProperties_AutoMechCarrier">
<freeProduction>true</freeProduction> <!-- 改为消耗资源以测试独立成本 -->
<disableHediff>WULA_MechCarrierSwitchHediff</disableHediff>
<fixedIngredient>Steel</fixedIngredient>
<maxIngredientCount>500</maxIngredientCount> <!-- 定义最大资源容量 -->
<startingIngredientCount>500</startingIngredientCount> <!-- 定义初始资源数量 -->
<costPerPawn>999</costPerPawn> <!-- 设置一个很高的全局默认成本,以确保独立成本生效 -->
<cooldownTicks>9999</cooldownTicks> <!-- 设置一个很高的全局默认冷却,以确保独立冷却生效 -->
<productionQueue>
<li>
<pawnKind>WULA_Mech_Flyer</pawnKind>
<count>8</count>
<cooldownTicks>50</cooldownTicks> <!-- 独立冷却: 10秒 -->
</li>
<li>
<pawnKind>WULA_Mech_Flyer_Slow</pawnKind>
<count>8</count>
<cooldownTicks>600</cooldownTicks> <!-- 独立冷却: 10秒 -->
</li>
</productionQueue>
<spawnEffecter>WarqueenWarUrchinsSpawned</spawnEffecter>
<spawnedMechEffecter>WarUrchinSpawned</spawnedMechEffecter>
</li>
<li Class="CompProperties_CanBeDormant" />
<li Class="CompProperties_WakeUpDormant">
<wakeUpOnDamage>true</wakeUpOnDamage>
<wakeUpCheckRadius>30</wakeUpCheckRadius>
<wakeUpSound>MechanoidsWakeUp</wakeUpSound>
</li>
<li Class="CompProperties_TurretGun">
<turretDef>WULA_Alpha_Mantodea_Turret</turretDef>
<angleOffset>-90</angleOffset>
<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>
</dataWest>
</drawData>
</li>
</renderNodeProperties>
</li>
<li Class="CompProperties_Shield">
<startingTicksToReset>36000</startingTicksToReset><!-- 10 mins -->
<minDrawSize>4.2</minDrawSize>
<maxDrawSize>4.4</maxDrawSize>
<energyLossPerDamage>0.01</energyLossPerDamage>
<energyOnReset>4.0</energyOnReset>
<blocksRangedWeapons>false</blocksRangedWeapons>
</li>
<li MayRequire="Ludeon.RimWorld.Biotech" Class="CompProperties_OverseerSubject">
<needsOverseerEffect>MechUncontrolled</needsOverseerEffect>
<delayUntilFeralCheck>60000</delayUntilFeralCheck>
<feralMtbDays>10</feralMtbDays>
<feralCascadeRadialDistance>25</feralCascadeRadialDistance>
</li>
<li MayRequire="Ludeon.RimWorld.Biotech" Class="CompProperties_MechRepairable" />
<li Class="AutoBlink.CompProperties_AutoBlink" MayRequire="rabiosus.autoblink">
<!-- <gizmoIconPath></gizmoIconPath> -->
<blinkIntervalTicks>480</blinkIntervalTicks>
<delayAfterEligibleTicks>10</delayAfterEligibleTicks>
<cellsBeforeTarget>1</cellsBeforeTarget>
<maxDistanceToBlink>40</maxDistanceToBlink>
<minDistanceToBlink>8</minDistanceToBlink>
<postBlinkStanceTicks>0</postBlinkStanceTicks>
<playerFactionOnly>false</playerFactionOnly>
<excludedJobDefs>
<li>GotoWander</li>
<li>Carried</li>
</excludedJobDefs>
<preBlinkSoundDefs>
<li>AutoBlink_Skip_Small</li>
</preBlinkSoundDefs>
<postBlinkSoundDefs>
<li>AutoBlink_Skip_Exit_Small</li>
</postBlinkSoundDefs>
<preBlinkEffecterDefs>
<li>Skip_Entry</li>
</preBlinkEffecterDefs>
<postBlinkEffecterDefs>
<li>Skip_ExitNoDelay</li>
</postBlinkEffecterDefs>
<preBlinkMoteDefs/>
<postBlinkMoteDefs/>
</li>
</comps>
</ThingDef>
<PawnKindDef ParentName="HeavyMechanoidKind">
<defName>WULA_Alpha_Mantodea</defName> <!-- 修改了defName以避免冲突 -->
<label>SNm-82"螳螂"</label>
<race>WULA_Alpha_Mantodea</race>
<combatPower>600</combatPower>
<allowInMechClusters>false</allowInMechClusters>
<defaultFactionType>PlayerColony</defaultFactionType>
<abilities>
<li>WULA_GiveSwitchHediff</li> <!-- 添加“停止生产”技能 -->
<li>WULA_RemoveSwitchHediff</li> <!-- 保留“恢复生产”技能 -->
</abilities>
<lifeStages>
<li>
<bodyGraphicData>
<texPath>Wula/Things/Wula_Alpha_Wolf/Bodies/Naked_Thin2</texPath>
<maskPath>Wula/Things/WULA_Cat/AllegianceOverlays/None</maskPath>
<shaderType>CutoutWithOverlay</shaderType>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>3.5</drawSize>
<shadowData>
<volume>(0.4, 0.8, 0.4)</volume>
</shadowData>
</bodyGraphicData>
</li>
</lifeStages>
<weaponMoney>99999~99999</weaponMoney>
<controlGroupPortraitZoom>0.7</controlGroupPortraitZoom>
</PawnKindDef>
<ThingDef ParentName="BaseMechanoidWalker">
<defName>WULA_Mech_Flyer</defName>

View File

@@ -356,7 +356,7 @@
<thinkTreeConstant>HunterDroneConstant</thinkTreeConstant>
<baseHealthScale>0.35</baseHealthScale>
<baseBodySize>0.7</baseBodySize>
<hasCorpse>true</hasCorpse>
<hasCorpse>false</hasCorpse>
<body>Mech_Light</body>
<lifeStageAges>
<li>
@@ -406,7 +406,7 @@
<baseHealthScale>3</baseHealthScale>
<thinkTreeConstant>SentryDroneConstant</thinkTreeConstant>
<baseBodySize>0.7</baseBodySize>
<hasCorpse>true</hasCorpse>
<hasCorpse>false</hasCorpse>
<body>Mech_Light</body>
<lifeStageAges>
<li>
@@ -466,7 +466,7 @@
<race>
<thinkTreeConstant>SentryDroneConstant</thinkTreeConstant>
<baseBodySize>0.7</baseBodySize>
<hasCorpse>true</hasCorpse>
<hasCorpse>false</hasCorpse>
<body>Mech_Light</body>
<lifeStageAges>
<li>

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB