AI: Faction powers — ZeroSpace/ZeroSpace.Model/FactionPowerItems.g.cs (17 items, was 5)

This commit is contained in:
2026-10-09 21:57:58 +00:00
parent e8c7341e3e
commit d4b8a579f9
@@ -3,6 +3,16 @@ namespace ZeroSpace.Model;
public static class FactionPowerItems
{
public static readonly FactionPowerItemData Airstrike = new(
Id: "Airstrike",
Name: "Airstrike",
Levels: ["Calls down an Airstrike, dealing 300 damage to ground units. Requires Airstrips."],
LimitedTo: "Prefect Aster",
LimitedToMerc: null,
MinimumLevel: 2,
ImageFileName: "Airstrike.png",
Body: "");
public static readonly FactionPowerItemData Destroyer = new(
Id: "Destroyer",
Name: "Destroyer",
@@ -13,6 +23,26 @@ public static class FactionPowerItems
ImageFileName: null,
Body: "");
public static readonly FactionPowerItemData ForcedAssimilation = new(
Id: "ForcedAssimilation",
Name: "Forced Assimilation",
Levels: ["Target a friendly T1/ T2 unit. All nearby friendly T1/T2 units are assimilated, giving 30% of their health, shield and damage to the targeted unit, and an additional 20% if the unit is a T1 unit. Cannot be used on the same unit more than once."],
LimitedTo: "Anrubic",
LimitedToMerc: null,
MinimumLevel: 1,
ImageFileName: "Forced Assimilation.png",
Body: "");
public static readonly FactionPowerItemData Havoc = new(
Id: "Havoc",
Name: "Havoc",
Levels: ["Spawn a Havoc at location. It charges through enemies. Explodes on death dealing 300 damage."],
LimitedTo: "Anrubic",
LimitedToMerc: null,
MinimumLevel: 1,
ImageFileName: "Havoc.png",
Body: "");
public static readonly FactionPowerItemData HealingPod = new(
Id: "HealingPod",
Name: "Healing Pod",
@@ -33,6 +63,26 @@ public static class FactionPowerItems
ImageFileName: null,
Body: "");
public static readonly FactionPowerItemData Minefield = new(
Id: "Minefield",
Name: "Minefield",
Levels: ["Spawn 12 mines that damage and stun enemies", "Spawn 14 mines that damage and stun enemies", "Spawn 16 mines that damage and stun enemies", "Spawn 18 mines that damage and stun enemies", "Spawn 20 mines that damage and stun enemies"],
LimitedTo: null,
LimitedToMerc: "Free Corsair",
MinimumLevel: null,
ImageFileName: "Minefield.png",
Body: "");
public static readonly FactionPowerItemData NanoSwarm = new(
Id: "NanoSwarm",
Name: "Nano Swarm",
Levels: ["Spawn a Nano Swarm at targeted location. It draws enemy fire. After 15 seconds it explodes dealing damage to enemies. The damage increases when it takes damage."],
LimitedTo: "Anrubic",
LimitedToMerc: null,
MinimumLevel: 9,
ImageFileName: "Nano Swarm.png",
Body: "");
public static readonly FactionPowerItemData OrbitalLaser = new(
Id: "OrbitalLaser",
Name: "Orbital Laser",
@@ -43,6 +93,76 @@ public static class FactionPowerItems
ImageFileName: null,
Body: "");
public static readonly FactionPowerItemData Reinforcements = new(
Id: "Reinforcements",
Name: "Reinforcements",
Levels: ["Call down reinforcements of the selected type."],
LimitedTo: "Prefect Aster",
LimitedToMerc: null,
MinimumLevel: 1,
ImageFileName: "Reinforcements.png",
Body: "");
public static readonly FactionPowerItemData Replicate = new(
Id: "Replicate",
Name: "Replicate",
Levels: ["Create copies of the targeted friendly units."],
LimitedTo: "Anrubic",
LimitedToMerc: null,
MinimumLevel: 2,
ImageFileName: "Replicate.png",
Body: "");
public static readonly FactionPowerItemData Shockwave = new(
Id: "Shockwave",
Name: "Shockwave",
Levels: ["Stuns enemy units in area for 3 seconds."],
LimitedTo: "Prefect Aster",
LimitedToMerc: null,
MinimumLevel: 1,
ImageFileName: "Shockwave.png",
Body: "");
public static readonly FactionPowerItemData SolInvictus = new(
Id: "SolInvictus",
Name: "Sol Invictus",
Levels: ["Call down a powerful mech that explodes on death and sets the ground on fire."],
LimitedTo: "Prefect Aster",
LimitedToMerc: null,
MinimumLevel: 7,
ImageFileName: "Sol Invictus.png",
Body: "");
public static readonly FactionPowerItemData SpawnMonolith = new(
Id: "SpawnMonolith",
Name: "Spawn Monolith",
Levels: ["Summon a powerful structure. Nearby Thrall deaths cause bonus attacks to occur."],
LimitedTo: "Galavax",
LimitedToMerc: null,
MinimumLevel: 7,
ImageFileName: "Spawn Monolith.png",
Body: "");
public static readonly FactionPowerItemData SpawnObelisks = new(
Id: "SpawnObelisks",
Name: "Spawn Obelisks",
Levels: ["Spawn various obelisks on the battlefield"],
LimitedTo: "Galavax",
LimitedToMerc: null,
MinimumLevel: 1,
ImageFileName: "Spawn Obelisks.png",
Body: "");
public static readonly FactionPowerItemData SummonEmperor = new(
Id: "SummonEmperor",
Name: "Summon Emperor",
Levels: ["Summoning takes 15 durartion. Units dying nearby the site empower the Emperor. Thralls can be sacrificed with 75% cost refund (right-click on the site). Emperor loses health when summoned."],
LimitedTo: "Galavax",
LimitedToMerc: null,
MinimumLevel: 1,
ImageFileName: "Summon Emperor.png",
Body: "");
public static readonly FactionPowerItemData TreeOfLife = new(
Id: "TreeOfLife",
Name: "Tree of Life",
@@ -55,10 +175,22 @@ public static class FactionPowerItems
public static IReadOnlyList<FactionPowerItemData> All { get; } =
[
Airstrike,
Destroyer,
ForcedAssimilation,
Havoc,
HealingPod,
Infusion,
Minefield,
NanoSwarm,
OrbitalLaser,
Reinforcements,
Replicate,
Shockwave,
SolInvictus,
SpawnMonolith,
SpawnObelisks,
SummonEmperor,
TreeOfLife,
];