1
@@ -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>
|
||||
|
||||
@@ -161,6 +161,48 @@
|
||||
</li>
|
||||
</modExtensions>
|
||||
</DamageDef>
|
||||
|
||||
|
||||
<DamageDef ParentName="StunBase">
|
||||
<defName>WULA_WM_Disturber_Turret_Damage</defName>
|
||||
<label>等离子干扰</label>
|
||||
<workerClass>WulaFallenEmpire.DamageWorker_ExtraDamage</workerClass>
|
||||
<externalViolenceForMechanoids>true</externalViolenceForMechanoids>
|
||||
<deathMessage>{0} 被等离子干扰而亡。</deathMessage>
|
||||
<harmsHealth>true</harmsHealth>
|
||||
<impactSoundType>Electric</impactSoundType>
|
||||
<defaultDamage>50</defaultDamage>
|
||||
<explosionSnowMeltAmount>0</explosionSnowMeltAmount>
|
||||
<!-- <explosionCellFleck>BlastEMP</explosionCellFleck> -->
|
||||
<!-- <explosionColorEdge>(0.8, 0.8, 0.8, 0.8)</explosionColorEdge>
|
||||
<explosionInteriorFleck>ElectricalSpark</explosionInteriorFleck> -->
|
||||
<soundExplosion>Explosion_Vaporize</soundExplosion>
|
||||
<combatLogRules>Damage_EMP</combatLogRules>
|
||||
<causeStun>true</causeStun>
|
||||
<stunResistStat MayRequireAnyOf="Ludeon.RimWorld.Biotech,Ludeon.RimWorld.Anomaly">EMPResistance</stunResistStat>
|
||||
<stunAdaptationTicks>2200</stunAdaptationTicks>
|
||||
<explosionCenterEffecter>WULA_Mech_EMP_Drop_Shockwave</explosionCenterEffecter>
|
||||
|
||||
<modExtensions>
|
||||
<li Class="WulaFallenEmpire.DamageDef_ExtraDamageExtension">
|
||||
<extraLabel>穿透伤害</extraLabel>
|
||||
<showExtraLog>true</showExtraLog>
|
||||
|
||||
<extraDamages>
|
||||
<li>
|
||||
<damageDef>WULA_Armour_Piercing_Projectile_4_Damage</damageDef>
|
||||
<amount>100</amount>
|
||||
<isPercentage>false</isPercentage>
|
||||
<armorPenetration>2</armorPenetration>
|
||||
<!-- <soundDef>EMP_Small</soundDef>
|
||||
<fleckDef>ElectricArc</fleckDef> -->
|
||||
<!-- <minTriggerDamage>5</minTriggerDamage> -->
|
||||
</li>
|
||||
</extraDamages>
|
||||
</li>
|
||||
</modExtensions>
|
||||
</DamageDef>
|
||||
|
||||
|
||||
<DamageDef ParentName="Wula_Dark_Matter_Beam_DMG">
|
||||
<defName>Wula_Psi_Damage</defName>
|
||||
@@ -338,6 +380,87 @@
|
||||
<buildingDamageFactorPassable>0</buildingDamageFactorPassable>
|
||||
</DamageDef>
|
||||
|
||||
<DamageDef ParentName="Bomb">
|
||||
<defName>WULA_Disturber_Turret_Bomb</defName>
|
||||
<label>等离子爆炸</label>
|
||||
<workerClass>WulaFallenEmpire.DamageWorker_ExtraDamage</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.DamageDef_ExtraDamageExtension">
|
||||
<extraLabel>穿透伤害</extraLabel>
|
||||
<showExtraLog>true</showExtraLog>
|
||||
|
||||
<extraDamages>
|
||||
<li>
|
||||
<damageDef>EMP</damageDef>
|
||||
<amount>60</amount>
|
||||
<isPercentage>false</isPercentage>
|
||||
<armorPenetration>2</armorPenetration>
|
||||
<!-- <soundDef>EMP_Small</soundDef>
|
||||
<fleckDef>ElectricArc</fleckDef> -->
|
||||
<!-- <minTriggerDamage>5</minTriggerDamage> -->
|
||||
</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>
|
||||
|
||||
@@ -3,12 +3,14 @@
|
||||
<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.005</growthRate>
|
||||
<graphicData>
|
||||
<texPath>Wula/Mote/WULA_GunTail_Plasma</texPath>
|
||||
<shaderType>MoteGlow</shaderType>
|
||||
<drawSize>1.25</drawSize>
|
||||
<drawSize>3.25</drawSize>
|
||||
<color>(218,255,200,155)</color>
|
||||
</graphicData>
|
||||
</FleckDef>
|
||||
@@ -68,19 +70,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>
|
||||
|
||||
664
1.6/1.6/Defs/QuestScriptDefs/WULA_Boss_Super_Fortress.xml
Normal 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>
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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,312 @@
|
||||
</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>Verb_Shoot</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>
|
||||
</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_2_Shell</texPath>
|
||||
<graphicClass>Graphic_Single</graphicClass>
|
||||
<shaderType>MoteGlow</shaderType>
|
||||
<drawSize>(2.5,3)</drawSize>
|
||||
<color>(218,255,200,255)</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>1</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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
BIN
Content/Sounds/Wula/Wula_Disturber_Turret_Weapon_Explosive.wav
Normal file
|
Before Width: | Height: | Size: 261 KiB After Width: | Height: | Size: 290 KiB |
BIN
Content/Textures/Wula/Building/Wula_Disturber_Turret.png
Normal file
|
After Width: | Height: | Size: 482 KiB |
|
After Width: | Height: | Size: 1.5 MiB |
BIN
Content/Textures/Wula/Building/Wula_Disturber_Turret_Weapon.png
Normal file
|
After Width: | Height: | Size: 367 KiB |
BIN
Content/Textures/Wula/Projectile/WULA_Bullet_Needle_AT.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
Content/Textures/Wula/Projectile/WULA_Energy_2_Shell.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
@@ -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,它们在加载后重新设置
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||