This commit is contained in:
2025-12-08 12:43:35 +08:00
28 changed files with 1755 additions and 137 deletions

View File

@@ -15,7 +15,7 @@
<bodyTypeMale>Thin</bodyTypeMale>
<forcedTraitsChance>
<li>
<defName Degree="1">WULA_Trait_Knight</defName>
<defName Degree="1">WULA_Trait_WhitePaper</defName>
<chance>100</chance>
</li>
</forcedTraitsChance>

View File

@@ -338,6 +338,88 @@
<buildingDamageFactorPassable>0</buildingDamageFactorPassable>
</DamageDef>
<DamageDef ParentName="Bomb">
<defName>WULA_Disturber_Turret_Bomb</defName>
<label>等离子爆炸</label>
<!-- <workerClass>WulaFallenEmpire.DamageWorker_ExtraDamage</workerClass> -->
<workerClass>WulaFallenEmpire.DamageWorker_ExplosionWithTerrain</workerClass>
<defaultDamage>250</defaultDamage>
<defaultStoppingPower>2.0</defaultStoppingPower>
<defaultArmorPenetration>2</defaultArmorPenetration>
<explosionCellFleck>BlastEMP</explosionCellFleck>
<explosionColorEdge>(0.8, 0.8, 0.8, 0.8)</explosionColorEdge>
<explosionCenterEffecter>WULA_Disturber_Turret_Bomb_Shockwave</explosionCenterEffecter>
<modExtensions>
<li Class="WulaFallenEmpire.DamageDefExtension_TerrainCover">
<terrainToSpawn>LavaShallow</terrainToSpawn>
</li>
<!-- <li Class="WulaFallenEmpire.DamageDef_ExtraDamageExtension">
<extraLabel>穿透伤害</extraLabel>
<showExtraLog>true</showExtraLog>
<extraDamages>
<li>
<damageDef>EMP</damageDef>
<amount>60</amount>
<isPercentage>false</isPercentage>
<armorPenetration>2</armorPenetration>
</li>
</extraDamages>
</li> -->
</modExtensions>
</DamageDef>
<EffecterDef>
<defName>WULA_Disturber_Turret_Bomb_Shockwave</defName>
<children>
<li>
<subEffecterClass>SubEffecter_SprayerTriggered</subEffecterClass>
<fleckDef>Fleck_WULA_Disturber_Turret_Bomb_Shockwave</fleckDef>
<burstCount>1</burstCount>
<spawnLocType>OnSource</spawnLocType>
<absoluteAngle>true</absoluteAngle>
<rotation>0~0</rotation>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggered</subEffecterClass>
<fleckDef>FlashMechBand</fleckDef>
<burstCount>1</burstCount>
<spawnLocType>OnSource</spawnLocType>
<absoluteAngle>true</absoluteAngle>
<rotation>0~0</rotation>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggered</subEffecterClass>
<moteDef>Mote_RedFlashStrong</moteDef>
<burstCount>1</burstCount>
<spawnLocType>OnSource</spawnLocType>
<scale>24</scale>
</li>
</children>
</EffecterDef>
<FleckDef ParentName="FleckBase">
<defName>Fleck_WULA_Disturber_Turret_Bomb_Shockwave</defName>
<altitudeLayer>MoteOverheadLow</altitudeLayer>
<fadeInTime>0.04</fadeInTime>
<fadeOutTime>0.1</fadeOutTime>
<solidTime>0.8</solidTime>
<growthRate>1.5</growthRate>
<drawOffscreen>true</drawOffscreen>
<graphicData>
<graphicClass>Graphic_FleckPulse</graphicClass>
<texPath>Things/Mote/Black</texPath>
<shaderType>MoteLargeDistortionWave</shaderType>
<color>(218,255,200,255)</color>
<shaderParameters>
<_DistortionTex>/Things/Mote/PsychicDistortionCurrents</_DistortionTex>
<_NoiseTex>/Things/Mote/PsycastNoise</_NoiseTex>
<_distortionIntensity>0.066</_distortionIntensity>
<_brightnessMultiplier>1.15</_brightnessMultiplier>
</shaderParameters>
<drawSize>15</drawSize>
</graphicData>
</FleckDef>
<DamageDef ParentName="Bomb">
<defName>WULA_DarkMatterBomb</defName>
<label>暗物质湮灭爆炸</label>

View File

@@ -3,19 +3,15 @@
<FleckDef Name="WULA_GunTail_Plasma" ParentName="FleckBase">
<defName>WULA_GunTail_Plasma</defName>
<altitudeLayer>Projectile</altitudeLayer>
<solidTime>0.05</solidTime>
<fadeOutTime>0.1</fadeOutTime>
<fadeInTime>0.50</fadeInTime>
<solidTime>1</solidTime>
<fadeOutTime>1.2</fadeOutTime>
<growthRate>0.025</growthRate>
<graphicData>
<texPath>Wula/Mote/WULA_GunTail_Plasma</texPath>
<shaderType>MoteGlow</shaderType>
<drawSize>1.25</drawSize>
<color>(218,255,200,155)</color>
</graphicData>
</FleckDef>
<FleckDef ParentName="WULA_GunTail_Plasma">
<defName>WULA_GunTail_Plasma_Yellow</defName>
<graphicData>
<color>(242,160,69,155)</color>
<drawSize>4.25</drawSize>
<color>(179,127,67,155)</color>
</graphicData>
</FleckDef>
@@ -68,19 +64,6 @@
<fadeOutTime>0.2</fadeOutTime>
</FleckDef>
<FleckDef ParentName="FleckBase">
<defName>ElectricalSpark_WULA_Plasma_Explosive</defName>
<graphicData>
<texPath>Wula/Mote/ElectricalSpark_WULA_Plasma_Explosive</texPath>
<shaderType>MoteGlow</shaderType>
<!-- <color>(0.2, 0.8, 0.3 ,0.8)</color> -->
</graphicData>
<altitudeLayer>MoteOverhead</altitudeLayer>
<fadeInTime>0.04</fadeInTime>
<solidTime>0.08</solidTime>
<fadeOutTime>0.13</fadeOutTime>
</FleckDef>
<FleckDef ParentName="FleckBase_Thrown">
<defName>WULA_Smoke_Tail</defName>
<graphicData>

View File

