环形轰炸,区域监视,光矛扫射

This commit is contained in:
2025-11-10 11:57:16 +08:00
parent 11c58f1b39
commit 97a1cbcf77
19 changed files with 2360 additions and 2 deletions

View File

@@ -635,11 +635,10 @@
</comps>
</AbilityDef>
<!-- 炮击 -->
<AbilityDef>
<defName>WULA_Firepower_Minigun_Strafe</defName>
<label>链炮扫射</label>
<description>以战舰上的自动链炮对目标区域进行可选方向的扫射,射击速度和冷却都很快,但是威力欠佳。</description>
<description>以战舰上的自动链炮对目标区域进行可选方向的扫射,射击速度和冷却都很快,对轻甲目标有效,但是威力欠佳。</description>
<!-- <iconPath>ArachnaeSwarm/UI/Abilities/ARA_Spawn_ARA_HiveCorvette_Rocket</iconPath> -->
<cooldownTicksRange>1</cooldownTicksRange>
<hotKey>Misc12</hotKey>
@@ -682,4 +681,127 @@
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>WULA_Firepower_Cannon_Salvo</defName>
<label>轻型舰炮齐射</label>
<description>指挥战舰侧弦的副炮进行一轮共计12发炮弹的齐射造成中规中矩的毁伤。</description>
<!-- <iconPath>ArachnaeSwarm/UI/Abilities/ARA_Spawn_ARA_HiveCorvette_Rocket</iconPath> -->
<cooldownTicksRange>1</cooldownTicksRange>
<hotKey>Misc12</hotKey>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<drawAimPie>false</drawAimPie>
<requireLineOfSight>false</requireLineOfSight>
<warmupTime>1</warmupTime>
<range>120</range>
<targetable>true</targetable>
<targetParams>
<canTargetSelf>false</canTargetSelf>
<canTargetLocations>true</canTargetLocations>
</targetParams>
</verbProperties>
<comps>
<li Class="WulaFallenEmpire.CompProperties_GlobalFlyOverCooldown">
<globalCooldownTicks>1000</globalCooldownTicks>
<requiredFacility>BombardmentFacility</requiredFacility>
</li>
<li Class="WulaFallenEmpire.CompProperties_AbilityCircularBombardment">
<radius>10</radius>
<simultaneousLaunches>3</simultaneousLaunches>
<launchIntervalTicks>90</launchIntervalTicks>
<maxLaunches>12</maxLaunches>
<warmupTicks>120</warmupTicks>
<!-- 独立间隔模式:组内依次发射 -->
<useIndependentIntervals>true</useIndependentIntervals>
<innerLaunchIntervalTicks>5</innerLaunchIntervalTicks>
<skyfallerDef>WULA_Firepower_Cannon_Salvo_Skyfaller</skyfallerDef>
<showBombardmentArea>true</showBombardmentArea>
<showImpactPreview>false</showImpactPreview>
</li>
<li Class="WulaFallenEmpire.CompProperties_RequireFlyOverFacility">
<!-- <flyOverDef></flyOverDef> -->
<requiredFacility>BombardmentFacility</requiredFacility>
<facilityNotFoundMessage>需要拥有&lt;color=#BD2F31>&lt;i>武器阵列&lt;/i>&lt;/color>设施的战舰在地图上才能进行轨道炮击支援</facilityNotFoundMessage>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>WULA_Firepower_Cannon_Surveillance</defName>
<label>轻型舰炮监视</label>
<description>指挥战舰侧弦的副炮监视一个区域30秒对任何进入范围的敌对目标进行炮击。</description>
<!-- <iconPath>ArachnaeSwarm/UI/Abilities/ARA_Spawn_ARA_HiveCorvette_Rocket</iconPath> -->
<cooldownTicksRange>1</cooldownTicksRange>
<hotKey>Misc12</hotKey>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<drawAimPie>false</drawAimPie>
<requireLineOfSight>false</requireLineOfSight>
<warmupTime>1</warmupTime>
<range>120</range>
<targetable>true</targetable>
<targetParams>
<canTargetSelf>false</canTargetSelf>
<canTargetLocations>true</canTargetLocations>
</targetParams>
</verbProperties>
<comps>
<li Class="WulaFallenEmpire.CompProperties_GlobalFlyOverCooldown">
<globalCooldownTicks>1000</globalCooldownTicks>
<requiredFacility>BombardmentFacility</requiredFacility>
</li>
<li Class="WulaFallenEmpire.CompProperties_AbilityCallSkyfaller">
<delayTicks>180</delayTicks>
<skyfallerDef>WULA_Firepower_Cannon_Surveillance_Skyfaller</skyfallerDef>
<previewRadius>12</previewRadius>
<previewColor>(0.85,0.85,0.3,0.5)</previewColor>
</li>
<li Class="WulaFallenEmpire.CompProperties_RequireFlyOverFacility">
<!-- <flyOverDef></flyOverDef> -->
<requiredFacility>BombardmentFacility</requiredFacility>
<facilityNotFoundMessage>需要拥有&lt;color=#BD2F31>&lt;i>武器阵列&lt;/i>&lt;/color>设施的战舰在地图上才能进行轨道炮击支援</facilityNotFoundMessage>
</li>
</comps>
</AbilityDef>
<AbilityDef>
<defName>WULA_Firepower_EnergyLance_Strafe</defName>
<label>光矛扫射</label>
<description>指挥战舰侧弦的光矛阵列,发射一道光矛横扫战场,造成大量的热能伤害。</description>
<!-- <iconPath>ArachnaeSwarm/UI/Abilities/ARA_Spawn_ARA_HiveCorvette_Rocket</iconPath> -->
<cooldownTicksRange>1</cooldownTicksRange>
<hotKey>Misc12</hotKey>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<drawAimPie>false</drawAimPie>
<requireLineOfSight>false</requireLineOfSight>
<warmupTime>1</warmupTime>
<range>120</range>
<targetable>true</targetable>
<targetParams>
<canTargetSelf>false</canTargetSelf>
<canTargetLocations>true</canTargetLocations>
</targetParams>
</verbProperties>
<comps>
<li Class="WulaFallenEmpire.CompProperties_GlobalFlyOverCooldown">
<globalCooldownTicks>1000</globalCooldownTicks>
<requiredFacility>BombardmentFacility</requiredFacility>
</li>
<li Class="WulaFallenEmpire.CompProperties_EnergyLance">
<durationTicks>600</durationTicks>
<moveDistance>20</moveDistance>
<useFixedDistance>true</useFixedDistance>
<firesPerTick>3</firesPerTick>
</li>
<li Class="WulaFallenEmpire.CompProperties_RequireFlyOverFacility">
<!-- <flyOverDef></flyOverDef> -->
<requiredFacility>BombardmentFacility</requiredFacility>
<facilityNotFoundMessage>需要拥有&lt;color=#BD2F31>&lt;i>武器阵列&lt;/i>&lt;/color>设施的战舰在地图上才能进行轨道炮击支援</facilityNotFoundMessage>
</li>
</comps>
</AbilityDef>
</Defs>

