1
0
Fork 0

Ships balancing

This commit is contained in:
Michaël Lemaire 2018-03-29 00:48:21 +02:00
parent eec499dbd5
commit 18c596f91c
13 changed files with 52 additions and 46 deletions

View file

@ -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.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_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_THEN_HULL).getDescription(), "do 10 piercing damage");
check.equals(new DamageEffect(10, DamageEffectMode.SHIELD_ONLY, false).getDescription(), "do 10 unevadable shield damage");
}); });
}); });
} }

View file

@ -33,7 +33,7 @@ module TK.SpaceTac {
this.value = value; this.value = value;
this.mode = mode; this.mode = mode;
this.evadable = true; this.evadable = evadable;
} }
/** /**
@ -98,7 +98,12 @@ module TK.SpaceTac {
mode = " piercing"; mode = " piercing";
} }
return `do ${this.value}${mode} damage`; let modifier = "";
if (!this.evadable) {
modifier = " unevadable";
}
return `do ${this.value}${modifier}${mode} damage`;
} }
} }
} }

View file

@ -12,7 +12,7 @@ module TK.SpaceTac {
getLevelUpgrades(level: number): ShipUpgrade[] { getLevelUpgrades(level: number): ShipUpgrade[] {
let engine = new MoveAction("Engine", { let engine = new MoveAction("Engine", {
distance_per_power: 50, distance_per_power: 60,
safety_distance: 250, safety_distance: 250,
}); });
engine.configureCooldown(1, 1); engine.configureCooldown(1, 1);
@ -39,8 +39,8 @@ module TK.SpaceTac {
code: "Avenger Base", code: "Avenger Base",
effects: [ effects: [
new AttributeEffect("hull_capacity", 2), new AttributeEffect("hull_capacity", 2),
new AttributeEffect("shield_capacity", 1), new AttributeEffect("shield_capacity", 2),
new AttributeEffect("power_capacity", 8), new AttributeEffect("power_capacity", 4),
] ]
}, },
{ {

View file

@ -13,7 +13,7 @@ module TK.SpaceTac {
getLevelUpgrades(level: number): ShipUpgrade[] { getLevelUpgrades(level: number): ShipUpgrade[] {
if (level == 1) { if (level == 1) {
let engine = new MoveAction("Engine", { let engine = new MoveAction("Engine", {
distance_per_power: 300, distance_per_power: 460,
safety_distance: 100 safety_distance: 100
}); });
engine.configureCooldown(2, 1); engine.configureCooldown(2, 1);
@ -39,8 +39,8 @@ module TK.SpaceTac {
new AttributeEffect("initiative", 3), new AttributeEffect("initiative", 3),
new AttributeEffect("evasion", 1), new AttributeEffect("evasion", 1),
new AttributeEffect("hull_capacity", 1), new AttributeEffect("hull_capacity", 1),
new AttributeEffect("shield_capacity", 1), new AttributeEffect("shield_capacity", 2),
new AttributeEffect("power_capacity", 7), new AttributeEffect("power_capacity", 6),
] ]
}, },
{ {

View file

@ -13,11 +13,11 @@ module TK.SpaceTac {
getLevelUpgrades(level: number): ShipUpgrade[] { getLevelUpgrades(level: number): ShipUpgrade[] {
if (level == 1) { if (level == 1) {
let engine = new MoveAction("Engine", { let engine = new MoveAction("Engine", {
distance_per_power: 150, distance_per_power: 120,
}); });
let laser = new TriggerAction("Wingspan Laser", { let laser = new TriggerAction("Wingspan Laser", {
effects: [new DamageEffect(2, DamageEffectMode.SHIELD_THEN_HULL)], effects: [new DamageEffect(3, DamageEffectMode.SHIELD_THEN_HULL)],
power: 4, power: 4,
range: 250, angle: 140, range: 250, angle: 140,
}, "prokhorovlaser"); }, "prokhorovlaser");
@ -36,8 +36,8 @@ module TK.SpaceTac {
effects: [ effects: [
new AttributeEffect("initiative", 2), new AttributeEffect("initiative", 2),
new AttributeEffect("hull_capacity", 2), new AttributeEffect("hull_capacity", 2),
new AttributeEffect("shield_capacity", 1), new AttributeEffect("shield_capacity", 3),
new AttributeEffect("power_capacity", 8), new AttributeEffect("power_capacity", 5),
] ]
}, },
{ {

View file

@ -13,7 +13,7 @@ module TK.SpaceTac {
getLevelUpgrades(level: number): ShipUpgrade[] { getLevelUpgrades(level: number): ShipUpgrade[] {
if (level == 1) { if (level == 1) {
let engine = new MoveAction("Engine", { let engine = new MoveAction("Engine", {
distance_per_power: 220, distance_per_power: 240,
}); });
let gatling = new TriggerAction("Gatling Gun", { let gatling = new TriggerAction("Gatling Gun", {
@ -43,9 +43,9 @@ module TK.SpaceTac {
code: "Creeper Base", code: "Creeper Base",
effects: [ effects: [
new AttributeEffect("initiative", 3), new AttributeEffect("initiative", 3),
new AttributeEffect("hull_capacity", 1), new AttributeEffect("hull_capacity", 2),
new AttributeEffect("shield_capacity", 2), new AttributeEffect("shield_capacity", 2),
new AttributeEffect("power_capacity", 7), new AttributeEffect("power_capacity", 5),
] ]
}, },
{ {

View file

@ -17,16 +17,16 @@ module TK.SpaceTac {
}); });
let missile = new TriggerAction("SubMunition Missile", { let missile = new TriggerAction("SubMunition Missile", {
effects: [new DamageEffect(1)], effects: [new DamageEffect(3)],
power: 2, power: 3,
range: 250, blast: 150, range: 250, blast: 150,
}, "submunitionmissile"); }, "submunitionmissile");
missile.configureCooldown(2, 2); missile.configureCooldown(2, 2);
let gatling = new TriggerAction("Gatling Gun", { let gatling = new TriggerAction("Multi-head Gatling", {
effects: [new DamageEffect(1)], effects: [new DamageEffect(2)],
power: 1, power: 2,
range: 350, range: 350, blast: 150,
}, "gatlinggun"); }, "gatlinggun");
gatling.configureCooldown(3, 2); gatling.configureCooldown(3, 2);
@ -34,9 +34,9 @@ module TK.SpaceTac {
{ {
code: "Falcon Base", code: "Falcon Base",
effects: [ effects: [
new AttributeEffect("hull_capacity", 2), new AttributeEffect("hull_capacity", 3),
new AttributeEffect("shield_capacity", 2), new AttributeEffect("shield_capacity", 2),
new AttributeEffect("power_capacity", 9), new AttributeEffect("power_capacity", 4),
] ]
}, },
{ {

View file

@ -13,7 +13,7 @@ module TK.SpaceTac {
getLevelUpgrades(level: number): ShipUpgrade[] { getLevelUpgrades(level: number): ShipUpgrade[] {
if (level == 1) { if (level == 1) {
let engine = new MoveAction("Engine", { let engine = new MoveAction("Engine", {
distance_per_power: 400, distance_per_power: 420,
}); });
let depleter = new TriggerAction("Power Depleter", { let depleter = new TriggerAction("Power Depleter", {
@ -23,11 +23,11 @@ module TK.SpaceTac {
}, "powerdepleter"); }, "powerdepleter");
depleter.configureCooldown(1, 1); depleter.configureCooldown(1, 1);
let gatling = new TriggerAction("Gatling Gun", { let gatling = new TriggerAction("Shield Basher", {
effects: [new DamageEffect(1)], effects: [new DamageEffect(2, DamageEffectMode.SHIELD_ONLY, false)],
power: 3, power: 3,
range: 300, range: 300,
}, "gatlinggun"); }, "submunitionmissile");
gatling.configureCooldown(2, 1); gatling.configureCooldown(2, 1);
return [ return [
@ -38,7 +38,7 @@ module TK.SpaceTac {
new AttributeEffect("evasion", 1), new AttributeEffect("evasion", 1),
new AttributeEffect("hull_capacity", 1), new AttributeEffect("hull_capacity", 1),
new AttributeEffect("shield_capacity", 2), new AttributeEffect("shield_capacity", 2),
new AttributeEffect("power_capacity", 8), new AttributeEffect("power_capacity", 6),
] ]
}, },
{ {

View file

@ -13,12 +13,12 @@ module TK.SpaceTac {
getLevelUpgrades(level: number): ShipUpgrade[] { getLevelUpgrades(level: number): ShipUpgrade[] {
if (level == 1) { if (level == 1) {
let engine = new MoveAction("Engine", { let engine = new MoveAction("Engine", {
distance_per_power: 200, distance_per_power: 310,
safety_distance: 160, safety_distance: 160,
}); });
let missile = new TriggerAction("SubMunition Missile", { let missile = new TriggerAction("SubMunition Missile", {
effects: [new DamageEffect(1)], effects: [new DamageEffect(2)],
power: 3, power: 3,
range: 400, blast: 120, range: 400, blast: 120,
}, "submunitionmissile"); }, "submunitionmissile");
@ -40,7 +40,7 @@ module TK.SpaceTac {
code: "Jumper Base", code: "Jumper Base",
effects: [ effects: [
new AttributeEffect("initiative", 1), new AttributeEffect("initiative", 1),
new AttributeEffect("hull_capacity", 2), new AttributeEffect("hull_capacity", 3),
new AttributeEffect("shield_capacity", 2), new AttributeEffect("shield_capacity", 2),
new AttributeEffect("power_capacity", 6), new AttributeEffect("power_capacity", 6),
] ]

View file

@ -13,7 +13,7 @@ module TK.SpaceTac {
getLevelUpgrades(level: number): ShipUpgrade[] { getLevelUpgrades(level: number): ShipUpgrade[] {
if (level == 1) { if (level == 1) {
let engine = new MoveAction("Engine", { let engine = new MoveAction("Engine", {
distance_per_power: 140, distance_per_power: 120,
}); });
let gatling = new TriggerAction("Gatling Gun", { let gatling = new TriggerAction("Gatling Gun", {
@ -24,7 +24,7 @@ module TK.SpaceTac {
gatling.configureCooldown(2, 2); gatling.configureCooldown(2, 2);
let laser = new TriggerAction("Prokhorov Laser", { let laser = new TriggerAction("Prokhorov Laser", {
effects: [new DamageEffect(2)], effects: [new DamageEffect(3)],
power: 4, power: 4,
range: 250, angle: 60, range: 250, angle: 60,
}, "prokhorovlaser"); }, "prokhorovlaser");
@ -35,8 +35,8 @@ module TK.SpaceTac {
effects: [ effects: [
new AttributeEffect("initiative", 1), new AttributeEffect("initiative", 1),
new AttributeEffect("hull_capacity", 3), new AttributeEffect("hull_capacity", 3),
new AttributeEffect("shield_capacity", 1), new AttributeEffect("shield_capacity", 3),
new AttributeEffect("power_capacity", 9), new AttributeEffect("power_capacity", 6),
] ]
}, },
{ {

View file

@ -17,26 +17,26 @@ module TK.SpaceTac {
}); });
let gatling1 = new TriggerAction("Primary Gatling", { let gatling1 = new TriggerAction("Primary Gatling", {
effects: [new DamageEffect(2)], effects: [new DamageEffect(3)],
power: 2, range: 400 power: 2, range: 400
}, "gatlinggun"); }, "gatlinggun");
gatling1.configureCooldown(1, 1); gatling1.configureCooldown(1, 1);
let gatling2 = new TriggerAction("Secondary Gatling", { let gatling2 = new TriggerAction("Secondary Gatling", {
effects: [new DamageEffect(1)], effects: [new DamageEffect(2)],
power: 1, range: 200 power: 1, range: 200
}, "gatlinggun"); }, "gatlinggun");
gatling2.configureCooldown(1, 1); gatling2.configureCooldown(1, 1);
let missile = new TriggerAction("Diffuse Missiles", { let missile = new TriggerAction("Diffuse Missiles", {
effects: [new DamageEffect(1)], effects: [new DamageEffect(2)],
power: 2, power: 2,
range: 200, blast: 100, range: 200, blast: 100,
}, "submunitionmissile"); }, "submunitionmissile");
missile.configureCooldown(1, 1); missile.configureCooldown(1, 1);
let laser = new TriggerAction("Low-power Laser", { let laser = new TriggerAction("Low-power Laser", {
effects: [new DamageEffect(1)], effects: [new DamageEffect(2)],
power: 2, power: 2,
range: 200, angle: 30 range: 200, angle: 30
}, "prokhorovlaser"); }, "prokhorovlaser");
@ -54,7 +54,7 @@ module TK.SpaceTac {
new AttributeEffect("initiative", 2), new AttributeEffect("initiative", 2),
new AttributeEffect("hull_capacity", 2), new AttributeEffect("hull_capacity", 2),
new AttributeEffect("shield_capacity", 1), new AttributeEffect("shield_capacity", 1),
new AttributeEffect("power_capacity", 11), new AttributeEffect("power_capacity", 7),
] ]
}, },
{ {

View file

@ -18,7 +18,7 @@ module TK.SpaceTac {
engine.configureCooldown(1, 1); engine.configureCooldown(1, 1);
let protector = new ToggleAction("Damage Protector", { let protector = new ToggleAction("Damage Protector", {
power: 4, power: 3,
radius: 300, radius: 300,
effects: [new AttributeEffect("evasion", 1)] effects: [new AttributeEffect("evasion", 1)]
}); });
@ -31,7 +31,7 @@ module TK.SpaceTac {
depleter.configureCooldown(1, 1); depleter.configureCooldown(1, 1);
let missile = new TriggerAction("Defense Missiles", { let missile = new TriggerAction("Defense Missiles", {
effects: [new DamageEffect(2)], effects: [new DamageEffect(3, DamageEffectMode.SHIELD_THEN_HULL)],
power: 3, power: 3,
range: 200, blast: 180, range: 200, blast: 180,
}, "submunitionmissile"); }, "submunitionmissile");
@ -43,7 +43,7 @@ module TK.SpaceTac {
new AttributeEffect("evasion", 1), new AttributeEffect("evasion", 1),
new AttributeEffect("hull_capacity", 1), new AttributeEffect("hull_capacity", 1),
new AttributeEffect("shield_capacity", 2), new AttributeEffect("shield_capacity", 2),
new AttributeEffect("power_capacity", 8), new AttributeEffect("power_capacity", 6),
] ]
}, },
{ {

View file

@ -13,7 +13,7 @@ module TK.SpaceTac {
getLevelUpgrades(level: number): ShipUpgrade[] { getLevelUpgrades(level: number): ShipUpgrade[] {
if (level == 1) { if (level == 1) {
let engine = new MoveAction("Engine", { let engine = new MoveAction("Engine", {
distance_per_power: 150, distance_per_power: 280,
}); });
let laser = new TriggerAction("Prokhorov Laser", { let laser = new TriggerAction("Prokhorov Laser", {
@ -39,10 +39,10 @@ module TK.SpaceTac {
code: "Xander Base", code: "Xander Base",
effects: [ effects: [
new AttributeEffect("initiative", 1), new AttributeEffect("initiative", 1),
new AttributeEffect("evasion", 1), new AttributeEffect("evasion", 2),
new AttributeEffect("hull_capacity", 2), new AttributeEffect("hull_capacity", 2),
new AttributeEffect("shield_capacity", 1), new AttributeEffect("shield_capacity", 1),
new AttributeEffect("power_capacity", 7), new AttributeEffect("power_capacity", 6),
] ]
}, },
{ {