@@ -0,0 +1,664 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<QuestScriptDef>
<defName>WULA_Boss_Super_Fortress</defName>
<rootSelectionWeight>0</rootSelectionWeight>
<autoAccept>true</autoAccept>
<sendAvailableLetter>false</sendAvailableLetter>
<defaultChallengeRating>4</defaultChallengeRating> <!-- 挑战等级(星级) -->
<isRootSpecial>true</isRootSpecial> <!-- 特殊任务 -->
<questNameRules>
<rulesStrings>
<li>questName->WULA_Boss_Sky_Lock_questName</li>
</rulesStrings>
</questNameRules>
<questDescriptionRules>
<rulesStrings>
<li>questDescription->WULA_Boss_Sky_Lock_questDescription</li>
</rulesStrings>
</questDescriptionRules>
<root Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_GetMap"/>
<!-- 产生超链接 -->
<li Class="WulaFallenEmpire.QuestNode_Hyperlinks">
<thingDefs>
<li>Wula_Psi_Titan</li>
<li>Wula_AI_Rocket_Panzer</li>
<li>Wula_AI_Heavy_Panzer</li>
<li>WULA_Sky_Lock</li>
</thingDefs>
<factionDefs>
<li>Wula_PIA_Legion_Faction</li>
</factionDefs>
</li>
<li Class="QuestEditor_Library.QuestNode_RandomCustomMap">
<datas>
<li>
<key>WULA_Super_Fortress_Map</key>
<value>1</value>
</li>
</datas>
<buffer>5</buffer>
<bufferMin>10</bufferMin>
<siteIconPath>Things/Building/Natural/Hive/HiveC</siteIconPath>
<expandingIconPath>Things/Building/Natural/Hive/HiveC</expandingIconPath>
<storeAs>site</storeAs>
<faction>AncientsHostile</faction>
<disdestroyBecauseOfNoColonist>true</disdestroyBecauseOfNoColonist>
<distance>
<min>5</min>
<max>10</max>
</distance>
<blacklist />
</li>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelShuttleDestroyed">灵能泰坦抵达</label>
<letterDef>NegativeEvent</letterDef>
<text TKey="LetterTextShuttleDestroyed">在一艘巡洋舰向失控运输舰狠狠撞击后,碎裂的运输舰如流星般坠入边缘世界地表。不过灵能泰坦随后便在地表上被目击——地点已经标记出来了。</text>
</li>
<!-- 灵能泰坦被击毁··· -->
<li Class="QuestNode_Signal">
<inSignal>PsiTitan.0.Destroyed</inSignal>
<node Class="QuestNode_Sequence">
<nodes>
<li Class="QuestNode_Letter">
<label TKey="LetterLabelShuttleDestroyed">灵能泰坦已停机</label>
<letterDef>PositiveEvent</letterDef>
<text TKey="LetterTextShuttleDestroyed">灵能泰坦在殖民者的攻击下已经停止运转,其灵能回路核心已经暴露并掉落。\n\n记得回收灵能回路核心这是建造新的灵能泰坦所需的材料。</text>
</li>
<li Class="QuestNode_ChangeFactionGoodwill">
<faction>Wula_PIA_Legion_Faction</faction>
<change>25</change>
<reason>WULA_Killed_Psititan</reason>
</li>
<li Class="WulaFallenEmpire.QuestNode_EventLetter">
<inSignal>PsiTitan.0.Destroyed</inSignal>
<eventDefName>WULA_Boss_Sky_Lock_UI_2</eventDefName>
</li>
<li Class="QuestNode_End">
<outcome>Success</outcome>
<sendStandardLetter>true</sendStandardLetter>
</li>
</nodes>
</node>
</li>
</nodes>
</root>
</QuestScriptDef>
<HistoryEventDef>
<defName>WULA_Killed_Psititan</defName>
<label>协助处理失控灵能泰坦</label>
</HistoryEventDef>
<QuestEditor_Library.CustomMapDataDef>
<defName>WULA_Super_Fortress_Map</defName>
<label>巨型乌拉帝国要塞</label>
<fogged>true</fogged>
<size>(80, 1, 80)</size>
<isPart>true</isPart>
<commonality>0</commonality>
<roofRects>
<li>
<key>RoofRockThick</key>
<value>
<li>(19,26,60,28)</li>
<li>(26,19,53,25)</li>
<li>(19,29,28,53)</li>
<li>(34,17,45,18)</li>
<li>(17,34,18,45)</li>
<li>(29,36,62,43)</li>
<li>(36,29,43,35)</li>
<li>(36,44,43,62)</li>
<li>(51,29,60,35)</li>
<li>(29,51,35,60)</li>
<li>(26,54,28,60)</li>
<li>(51,44,62,45)</li>
<li>(44,51,60,53)</li>
<li>(51,46,60,50)</li>
<li>(44,54,53,60)</li>
<li>(61,34,62,35)</li>
<li>(34,61,35,62)</li>
<li>(44,61,45,62)</li>
</value>
</li>
</roofRects>
<terrainsRect>
<li>
<key>WulaFloor</key>
<value>
<li>(17,17,26,26)</li>
<li>(19,27,60,60)</li>
<li>(27,19,62,26)</li>
<li>(17,34,18,45)</li>
<li>(34,17,45,18)</li>
<li>(17,53,18,62)</li>
<li>(53,17,62,18)</li>
<li>(19,61,26,62)</li>
<li>(61,34,62,45)</li>
<li>(34,61,45,62)</li>
<li>(53,61,62,62)</li>
<li>(61,53,62,60)</li>
</value>
</li>
</terrainsRect>
<thingDatas>
<li>
<def>WulaShelter</def>
<faction>AncientsHostile</faction>
<allRect>
<li>(10,10,14,10)</li>
<li>(10,11,10,14)</li>
<li>(11,14,12,14)</li>
<li>(14,11,14,12)</li>
<li>(12,15,12,22)</li>
<li>(15,12,22,12)</li>
<li>(16,13,16,14)</li>
<li>(13,16,14,16)</li>
<li>(20,13,20,14)</li>
<li>(13,20,14,20)</li>
<li>(10,22,11,22)</li>
<li>(22,10,26,10)</li>
<li>(22,11,22,11)</li>
<li>(10,23,10,26)</li>
<li>(26,11,26,12)</li>
<li>(11,26,12,26)</li>
<li>(15,26,16,26)</li>
<li>(26,15,29,15)</li>
<li>(26,16,26,16)</li>
<li>(15,27,15,29)</li>
<li>(11,30,13,30)</li>
<li>(30,11,34,11)</li>
<li>(30,12,30,13)</li>
<li>(11,31,11,34)</li>
<li>(31,15,34,15)</li>
<li>(15,31,15,34)</li>
<li>(12,34,12,38)</li>
<li>(34,12,38,12)</li>
<li>(16,34,16,34)</li>
<li>(34,16,34,16)</li>
<li>(38,13,38,15)</li>
<li>(13,38,15,38)</li>
<li>(12,41,15,41)</li>
<li>(41,12,45,12)</li>
<li>(41,13,41,15)</li>
<li>(36,24,38,24)</li>
<li>(24,36,24,38)</li>
<li>(12,42,12,45)</li>
<li>(45,11,49,11)</li>
<li>(11,45,11,49)</li>
<li>(45,15,48,15)</li>
<li>(15,45,16,45)</li>
<li>(41,24,43,24)</li>
<li>(24,41,24,43)</li>
<li>(45,16,45,16)</li>
<li>(15,46,15,48)</li>
<li>(49,12,49,13)</li>
<li>(12,49,13,49)</li>
<li>(50,15,53,15)</li>
<li>(15,50,15,53)</li>
<li>(53,10,57,10)</li>
<li>(10,53,12,53)</li>
<li>(53,11,53,12)</li>
<li>(10,54,10,57)</li>
<li>(53,16,53,16)</li>
<li>(16,53,16,53)</li>
<li>(11,57,12,57)</li>
<li>(57,11,57,12)</li>
<li>(12,58,12,65)</li>
<li>(58,12,65,12)</li>
<li>(13,59,14,59)</li>
<li>(59,13,59,14)</li>
<li>(13,63,14,63)</li>
<li>(63,13,63,14)</li>
<li>(36,55,38,55)</li>
<li>(55,36,55,38)</li>
<li>(10,65,11,65)</li>
<li>(65,10,69,10)</li>
<li>(65,11,65,11)</li>
<li>(10,66,10,69)</li>
<li>(16,65,16,67)</li>
<li>(65,16,67,16)</li>
<li>(65,20,67,20)</li>
<li>(20,65,20,67)</li>
<li>(63,26,64,26)</li>
<li>(26,63,26,64)</li>
<li>(14,67,15,67)</li>
<li>(67,14,69,14)</li>
<li>(41,55,43,55)</li>
<li>(55,41,55,43)</li>
<li>(67,15,67,15)</li>
<li>(67,17,67,19)</li>
<li>(17,67,19,67)</li>
<li>(14,68,14,69)</li>
<li>(64,27,64,29)</li>
<li>(27,64,29,64)</li>
<li>(69,11,69,13)</li>
<li>(11,69,13,69)</li>
<li>(21,67,22,67)</li>
<li>(67,21,67,22)</li>
<li>(31,64,34,64)</li>
<li>(64,31,64,34)</li>
<li>(22,68,22,69)</li>
<li>(68,22,69,22)</li>
<li>(63,34,63,34)</li>
<li>(34,63,34,63)</li>
<li>(26,67,26,69)</li>
<li>(67,26,69,26)</li>
<li>(30,66,30,68)</li>
<li>(66,30,68,30)</li>
<li>(23,69,25,69)</li>
<li>(69,23,69,25)</li>
<li>(64,38,67,38)</li>
<li>(38,64,38,67)</li>
<li>(68,31,68,34)</li>
<li>(31,68,34,68)</li>
<li>(67,34,67,37)</li>
<li>(34,67,37,67)</li>
<li>(64,41,67,41)</li>
<li>(41,64,41,67)</li>
<li>(45,63,45,64)</li>
<li>(63,45,64,45)</li>
<li>(64,46,64,48)</li>
<li>(46,64,48,64)</li>
<li>(42,67,45,67)</li>
<li>(67,42,67,45)</li>
<li>(50,64,53,64)</li>
<li>(64,50,64,53)</li>
<li>(45,68,49,68)</li>
<li>(68,45,68,49)</li>
<li>(66,49,67,49)</li>
<li>(49,66,49,67)</li>
<li>(63,53,63,53)</li>
<li>(53,63,53,63)</li>
<li>(67,53,69,53)</li>
<li>(53,67,53,69)</li>
<li>(69,54,69,57)</li>
<li>(54,69,57,69)</li>
<li>(59,65,59,67)</li>
<li>(65,59,67,59)</li>
<li>(67,57,68,57)</li>
<li>(57,67,58,67)</li>
<li>(67,58,67,58)</li>
<li>(57,68,57,68)</li>
<li>(60,67,65,67)</li>
<li>(67,60,67,65)</li>
<li>(63,65,63,66)</li>
<li>(65,63,66,63)</li>
<li>(65,68,65,69)</li>
<li>(68,65,69,65)</li>
<li>(66,69,69,69)</li>
<li>(69,66,69,68)</li>
</allRect>
</li>
<li>
<def>WulaWall</def>
<faction>AncientsHostile</faction>
<allRect>
<li>(17,17,26,17)</li>
<li>(17,18,17,26)</li>
<li>(18,26,20,26)</li>
<li>(26,18,26,20)</li>
<li>(19,27,19,34)</li>
<li>(27,19,34,19)</li>
<li>(26,22,26,26)</li>
<li>(22,26,25,26)</li>
<li>(29,22,36,22)</li>
<li>(22,29,28,29)</li>
<li>(29,23,29,28)</li>
<li>(22,30,22,36)</li>
<li>(17,34,18,34)</li>
<li>(34,17,38,17)</li>
<li>(34,18,34,18)</li>
<li>(28,27,28,28)</li>
<li>(27,28,27,28)</li>
<li>(17,35,17,38)</li>
<li>(36,19,38,19)</li>
<li>(19,36,21,36)</li>
<li>(28,30,28,36)</li>
<li>(30,28,36,28)</li>
<li>(36,20,36,21)</li>
<li>(19,37,19,38)</li>
<li>(35,23,35,27)</li>
<li>(23,35,27,35)</li>
<li>(41,17,45,17)</li>
<li>(17,41,17,45)</li>
<li>(41,19,43,19)</li>
<li>(19,41,19,43)</li>
<li>(36,29,36,36)</li>
<li>(29,36,35,36)</li>
<li>(20,43,22,43)</li>
<li>(43,20,43,22)</li>
<li>(18,45,19,45)</li>
<li>(45,18,45,19)</li>
<li>(22,44,28,44)</li>
<li>(44,22,50,22)</li>
<li>(44,23,44,28)</li>
<li>(32,38,32,41)</li>
<li>(38,32,41,32)</li>
<li>(19,46,19,53)</li>
<li>(46,19,53,19)</li>
<li>(22,45,22,50)</li>
<li>(28,43,36,43)</li>
<li>(43,28,43,36)</li>
<li>(28,45,28,52)</li>
<li>(45,28,52,28)</li>
<li>(23,50,27,50)</li>
<li>(50,23,50,27)</li>
<li>(53,17,62,17)</li>
<li>(17,53,18,53)</li>
<li>(53,18,53,18)</li>
<li>(17,54,17,62)</li>
<li>(53,20,53,20)</li>
<li>(20,53,20,53)</li>
<li>(36,44,36,51)</li>
<li>(44,36,51,36)</li>
<li>(22,53,26,53)</li>
<li>(53,22,53,26)</li>
<li>(51,27,51,27)</li>
<li>(27,51,27,51)</li>
<li>(29,51,35,51)</li>
<li>(51,29,57,29)</li>
<li>(51,30,51,35)</li>
<li>(29,52,29,57)</li>
<li>(54,26,57,26)</li>
<li>(26,54,26,57)</li>
<li>(47,38,47,41)</li>
<li>(38,47,41,47)</li>
<li>(43,43,51,43)</li>
<li>(43,44,43,51)</li>
<li>(35,52,35,57)</li>
<li>(52,35,57,35)</li>
<li>(57,30,57,34)</li>
<li>(30,57,34,57)</li>
<li>(59,26,62,26)</li>
<li>(26,59,26,62)</li>
<li>(62,18,62,25)</li>
<li>(18,62,25,62)</li>
<li>(60,27,60,34)</li>
<li>(27,60,34,60)</li>
<li>(51,44,57,44)</li>
<li>(44,51,52,51)</li>
<li>(36,57,36,60)</li>
<li>(57,36,60,36)</li>
<li>(51,45,51,50)</li>
<li>(44,52,44,57)</li>
<li>(34,61,34,62)</li>
<li>(61,34,62,34)</li>
<li>(37,60,38,60)</li>
<li>(60,37,60,38)</li>
<li>(35,62,38,62)</li>
<li>(62,35,62,38)</li>
<li>(57,43,60,43)</li>
<li>(43,57,43,60)</li>
<li>(50,52,51,52)</li>
<li>(52,50,57,50)</li>
<li>(57,45,57,49)</li>
<li>(45,57,50,57)</li>
<li>(60,41,60,42)</li>
<li>(41,60,42,60)</li>
<li>(50,53,50,56)</li>
<li>(62,41,62,45)</li>
<li>(41,62,45,62)</li>
<li>(53,53,57,53)</li>
<li>(45,60,53,60)</li>
<li>(60,45,61,45)</li>
<li>(60,46,60,53)</li>
<li>(53,54,53,57)</li>
<li>(45,61,45,61)</li>
<li>(53,59,53,59)</li>
<li>(59,53,59,53)</li>
<li>(61,53,62,53)</li>
<li>(53,61,53,62)</li>
<li>(62,54,62,62)</li>
<li>(54,62,61,62)</li>
</allRect>
</li>
<li>
<def>WulaDoor</def>
<faction>AncientsHostile</faction>
<allRect>
<li>(21,26,21,26)</li>
<li>(35,19,35,19)</li>
<li>(39,17,40,17)</li>
<li>(39,19,40,19)</li>
<li>(44,19,44,19)</li>
<li>(37,32,37,32)</li>
<li>(42,32,42,32)</li>
<li>(21,53,21,53)</li>
<li>(37,47,37,47)</li>
<li>(42,47,42,47)</li>
<li>(58,26,58,26)</li>
<li>(35,60,35,60)</li>
<li>(39,60,40,60)</li>
<li>(39,62,40,62)</li>
<li>(44,60,44,60)</li>
<li>(58,53,58,53)</li>
</allRect>
</li>
<li>
<def>WulaDoor</def>
<rotation>1</rotation>
<faction>AncientsHostile</faction>
<allRect>
<li>(26,21,26,21)</li>
<li>(19,35,19,35)</li>
<li>(17,39,17,40)</li>
<li>(19,39,19,40)</li>
<li>(19,44,19,44)</li>
<li>(32,37,32,37)</li>
<li>(32,42,32,42)</li>
<li>(53,21,53,21)</li>
<li>(47,37,47,37)</li>
<li>(47,42,47,42)</li>
<li>(26,58,26,58)</li>
<li>(60,35,60,35)</li>
<li>(60,39,60,40)</li>
<li>(62,39,62,40)</li>
<li>(60,44,60,44)</li>
<li>(53,58,53,58)</li>
</allRect>
</li>
<li>
<def>FloodLight</def>
<faction>AncientsHostile</faction>
<allRect>
<li>(14,14,14,14)</li>
<li>(16,35,16,35)</li>
<li>(35,16,35,16)</li>
<li>(16,44,16,44)</li>
<li>(44,16,44,16)</li>
<li>(65,14,65,14)</li>
<li>(14,65,14,65)</li>
<li>(35,63,35,63)</li>
<li>(63,35,63,35)</li>
<li>(44,63,44,63)</li>
<li>(63,44,63,44)</li>
<li>(65,65,65,65)</li>
</allRect>
</li>
<li>
<def>WULA_Cat_Bunker</def>
<faction>AncientsHostile</faction>
<allRect>
<li>(12,12,12,12)</li>
<li>(12,24,12,24)</li>
<li>(24,12,24,12)</li>
<li>(36,14,36,14)</li>
<li>(14,36,14,36)</li>
<li>(14,43,14,43)</li>
<li>(43,14,43,14)</li>
<li>(12,55,12,55)</li>
<li>(55,12,55,12)</li>
<li>(12,67,12,67)</li>
<li>(67,12,67,12)</li>
<li>(67,24,67,24)</li>
<li>(24,67,24,67)</li>
<li>(36,65,36,65)</li>
<li>(65,36,65,36)</li>
<li>(65,43,65,43)</li>
<li>(43,65,43,65)</li>
<li>(67,55,67,55)</li>
<li>(55,67,55,67)</li>
<li>(67,67,67,67)</li>
</allRect>
</li>
<li>
<def>Wula_Base_Laser_Turret</def>
<faction>AncientsHostile</faction>
<allRect>
<li>(18,14,18,14)</li>
<li>(14,18,14,18)</li>
<li>(28,17,28,17)</li>
<li>(17,28,17,28)</li>
<li>(17,32,17,32)</li>
<li>(32,17,32,17)</li>
<li>(26,37,26,37)</li>
<li>(37,26,37,26)</li>
<li>(26,42,26,42)</li>
<li>(42,26,42,26)</li>
<li>(17,47,17,47)</li>
<li>(47,17,47,17)</li>
<li>(17,51,17,51)</li>
<li>(51,17,51,17)</li>
<li>(61,14,61,14)</li>
<li>(14,61,14,61)</li>
<li>(53,37,53,37)</li>
<li>(37,53,37,53)</li>
<li>(18,65,18,65)</li>
<li>(65,18,65,18)</li>
<li>(42,53,42,53)</li>
<li>(53,42,53,42)</li>
<li>(62,28,62,28)</li>
<li>(28,62,28,62)</li>
<li>(62,32,62,32)</li>
<li>(32,62,32,62)</li>
<li>(62,47,62,47)</li>
<li>(47,62,47,62)</li>
<li>(62,51,62,51)</li>
<li>(51,62,51,62)</li>
<li>(65,61,65,61)</li>
<li>(61,65,61,65)</li>
</allRect>
</li>
<li>
<def>Wula_Base_ATGun_Turret</def>
<faction>AncientsHostile</faction>
<allRect>
<li>(32,13,32,13)</li>
<li>(13,32,13,32)</li>
<li>(47,13,47,13)</li>
<li>(13,47,13,47)</li>
<li>(32,66,32,66)</li>
<li>(66,32,66,32)</li>
<li>(47,66,47,66)</li>
<li>(66,47,66,47)</li>
</allRect>
</li>
<li>
<def>Wula_Base_Mortar_Turret</def>
<faction>AncientsHostile</faction>
<allRect>
<li>(20,20,20,20)</li>
<li>(20,23,20,23)</li>
<li>(23,20,23,20)</li>
<li>(23,23,23,23)</li>
<li>(56,20,56,20)</li>
<li>(20,56,20,56)</li>
<li>(56,23,56,23)</li>
<li>(23,56,23,56)</li>
<li>(59,20,59,20)</li>
<li>(20,59,20,59)</li>
<li>(59,23,59,23)</li>
<li>(23,59,23,59)</li>
<li>(56,56,56,56)</li>
<li>(59,56,59,56)</li>
<li>(56,59,56,59)</li>
<li>(59,59,59,59)</li>
</allRect>
</li>
<li>
<def>WULA_MechAssembler</def>
<faction>AncientsHostile</faction>
<allRect>
<li>(38,38,38,38)</li>
<li>(41,38,41,38)</li>
<li>(38,41,38,41)</li>
<li>(41,41,41,41)</li>
</allRect>
</li>
<li>
<def>WULA_MechAssembler_Huge</def>
<faction>AncientsHostile</faction>
<allRect>
<li>(39,34,39,34)</li>
<li>(34,39,34,39)</li>
<li>(44,39,44,39)</li>
<li>(39,44,39,44)</li>
</allRect>
</li>
<li>
<def>Wula_DarkEnergy_Generators</def>
<faction>AncientsHostile</faction>
<storedEnergy>1.98768</storedEnergy>
<position>(54,0,32)</position>
</li>
<li>
<def>Wula_DarkEnergy_Generators</def>
<faction>AncientsHostile</faction>
<storedEnergy>1.98768663</storedEnergy>
<position>(32,0,25)</position>
</li>
<li>
<def>Wula_Disturber_Turret</def>
<faction>AncientsHostile</faction>
<allRect>
<li>(32,32,32,32)</li>
<li>(32,47,32,47)</li>
<li>(47,32,47,32)</li>
<li>(47,47,47,47)</li>
</allRect>
</li>
<li>
<def>Wula_DarkEnergy_Generators</def>
<faction>AncientsHostile</faction>
<storedEnergy>1.98771334</storedEnergy>
<position>(32,0,54)</position>
</li>
<li>
<def>Wula_DarkEnergy_Generators</def>
<faction>AncientsHostile</faction>
<storedEnergy>1.98772669</storedEnergy>
<position>(25,0,47)</position>
</li>
<li>
<def>Wula_DarkEnergy_Generators</def>
<faction>AncientsHostile</faction>
<storedEnergy>1.98775172</storedEnergy>
<position>(47,0,25)</position>
</li>
<li>
<def>Wula_DarkEnergy_Generators</def>
<faction>AncientsHostile</faction>
<storedEnergy>1.98775339</storedEnergy>
<position>(47,0,54)</position>
</li>
<li>
<def>Wula_DarkEnergy_Generators</def>
<faction>AncientsHostile</faction>
<storedEnergy>1.98776674</storedEnergy>
<position>(25,0,32)</position>
</li>
<li>
<def>Wula_DarkEnergy_Generators</def>
<faction>AncientsHostile</faction>
<storedEnergy>1.98778009</storedEnergy>
<position>(54,0,47)</position>
</li>
</thingDatas>
</QuestEditor_Library.CustomMapDataDef>
</Defs>