View File

@@ -74,6 +74,7 @@
<li Class="HediffCompProperties_GiveAbility">
<abilityDefs>
<li>WULA_Firepower_Minigun_Strafe</li>
<li>WULA_Firepower_Cannon_Salvo</li>
</abilityDefs>
</li>
</comps>

View File

@@ -749,4 +749,187 @@
<defaultDamage>25</defaultDamage>
<soundExplosion>Explosion_Bomb</soundExplosion>
</DamageDef>
<ThingDef ParentName="SkyfallerBase">
<defName>WULA_Firepower_Cannon_Salvo_Skyfaller</defName>
<label>轻型副炮炮弹</label>
<size>(1, 1)</size>
<graphicData>
<texPath>Wula/Projectile/WULA_Bullet_ChargeLanceShot_Red</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>MoteGlow</shaderType>
<drawSize>8</drawSize>
</graphicData>
<skyfaller>
<movementType>Accelerate</movementType>
<shadow>Things/Skyfaller/SkyfallerShadowDropPod</shadow>
<shadowSize>(1, 1)</shadowSize>
<anticipationSound>DropPod_Fall</anticipationSound>
<anticipationSoundTicks>100</anticipationSoundTicks>
<impactSound>Explosion_Bomb</impactSound>
<moteSpawnTime>0.05</moteSpawnTime>
<motesPerCell>1</motesPerCell>
<cameraShake>1</cameraShake>
<rotationCurve>
<points>
<li>(0,180)</li>
<li>(1, 181)</li>
</points>
</rotationCurve>
<angleCurve>
<points>
<li>(0,0)</li>
<li>(1, 1)</li>
</points>
</angleCurve>
<explosionRadius>6</explosionRadius>
<explosionDamage>Bomb</explosionDamage>
<explosionDamageFactor>0.85</explosionDamageFactor>
</skyfaller>
</ThingDef>
<ThingDef ParentName="SkyfallerBase">
<defName>WULA_Firepower_Cannon_Surveillance_Skyfaller</defName>
<label>舰炮监视信标</label>
<size>(1,1)</size>
<graphicData>
<texPath>Wula/Building/WULA_WeaponArmor_Productor_Incoming</texPath>
<graphicClass>Graphic_Single</graphicClass>
<shaderType>CutoutFlying</shaderType>
<drawSize>(1,1)</drawSize>
</graphicData>
<skyfaller>
<movementType>Accelerate</movementType>
<shadow>Things/Skyfaller/SkyfallerShadowDropPod</shadow>
<shadowSize>(5, 5)</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_Firepower_Cannon_Surveillance_Beacon</spawnThing>
</skyfaller>
</ThingDef>
<ThingDef ParentName="BuildingBase">
<defName>WULA_Firepower_Cannon_Surveillance_Beacon</defName>
<label>舰炮监视信标</label>
<description>一枚标定监视区的轰炸信标,进入此处的敌对势力都会被乌拉帝国舰队的舰炮狠狠打击。</description>
<uiIconPath>Wula/Building/WULA_WeaponArmor_Productor</uiIconPath>
<tickerType>Normal</tickerType>
<selectable>true</selectable>
<useHitPoints>false</useHitPoints>
<size>(1,1)</size>
<graphicData>
<texPath>Wula/Building/WULA_Dropping_Building_Cleanzone</texPath>
<graphicClass>Graphic_Multi</graphicClass>
<drawSize>(3,3)</drawSize>
<damageData>
<enabled>false</enabled>
</damageData>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<passability>Standable</passability>
<castEdgeShadows>false</castEdgeShadows>
<fillPercent>0.5</fillPercent>
<canOverlapZones>false</canOverlapZones>
<pathCost>0</pathCost>
<hasInteractionCell>false</hasInteractionCell>
<rotatable>false</rotatable>
<statBases>
<WorkToBuild>1</WorkToBuild>
<Mass>0</Mass>
<Flammability>0</Flammability>
</statBases>
<resourcesFractionWhenDeconstructed>0</resourcesFractionWhenDeconstructed>
<building>
<destroySound>BuildingDestroyed_Metal_Small</destroySound>
</building>
<comps>
<li Class="CompProperties_OrbitalBeam">
<width>0.2</width>
<color>(255, 20, 20, 242)</color>
</li>
<li Class="WulaFallenEmpire.CompProperties_CustomRadius">
<radius>12</radius> <!-- 半径大小 -->
<color>(1, 1, 1)</color> <!-- 绿色圆圈 -->
<radiusOffset>0</radiusOffset> <!-- 半径偏移 -->
<showInGUI>true</showInGUI>
<label>射程</label>
<description>该信标所标定的舰炮监视范围,进入其中的敌军将遭到炮击</description>
<defaultVisible>true</defaultVisible>
</li>
<li Class="WulaFallenEmpire.CompProperties_BuildingBombardment">
<radius>12</radius>
<targetEnemies>true</targetEnemies>
<targetNeutrals>false</targetNeutrals>
<targetAnimals>false</targetAnimals>
<burstCount>3</burstCount>
<innerBurstIntervalTicks>15</innerBurstIntervalTicks>
<burstIntervalTicks>120</burstIntervalTicks>
<randomOffset>3</randomOffset>
<skyfallerDef>WULA_Firepower_Cannon_Salvo_Skyfaller</skyfallerDef>
</li>
<li Class="WulaFallenEmpire.CompProperties_FactionSetter">
<!-- <factionDef>Mechanoid</factionDef> 不写默认玩家派系-->
<usePlayerFactionIfNull>true</usePlayerFactionIfNull>
<overrideExistingFaction>false</overrideExistingFaction>
</li>
<li Class="CompProperties_Lifespan">
<lifespanTicks>3600</lifespanTicks>
</li>
<li Class="CompProperties_Glower">
<glowRadius>6</glowRadius>
<glowColor>(0.85,0.85,0.3,0.5)</glowColor>
</li>
</comps>
</ThingDef>
<ThingDef ParentName="OrbitalStrikeBase">
<defName>WULA_EnergyLance_Base</defName>
<label>power beam</label>
<thingClass>PowerBeam</thingClass>
</ThingDef>
<ThingDef ParentName="OrbitalStrikeBase">
<defName>WULA_EnergyLance_Base</defName>
<label>energy lance</label>
<thingClass>WulaFallenEmpire.EnergyLance</thingClass>
<modExtensions>
<li Class="WulaFallenEmpire.EnergyLanceExtension">
<damageDef>Flame</damageDef>
<igniteFires>true</igniteFires>
<fireIgniteChance>0.9</fireIgniteChance>
<damageAmountRange>
<min>60</min>
<max>95</max>
</damageAmountRange>
<corpseDamageAmountRange>
<min>5</min>
<max>10</max>
</corpseDamageAmountRange>
</li>
</modExtensions>
<comps>
<!-- 使用原版的轨道光束组件 -->
<li Class="CompProperties_OrbitalBeam">
<width>6</width>
<color>(255, 200, 50, 242)</color>
<sound>OrbitalBeam</sound>
</li>
<li Class="CompProperties_CameraShaker">
<mag>0.02</mag>
</li>
<li Class="CompProperties_AffectsSky">
<skyColors>
<sky>(255, 220, 180)</sky>
<shadow>(220, 200, 160)</shadow>
<overlay>(255, 240, 200)</overlay>
<saturation>1.2</saturation>
</skyColors>
</li>
</comps>
</ThingDef>
</Defs>