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.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");
});
});
}

View file

@ -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`;
}
}
}

View file

@ -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),
]
},
{

View file

@ -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),
]
},
{

View file

@ -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),
]
},
{

View file

@ -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),
]
},
{

View file

@ -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),
]
},
{

View file

@ -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),
]
},
{

View file

@ -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),
]

View file

@ -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),
]
},
{

View file

@ -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),
]
},
{

View file

@ -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),
]
},
{

View file

@ -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),
]
},
{