View File

@@ -518,6 +518,17 @@
<li>WULA_Synth_Armor_2_Technology</li>
</prerequisites>
</ResearchProjectDef>
<ResearchProjectDef ParentName="WULAtechBase">
<defName>Wula_Disturber_Turret_Technology</defName>
<researchViewX>11.00</researchViewX>
<researchViewY>0.90</researchViewY>
<label>中型舰炮许可</label>
<description>允许殖民地申请空投四联装舰炮,以毁灭性的等离子风暴连射毁灭一切帝国之敌。</description>
<baseCost>4500</baseCost>
<prerequisites>
<li>WULA_Turret_Base_Mortar_Technology</li>
</prerequisites>
</ResearchProjectDef>
<!-- 植物 -->
<ResearchProjectDef ParentName="WULAtechBase">
@@ -701,7 +712,7 @@
<researchViewX>10.00</researchViewX>
<researchViewY>3.80</researchViewY>
<label>建筑传送许可</label>
<description>允许通过传送将乌拉帝国的建筑直接传送到空投区,这使得建筑可以立刻部署到目标地点,且无视厚岩顶阻挡。</description>
<description>允许通过传送将乌拉帝国的建筑直接传送到空投区,这使得建筑可以立刻部署到目标地点,且无视厚岩顶阻挡。除此之外,也可以建造区域跃迁引擎,以移动整个基地。</description>
<baseCost>2000</baseCost>
<prerequisites>
<li>WULA_Colony_License_LV3_Technology</li>

View File

@@ -128,6 +128,22 @@
</li>
</subSounds>
</SoundDef>
<SoundDef>
<defName>Wula_Disturber_Turret_Weapon_Explosive</defName>
<context>MapOnly</context>
<maxSimultaneous>99</maxSimultaneous>
<subSounds>
<li>
<grains>
<li Class="AudioGrain_Clip">
<clipPath>Wula/Wula_Disturber_Turret_Weapon_Explosive</clipPath>
</li>
</grains>
<volumeRange>95</volumeRange>
<pitchRange>0.9~1.1</pitchRange>
</li>
</subSounds>
</SoundDef>
<SoundDef>
<defName>WULA_RW_Beam_Shootingsound</defName>
<sustain>true</sustain>
@@ -149,6 +165,22 @@
</li>
</subSounds>
</SoundDef>
<SoundDef>
<defName>Wula_Disturber_Turret_Weapon_Shootingsound</defName>
<context>MapOnly</context>
<maxSimultaneous>1</maxSimultaneous>
<subSounds>
<li>
<grains>
<li Class="AudioGrain_Clip">
<clipPath>Wula/Wula_Disturber_Turret_Weapon_Shootingsound</clipPath>
</li>
</grains>
<volumeRange>65</volumeRange>
<pitchRange>0.9~1.1</pitchRange>
</li>
</subSounds>
</SoundDef>
<SoundDef>
<defName>WULA_PsiCrusher_Sound</defName>
<context>MapOnly</context>

View File

@@ -1,60 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<Defs>
<ThingDef ParentName="BuildingBase">
<defName>WULA_AreaTeleportBeacon</defName>
<label>乌拉区域传送信标</label>
<description>负责协调殖民地与轨道上的乌拉帝国舰队进行材料输送的信标,空投建筑会优先从信标覆盖区域吸纳资源完成空投</description>
<thingClass>Building</thingClass>
<thingCategories Inherit="False">
<li>BuildingsMisc</li>
</thingCategories>
<label>区域跃迁引擎</label>
<description>乌拉帝国的科技结晶之一,可以供整个区域继续传送的跃迁引擎,它会把区域内的地面、建筑、生物和散落材料等完整地移动到其他地图上</description>
<thingClass>WulaFallenEmpire.Building_ExtraGraphics</thingClass>
<preventDroppingThingsOn>true</preventDroppingThingsOn>
<altitudeLayer>Building</altitudeLayer>
<pathCost>50</pathCost>
<blockWind>true</blockWind>
<passability>PassThroughOnly</passability>
<fillPercent>1</fillPercent>
<size>(1,1)</size>
<drawHighlight>true</drawHighlight>
<tradeability>None</tradeability>
<highlightColor>(0.56, 0.62, 0.9)</highlightColor>
<uiIconPath>Wula/Building/Flag/WULA_Flag_Building_A</uiIconPath>
<rotatable>false</rotatable>
<graphicData>
<texPath>Wula/Building/WULA_OrbitalTradeBeacon</texPath>
<texPath>Wula/Building/Flag/WULA_Flag_Building_Mount</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shadowData>
<volume>(0.3, 0.2, 0.3)</volume>
<offset>(0,0,-0.1)</offset>
</shadowData>
<drawSize>(1,1)</drawSize>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<minifiedDef>MinifiedThing</minifiedDef>
<costList>
<WULA_Alloy>4</WULA_Alloy>
</costList>
<statBases>
<MaxHitPoints>75</MaxHitPoints>
<WorkToBuild>800</WorkToBuild>
<MaxHitPoints>50</MaxHitPoints>
<Flammability>0.5</Flammability>
<WorkToBuild>1000</WorkToBuild>
<Mass>5</Mass>
</statBases>
<drawerType>MapMeshAndRealTime</drawerType>
<drawPlaceWorkersWhileSelected>true</drawPlaceWorkersWhileSelected>
<fillPercent>0.15</fillPercent>
<costList>
<Steel>40</Steel>
<ComponentIndustrial>1</ComponentIndustrial>
</costList>
<tickerType>Normal</tickerType>
<canOverlapZones>true</canOverlapZones>
<hasInteractionCell>false</hasInteractionCell>
<defaultPlacingRot>North</defaultPlacingRot>
<selectable>true</selectable>
<terrainAffordanceNeeded>Light</terrainAffordanceNeeded>
<soundImpactDefault>BulletImpact_Metal</soundImpactDefault>
<preventSkyfallersLandingOn>true</preventSkyfallersLandingOn>
<drawerType>RealtimeOnly</drawerType>
<repairEffect>ConstructMetal</repairEffect>
<forceDebugSpawnable>true</forceDebugSpawnable>
<designationCategory>WULA_Buildings</designationCategory>
<researchPrerequisites>
<li>WULA_Building_Teleporter_Technology</li>
</researchPrerequisites>
<building>
<destroySound>BuildingDestroyed_Metal_Small</destroySound>
<expandHomeArea>false</expandHomeArea>
<destroySound>BuildingDestroyed_Metal_Big</destroySound>
<paintable>true</paintable>
<isInert>true</isInert>
</building>
<modExtensions>
<li Class="WulaFallenEmpire.ExtraGraphicsExtension">
<globalHoverSpeed>0</globalHoverSpeed>
<globalHoverIntensity>0</globalHoverIntensity>
<graphicLayers>
<li>
<texturePath>Wula/Building/Flag/WULA_Flag_Building_A</texturePath>
<shaderName>MoteGlow</shaderName>
<scale>(3,3)</scale>
<drawOrder>0</drawOrder>
<offset>(0,1,2)</offset>
<hoverSpeed>1.5</hoverSpeed> <!-- 比全局慢 -->
<hoverIntensity>0.2</hoverIntensity> <!-- 比全局弱 -->
<hoverPhase>0</hoverPhase>
</li>
<li>
<texturePath>Wula/Building/Flag/WULA_Flag_Building_Mount</texturePath>
<shaderName>Transparent</shaderName>
<scale>(1,1)</scale>
<drawOrder>1</drawOrder>
<offset>(0,1,0)</offset>
<hoverSpeed>0</hoverSpeed> <!-- 比全局慢 -->
<hoverIntensity>0</hoverIntensity> <!-- 比全局弱 -->
<hoverPhase>0</hoverPhase>
</li>
</graphicLayers>
</li>
</modExtensions>
<comps>
<li Class="WulaFallenEmpire.CompProperties_MapTeleporter">
<areaSize>(13, 13)</areaSize>
<warmupTicks>120</warmupTicks>
<requiredResearch>WULA_Colony_License_LV1_Technology</requiredResearch>
<requiredResearch>WULA_Building_Teleporter_Technology</requiredResearch>
</li>
<li Class="CompProperties_Glower">
<glowRadius>3</glowRadius>
<glowColor>(120,240,252,0)</glowColor>
</li>
</comps>
<leaveResourcesWhenKilled>false</leaveResourcesWhenKilled>
<pathCost>14</pathCost>
<designationCategory>WULA_Buildings</designationCategory>
<uiOrder>2100</uiOrder>
<rotatable>false</rotatable>
<placeWorkers>
<li>PlaceWorker_ShowTradeBeaconRadius</li>
</placeWorkers>
<designationHotKey>Misc2</designationHotKey>
<researchPrerequisites>
<li>WULA_Colony_License_LV1_Technology</li>
</researchPrerequisites>
</ThingDef>
<ThingDef ParentName="BuildingBase">
@@ -1030,6 +1067,4 @@
</li>
</comps>
</ThingDef>
</Defs>

