diff --git a/src/core/effects/DamageEffect.spec.ts b/src/core/effects/DamageEffect.spec.ts index 31fa32e..14c6990 100644 --- a/src/core/effects/DamageEffect.spec.ts +++ b/src/core/effects/DamageEffect.spec.ts @@ -57,6 +57,7 @@ module TK.SpaceTac.Specs { check.equals(new DamageEffect(10, DamageEffectMode.HULL_ONLY).getDescription(), "do 10 hull damage"); check.equals(new DamageEffect(10, DamageEffectMode.SHIELD_ONLY).getDescription(), "do 10 shield damage"); check.equals(new DamageEffect(10, DamageEffectMode.SHIELD_THEN_HULL).getDescription(), "do 10 piercing damage"); + check.equals(new DamageEffect(10, DamageEffectMode.SHIELD_ONLY, false).getDescription(), "do 10 unevadable shield damage"); }); }); } diff --git a/src/core/effects/DamageEffect.ts b/src/core/effects/DamageEffect.ts index e6853c9..b69c43e 100644 --- a/src/core/effects/DamageEffect.ts +++ b/src/core/effects/DamageEffect.ts @@ -33,7 +33,7 @@ module TK.SpaceTac { this.value = value; this.mode = mode; - this.evadable = true; + this.evadable = evadable; } /** @@ -98,7 +98,12 @@ module TK.SpaceTac { mode = " piercing"; } - return `do ${this.value}${mode} damage`; + let modifier = ""; + if (!this.evadable) { + modifier = " unevadable"; + } + + return `do ${this.value}${modifier}${mode} damage`; } } } diff --git a/src/core/models/ModelAvenger.ts b/src/core/models/ModelAvenger.ts index 72ceb4f..4bc228e 100644 --- a/src/core/models/ModelAvenger.ts +++ b/src/core/models/ModelAvenger.ts @@ -12,7 +12,7 @@ module TK.SpaceTac { getLevelUpgrades(level: number): ShipUpgrade[] { let engine = new MoveAction("Engine", { - distance_per_power: 50, + distance_per_power: 60, safety_distance: 250, }); engine.configureCooldown(1, 1); @@ -39,8 +39,8 @@ module TK.SpaceTac { code: "Avenger Base", effects: [ new AttributeEffect("hull_capacity", 2), - new AttributeEffect("shield_capacity", 1), - new AttributeEffect("power_capacity", 8), + new AttributeEffect("shield_capacity", 2), + new AttributeEffect("power_capacity", 4), ] }, { diff --git a/src/core/models/ModelBreeze.ts b/src/core/models/ModelBreeze.ts index 4f85e6a..0245fac 100644 --- a/src/core/models/ModelBreeze.ts +++ b/src/core/models/ModelBreeze.ts @@ -13,7 +13,7 @@ module TK.SpaceTac { getLevelUpgrades(level: number): ShipUpgrade[] { if (level == 1) { let engine = new MoveAction("Engine", { - distance_per_power: 300, + distance_per_power: 460, safety_distance: 100 }); engine.configureCooldown(2, 1); @@ -39,8 +39,8 @@ module TK.SpaceTac { new AttributeEffect("initiative", 3), new AttributeEffect("evasion", 1), new AttributeEffect("hull_capacity", 1), - new AttributeEffect("shield_capacity", 1), - new AttributeEffect("power_capacity", 7), + new AttributeEffect("shield_capacity", 2), + new AttributeEffect("power_capacity", 6), ] }, { diff --git a/src/core/models/ModelCommodore.ts b/src/core/models/ModelCommodore.ts index 01d9360..cb4bcb2 100644 --- a/src/core/models/ModelCommodore.ts +++ b/src/core/models/ModelCommodore.ts @@ -13,11 +13,11 @@ module TK.SpaceTac { getLevelUpgrades(level: number): ShipUpgrade[] { if (level == 1) { let engine = new MoveAction("Engine", { - distance_per_power: 150, + distance_per_power: 120, }); let laser = new TriggerAction("Wingspan Laser", { - effects: [new DamageEffect(2, DamageEffectMode.SHIELD_THEN_HULL)], + effects: [new DamageEffect(3, DamageEffectMode.SHIELD_THEN_HULL)], power: 4, range: 250, angle: 140, }, "prokhorovlaser"); @@ -36,8 +36,8 @@ module TK.SpaceTac { effects: [ new AttributeEffect("initiative", 2), new AttributeEffect("hull_capacity", 2), - new AttributeEffect("shield_capacity", 1), - new AttributeEffect("power_capacity", 8), + new AttributeEffect("shield_capacity", 3), + new AttributeEffect("power_capacity", 5), ] }, { diff --git a/src/core/models/ModelCreeper.ts b/src/core/models/ModelCreeper.ts index dab4241..cfc3097 100644 --- a/src/core/models/ModelCreeper.ts +++ b/src/core/models/ModelCreeper.ts @@ -13,7 +13,7 @@ module TK.SpaceTac { getLevelUpgrades(level: number): ShipUpgrade[] { if (level == 1) { let engine = new MoveAction("Engine", { - distance_per_power: 220, + distance_per_power: 240, }); let gatling = new TriggerAction("Gatling Gun", { @@ -43,9 +43,9 @@ module TK.SpaceTac { code: "Creeper Base", effects: [ new AttributeEffect("initiative", 3), - new AttributeEffect("hull_capacity", 1), + new AttributeEffect("hull_capacity", 2), new AttributeEffect("shield_capacity", 2), - new AttributeEffect("power_capacity", 7), + new AttributeEffect("power_capacity", 5), ] }, { diff --git a/src/core/models/ModelFalcon.ts b/src/core/models/ModelFalcon.ts index d50ea58..167945f 100644 --- a/src/core/models/ModelFalcon.ts +++ b/src/core/models/ModelFalcon.ts @@ -17,16 +17,16 @@ module TK.SpaceTac { }); let missile = new TriggerAction("SubMunition Missile", { - effects: [new DamageEffect(1)], - power: 2, + effects: [new DamageEffect(3)], + power: 3, range: 250, blast: 150, }, "submunitionmissile"); missile.configureCooldown(2, 2); - let gatling = new TriggerAction("Gatling Gun", { - effects: [new DamageEffect(1)], - power: 1, - range: 350, + let gatling = new TriggerAction("Multi-head Gatling", { + effects: [new DamageEffect(2)], + power: 2, + range: 350, blast: 150, }, "gatlinggun"); gatling.configureCooldown(3, 2); @@ -34,9 +34,9 @@ module TK.SpaceTac { { code: "Falcon Base", effects: [ - new AttributeEffect("hull_capacity", 2), + new AttributeEffect("hull_capacity", 3), new AttributeEffect("shield_capacity", 2), - new AttributeEffect("power_capacity", 9), + new AttributeEffect("power_capacity", 4), ] }, { diff --git a/src/core/models/ModelFlea.ts b/src/core/models/ModelFlea.ts index 5a1f68b..a46c306 100644 --- a/src/core/models/ModelFlea.ts +++ b/src/core/models/ModelFlea.ts @@ -13,7 +13,7 @@ module TK.SpaceTac { getLevelUpgrades(level: number): ShipUpgrade[] { if (level == 1) { let engine = new MoveAction("Engine", { - distance_per_power: 400, + distance_per_power: 420, }); let depleter = new TriggerAction("Power Depleter", { @@ -23,11 +23,11 @@ module TK.SpaceTac { }, "powerdepleter"); depleter.configureCooldown(1, 1); - let gatling = new TriggerAction("Gatling Gun", { - effects: [new DamageEffect(1)], + let gatling = new TriggerAction("Shield Basher", { + effects: [new DamageEffect(2, DamageEffectMode.SHIELD_ONLY, false)], power: 3, range: 300, - }, "gatlinggun"); + }, "submunitionmissile"); gatling.configureCooldown(2, 1); return [ @@ -38,7 +38,7 @@ module TK.SpaceTac { new AttributeEffect("evasion", 1), new AttributeEffect("hull_capacity", 1), new AttributeEffect("shield_capacity", 2), - new AttributeEffect("power_capacity", 8), + new AttributeEffect("power_capacity", 6), ] }, { diff --git a/src/core/models/ModelJumper.ts b/src/core/models/ModelJumper.ts index d58e2f5..8aaab7a 100644 --- a/src/core/models/ModelJumper.ts +++ b/src/core/models/ModelJumper.ts @@ -13,12 +13,12 @@ module TK.SpaceTac { getLevelUpgrades(level: number): ShipUpgrade[] { if (level == 1) { let engine = new MoveAction("Engine", { - distance_per_power: 200, + distance_per_power: 310, safety_distance: 160, }); let missile = new TriggerAction("SubMunition Missile", { - effects: [new DamageEffect(1)], + effects: [new DamageEffect(2)], power: 3, range: 400, blast: 120, }, "submunitionmissile"); @@ -40,7 +40,7 @@ module TK.SpaceTac { code: "Jumper Base", effects: [ new AttributeEffect("initiative", 1), - new AttributeEffect("hull_capacity", 2), + new AttributeEffect("hull_capacity", 3), new AttributeEffect("shield_capacity", 2), new AttributeEffect("power_capacity", 6), ] diff --git a/src/core/models/ModelRhino.ts b/src/core/models/ModelRhino.ts index a88d6c4..7e224ef 100644 --- a/src/core/models/ModelRhino.ts +++ b/src/core/models/ModelRhino.ts @@ -13,7 +13,7 @@ module TK.SpaceTac { getLevelUpgrades(level: number): ShipUpgrade[] { if (level == 1) { let engine = new MoveAction("Engine", { - distance_per_power: 140, + distance_per_power: 120, }); let gatling = new TriggerAction("Gatling Gun", { @@ -24,7 +24,7 @@ module TK.SpaceTac { gatling.configureCooldown(2, 2); let laser = new TriggerAction("Prokhorov Laser", { - effects: [new DamageEffect(2)], + effects: [new DamageEffect(3)], power: 4, range: 250, angle: 60, }, "prokhorovlaser"); @@ -35,8 +35,8 @@ module TK.SpaceTac { effects: [ new AttributeEffect("initiative", 1), new AttributeEffect("hull_capacity", 3), - new AttributeEffect("shield_capacity", 1), - new AttributeEffect("power_capacity", 9), + new AttributeEffect("shield_capacity", 3), + new AttributeEffect("power_capacity", 6), ] }, { diff --git a/src/core/models/ModelTomahawk.ts b/src/core/models/ModelTomahawk.ts index 1609cc0..1f24060 100644 --- a/src/core/models/ModelTomahawk.ts +++ b/src/core/models/ModelTomahawk.ts @@ -17,26 +17,26 @@ module TK.SpaceTac { }); let gatling1 = new TriggerAction("Primary Gatling", { - effects: [new DamageEffect(2)], + effects: [new DamageEffect(3)], power: 2, range: 400 }, "gatlinggun"); gatling1.configureCooldown(1, 1); let gatling2 = new TriggerAction("Secondary Gatling", { - effects: [new DamageEffect(1)], + effects: [new DamageEffect(2)], power: 1, range: 200 }, "gatlinggun"); gatling2.configureCooldown(1, 1); let missile = new TriggerAction("Diffuse Missiles", { - effects: [new DamageEffect(1)], + effects: [new DamageEffect(2)], power: 2, range: 200, blast: 100, }, "submunitionmissile"); missile.configureCooldown(1, 1); let laser = new TriggerAction("Low-power Laser", { - effects: [new DamageEffect(1)], + effects: [new DamageEffect(2)], power: 2, range: 200, angle: 30 }, "prokhorovlaser"); @@ -54,7 +54,7 @@ module TK.SpaceTac { new AttributeEffect("initiative", 2), new AttributeEffect("hull_capacity", 2), new AttributeEffect("shield_capacity", 1), - new AttributeEffect("power_capacity", 11), + new AttributeEffect("power_capacity", 7), ] }, { diff --git a/src/core/models/ModelTrapper.ts b/src/core/models/ModelTrapper.ts index 63677f4..7e79a58 100644 --- a/src/core/models/ModelTrapper.ts +++ b/src/core/models/ModelTrapper.ts @@ -18,7 +18,7 @@ module TK.SpaceTac { engine.configureCooldown(1, 1); let protector = new ToggleAction("Damage Protector", { - power: 4, + power: 3, radius: 300, effects: [new AttributeEffect("evasion", 1)] }); @@ -31,7 +31,7 @@ module TK.SpaceTac { depleter.configureCooldown(1, 1); let missile = new TriggerAction("Defense Missiles", { - effects: [new DamageEffect(2)], + effects: [new DamageEffect(3, DamageEffectMode.SHIELD_THEN_HULL)], power: 3, range: 200, blast: 180, }, "submunitionmissile"); @@ -43,7 +43,7 @@ module TK.SpaceTac { new AttributeEffect("evasion", 1), new AttributeEffect("hull_capacity", 1), new AttributeEffect("shield_capacity", 2), - new AttributeEffect("power_capacity", 8), + new AttributeEffect("power_capacity", 6), ] }, { diff --git a/src/core/models/ModelXander.ts b/src/core/models/ModelXander.ts index d8081d0..9017730 100644 --- a/src/core/models/ModelXander.ts +++ b/src/core/models/ModelXander.ts @@ -13,7 +13,7 @@ module TK.SpaceTac { getLevelUpgrades(level: number): ShipUpgrade[] { if (level == 1) { let engine = new MoveAction("Engine", { - distance_per_power: 150, + distance_per_power: 280, }); let laser = new TriggerAction("Prokhorov Laser", { @@ -39,10 +39,10 @@ module TK.SpaceTac { code: "Xander Base", effects: [ new AttributeEffect("initiative", 1), - new AttributeEffect("evasion", 1), + new AttributeEffect("evasion", 2), new AttributeEffect("hull_capacity", 2), new AttributeEffect("shield_capacity", 1), - new AttributeEffect("power_capacity", 7), + new AttributeEffect("power_capacity", 6), ] }, {