Files
WulaFallenEmpireRW/1.6/1.6/Defs/AbilityDefs/WULA_Misc_Ability.xml
2025-11-21 15:43:54 +08:00

452 lines
17 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Defs>
<AbilityDef>
<defName>Wula_Mech_Mobile_Factory_Produce</defName>
<label>生产战争机器</label>
<description>立刻生产10台CRm-51"兵蚁",快速组织一道近战阵线。</description>
<iconPath>Wula/UI/Abilities/Wula_Mech_Mobile_Factory_Produce</iconPath>
<cooldownTicksRange>5000</cooldownTicksRange>
<charges>5</charges>
<cooldownPerCharge>true</cooldownPerCharge>
<aiCanUse>true</aiCanUse>
<displayOrder>300</displayOrder>
<disableGizmoWhileUndrafted>true</disableGizmoWhileUndrafted>
<displayGizmoWhileUndrafted>false</displayGizmoWhileUndrafted>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>24</range>
<warmupTime>0</warmupTime>
<soundCast>WarqueenWarUrchinsSpawned</soundCast>
<violent>false</violent>
<targetable>false</targetable>
<targetParams>
<canTargetSelf>true</canTargetSelf>
</targetParams>
</verbProperties>
<comps>
<li Class="WulaFallenEmpire.CompProperties_AbilityLaunchMultiProjectile">
<projectileDef>Wula_Mech_Mobile_Factory_Produce_Proj</projectileDef>
<numProjectiles>10</numProjectiles>
</li>
</comps>
</AbilityDef>
<ThingDef ParentName="BaseGrenadeProjectile">
<defName>Wula_Mech_Mobile_Factory_Produce_Proj</defName>
<label>CRm-51"兵蚁"</label>
<thingClass>Projectile_SpawnsPawnZeroAge</thingClass>
<graphicData>
<texPath>Wula/Things/WULA_Mech_Flyer/WULA_Mech_Flyer_south</texPath>
<graphicClass>Graphic_Single</graphicClass>
</graphicData>
<projectile>
<speed>41</speed>
<spawnsPawnKind>WULA_Mech_Flyer</spawnsPawnKind>
<tryAdjacentFreeSpaces>true</tryAdjacentFreeSpaces>
<damageDef>Bullet</damageDef>
<damageAmountBase>1</damageAmountBase>
</projectile>
</ThingDef>
<AbilityDef>
<defName>WULA_PsiCrusher</defName>
<label>乌拉帝国术式:灵能尖啸</label>
<description>以灵能能量发出非人尖啸,直接解构面前扇形区域内的所有目标,无论是建筑物还是活物都难逃毁灭。这种术式需要的灵能难以估量,只有搭载大量封闭灵能回路的灵能泰坦可以连续使用。</description>
<iconPath>UI/Abilities/FireSpew</iconPath>
<writeCombatLog>True</writeCombatLog>
<showPsycastEffects>False</showPsycastEffects>
<aiCanUse>true</aiCanUse>
<cooldownTicksRange>600</cooldownTicksRange>
<warmupEffecter>HoraxianSpellLight_Warmup</warmupEffecter>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<range>18</range>
<warmupTime>1</warmupTime>
<soundCast>WULA_PsiCrusher_Sound</soundCast>
<ai_IsWeapon>false</ai_IsWeapon>
<ai_ProjectileLaunchingIgnoresMeleeThreats>true</ai_ProjectileLaunchingIgnoresMeleeThreats>
<requireLineOfSight>false</requireLineOfSight>
<aimingLineMote>Mote_HellsphereCannon_Aim</aimingLineMote>
<aimingChargeMote>Mote_HellsphereCannon_Charge</aimingChargeMote>
<aimingChargeMoteOffset>1.07</aimingChargeMoteOffset>
<aimingLineMoteFixedLength>32</aimingLineMoteFixedLength>
<targetParams>
<canTargetLocations>true</canTargetLocations>
<canTargetSelf>false</canTargetSelf>
<canTargetPawns>true</canTargetPawns>
<canTargetBuildings>true</canTargetBuildings>
<canTargetPlants>true</canTargetPlants>
</targetParams>
</verbProperties>
<comps>
<li Class="WulaFallenEmpire.CompProperties_AbilityAreaDestruction">
<range>18</range>
<lineWidthEnd>18</lineWidthEnd>
<canHitFilledCells>true</canHitFilledCells>
<affectAllies>false</affectAllies>
<affectCaster>false</affectCaster>
<castEffecter>WULA_AreaDestruction_Shockwave</castEffecter>
<hitEffecter>WULA_AreaDestruction_Hit</hitEffecter>
</li>
</comps>
</AbilityDef>
<EffecterDef>
<defName>WULA_AreaDestruction_Hit</defName>
<children>
<li>
<subEffecterClass>SubEffecter_SprayerTriggered</subEffecterClass>
<positionRadius>0.1</positionRadius>
<moteDef>WULA_Mote_halo</moteDef>
<burstCount>1~1</burstCount>
<speed>0.4~0.8</speed>
<scale>0.05~0.05</scale>
<spawnLocType>OnSource</spawnLocType>
<color>(255,255,255)</color>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggered</subEffecterClass>
<positionRadius>0.02</positionRadius>
<moteDef>WULA_Mote_halo</moteDef>
<burstCount>1~1</burstCount>
<speed>0.3~0.4</speed>
<rotationRate>5~10</rotationRate>
<scale>0.1~0.2</scale>
<spawnLocType>OnSource</spawnLocType>
<color>(255,255,255)</color>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggered</subEffecterClass>
<moteDef>WULA_Mote_ChargeLanceShot</moteDef>
<burstCount>6~12</burstCount>
<scale>0.4~0.8</scale>
<speed>20~40</speed>
<angle>135~225</angle>
<positionRadius>0.01</positionRadius>
<spawnLocType>OnSource</spawnLocType>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggered</subEffecterClass>
<moteDef>WULA_Mote_ChargeLanceShot</moteDef>
<burstCount>5~9</burstCount>
<scale>0.4~0.8</scale>
<speed>10~20</speed>
<angle>135~225</angle>
<positionRadius>0.01</positionRadius>
<spawnLocType>OnSource</spawnLocType>
</li>
</children>
<offsetTowardsTarget>0.25~0.25</offsetTowardsTarget>
<positionRadius>0.1</positionRadius>
</EffecterDef>
<EffecterDef>
<defName>WULA_AreaDestruction_Shockwave</defName>
<children>
<li>
<subEffecterClass>SubEffecter_SprayerTriggered</subEffecterClass>
<fleckDef>Fleck_BlastMechBandShockwave</fleckDef>
<burstCount>3~5</burstCount>
<spawnLocType>OnSource</spawnLocType>
<absoluteAngle>true</absoluteAngle>
<rotation>0~0</rotation>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggered</subEffecterClass>
<moteDef>WULA_AreaDestruction_Mainwave</moteDef>
<burstCount>1</burstCount>
<scale>1</scale>
<speed>20</speed>
<angle>0</angle>
<positionRadius>0.01</positionRadius>
<spawnLocType>OnSource</spawnLocType>
</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>
<ThingDef ParentName="MoteBase">
<defName>WULA_Mote_halo</defName>
<graphicData>
<texPath>Wula/Mote/halo</texPath>
<shaderType>MoteGlow</shaderType>
</graphicData>
<altitudeLayer>MoteOverhead</altitudeLayer>
<mote>
<fadeInTime>0</fadeInTime>
<solidTime>0</solidTime>
<fadeOutTime>0.1</fadeOutTime>
<growthRate>40</growthRate>
<rotateTowardsMoveDirection>true</rotateTowardsMoveDirection>
</mote>
</ThingDef>
<ThingDef ParentName="MoteBase">
<defName>WULA_Mote_fire</defName>
<graphicData>
<texPath>Wula/Mote/fire</texPath>
<shaderType>MoteGlow</shaderType>
</graphicData>
<altitudeLayer>MoteOverhead</altitudeLayer>
<mote>
<fadeInTime>0</fadeInTime>
<solidTime>0</solidTime>
<fadeOutTime>0.2</fadeOutTime>
<growthRate>8</growthRate>
<rotateTowardsMoveDirection>true</rotateTowardsMoveDirection>
</mote>
</ThingDef>
<ThingDef ParentName="MoteBase">
<defName>WULA_Mote_ChargeLanceShot</defName>
<graphicData>
<texPath>Things/Projectile/ChargeLanceShot</texPath>
<drawSize>(0.75,1.5)</drawSize>
<shaderType>MoteGlow</shaderType>
<color>(0.6,0.1,0.6,1)</color>
</graphicData>
<altitudeLayer>Projectile</altitudeLayer>
<mote>
<fadeInTime>0.2</fadeInTime>
<solidTime>0.4</solidTime>
<fadeOutTime>0.2</fadeOutTime>
<growthRate>-0.8</growthRate>
<rotateTowardsMoveDirection>true</rotateTowardsMoveDirection>
</mote>
</ThingDef>
<ThingDef ParentName="MoteBase">
<defName>WULA_AreaDestruction_Mainwave</defName>
<graphicData>
<texPath>Wula/Mote/WULA_AreaDestruction_Mainwave</texPath>
<drawSize>(15,15)</drawSize>
<shaderType>MoteGlow</shaderType>
<color>(0.6,0.1,0.6,0.5)</color>
</graphicData>
<altitudeLayer>Floor</altitudeLayer>
<mote>
<fadeInTime>0.2</fadeInTime>
<solidTime>0.4</solidTime>
<fadeOutTime>0.2</fadeOutTime>
<growthRate>0.25</growthRate>
<rotateTowardsMoveDirection>true</rotateTowardsMoveDirection>
</mote>
</ThingDef>
<AbilityDef>
<defName>WULA_Psi_Skip</defName>
<label>乌拉帝国术式:灵能跃迁</label>
<description>使用灵能撕开一个连接自身、虚境和目的地的单向通道,随后以极短的时间穿过整个通道,以瞬间移动到目标地点。</description>
<iconPath>UI/Abilities/Skip</iconPath>
<writeCombatLog>True</writeCombatLog>
<showPsycastEffects>False</showPsycastEffects>
<casterMustBeCapableOfViolence>false</casterMustBeCapableOfViolence>
<cooldownTicksRange>600</cooldownTicksRange>
<warmupEffecter>HoraxianSpellLight_Warmup</warmupEffecter>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<warmupTime>1</warmupTime>
<range>65</range>
<soundCast>WULA_Psi_Skip_Sound</soundCast>
<targetParams>
<canTargetLocations>true</canTargetLocations>
</targetParams>
</verbProperties>
<comps>
<li Class="WulaFallenEmpire.CompProperties_AbilityTeleportSelf">
<range>65</range>
<stunTicks>
<min>10</min>
<max>15</max>
</stunTicks>
<maxBodySize>100</maxBodySize>
<destClamorType>Impact</destClamorType>
<destClamorRadius>3</destClamorRadius>
<requireLineOfSight>false</requireLineOfSight>
<canTeleportToFogged>false</canTeleportToFogged>
<canTeleportToRoofed>true</canTeleportToRoofed>
<customEntryEffecter>WULA_Psi_Skip_Entry</customEntryEffecter>
<customExitEffecter>WULA_Psi_Skip_Exit</customExitEffecter>
<!-- <customEntryFleck>WULA_GiantTeleportFlash</customEntryFleck>
<customExitFleck>WULA_GiantTeleportRings</customExitFleck> -->
</li>
</comps>
</AbilityDef>
<EffecterDef>
<defName>WULA_Psi_Skip_Entry</defName>
<maintainTicks>180</maintainTicks>
<children>
<li>
<subEffecterClass>SubEffecter_SprayerTriggeredDelayed</subEffecterClass>
<fleckDef>PlainFlash</fleckDef>
<burstCount>1~1</burstCount>
<scale>17.0~17.0</scale>
<spawnLocType>OnSource</spawnLocType>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggeredDelayed</subEffecterClass>
<fleckDef>PsycastSkipInnerEntry</fleckDef>
<initialDelayTicks>11</initialDelayTicks>
<burstCount>1~1</burstCount>
<scale>6~6</scale>
<rotation>0~0</rotation>
<spawnLocType>OnSource</spawnLocType>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggeredDelayed</subEffecterClass>
<fleckDef>PsycastSkipOuterRingEntry</fleckDef>
<initialDelayTicks>11</initialDelayTicks>
<burstCount>1~1</burstCount>
<scale>6~6</scale>
<rotation>0~0</rotation>
<spawnLocType>OnSource</spawnLocType>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggered</subEffecterClass>
<positionRadius>1.3</positionRadius>
<fleckDef>ElectricalSpark</fleckDef>
<burstCount>7~9</burstCount>
<scale>17.5</scale>
<spawnLocType>OnSource</spawnLocType>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggeredDelayed</subEffecterClass>
<positionRadius>1.3</positionRadius>
<initialDelayTicks>5</initialDelayTicks>
<fleckDef>ElectricalSpark</fleckDef>
<burstCount>5~7</burstCount>
<scale>17.5</scale>
<spawnLocType>OnSource</spawnLocType>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggeredDelayed</subEffecterClass>
<positionRadius>1.3</positionRadius>
<initialDelayTicks>10</initialDelayTicks>
<fleckDef>ElectricalSpark</fleckDef>
<burstCount>3~7</burstCount>
<scale>12</scale>
<spawnLocType>OnSource</spawnLocType>
</li>
</children>
</EffecterDef>
<EffecterDef>
<defName>WULA_Psi_Skip_Exit</defName>
<children>
<li>
<subEffecterClass>SubEffecter_SprayerTriggeredDelayed</subEffecterClass>
<fleckDef>PsycastSkipFlashExit</fleckDef>
<initialDelayTicks>12</initialDelayTicks>
<burstCount>1~1</burstCount>
<scale>6~6</scale>
<rotation>0~0</rotation>
<spawnLocType>OnSource</spawnLocType>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggeredDelayed</subEffecterClass>
<fleckDef>PlainFlash</fleckDef>
<initialDelayTicks>14</initialDelayTicks>
<burstCount>1~1</burstCount>
<scale>17.0~17.0</scale>
<spawnLocType>OnSource</spawnLocType>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggeredDelayed</subEffecterClass>
<positionRadius>1.3</positionRadius>
<initialDelayTicks>16</initialDelayTicks>
<fleckDef>ElectricalSpark</fleckDef>
<burstCount>7~9</burstCount>
<scale>12</scale>
<spawnLocType>OnSource</spawnLocType>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggeredDelayed</subEffecterClass>
<positionRadius>1.3</positionRadius>
<initialDelayTicks>24</initialDelayTicks>
<fleckDef>ElectricalSpark</fleckDef>
<burstCount>5~7</burstCount>
<scale>12</scale>
<spawnLocType>OnSource</spawnLocType>
</li>
<li>
<subEffecterClass>SubEffecter_SprayerTriggeredDelayed</subEffecterClass>
<positionRadius>1.3</positionRadius>
<initialDelayTicks>32</initialDelayTicks>
<fleckDef>ElectricalSpark</fleckDef>
<burstCount>3~7</burstCount>
<scale>10</scale>
<spawnLocType>OnSource</spawnLocType>
</li>
</children>
</EffecterDef>
<AbilityDef>
<defName>WULA_Psi_Black_Hole</defName>
<label>乌拉帝国术式:虚境阴影</label>
<description>撕开虚境的裂口,在目标地点召唤一道虚境阴影,它泄露的庞大灵能会持续伤害范围内的敌方单位和建筑,即使是心灵失聪的目标也不能完全免疫这种超现实伤害——对于高心灵敏感度的单位这种伤害则更加致命。</description>
<iconPath>UI/Abilities/FireSpew</iconPath>
<writeCombatLog>True</writeCombatLog>
<showPsycastEffects>False</showPsycastEffects>
<aiCanUse>true</aiCanUse>
<cooldownTicksRange>600</cooldownTicksRange>
<warmupEffecter>HoraxianSpellLight_Warmup</warmupEffecter>
<statBases>
<Ability_Duration>600</Ability_Duration>
</statBases>
<verbProperties>
<verbClass>Verb_CastAbility</verbClass>
<warmupTime>1</warmupTime>
<range>36</range>
<requireLineOfSight>false</requireLineOfSight>
<targetParams>
<canTargetLocations>True</canTargetLocations>
</targetParams>
</verbProperties>
<comps>
<li Class="WulaFallenEmpire.CompProperties_AbilitySpawnAligned">
<thingDef>WULA_Black_Hole_Entity</thingDef>
<allowOnBuildings>false</allowOnBuildings>
<alignFaction>false</alignFaction>
</li>
</comps>
</AbilityDef>
<ThingDef ParentName="EtherealThingBase">
<defName>WULA_Black_Hole_Entity</defName>
<label>虚境阴影</label>
<thingClass>ThingWithComps</thingClass>
<tickerType>Normal</tickerType>
<drawerType>RealtimeOnly</drawerType>
<drawOffscreen>true</drawOffscreen>
<category>PsychicEmitter</category>
<altitudeLayer>MoteOverheadLow</altitudeLayer>
<graphicData>
<graphicClass>Graphic_Single</graphicClass>
<texPath>Wula/Projectile/WULA_Bullet_ChargeLanceShot_Red</texPath>
<shaderType>MoteGlow</shaderType>
<drawSize>5</drawSize>
</graphicData>
<comps>
<li Class="WulaFallenEmpire.CompProperties_AreaDamage">
<radius>8</radius>
<damageIntervalTicks>30</damageIntervalTicks>
<damageDef>Wula_Psi_Damage</damageDef>
<damageAmount>5</damageAmount>
<scaleWithPsychicSensitivity>true</scaleWithPsychicSensitivity>
<minDamageFactor>0.5</minDamageFactor>
<maxDamageFactor>5</maxDamageFactor>
<affectEverything>true</affectEverything>
<ignoreFactionRelations>true</ignoreFactionRelations>
</li>
</comps>
</ThingDef>
</Defs>