View File

@@ -662,7 +662,7 @@
<graphicData>
<texPath>Wula/Building/WULA_Turret_Component</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(3,3)</drawSize>
<drawSize>(7,7)</drawSize>
<!-- <drawOffset>(0,0,-0.16)</drawOffset> -->
<damageData>
<rect>(0.3,0.3,1.4,1.4)</rect>
@@ -751,7 +751,7 @@
<!-- 特殊组件,会在非玩家派系的时候眩晕该炮塔 -->
<li Class="WulaFallenEmpire.CompProperties_DelayedDamageIfNotPlayer">
<damageDef>EMP</damageDef>
<damageAmount>50</damageAmount>
<damageAmount>25</damageAmount>
<armorPenetration>2</armorPenetration>
<destroyIfKilled>true</destroyIfKilled>
</li>
@@ -963,7 +963,7 @@
<graphicData>
<texPath>Wula/Building/WULA_Turret_Component</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(3,3)</drawSize>
<drawSize>(7,7)</drawSize>
<!-- <drawOffset>(0,0,-0.16)</drawOffset> -->
<damageData>
<rect>(0.3,0.3,1.4,1.4)</rect>
@@ -1052,7 +1052,7 @@
<!-- 特殊组件,会在非玩家派系的时候眩晕该炮塔 -->
<li Class="WulaFallenEmpire.CompProperties_DelayedDamageIfNotPlayer">
<damageDef>EMP</damageDef>
<damageAmount>50</damageAmount>
<damageAmount>25</damageAmount>
<armorPenetration>2</armorPenetration>
<destroyIfKilled>true</destroyIfKilled>
</li>
@@ -1266,7 +1266,7 @@
<graphicData>
<texPath>Wula/Building/WULA_Turret_Component</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(3,3)</drawSize>
<drawSize>(7,7)</drawSize>
<!-- <drawOffset>(0,0,-0.16)</drawOffset> -->
<damageData>
<rect>(0.3,0.3,1.4,1.4)</rect>
@@ -1348,7 +1348,7 @@
<!-- 特殊组件,会在非玩家派系的时候眩晕该炮塔 -->
<li Class="WulaFallenEmpire.CompProperties_DelayedDamageIfNotPlayer">
<damageDef>EMP</damageDef>
<damageAmount>500</damageAmount>
<damageAmount>300</damageAmount>
<armorPenetration>2</armorPenetration>
<destroyIfKilled>true</destroyIfKilled>
</li>
@@ -1443,6 +1443,319 @@
</modExtensions>
</ThingDef>
<!-- 重型干扰塔 -->
<ThingDef ParentName="BuildingBase">
<defName>Wula_Disturber_Turret_Cleanzone</defName>
<label>HBt-1"磁石"火山炮</label>
<description>清理出一块场地并准备好资源,使得乌拉帝国可以向此处投放建筑。\n\nHBt-1"磁石"是一种需要通电才能运转的重型防御炮塔以联装的方式装载了四门威力巨大的火山风暴炮其射弹携带了强大的EMP效果和杀伤效果可以在远距离上撕碎一切冲击阵地的敌军。</description>
<uiIconPath>Wula/Building/Wula_Disturber_Turret</uiIconPath>
<minifiedDef>MinifiedThing</minifiedDef>
<tickerType>Normal</tickerType>
<tradeability>None</tradeability>
<descriptionHyperlinks>
<ThingDef>Wula_Disturber_Turret</ThingDef>
<ThingDef>Wula_Disturber_Turret_Weapon</ThingDef>
</descriptionHyperlinks>
<thingCategories Inherit="False">
<li>BuildingsMisc</li>
</thingCategories>
<graphicData>
<texPath>Wula/Building/WULA_Dropping_Building_Cleanzone_Plus</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>(5,5)</drawSize>
<damageData>
<enabled>false</enabled>
</damageData>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<passability>PassThroughOnly</passability>
<pathCost>40</pathCost>
<castEdgeShadows>false</castEdgeShadows>
<fillPercent>0.5</fillPercent>
<canOverlapZones>false</canOverlapZones>
<hasInteractionCell>false</hasInteractionCell>
<rotatable>false</rotatable>
<researchPrerequisites Inherit="False">
<li>Wula_Disturber_Turret_Technology</li>
</researchPrerequisites>
<statBases>
<MarketValue>0</MarketValue>
<MaxHitPoints>1</MaxHitPoints>
<WorkToBuild>0</WorkToBuild>
<Mass>1</Mass>
<Flammability>0</Flammability>
</statBases>
<size>(5,5)</size>
<constructionSkillPrerequisite>0</constructionSkillPrerequisite>
<resourcesFractionWhenDeconstructed>0</resourcesFractionWhenDeconstructed>
<costList Inherit="False">
<WULA_Alloy>400</WULA_Alloy>
<WULA_Dark_Matter_Item>20</WULA_Dark_Matter_Item>
<WULA_Neutronium>50</WULA_Neutronium>
<WULA_Tex_Voucher>3</WULA_Tex_Voucher>
</costList>
<building>
<destroySound>BuildingDestroyed_Metal_Small</destroySound>
</building>
<placeWorkers>
<li>WulaFallenEmpire.PlaceWorker_CustomRadius</li>
</placeWorkers>
<designationCategory>WULA_Buildings</designationCategory>
<comps>
<li Class="WulaFallenEmpire.CompProperties_SkyfallerCaller">
<skyfallerDef>Wula_Disturber_Turret_Incoming</skyfallerDef> <!-- 迫击炮塔空投类型 -->
<destroyBuilding>true</destroyBuilding>
<delayTicks>1</delayTicks>
<allowThinRoof>true</allowThinRoof>
<allowThickRoof>false</allowThickRoof>
</li>
<li Class="WulaFallenEmpire.CompProperties_BuildingSpawner">
<buildingToSpawn>Wula_Disturber_Turret</buildingToSpawn>
<destroyBuilding>false</destroyBuilding>
<spawnEffecter>WULA_Psi_Skip_Entry</spawnEffecter>
<spawnSound>VoidStructure_Emerge</spawnSound>
<inheritFaction>true</inheritFaction>
<requiredResearch>WULA_Building_Teleporter_Technology</requiredResearch>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="SkyfallerBase">
<defName>Wula_Disturber_Turret_Incoming</defName>
<label>RTt-8"深渊"迫击炮塔(空投中)</label>
<size>(5,5)</size>
<graphicData>
<texPath>Wula/Building/Wula_Disturber_Turret_Incoming</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutFlying</shaderType>
<drawSize>(9,9)</drawSize>
</graphicData>
<skyfaller>
<movementType>Accelerate</movementType>
<shadow>Things/Skyfaller/SkyfallerShadowDropPod</shadow>
<shadowSize>(7, 7)</shadowSize>
<anticipationSound>DropPod_Fall</anticipationSound>
<anticipationSoundTicks>100</anticipationSoundTicks>
<impactSound>Explosion_Vaporize</impactSound>
<moteSpawnTime>0.05</moteSpawnTime>
<motesPerCell>1</motesPerCell>
<cameraShake>1</cameraShake>
<angleCurve>
<points>
<li>(0,0)</li>
<li>(1, 1)</li>
</points>
</angleCurve>
<spawnThing>Wula_Disturber_Turret</spawnThing>
</skyfaller>
<comps>
<li Class="CompProperties_Effecter">
<effecterDef>Smoke_Joint</effecterDef>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>Wula_Disturber_Turret</defName>
<label>HBt-1"磁石"火山炮</label>
<description>HBt-1"磁石"是一种需要通电才能运转的重型防御炮塔以联装的方式装载了四门威力巨大的火山风暴炮其射弹携带了强大的EMP效果和杀伤效果可以在远距离上撕碎一切冲击阵地的敌军。</description>
<thingClass>WulaFallenEmpire.Building_TurretGunHasSpeed</thingClass>
<drawerType>MapMeshAndRealTime</drawerType>
<modExtensions>
<li Class="WulaFallenEmpire.ModExt_HasSpeedTurret">
<speed>0.05</speed> <!-- 旋转速度 (度/Tick)。迫击炮旋转较慢。 -->
</li>
</modExtensions>
<graphicData>
<texPath>Wula/Building/WULA_Turret_Component</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(12,12)</drawSize>
<!-- <drawOffset>(0,0,-0.16)</drawOffset> -->
<damageData>
<rect>(0.3,0.3,1.4,1.4)</rect>
</damageData>
<shadowData>
<volume>(0.5,0.35,0.75)</volume>
<offset>(0,0,-0.05)</offset>
</shadowData>
</graphicData>
<receivesSignals>true</receivesSignals>
<uiIconPath>Wula/Building/Wula_Disturber_Turret</uiIconPath>
<uiIconScale>1.0</uiIconScale>
<altitudeLayer>Building</altitudeLayer>
<stealable>false</stealable>
<rotatable>false</rotatable>
<size>(5,5)</size>
<statBases>
<MaxHitPoints>3000</MaxHitPoints>
<Flammability>0</Flammability>
<WorkToBuild>3200</WorkToBuild>
<Mass>250</Mass>
<Beauty>0</Beauty>
<ShootingAccuracyTurret>0.80</ShootingAccuracyTurret>
</statBases>
<costList Inherit="False">
<WULA_Alloy>400</WULA_Alloy>
<WULA_Dark_Matter_Item>20</WULA_Dark_Matter_Item>
<WULA_Neutronium>50</WULA_Neutronium>
<WULA_Tex_Voucher>3</WULA_Tex_Voucher>
</costList>
<tickerType>Normal</tickerType>
<passability>Impassable</passability>
<blockWind>true</blockWind>
<fillPercent>1</fillPercent>
<blockLight>false</blockLight>
<hasTooltip>true</hasTooltip>
<building>
<combatPower>1000</combatPower>
<turretGunDef>Wula_Disturber_Turret_Weapon</turretGunDef>
<turretBurstCooldownTime>12</turretBurstCooldownTime>
<turretTopOffset>(0, 0)</turretTopOffset>
<turretTopDrawSize>10.0</turretTopDrawSize>
<claimable>false</claimable>
</building>
<placeWorkers>
<li>PlaceWorker_TurretTop</li>
<li>PlaceWorker_ShowTurretRadius</li>
</placeWorkers>
<comps>
<li Class="CompProperties_CanBeDormant" />
<li Class="CompProperties_Initiatable" />
<li Class="CompProperties_WakeUpDormant">
<wakeUpSound>MechanoidsWakeUp</wakeUpSound>
</li>
<li Class="CompProperties_Stunnable">
<affectedDamageDefs>
<li>Stun</li>
<li>EMP</li>
</affectedDamageDefs>
<adaptableDamageDefs>
<li>EMP</li>
</adaptableDamageDefs>
</li>
<li Class="CompProperties_AmbientSound">
<sound>MechTurretBig_Call</sound>
</li>
<li Class="WulaFallenEmpire.CompProperties_FactionSetter">
<!-- <factionDef>Mechanoid</factionDef> 不写默认玩家派系-->
<usePlayerFactionIfNull>true</usePlayerFactionIfNull>
<overrideExistingFaction>false</overrideExistingFaction>
</li>
<li Class="CompProperties_Power">
<compClass>CompPowerTrader</compClass>
<basePowerConsumption>300</basePowerConsumption> <!-- 电力消耗较低 -->
</li>
<li Class="CompProperties_Glower">
<glowRadius>6</glowRadius>
<glowColor>(252,240,120,0)</glowColor> <!-- 黄色光晕 -->
</li>
<li Class="WulaFallenEmpire.CompProperties_ForceTargetable" />
<!-- 特殊组件,会在非玩家派系的时候眩晕该炮塔 -->
<li Class="WulaFallenEmpire.CompProperties_DelayedDamageIfNotPlayer">
<damageDef>EMP</damageDef>
<damageAmount>600</damageAmount>
<armorPenetration>2</armorPenetration>
<destroyIfKilled>true</destroyIfKilled>
</li>
<li Class="WulaFallenEmpire.CompProperties_PathCostUpdater">
<adaptiveExpansion>true</adaptiveExpansion>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="BaseWeaponTurret">
<defName>Wula_Disturber_Turret_Weapon</defName>
<label>HBt-1"磁石"</label>
<description>乌拉帝国的火山炮之一,拥有气化敌军的能力。</description>
<tradeability>None</tradeability>
<destroyOnDrop>true</destroyOnDrop>
<techLevel>Ultra</techLevel>
<graphicData>
<texPath>Wula/Building/Wula_Disturber_Turret_Weapon</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>5</drawSize>
</graphicData>
<uiIconScale>0.33</uiIconScale>
<statBases>
<Mass>150</Mass>
<AccuracyTouch>0.3</AccuracyTouch>
<AccuracyShort>0.5</AccuracyShort>
<AccuracyMedium>0.4</AccuracyMedium>
<AccuracyLong>0.3</AccuracyLong>
</statBases>
<verbs>
<li>
<verbClass>WulaFallenEmpire.Verb_ShootWithOffset</verbClass>
<forceNormalTimeSpeed>false</forceNormalTimeSpeed>
<defaultProjectile>Bullet_WULA_WM_Disturber_Turret</defaultProjectile>
<ai_AvoidFriendlyFireRadius>5</ai_AvoidFriendlyFireRadius>
<minRange>18</minRange>
<range>300</range>
<requireLineOfSight>false</requireLineOfSight>
<warmupTime>4</warmupTime>
<isMortar>true</isMortar>
<defaultCooldownTime>5</defaultCooldownTime>
<burstShotCount>4</burstShotCount>
<forcedMissRadius>12</forcedMissRadius>
<forcedMissRadiusClassicMortars>13</forcedMissRadiusClassicMortars>
<soundCast>Wula_Disturber_Turret_Weapon_Shootingsound</soundCast>
<soundCastTail>GunTail_Heavy</soundCastTail>
<muzzleFlashScale>18</muzzleFlashScale>
<targetParams>
<canTargetLocations>true</canTargetLocations>
</targetParams>
</li>
</verbs>
<modExtensions>
<li Class="WulaFallenEmpire.ModExtension_ShootWithOffset">
<offsets>
<li>(0, -2)</li>
</offsets>
</li>
</modExtensions>
</ThingDef>
<ThingDef ParentName="BaseBullet">
<defName>Bullet_WULA_WM_Disturber_Turret</defName>
<label>磁石火山炮弹</label>
<thingClass>WulaFallenEmpire.Projectile_NorthArcTrail</thingClass>
<tickerType>Normal</tickerType>
<neverMultiSelect>True</neverMultiSelect>
<graphicData>
<texPath>Wula/Projectile/WULA_Energy_Shell</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>MoteGlow</shaderType>
<drawSize>(2.5,3)</drawSize>
<color>(202,147,67,205)</color>
</graphicData>
<projectile>
<damageDef>WULA_Disturber_Turret_Bomb</damageDef>
<damageAmountBase>250</damageAmountBase>
<speed>40</speed>
<armorPenetrationBase>2</armorPenetrationBase>
<explosionRadius>8.0</explosionRadius>
<soundHitThickRoof>Artillery_HitThickRoof</soundHitThickRoof>
<soundExplode>Wula_Disturber_Turret_Weapon_Explosive</soundExplode>
<soundImpactAnticipate>MortarRound_PreImpact</soundImpactAnticipate>
<soundAmbient>MortarRound_Ambient</soundAmbient>
<stoppingPower>5</stoppingPower>
<flyOverhead>true</flyOverhead>
<preExplosionSpawnSingleThingDef>Filth_BlastMark</preExplosionSpawnSingleThingDef>
</projectile>
<modExtensions>
<li Class="WulaFallenEmpire.NorthArcModExtension">
<northOffsetDistance>4</northOffsetDistance>
<curveSteepness>1.0</curveSteepness>
<useArcTrajectory>true</useArcTrajectory>
</li>
<li Class="WulaFallenEmpire.TrackingBulletDef">
<tailFleckDef>WULA_GunTail_Plasma</tailFleckDef>
<fleckMakeFleckTickMax>3</fleckMakeFleckTickMax>
<fleckDelayTicks>9</fleckDelayTicks>
<fleckMakeFleckNum>1~2</fleckMakeFleckNum>
<fleckScale>0.5~1.0</fleckScale>
<fleckSpeed>0.1~0.3</fleckSpeed>
<fleckAngle>-30~30</fleckAngle>
</li>
</modExtensions>
</ThingDef>
<!-- 旗帜 -->
<ThingDef ParentName="BuildingBase">
<defName>WULA_Wall_Flag_Building</defName>

