2025-8-23

This commit is contained in:
2025-08-23 12:07:46 +08:00
parent 260a66bce2
commit 0e418e7160
4 changed files with 116 additions and 118 deletions

View File

@@ -152,6 +152,9 @@
<shaderType>CutoutWithOverlay</shaderType>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>5</drawSize>
<shadowData>
<volume>(0.8, 1.6, 0.65)</volume>
</shadowData>
</bodyGraphicData>
</li>
</lifeStages>
@@ -180,6 +183,9 @@
<shaderType>CutoutWithOverlay</shaderType>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>5</drawSize>
<shadowData>
<volume>(0.8, 1.6, 0.65)</volume>
</shadowData>
</bodyGraphicData>
</li>
</lifeStages>

View File

@@ -72,13 +72,16 @@
<damageData>
<enabled>false</enabled>
</damageData>
<shadowData>
<volume>(0.75, 0.75, 0.5)</volume>
</shadowData>
</graphicData>
<constructEffect>ConstructMetal</constructEffect>
<costList>
<Steel>50</Steel>
</costList>
<altitudeLayer>Building</altitudeLayer>
<castEdgeShadows>true</castEdgeShadows>
<castEdgeShadows>false</castEdgeShadows>
<fillPercent>0.5</fillPercent>
<useHitPoints>True</useHitPoints>
<statBases>
@@ -147,8 +150,10 @@
<damageData>
<enabled>false</enabled>
</damageData>
<shadowData>
<volume>(0.75, 0.75, 0.5)</volume>
</shadowData>
</graphicData>
<castEdgeShadows>true</castEdgeShadows>
<constructEffect>ConstructMetal</constructEffect>
<costList>
<Steel>80</Steel>
@@ -217,11 +222,14 @@
<damageData>
<enabled>false</enabled>
</damageData>
<shadowData>
<volume>(1.65, 1.65, 0.85)</volume>
<offset>(0, 0, -0.2)</offset>
</shadowData>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<castEdgeShadows>true</castEdgeShadows>
<staticSunShadowHeight>0.35</staticSunShadowHeight>
<castEdgeShadows>false</castEdgeShadows>
<fillPercent>0.5</fillPercent>
<canOverlapZones>false</canOverlapZones>
<pathCost>42</pathCost>
@@ -260,7 +268,6 @@
<maxSimultaneous>1</maxSimultaneous>
</li>
</comps>
<designationHotKey>Misc6</designationHotKey>
<placeWorkers>
<li>PlaceWorker_ShowFacilitiesConnections</li>
</placeWorkers>
@@ -281,7 +288,13 @@
<damageData>
<enabled>false</enabled>
</damageData>
<shadowData>
<volume>(0.8, 1.5, 0.9)</volume>
<!-- <offset>(-0.05, 0, 0.35)</offset> -->
</shadowData>
</graphicData>
<staticSunShadowHeight Inherit="False" IsNull="True" />
<castEdgeShadows>False</castEdgeShadows>
<statBases>
<Comfort>0.75</Comfort>
<MaxHitPoints>140</MaxHitPoints>
@@ -296,11 +309,8 @@
<ComponentIndustrial>1</ComponentIndustrial>
<WULA_Charge_Cube>1</WULA_Charge_Cube>
</costList>
<designationHotKey>Misc2</designationHotKey>
<uiOrder>2010</uiOrder>
<castEdgeShadows>true</castEdgeShadows>
<fillPercent>0.5</fillPercent>
<staticSunShadowHeight>0</staticSunShadowHeight>
<designationCategory>WULA_Buildings</designationCategory>
<researchPrerequisites Inherit="False">
<li>WULA_Base_Technology</li>
@@ -346,7 +356,6 @@
<drawSize>(3,4)</drawSize>
</graphicData>
<size>(1,2)</size>
<designationHotKey>Misc1</designationHotKey>
</ThingDef>
<!-- 机械工厂 -->
@@ -362,7 +371,6 @@
<passability>PassThroughOnly</passability>
<fillPercent>0.5</fillPercent>
<hasInteractionCell>true</hasInteractionCell>
<castEdgeShadows>true</castEdgeShadows>
<pathCost>42</pathCost>
<surfaceType>Item</surfaceType>
<inspectorTabs>
@@ -379,7 +387,12 @@
<texPath>Wula/Building/WULA_Heavy_War_Machine_Productor</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>(4, 4)</drawSize>
<shadowData>
<volume>(2.8, 2.8, 2.1)</volume>
<!-- <offset>(-0.05, 0, 0.35)</offset> -->
</shadowData>
</graphicData>
<castEdgeShadows>False</castEdgeShadows>
<interactionCellOffset>(1,0,3)</interactionCellOffset>
<statBases>
<MaxHitPoints>1250</MaxHitPoints>
@@ -559,7 +572,7 @@
</ThingDef>
<!-- 联络台 -->
<ThingDef ParentName="BuildingBase">
<ThingDef ParentName="BuildingBase">
<defName>WULA_Communicator_Station</defName>
<label>乌拉帝国通讯站</label>
<description>乌拉帝国内部用于联系的通讯站,可以联系到乌拉帝国的各大派系。</description>
@@ -569,6 +582,9 @@
<graphicClass>Graphic_Multi</graphicClass>
<shaderType>TransparentPostLight</shaderType>
<drawSize>(1,1)</drawSize>
<shadowData>
<volume>(0.25, 0.25, 0.25)</volume>
</shadowData>
</graphicData>
<statBases>
<MaxHitPoints>250</MaxHitPoints>
@@ -618,7 +634,7 @@
<rect>(0.3,0.3,1.4,1.4)</rect>
</damageData>
<shadowData>
<volume>(1.5,0.35,1.4)</volume>
<volume>(0.5,0.35,0.75)</volume>
<offset>(0,0,-0.05)</offset>
</shadowData>
</graphicData>
@@ -739,6 +755,10 @@
<texPath>Wula/Building/WULA_Synth_Maintainer_south</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(3, 3)</drawSize>
<shadowData>
<volume>(1.5, 1.5, 1.7)</volume>
<!-- <offset>(-0.05, 0, 0.35)</offset> -->
</shadowData>
</graphicData>
<drawerType>RealtimeOnly</drawerType>
<drawGUIOverlay>true</drawGUIOverlay>