View File

@@ -173,7 +173,7 @@
<defName>Bullet_Wula_MR_Mobile_Factory_Turret</defName>
<label>陨磷钢针弹</label>
<graphicData>
<texPath>Wula/Projectile/WULA_Bullet_ChargeLanceShot_Red</texPath>
<texPath>Wula/Projectile/WULA_Bullet_Needle_AT</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>MoteGlow</shaderType>
<drawSize>2.5</drawSize>
@@ -406,7 +406,7 @@
<defName>Bullet_Wula_AI_Heavy_Panzer_Turret_Weapon</defName>
<label>青金石钢针弹</label>
<graphicData>
<texPath>Wula/Projectile/WULA_Bullet_ChargeLanceShot_Red</texPath>
<texPath>Wula/Projectile/WULA_Bullet_Needle_AT</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>MoteGlow</shaderType>
<drawSize>2.5</drawSize>

View File

@@ -871,7 +871,7 @@
</li>
</modExtensions>
<graphicData>
<texPath>Wula/Projectile/WULA_Bullet_ChargeLanceShot_Red</texPath>
<texPath>Wula/Projectile/WULA_Bullet_Needle_AT</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>TransparentPostLight</shaderType>
<drawSize>1.4</drawSize>
@@ -1127,7 +1127,7 @@
</li>
</modExtensions>
<graphicData>
<texPath>Wula/Projectile/WULA_Bullet_ChargeLanceShot_Red</texPath>
<texPath>Wula/Projectile/WULA_Bullet_Needle_AT</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>TransparentPostLight</shaderType>
<drawSize>1</drawSize>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 KiB

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -16,6 +16,9 @@ namespace WulaFallenEmpire
// 存储的炮塔列表
private List<TurretInstance> turrets = new List<TurretInstance>();
// 标记是否已加载数据
private bool dataLoaded = false;
// 获取当前机械族存储数量
private int StoredMechanoidCount
{
@@ -34,13 +37,26 @@ namespace WulaFallenEmpire
public override void Initialize(CompProperties props)
{
base.Initialize(props);
UpdateTurrets();
// 只有在没有加载过数据时才初始化新炮塔
if (!dataLoaded)
{
UpdateTurrets();
}
}
public override void CompTick()
{
base.CompTick();
// 确保数据已加载
if (!dataLoaded)
{
dataLoaded = true;
InitializeTurretsAfterLoad();
return;
}
// 更新炮塔数量
if (Find.TickManager.TicksGame % 60 == 0)
{
@@ -57,6 +73,29 @@ namespace WulaFallenEmpire
}
}
// 加载后初始化炮塔
private void InitializeTurretsAfterLoad()
{
if (turrets == null)
{
turrets = new List<TurretInstance>();
}
// 重新建立 parent 引用
for (int i = 0; i < turrets.Count; i++)
{
if (turrets[i] != null)
{
turrets[i].SetParent(this);
turrets[i].SetIndex(i);
turrets[i].PostLoadInit();
}
}
// 根据当前机械族数量调整炮塔数量
UpdateTurrets();
}
private void UpdateTurrets()
{
int currentCount = Mathf.Min(StoredMechanoidCount, Props.maxTurrets);
@@ -70,7 +109,16 @@ namespace WulaFallenEmpire
// 移除多余的炮塔
while (turrets.Count > currentCount)
{
turrets.RemoveAt(turrets.Count - 1);
// 注意:只移除未激活的炮塔
int lastIndex = turrets.Count - 1;
if (lastIndex >= StoredMechanoidCount)
{
turrets.RemoveAt(lastIndex);
}
else
{
break;
}
}
}
@@ -92,35 +140,13 @@ namespace WulaFallenEmpire
{
base.PostExposeData();
// 在保存和加载时重新建立 parent 引用
if (Scribe.mode == LoadSaveMode.Saving)
{
Scribe_Collections.Look(ref turrets, "turrets", LookMode.Deep);
}
else if (Scribe.mode == LoadSaveMode.LoadingVars)
{
Scribe_Collections.Look(ref turrets, "turrets", LookMode.Deep);
}
Scribe_Values.Look(ref dataLoaded, "dataLoaded", false);
Scribe_Collections.Look(ref turrets, "turrets", LookMode.Deep);
if (Scribe.mode == LoadSaveMode.PostLoadInit)
{
if (turrets == null)
{
turrets = new List<TurretInstance>();
}
else
{
// 重新建立 parent 引用
for (int i = 0; i < turrets.Count; i++)
{
if (turrets[i] != null)
{
turrets[i].SetParent(this);
turrets[i].SetIndex(i);
}
}
}
UpdateTurrets();
// 标记需要重新初始化
dataLoaded = false;
}
}
@@ -138,6 +164,9 @@ namespace WulaFallenEmpire
public float curRotation;
public Material turretMat;
// 标记是否已初始化
private bool initialized = false;
// 安全访问器
public CompStorageTurret Parent => _parent;
public int Index => _index;
@@ -172,28 +201,19 @@ namespace WulaFallenEmpire
return false;
if (AttackVerb == null)
{
// 尝试重新初始化
if (!initialized)
{
PostLoadInit();
}
return false;
if (TurretDestroyed)
return false;
}
return true;
}
}
public bool TurretDestroyed
{
get
{
var verbProps = AttackVerb?.verbProps;
if (verbProps == null)
return false;
// 这里可以添加建筑炮塔的破坏检查逻辑
return false;
}
}
// 无参构造函数用于序列化
public TurretInstance() { }
@@ -201,7 +221,7 @@ namespace WulaFallenEmpire
{
SetParent(parent);
SetIndex(index);
MakeGun();
Initialize();
}
public void SetParent(CompStorageTurret parent)
@@ -214,13 +234,35 @@ namespace WulaFallenEmpire
_index = index;
}
private void Initialize()
{
if (initialized) return;
MakeGun();
UpdateGunVerbs();
initialized = true;
}
// 加载后初始化
public void PostLoadInit()
{
if (initialized) return;
if (gun == null)
{
MakeGun();
}
UpdateGunVerbs();
initialized = true;
}
private void MakeGun()
{
if (_parent == null || _parent.Props == null || _parent.Props.turretDef == null)
return;
gun = ThingMaker.MakeThing(_parent.Props.turretDef, null);
UpdateGunVerbs();
}
private void UpdateGunVerbs()
@@ -230,9 +272,17 @@ namespace WulaFallenEmpire
var compEq = gun.TryGetComp<CompEquippable>();
if (compEq == null) return;
// 确保 parent 不为 null
if (_parent == null || _parent.parent == null)
{
Log.Warning("[StorageTurret] Parent is null when updating gun verbs");
return;
}
foreach (var verb in compEq.AllVerbs)
{
verb.caster = _parent?.parent;
// 关键修复:设置正确的 caster
verb.caster = _parent.parent;
verb.castCompleteCallback = () =>
{
burstCooldownTicksLeft = AttackVerb?.verbProps?.defaultCooldownTime.SecondsToTicks() ?? 0;
@@ -242,7 +292,14 @@ namespace WulaFallenEmpire
public void TurretTick()
{
if (!CanShoot) return;
if (!CanShoot || AttackVerb == null) return;
// 确保动词已正确初始化
if (AttackVerb.caster == null)
{
UpdateGunVerbs();
return;
}
// 更新炮塔旋转
if (currentTarget.IsValid)
@@ -342,18 +399,9 @@ namespace WulaFallenEmpire
Scribe_TargetInfo.Look(ref currentTarget, "currentTarget");
Scribe_Deep.Look(ref gun, "gun");
Scribe_Values.Look(ref curRotation, "curRotation", 0f);
Scribe_Values.Look(ref initialized, "initialized", false);
if (Scribe.mode == LoadSaveMode.PostLoadInit)
{
if (gun == null)
{
MakeGun();
}
else
{
UpdateGunVerbs();
}
}
// 注意:不序列化 _parent 和 _index它们在加载后重新设置
}
}
}