View File

@@ -1,99 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<ThingDef ParentName="BaseHumanMakeableGun">
<defName>WULA_RW_MeltBeam_Cannon_Example</defName>
<label>铋晶Melt射线炮 (示例)</label>
<description>一个使用Verb_ShootMeltBeam的示例武器。它会扫射出两条弯曲的能量光束并造成范围爆炸。</description>
<techLevel>Ultra</techLevel>
<graphicData>
<texPath>Wula/Weapon/WULA_RW_DM_Cannon</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>1.5</drawSize>
</graphicData>
<weaponTags>
<li>Wula_Ranged_Weapon_T4</li>
</weaponTags>
<uiIconScale>0.8</uiIconScale>
<soundInteract>Interact_ChargeRifle</soundInteract>
<recipeMaker>
<recipeUsers Inherit="False">
<li>WULA_Cube_Productor_Energy</li>
</recipeUsers>
<researchPrerequisite>WULA_Synth_Weapon_4_DM_Base_Technology</researchPrerequisite>
<unfinishedThingDef>UnfinishedWeapon</unfinishedThingDef>
</recipeMaker>
<costList Inherit="False">
<Steel>500</Steel>
<Plasteel>300</Plasteel>
<WULA_Dark_Matter_Item>6</WULA_Dark_Matter_Item>
</costList>
<statBases>
<WorkToMake>50000</WorkToMake>
<Mass>10</Mass>
<AccuracyTouch>0.6</AccuracyTouch>
<AccuracyShort>0.6</AccuracyShort>
<AccuracyMedium>0.6</AccuracyMedium>
<AccuracyLong>0.6</AccuracyLong>
<RangedWeapon_Cooldown>3</RangedWeapon_Cooldown>
</statBases>
<verbs>
<li Class="WulaFallenEmpire.VerbPropertiesExplosiveBeam">
<verbClass>WulaFallenEmpire.Verb_ShootMeltBeam</verbClass>
<!-- 基础射线参数 -->
<hasStandardCommand>true</hasStandardCommand>
<warmupTime>1.5</warmupTime>
<range>25</range>
<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>3</explosionShotInterval> <!-- 每3次射击判定一次爆炸 -->
<explosionRadius>2.5</explosionRadius>
<explosionDamageDef>Wula_Dark_Matter_Flame</explosionDamageDef>
<explosionDamage>20</explosionDamage>
<explosionSound>Explosion_Bomb</explosionSound>
<chanceToStartFire>0.6</chanceToStartFire>
<screenShakeFactor>0.3</screenShakeFactor> <!-- 爆炸时的屏幕震动 -->
</li>
</verbs>
<tradeability>None</tradeability>
<thingSetMakerTags>
<li>RewardStandardQualitySuper</li>
</thingSetMakerTags>
</ThingDef>
</Defs>

View File

@@ -51,6 +51,24 @@
<comps>
<!--加上这个组件的机械体会直接跳过原版指挥范围判定-->
<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>Mech_WULA_Cat_Bomb</pawnKind>
<count>8</count>
<cooldownTicks>50</cooldownTicks> <!-- 独立冷却: 10秒 -->
</li>
</productionQueue>
<spawnEffecter>WarqueenWarUrchinsSpawned</spawnEffecter>
<spawnedMechEffecter>WarUrchinSpawned</spawnedMechEffecter>
</li>
</comps>
</ThingDef>
<AbilityDef>
@@ -96,6 +114,46 @@
<label>PMu-7A"斯托洛维耶"</label>
<description>乌拉帝国的机械开拓单元,通常被投放到荒无人烟的星球上进行初步开发。这种型号的开拓单元可以生产装备轻型武器的乌拉猫猫,并且可以在战场上投放低角护盾。</description>
<uiIconPath>Wula/Things/Wula_AI_Bomb_Mother/Wula_AI_Bomb_Mother_Icon</uiIconPath>
<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>Mech_WULA_Cat_Inf</pawnKind>
<count>8</count>
<cooldownTicks>50</cooldownTicks> <!-- 独立冷却: 10秒 -->
</li>
<li>
<pawnKind>Mech_WULA_Cat_Inf_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 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" />
</comps>
</ThingDef>
<AbilityDef>
<defName>Wula_AI_Engineer_Mother_Attack_Ability</defName>
@@ -214,10 +272,19 @@
<shaderType>CutoutWithOverlay</shaderType>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>5</drawSize>
<shadowData>
<volume>(1.8, 1.6, 1.65)</volume>
<offset>(0, 0, -0.65)</offset>
</shadowData>
</bodyGraphicData>
</li>
</lifeStages>
<weaponMoney>99999~99999</weaponMoney>
<abilities>
<li>WULA_GiveSwitchHediff</li> <!-- 添加“停止生产”技能 -->
<li>WULA_RemoveSwitchHediff</li> <!-- 保留“恢复生产”技能 -->
<li>Wula_AI_Engineer_Mother_Ability</li>
</abilities>
<weaponTags>
<li>Wula_AI_Engineer_Mother_Weapon</li>
@@ -246,10 +313,11 @@
</li>
</lifeStages>
<weaponMoney>99999~99999</weaponMoney>
<weaponTags>
<li>Wula_AI_Engineer_Mother_Attack_Weapon</li>
</weaponTags>
<abilities>
<li>WULA_GiveSwitchHediff</li> <!-- 添加“停止生产”技能 -->
<li>WULA_RemoveSwitchHediff</li> <!-- 保留“恢复生产”技能 -->
<li>Wula_AI_Engineer_Mother_Attack_Ability</li>
</abilities>
<controlGroupPortraitZoom>0.3</controlGroupPortraitZoom>
</PawnKindDef>
@@ -404,7 +472,7 @@
<uiIconPath>Wula/Things/WULA_Commander_Cat/WULA_Cat_Thin_south</uiIconPath>
<race>
<baseHealthScale>3</baseHealthScale>
<thinkTreeConstant>SentryDroneConstant</thinkTreeConstant>
<thinkTreeConstant>WULA_Mech_Flyer_Constant</thinkTreeConstant>
<baseBodySize>0.7</baseBodySize>
<hasCorpse>false</hasCorpse>
<body>Mech_Light</body>
@@ -464,7 +532,7 @@
<description>乌拉帝国的一种小型机械体装备了一把DLa-4"云母"突击步枪附下挂刺刀,以在战场上拖住敌军。</description>
<uiIconPath>Wula/Things/WULA_Attack_Cat/WULA_Cat_Thin_south</uiIconPath>
<race>
<thinkTreeConstant>SentryDroneConstant</thinkTreeConstant>
<thinkTreeConstant>WULA_Mech_Flyer_Constant</thinkTreeConstant>
<baseBodySize>0.7</baseBodySize>
<hasCorpse>false</hasCorpse>
<body>Mech_Light</body>
@@ -519,7 +587,7 @@
</li>
</lifeStages>
</PawnKindDef>
<PawnKindDef ParentName="Mech_WULA_Cat_Soldier_PawnKind" MayRequire="Ludeon.RimWorld.Odyssey">
<PawnKindDef Name="Mech_WULA_Cat_Inf" ParentName="Mech_WULA_Cat_Soldier_PawnKind" MayRequire="Ludeon.RimWorld.Odyssey">
<defName>Mech_WULA_Cat_Inf</defName>
<label>步兵乌拉猫猫</label>
<race>Mech_WULA_Cat_Inf</race>
@@ -528,6 +596,9 @@
<li>Wula_Assault_Cat_Weapon</li>
</weaponTags>
</PawnKindDef>
<PawnKindDef ParentName="Mech_WULA_Cat_Inf" MayRequire="Ludeon.RimWorld.Odyssey">
<defName>Mech_WULA_Cat_Inf_Slow</defName>
</PawnKindDef>
<PawnKindDef ParentName="Mech_WULA_Cat_Soldier_PawnKind" MayRequire="Ludeon.RimWorld.Odyssey">
<defName>Mech_WULA_Cat_Commander</defName>
<label>指挥官乌拉猫猫</label>