View File

@@ -0,0 +1,40 @@
using System.Collections.Generic;
using RimWorld;
using Verse;
namespace WulaFallenEmpire
{
// 地形覆盖配置的 ModExtension
public class DamageDefExtension_TerrainCover : DefModExtension
{
// 要生成的地形定义
public TerrainDef terrainToSpawn;
// 生成概率0-1
public float terrainChance = 1f;
// 检查特定单元格是否允许生成地形
public bool CanAffectCell(IntVec3 cell, Map map, out string reason)
{
reason = null;
if (!cell.InBounds(map))
{
reason = "Cell out of bounds";
return false;
}
// 检查地形类型
TerrainDef currentTerrain = cell.GetTerrain(map);
// 检查是否可以构建地形
if (!GenConstruct.CanBuildOnTerrain(terrainToSpawn, cell, map, Rot4.North))
{
reason = "Cannot build on terrain";
return false;
}
return true;
}
}
}

View File

@@ -0,0 +1,89 @@
using System.Collections.Generic;
using System.Linq;
using RimWorld;
using UnityEngine;
using Verse;
using Verse.Sound;
namespace WulaFallenEmpire
{
public class DamageWorker_ExplosionWithTerrain : DamageWorker_AddInjury
{
// 获取地形覆盖扩展
private DamageDefExtension_TerrainCover GetTerrainCoverExtension(DamageDef damageDef)
{
if (damageDef?.modExtensions == null)
return null;
return damageDef.modExtensions
.OfType<DamageDefExtension_TerrainCover>()
.FirstOrDefault();
}
public override void ExplosionAffectCell(Explosion explosion, IntVec3 c, List<Thing> damagedThings, List<Thing> ignoredThings, bool canThrowMotes)
{
base.ExplosionAffectCell(explosion, c, damagedThings, ignoredThings, canThrowMotes);
var terrainCover = GetTerrainCoverExtension(explosion.damType);
// 处理地形覆盖
ProcessTerrainCover(explosion, c, terrainCover);
}
// 处理地形覆盖
private void ProcessTerrainCover(Explosion explosion, IntVec3 cellsToAffect, DamageDefExtension_TerrainCover terrainCover)
{
if (explosion.Map == null)
return;
Map map = explosion.Map;
ApplyTerrainCoverToCell(cellsToAffect, map, terrainCover, explosion);
}
// 对单个单元格应用地形覆盖
public void ApplyTerrainCoverToCell(IntVec3 cell, Map map,
DamageDefExtension_TerrainCover terrainCover, Explosion explosion = null)
{
// 检查单元格是否可影响
if (!terrainCover.CanAffectCell(cell, map, out string reason))
{
Log.Message($"Cannot affect cell {cell}: {reason}");
return;
}
TerrainDef currentTerrain = cell.GetTerrain(map);
// 检查框架
Frame frame = cell.GetFirstThing<Frame>(map);
// 检查植物(特别是大型树木)
Plant plant = cell.GetPlant(map);
if (plant != null && plant.def.plant.treeCategory == TreeCategory.Super)
{
Log.Message($"Large tree at {cell}, skipping");
return;
}
// 尝试设置地形
if (GenConstruct.CanBuildOnTerrain(terrainCover.terrainToSpawn, cell, map, Rot4.North))
{
// 销毁框架(如果需要)
if (frame != null)
{
frame.Destroy(DestroyMode.Vanish);
}
// 保存原始地形(用于临时覆盖)
TerrainDef originalTerrain = map.terrainGrid.TerrainAt(cell);
// 设置新地形
map.terrainGrid.SetTerrain(cell, terrainCover.terrainToSpawn);
Log.Message($"Applied terrain {terrainCover.terrainToSpawn.defName} to cell {cell}");
}
else
{
Log.Message($"Cannot build terrain {terrainCover.terrainToSpawn.defName} at cell {cell}");
}
}
}
}

View File

@@ -70,10 +70,331 @@
<HintPath>..\..\..\..\..\..\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Compile Include="**\*.cs" Exclude="bin\**;obj\**" />
</ItemGroup>
<ItemGroup>
<Content Include="Damage\202512031732.xml" />
<Compile Include="Ability\CompAbilityEffect_LaunchMultiProjectile.cs" />
<Compile Include="Ability\CompAbilityEffect_RequiresNonHostility.cs" />
<Compile Include="Ability\CompAbilityEffect_ResearchPrereq.cs" />
<Compile Include="Ability\LightningBombardment.cs" />
<Compile Include="Ability\WULA_AbilityAreaDestruction\CompAbilityEffect_AreaDestruction.cs" />
<Compile Include="Ability\WULA_AbilityAreaDestruction\CompProperties_AbilityAreaDestruction.cs" />
<Compile Include="Ability\WULA_AbilityBombardment\CompAbilityEffect_Bombardment.cs" />
<Compile Include="Ability\WULA_AbilityBombardment\CompProperties_AbilityBombardment.cs" />
<Compile Include="Ability\WULA_AbilityCallSkyfaller\CompAbilityEffect_CallSkyfaller.cs" />
<Compile Include="Ability\WULA_AbilityCallSkyfaller\CompProperties_AbilityCallSkyfaller.cs" />
<Compile Include="Ability\WULA_AbilityCallSkyfaller\MapComponent_SkyfallerDelayed.cs" />
<Compile Include="Ability\WULA_AbilityCircularBombardment\CompAbilityEffect_CircularBombardment.cs" />
<Compile Include="Ability\WULA_AbilityCircularBombardment\CompProperties_AbilityCircularBombardment.cs" />
<Compile Include="Ability\WULA_AbilityDeleteTarget\CompAbilityEffect_DeleteTarget.cs" />
<Compile Include="Ability\WULA_AbilityDeleteTarget\CompProperties_AbilityDeleteTarget.cs" />
<Compile Include="Ability\WULA_AbilityEnergyLance\AbilityWeaponDefExtension.cs" />
<Compile Include="Ability\WULA_AbilityEnergyLance\CompAbilityEffect_EnergyLance.cs" />
<Compile Include="Ability\WULA_AbilityEnergyLance\CompProperties_AbilityEnergyLance.cs" />
<Compile Include="Ability\WULA_AbilityEnergyLance\EnergyLance.cs" />
<Compile Include="Ability\WULA_AbilityEnergyLance\EnergyLanceExtension.cs" />
<Compile Include="Ability\WULA_AbilitySpawnAligned\CompAbilityEffect_SpawnAligned.cs" />
<Compile Include="Ability\WULA_AbilitySpawnAligned\CompProperties_AbilitySpawnAligned.cs" />
<Compile Include="Ability\WULA_AbilityStunKnockback\CompAbilityEffect_StunKnockback.cs" />
<Compile Include="Ability\WULA_AbilityStunKnockback\CompProperties_StunKnockback.cs" />
<Compile Include="Ability\WULA_AbilityTeleportSelf\CompAbilityEffect_TeleportSelf.cs" />
<Compile Include="Ability\WULA_AbilityTeleportSelf\CompProperties_AbilityTeleportSelf.cs" />
<Compile Include="Ability\WULA_EquippableAbilities\CompEquippableAbilities.cs" />
<Compile Include="Ability\WULA_EquippableAbilities\CompProperties_EquippableAbilities.cs" />
<Compile Include="Ability\WULA_PullTarget\CompAbilityEffect_PullTarget.cs" />
<Compile Include="Ability\WULA_PullTarget\CompProperties_AbilityPullTarget.cs" />
<Compile Include="BuildingComp\Building_ExtraGraphics.cs" />
<Compile Include="BuildingComp\Building_MapObserver.cs" />
<Compile Include="BuildingComp\Building_TurretGunHasSpeed.cs" />
<Compile Include="BuildingComp\CompPathCostUpdater.cs" />
<Compile Include="BuildingComp\WULA_BuildingBombardment\CompBuildingBombardment.cs" />
<Compile Include="BuildingComp\WULA_BuildingBombardment\CompProperties_BuildingBombardment.cs" />
<Compile Include="BuildingComp\WULA_BuildingSpawner\CompBuildingSpawner.cs" />
<Compile Include="BuildingComp\WULA_BuildingSpawner\CompProperties_BuildingSpawner.cs" />
<Compile Include="BuildingComp\WULA_EnergyLanceTurret\CompEnergyLanceTurret.cs" />
<Compile Include="BuildingComp\WULA_EnergyLanceTurret\CompProperties_EnergyLanceTurret.cs" />
<Compile Include="BuildingComp\WULA_InitialFaction\CompProperties_InitialFaction.cs" />
<Compile Include="BuildingComp\WULA_MechanoidRecycler\Building_MechanoidRecycler.cs" />
<Compile Include="BuildingComp\WULA_MechanoidRecycler\CompProperties_MechanoidRecycler.cs" />
<Compile Include="BuildingComp\WULA_MechanoidRecycler\JobDriver_RecycleMechanoid.cs" />
<Compile Include="BuildingComp\WULA_Shuttle\ArmedShuttleIncoming.cs" />
<Compile Include="BuildingComp\WULA_Shuttle\Building_ArmedShuttle.cs" />
<Compile Include="BuildingComp\WULA_Shuttle\Building_ArmedShuttleWithPocket.cs" />
<Compile Include="BuildingComp\WULA_Shuttle\Building_PocketMapExit.cs" />
<Compile Include="BuildingComp\WULA_Shuttle\Dialog_ArmedShuttleTransfer.cs" />
<Compile Include="BuildingComp\WULA_Shuttle\GenStep_WulaPocketSpaceSmall.cs" />
<Compile Include="BuildingComp\WULA_Shuttle\PocketSpaceThingHolder.cs" />
<Compile Include="BuildingComp\WULA_SkyfallerCaller\CompPrefabSkyfallerCaller.cs" />
<Compile Include="BuildingComp\WULA_SkyfallerCaller\CompProperties_PrefabSkyfallerCaller.cs" />
<Compile Include="BuildingComp\WULA_SkyfallerCaller\CompProperties_SkyfallerCaller.cs" />
<Compile Include="BuildingComp\WULA_SkyfallerCaller\CompSkyfallerCaller.cs" />
<Compile Include="BuildingComp\WULA_SkyfallerCaller\DebugActions_PrefabSkyfallerCaller.cs" />
<Compile Include="BuildingComp\WULA_SkyfallerCaller\Skyfaller_PrefabSpawner.cs" />
<Compile Include="BuildingComp\WULA_SkyfallerCaller\WulaSkyfallerWorldComponent.cs" />
<Compile Include="BuildingComp\WULA_SkyfallerCaller\WULA_SkyfallerFactioncs\CompProperties_SkyfallerFaction.cs" />
<Compile Include="BuildingComp\WULA_SkyfallerCaller\WULA_SkyfallerFactioncs\CompSkyfallerFaction.cs" />
<Compile Include="BuildingComp\WULA_StorageTurret\CompProperties_StorageTurret.cs" />
<Compile Include="BuildingComp\WULA_StorageTurret\CompStorageTurret.cs" />
<Compile Include="BuildingComp\WULA_Teleporter\CompMapTeleporter.cs" />
<Compile Include="BuildingComp\WULA_Teleporter\CompProperties_MapTeleporter.cs" />
<Compile Include="BuildingComp\WULA_Teleporter\WULA_TeleportLandingMarker.cs" />
<Compile Include="BuildingComp\WULA_TransformAtFullCapacity\CompProperties_TransformAtFullCapacity.cs" />
<Compile Include="BuildingComp\WULA_TransformAtFullCapacity\CompProperties_TransformIntoBuilding.cs" />
<Compile Include="BuildingComp\WULA_TransformAtFullCapacity\CompTransformAtFullCapacity.cs" />
<Compile Include="BuildingComp\WULA_TransformAtFullCapacity\CompTransformIntoBuilding.cs" />
<Compile Include="BuildingComp\WULA_TransformAtFullCapacity\TransformValidationUtility.cs" />
<Compile Include="BuildingComp\WULA_TrapLauncher\CompProperties_TrapLauncher.cs" />
<Compile Include="BuildingComp\WULA_TrapLauncher\CompTrapLauncher.cs" />
<Compile Include="Damage\DamageDefExtension_TerrainCover.cs" />
<Compile Include="Damage\DamageDef_ExtraDamageExtension.cs" />
<Compile Include="Damage\DamageWorker_ExplosionWithTerrain.cs" />
<Compile Include="Damage\DamageWorker_ExtraDamage.cs" />
<Compile Include="Designator\Designator_CallSkyfallerInArea.cs" />
<Compile Include="Designator\Designator_TeleportArrival.cs" />
<Compile Include="EventSystem\CompOpenCustomUI.cs" />
<Compile Include="EventSystem\Condition\ConditionBase.cs" />
<Compile Include="EventSystem\Condition\Condition_FlagExists.cs" />
<Compile Include="EventSystem\DebugActions.cs" />
<Compile Include="EventSystem\DelayedActionManager.cs" />
<Compile Include="EventSystem\Dialog_CustomDisplay.cs" />
<Compile Include="EventSystem\Dialog_ManageEventVariables.cs" />
<Compile Include="EventSystem\Effect\EffectBase.cs" />
<Compile Include="EventSystem\Effect\Effect_CallSkyfaller.cs" />
<Compile Include="EventSystem\Effect\Effect_SetTimedFlag.cs" />
<Compile Include="EventSystem\EventDef.cs" />
<Compile Include="EventSystem\EventUIButtonConfigDef.cs" />
<Compile Include="EventSystem\EventUIConfigDef.cs" />
<Compile Include="EventSystem\EventVariableManager.cs" />
<Compile Include="EventSystem\QuestNode\QuestNode_EventLetter.cs" />
<Compile Include="EventSystem\QuestNode\QuestNode_Root_EventLetter.cs" />
<Compile Include="Flyover\ThingclassFlyOver.cs" />
<Compile Include="Flyover\WULA_AircraftHangar\CompAbilityEffect_AircraftStrike.cs" />
<Compile Include="Flyover\WULA_AircraftHangar\CompAircraftHangar.cs" />
<Compile Include="Flyover\WULA_AircraftHangar\WorldComponent_AircraftManager.cs" />
<Compile Include="Flyover\WULA_BlockedByFlyOverFacility\CompAbilityEffect_BlockedByFlyOverFacility.cs" />
<Compile Include="Flyover\WULA_DestroyFlyOverByFacilities\CompProperties_DestroyFlyOverByFacilities.cs" />
<Compile Include="Flyover\WULA_FlyOverDropPod\CompProperties_FlyOverDropPod.cs" />
<Compile Include="Flyover\WULA_FlyOverEscort\CompFlyOverEscort.cs" />
<Compile Include="Flyover\WULA_FlyOverEscort\CompProperties_FlyOverEscort.cs" />
<Compile Include="Flyover\WULA_FlyOverFacilities\CompAbilityEffect_RequireFlyOverFacility.cs" />
<Compile Include="Flyover\WULA_FlyOverFacilities\CompFlyOverFacilities.cs" />
<Compile Include="Flyover\WULA_GlobalFlyOverCooldown\CompAbilityEffect_GlobalFlyOverCooldown.cs" />
<Compile Include="Flyover\WULA_GlobalFlyOverCooldown\CompFlyOverCooldown.cs" />
<Compile Include="Flyover\WULA_GroundStrafing\CompGroundStrafing.cs" />
<Compile Include="Flyover\WULA_SectorSurveillance\CompSectorSurveillance.cs" />
<Compile Include="Flyover\WULA_SendLetterAfterTicks\CompProperties_SendLetterAfterTicks.cs" />
<Compile Include="Flyover\WULA_SendLetterAfterTicks\CompSendLetterAfterTicks.cs" />
<Compile Include="Flyover\WULA_ShipArtillery\CompProperties_ShipArtillery.cs" />
<Compile Include="Flyover\WULA_ShipArtillery\CompShipArtillery.cs" />
<Compile Include="Flyover\WULA_SpawnFlyOver\CompAbilityEffect_SpawnFlyOver.cs" />
<Compile Include="Flyover\WULA_SpawnFlyOver\CompProperties_AbilitySpawnFlyOver.cs" />
<Compile Include="GlobalWorkTable\Building_GlobalWorkTable.cs" />
<Compile Include="GlobalWorkTable\CompProperties_ProductionCategory.cs" />
<Compile Include="GlobalWorkTable\GlobalProductionOrder.cs" />
<Compile Include="GlobalWorkTable\GlobalProductionOrderStack.cs" />
<Compile Include="GlobalWorkTable\GlobalStorageWorldComponent.cs" />
<Compile Include="GlobalWorkTable\GlobalWorkTableAirdropExtension.cs" />
<Compile Include="GlobalWorkTable\ITab_GlobalBills.cs" />
<Compile Include="GlobalWorkTable\JobDriver_GlobalWorkTable.cs" />
<Compile Include="GlobalWorkTable\WorkGiver_GlobalWorkTable.cs" />
<Compile Include="GlobalWorkTable\WULA_Launchable_ToGlobalStorage\CompLaunchable_ToGlobalStorage.cs" />
<Compile Include="GlobalWorkTable\WULA_Launchable_ToGlobalStorage\CompProperties_GarbageShield.cs" />
<Compile Include="GlobalWorkTable\WULA_Launchable_ToGlobalStorage\CompProperties_Launchable_ToGlobalStorage.cs" />
<Compile Include="GlobalWorkTable\WULA_ValueConverter\CompProperties_ValueConverter.cs" />
<Compile Include="GlobalWorkTable\WULA_ValueConverter\CompValueConverter.cs" />
<Compile Include="HarmonyPatches\Caravan_NeedsTracker_TrySatisfyPawnNeeds_Patch.cs" />
<Compile Include="HarmonyPatches\DamageInfo_Constructor_Patch.cs" />
<Compile Include="HarmonyPatches\Faction_ShouldHaveLeader_Patch.cs" />
<Compile Include="HarmonyPatches\FloatMenuOptionProvider_Ingest_Patch.cs" />
<Compile Include="HarmonyPatches\Hediff_Mechlink_PostAdd_Patch.cs" />
<Compile Include="HarmonyPatches\IngestPatch.cs" />
<Compile Include="HarmonyPatches\MapParent_ShouldRemoveMapNow_Patch.cs" />
<Compile Include="HarmonyPatches\MechanitorPatch.cs" />
<Compile Include="HarmonyPatches\MechanitorUtility_InMechanitorCommandRange_Patch.cs" />
<Compile Include="HarmonyPatches\MechWeapon\CompMechWeapon.cs" />
<Compile Include="HarmonyPatches\MechWeapon\FloatMenuProvider_Mech.cs" />
<Compile Include="HarmonyPatches\MechWeapon\Patch_MissingWeapon.cs" />
<Compile Include="HarmonyPatches\MechWeapon\Patch_WeaponDrop.cs" />
<Compile Include="HarmonyPatches\NoBloodForWulaPatch.cs" />
<Compile Include="HarmonyPatches\Patch_CaravanInventoryUtility_FindShuttle.cs" />
<Compile Include="HarmonyPatches\Patch_CaravanUIUtility_AddPawnsSections_Postfix.cs" />
<Compile Include="HarmonyPatches\Patch_DropCellFinder_SkyfallerCanLandAt.cs" />
<Compile Include="HarmonyPatches\Patch_JobGiver_GatherOfferingsForPsychicRitual.cs" />
<Compile Include="HarmonyPatches\Patch_Pawn_JobTracker_StartJob.cs" />
<Compile Include="HarmonyPatches\Patch_Pawn_PreApplyDamage.cs" />
<Compile Include="HarmonyPatches\Patch_ThingDefGenerator_Techprints_ImpliedTechprintDefs.cs" />
<Compile Include="HarmonyPatches\Projectile_Launch_Patch.cs" />
<Compile Include="HarmonyPatches\ScenPart_PlayerPawnsArriveMethod_Patch.cs" />
<Compile Include="HarmonyPatches\WulaSpeciesCorpsePatch.cs" />
<Compile Include="HarmonyPatches\WULA_AutonomousMech\Patch_Alert_MechLacksOverseer.cs" />
<Compile Include="HarmonyPatches\WULA_AutonomousMech\Patch_CaravanFormingUtility_AllSendablePawns.cs" />
<Compile Include="HarmonyPatches\WULA_AutonomousMech\Patch_FloatMenuOptionProvider_SelectedPawnValid.cs" />
<Compile Include="HarmonyPatches\WULA_AutonomousMech\Patch_IsColonyMechPlayerControlled.cs" />
<Compile Include="HarmonyPatches\WULA_AutonomousMech\Patch_MainTabWindow_Mechs_Pawns.cs" />
<Compile Include="HarmonyPatches\WULA_AutonomousMech\Patch_MechanitorUtility_CanDraftMech.cs" />
<Compile Include="HarmonyPatches\WULA_AutonomousMech\Patch_MechanitorUtility_EverControllable.cs" />
<Compile Include="HarmonyPatches\WULA_AutonomousMech\Patch_Pawn_ThreatDisabled.cs" />
<Compile Include="HarmonyPatches\WULA_AutonomousMech\Patch_UncontrolledMechDrawPulse.cs" />
<Compile Include="HarmonyPatches\WULA_TurretForceTargetable\CompForceTargetable.cs" />
<Compile Include="HarmonyPatches\WULA_TurretForceTargetable\Patch_ForceTargetable.cs" />
<Compile Include="HediffComp\HediffCompProperties_DisappearWithEffect.cs" />
<Compile Include="HediffComp\HediffCompProperties_GiveHediffsInRangeToRace.cs" />
<Compile Include="HediffComp\HediffCompProperties_NanoRepair.cs" />
<Compile Include="HediffComp\HediffCompProperties_SwitchableHediff.cs" />
<Compile Include="HediffComp\HediffComp_DamageResponse.cs" />
<Compile Include="HediffComp\HediffComp_GiveHediffsInRangeToRace.cs" />
<Compile Include="HediffComp\HediffComp_RegenerateBackstory.cs" />
<Compile Include="HediffComp\HediffComp_TimedExplosion.cs" />
<Compile Include="HediffComp\WULA_HediffComp_TopTurret\HediffComp_TopTurret.cs" />
<Compile Include="HediffComp\WULA_HediffDamgeShield\DRMDamageShield.cs" />
<Compile Include="HediffComp\WULA_HediffDamgeShield\Hediff_DamageShield.cs" />
<Compile Include="HediffComp\WULA_HediffSpawner\HediffCompProperties_Spawner.cs" />
<Compile Include="HediffComp\WULA_HediffSpawner\HediffComp_Spawner.cs" />
<Compile Include="HediffComp\WULA_HediffSpawner\Tools.cs" />
<Compile Include="Job\JobDriver_InspectBuilding.cs" />
<Compile Include="Job\JobGiver_InspectBuilding.cs" />
<Compile Include="Pawn\Comp_MultiTurretGun.cs" />
<Compile Include="Pawn\Comp_PawnRenderExtra.cs" />
<Compile Include="Pawn\WULA_AutoMechCarrier\CompAutoMechCarrier.cs" />
<Compile Include="Pawn\WULA_AutoMechCarrier\CompProperties_AutoMechCarrier.cs" />
<Compile Include="Pawn\WULA_AutoMechCarrier\PawnProductionEntry.cs" />
<Compile Include="Pawn\WULA_AutonomousMech\CompAutonomousMech.cs" />
<Compile Include="Pawn\WULA_AutonomousMech\DroneGizmo.cs" />
<Compile Include="Pawn\WULA_AutonomousMech\DroneWorkModeDef.cs" />
<Compile Include="Pawn\WULA_AutonomousMech\JobDriver_DroneSelfShutdown.cs" />
<Compile Include="Pawn\WULA_AutonomousMech\JobGiver_DroneSelfShutdown.cs" />
<Compile Include="Pawn\WULA_AutonomousMech\PawnColumnWorker_DroneEnergy.cs" />
<Compile Include="Pawn\WULA_AutonomousMech\PawnColumnWorker_DroneWorkMode.cs" />
<Compile Include="Pawn\WULA_AutonomousMech\ThinkNode_ConditionalAutonomousWorkMode.cs" />
<Compile Include="Pawn\WULA_AutonomousMech\ThinkNode_ConditionalLowEnergy_Drone.cs" />
<Compile Include="Pawn\WULA_AutonomousMech\ThinkNode_ConditionalNeedRecharge.cs" />
<Compile Include="Pawn\WULA_AutonomousMech\ThinkNode_ConditionalWorkMode_Drone.cs" />
<Compile Include="Pawn\WULA_BrokenPersonality\MentalBreakWorker_BrokenPersonality.cs" />
<Compile Include="Pawn\WULA_BrokenPersonality\MentalStateDefExtension_BrokenPersonality.cs" />
<Compile Include="Pawn\WULA_BrokenPersonality\MentalState_BrokenPersonality.cs" />
<Compile Include="Pawn\WULA_CompHediffGiver\CompHediffGiver.cs" />
<Compile Include="Pawn\WULA_CompHediffGiver\CompProperties_HediffGiver.cs" />
<Compile Include="Pawn\WULA_Energy\CompChargingBed.cs" />
<Compile Include="Pawn\WULA_Energy\HediffComp_WulaCharging.cs" />
<Compile Include="Pawn\WULA_Energy\JobDriver_FeedWulaPatient.cs" />
<Compile Include="Pawn\WULA_Energy\JobDriver_IngestWulaEnergy.cs" />
<Compile Include="Pawn\WULA_Energy\JobGiverDefExtension_WulaPackEnergy.cs" />
<Compile Include="Pawn\WULA_Energy\JobGiver_WulaGetEnergy.cs" />
<Compile Include="Pawn\WULA_Energy\JobGiver_WulaPackEnergy.cs" />
<Compile Include="Pawn\WULA_Energy\NeedDefExtension_Energy.cs" />
<Compile Include="Pawn\WULA_Energy\Need_WulaEnergy.cs" />
<Compile Include="Pawn\WULA_Energy\ThingDefExtension_EnergySource.cs" />
<Compile Include="Pawn\WULA_Energy\WorkGiverDefExtension_FeedWula.cs" />
<Compile Include="Pawn\WULA_Energy\WorkGiver_FeedWulaPatient.cs" />
<Compile Include="Pawn\WULA_Energy\WorkGiver_Warden_DeliverEnergy.cs" />
<Compile Include="Pawn\WULA_Energy\WorkGiver_Warden_FeedWula.cs" />
<Compile Include="Pawn\WULA_Energy\WulaCaravanEnergyDef.cs" />
<Compile Include="Pawn\WULA_Flight\CompPawnFlight.cs" />
<Compile Include="Pawn\WULA_Flight\CompProperties_PawnFlight.cs" />
<Compile Include="Pawn\WULA_Flight\PawnRenderNodeWorker_AttachmentBody_NoFlight.cs" />
<Compile Include="Pawn\WULA_Flight\Pawn_FlightTrackerPatches.cs" />
<Compile Include="Pawn\WULA_Maintenance\Building_MaintenancePod.cs" />
<Compile Include="Pawn\WULA_Maintenance\CompMaintenancePod.cs" />
<Compile Include="Pawn\WULA_Maintenance\HediffCompProperties_MaintenanceDamage.cs" />
<Compile Include="Pawn\WULA_Maintenance\JobDriver_EnterMaintenancePod.cs" />
<Compile Include="Pawn\WULA_Maintenance\JobDriver_HaulToMaintenancePod.cs" />
<Compile Include="Pawn\WULA_Maintenance\MaintenanceNeedExtension.cs" />
<Compile Include="Pawn\WULA_Maintenance\Need_Maintenance.cs" />
<Compile Include="Pawn\WULA_Maintenance\WorkGiver_DoMaintenance.cs" />
<Compile Include="Placeworker\CompProperties_CustomRadius.cs" />
<Compile Include="Projectiles\BulletWithTrail.cs" />
<Compile Include="Projectiles\ExplosiveTrackingBulletDef.cs" />
<Compile Include="Projectiles\NorthArcModExtension.cs" />
<Compile Include="Projectiles\Projectile_ConfigurableHellsphereCannon.cs" />
<Compile Include="Projectiles\Projectile_CruiseMissile.cs" />
<Compile Include="Projectiles\Projectile_ExplosiveTrackingBullet.cs" />
<Compile Include="Projectiles\Projectile_ExplosiveWithTrail.cs" />
<Compile Include="Projectiles\Projectile_NorthArcTrail.cs" />
<Compile Include="Projectiles\Projectile_TrackingBullet.cs" />
<Compile Include="Projectiles\Projectile_WulaPenetratingBeam.cs" />
<Compile Include="Projectiles\Projectile_WulaPenetratingBullet.cs" />
<Compile Include="Projectiles\TrackingBulletDef.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="QuestNodes\QuestNode_AddInspectionJob.cs" />
<Compile Include="QuestNodes\QuestNode_CheckGlobalResource.cs" />
<Compile Include="QuestNodes\QuestNode_GeneratePawnWithCustomization.cs" />
<Compile Include="QuestNodes\QuestNode_Hyperlinks.cs" />
<Compile Include="QuestNodes\QuestNode_SpawnPrefabSkyfallerCaller.cs" />
<Compile Include="QuestNodes\QuestPart_GlobalResourceCheck.cs" />
<Compile Include="SectionLayer_WulaHull.cs" />
<Compile Include="Stat\StatWorker_Energy.cs" />
<Compile Include="Stat\StatWorker_Maintenance.cs" />
<Compile Include="Stat\StatWorker_NanoRepair.cs" />
<Compile Include="Storyteller\WULA_ImportantQuestWithFactionFilter\StorytellerCompProperties_ImportantQuestWithFactionFilter.cs" />
<Compile Include="Storyteller\WULA_ImportantQuestWithFactionFilter\StorytellerComp_ImportantQuestWithFactionFilter.cs" />
<Compile Include="Storyteller\WULA_SimpleTechnologyTrigger\StorytellerCompProperties_SimpleTechnologyTrigger.cs" />
<Compile Include="Storyteller\WULA_SimpleTechnologyTrigger\StorytellerComp_SimpleTechnologyTrigger.cs" />
<Compile Include="ThingComp\CompAndPatch_GiveHediffOnShot.cs" />
<Compile Include="ThingComp\CompApparelInterceptor.cs" />
<Compile Include="ThingComp\CompProperties_DelayedDamageIfNotPlayer.cs" />
<Compile Include="ThingComp\CompPsychicScaling.cs" />
<Compile Include="ThingComp\CompUseEffect_AddDamageShieldCharges.cs" />
<Compile Include="ThingComp\CompUseEffect_OpenCustomUI.cs" />
<Compile Include="ThingComp\CompUseEffect_PassionTrainer.cs" />
<Compile Include="ThingComp\CompUseEffect_WulaSkillTrainer.cs" />
<Compile Include="ThingComp\Comp_WeaponRenderDynamic.cs" />
<Compile Include="ThingComp\WULA_AreaDamage\CompAreaDamage.cs" />
<Compile Include="ThingComp\WULA_AreaDamage\CompProperties_AreaDamage.cs" />
<Compile Include="ThingComp\WULA_AreaShield\AreaShieldManager.cs" />
<Compile Include="ThingComp\WULA_AreaShield\CompProperties_AreaShield.cs" />
<Compile Include="ThingComp\WULA_AreaShield\Gizmo_AreaShieldStatus.cs" />
<Compile Include="ThingComp\WULA_AreaShield\Harmony_AreaShieldInterceptor.cs" />
<Compile Include="ThingComp\WULA_AreaShield\ThingComp_AreaShield.cs" />
<Compile Include="ThingComp\WULA_AreaTeleporter\CompProperties_AreaTeleporter.cs" />
<Compile Include="ThingComp\WULA_AreaTeleporter\ThingComp_AreaTeleporter.cs" />
<Compile Include="ThingComp\WULA_CustomUniqueWeapon\CompCustomUniqueWeapon.cs" />
<Compile Include="ThingComp\WULA_CustomUniqueWeapon\CompProperties_CustomUniqueWeapon.cs" />
<Compile Include="ThingComp\WULA_DamageTransaction\CompDamageInterceptor.cs" />
<Compile Include="ThingComp\WULA_DamageTransaction\CompDamageRelay.cs" />
<Compile Include="ThingComp\WULA_DamageTransaction\CompProperties_DamageInterceptor.cs" />
<Compile Include="ThingComp\WULA_DamageTransaction\CompProperties_DamageRelay.cs" />
<Compile Include="ThingComp\WULA_GiveHediffsInRange\CompGiveHediffsInRange.cs" />
<Compile Include="ThingComp\WULA_GiveHediffsInRange\CompProperties_GiveHediffsInRange.cs" />
<Compile Include="ThingComp\WULA_MechRepairKit\CompUseEffect_FixAllHealthConditions.cs" />
<Compile Include="ThingComp\WULA_MechRepairKit\Recipe_AdministerWulaMechRepairKit.cs" />
<Compile Include="ThingComp\WULA_PeriodicGameCondition\CompPeriodicGameCondition.cs" />
<Compile Include="ThingComp\WULA_PeriodicGameCondition\CompProperties_PeriodicGameCondition.cs" />
<Compile Include="ThingComp\WULA_PersonaCore\CompExperienceCore.cs" />
<Compile Include="ThingComp\WULA_PersonaCore\CompExperienceDataPack.cs" />
<Compile Include="ThingComp\WULA_PersonaCore\CompProperties_ExperienceCore.cs" />
<Compile Include="ThingComp\WULA_PlaySoundOnSpawn\CompPlaySoundOnSpawn.cs" />
<Compile Include="ThingComp\WULA_PlaySoundOnSpawn\CompProperties_PlaySoundOnSpawn.cs" />
<Compile Include="ThingComp\WULA_PsychicRitual\CompWulaRitualSpot.cs" />
<Compile Include="ThingComp\WULA_PsychicRitual\PsychicRitualDef_AddHediff.cs" />
<Compile Include="ThingComp\WULA_PsychicRitual\PsychicRitualDef_Wula.cs" />
<Compile Include="ThingComp\WULA_PsychicRitual\PsychicRitualDef_WulaBase.cs" />
<Compile Include="ThingComp\WULA_PsychicRitual\PsychicRitualToil_AddHediff.cs" />
<Compile Include="ThingComp\WULA_PsychicRitual\PsychicRitualToil_GatherForInvocation_Wula.cs" />
<Compile Include="ThingComp\WULA_PsychicRitual\PsychicRitual_TechOffering.cs" />
<Compile Include="ThingComp\WULA_PsychicRitual\RitualTagExtension.cs" />
<Compile Include="ThingComp\WULA_SkyfallerPawnSpawner\CompProperties_SkyfallerPawnSpawner.cs" />
<Compile Include="ThingComp\WULA_SkyfallerPawnSpawner\Skyfaller_PawnSpawner.cs" />
<Compile Include="ThingComp\WULA_WeaponSwitch\CompAbilityEffect_GiveSwitchHediff.cs" />
<Compile Include="ThingComp\WULA_WeaponSwitch\CompAbilityEffect_RemoveSwitchHediff.cs" />
<Compile Include="ThingComp\WULA_WeaponSwitch\WeaponSwitch.cs" />
<Compile Include="Utils\BezierUtil.cs" />
<Compile Include="Verb\MeleeAttack_Cleave\CompCleave.cs" />
<Compile Include="Verb\MeleeAttack_Cleave\Verb_MeleeAttack_Cleave.cs" />
<Compile Include="Verb\MeleeAttack_MultiStrike\CompMultiStrike.cs" />
<Compile Include="Verb\MeleeAttack_MultiStrike\Verb_MeleeAttack_MultiStrike.cs" />
<Compile Include="Verb\Verb_Excalibur\Thing_ExcaliburBeam.cs" />
<Compile Include="Verb\Verb_Excalibur\VerbProperties_Excalibur.cs" />
<Compile Include="Verb\Verb_Excalibur\Verb_Excalibur.cs" />
<Compile Include="Verb\Verb_ShootArc.cs" />
<Compile Include="Verb\Verb_ShootBeamExplosive\VerbPropertiesExplosiveBeam.cs" />
<Compile Include="Verb\Verb_ShootBeamExplosive\Verb_ShootBeamExplosive.cs" />
<Compile Include="Verb\Verb_ShootBeamSplitAndChain.cs" />
<Compile Include="Verb\Verb_ShootMeltBeam.cs" />
<Compile Include="Verb\Verb_ShootShotgun.cs" />
<Compile Include="Verb\Verb_ShootShotgunWithOffset.cs" />
<Compile Include="Verb\Verb_ShootWeaponStealBeam\VerbProperties_WeaponStealBeam.cs" />
<Compile Include="Verb\Verb_ShootWeaponStealBeam\Verb_ShootWeaponStealBeam.cs" />
<Compile Include="Verb\Verb_ShootWithOffset.cs" />
<Compile Include="WorkGiver\WorkGiver_DeepDrill_WulaConstructor.cs" />
<Compile Include="WulaDefOf.cs" />
<Compile Include="WulaFallenEmpireMod.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- 自定义清理任务删除obj文件夹中的临时文件 -->