Quick balancing of equipments and ship designs
This commit is contained in:
parent
471ca8d2d0
commit
4b8793e8f3
6
TODO
6
TODO
|
@ -1,7 +1,11 @@
|
|||
* Ensure that tweens and particle emitters get destroyed once animation is done
|
||||
* Highlight ships that will be included as target of current action
|
||||
* Fix action tooltip sometimes not being hidden when the mouse goes out of action icon
|
||||
* Quick loading does not cancel pending "setTimeout"s.
|
||||
* Do not focus on ship while targetting for area effects (dissociate hover and target)
|
||||
* Active effects are not enough visible in ship list (maybe better in arena ?)
|
||||
* Discrete power display, instead of the continuous power bar
|
||||
* When actions are inavailable at turn start, icon border is faded but not the icon itself (as it is when it fades during turn)
|
||||
* Changing active view does not cancel pending "setTimeout"s.
|
||||
* Drones: add tooltip
|
||||
* Drones: add hull points and take area damage
|
||||
* Drones: fix not being removed when owner is in statis (owner's turn is skipped)
|
||||
|
|
|
@ -247,9 +247,9 @@ module TS.SpaceTac.Specs {
|
|||
|
||||
expect(ship.values.power.get()).toBe(0);
|
||||
ship.initializeActionPoints();
|
||||
expect(ship.values.power.get()).toBe(5);
|
||||
ship.values.power.set(2);
|
||||
expect(ship.values.power.get()).toBe(2);
|
||||
expect(ship.values.power.get()).toBe(4);
|
||||
ship.values.power.set(3);
|
||||
expect(ship.values.power.get()).toBe(3);
|
||||
ship.recoverActionPoints();
|
||||
expect(ship.values.power.get()).toBe(6);
|
||||
ship.recoverActionPoints();
|
||||
|
|
|
@ -22,7 +22,7 @@ module TS.SpaceTac {
|
|||
// TODO Store in cache
|
||||
var result = [];
|
||||
|
||||
result.push(new ShipModel("scout", 1, SlotType.Armor, SlotType.Engine, SlotType.Power, SlotType.Weapon));
|
||||
result.push(new ShipModel("scout", 1, SlotType.Armor, SlotType.Engine, SlotType.Power, SlotType.Power, SlotType.Weapon));
|
||||
|
||||
result.push(new ShipModel("whirlwind", 1, SlotType.Armor, SlotType.Engine, SlotType.Power, SlotType.Shield,
|
||||
SlotType.Weapon, SlotType.Weapon));
|
||||
|
|
|
@ -9,8 +9,8 @@ module TS.SpaceTac.Equipments {
|
|||
|
||||
this.increaseAttribute("initiative", 1);
|
||||
this.increaseAttribute("power_capacity", 8);
|
||||
this.increaseAttribute("power_initial", 5);
|
||||
this.increaseAttribute("power_recovery", 4);
|
||||
this.increaseAttribute("power_initial", 4);
|
||||
this.increaseAttribute("power_recovery", 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ module TS.SpaceTac.Equipments {
|
|||
|
||||
this.setRange(400, 400, false);
|
||||
|
||||
this.ap_usage = new IntegerRange(2, 3);
|
||||
this.ap_usage = new IntegerRange(3, 4);
|
||||
this.min_level = new IntegerRange(1, 3);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ module TS.SpaceTac.Equipments {
|
|||
|
||||
this.min_level = new IntegerRange(1, 3);
|
||||
|
||||
this.increaseAttribute("hull_capacity", 100, 200);
|
||||
this.increaseAttribute("hull_capacity", 200, 300);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,15 +17,24 @@ module TS.SpaceTac.Specs {
|
|||
|
||||
expect(target.values.power.get()).toBe(4);
|
||||
expect(target.sticky_effects).toEqual([
|
||||
new StickyEffect(new AttributeLimitEffect("power_capacity", 4), 1, true, false)
|
||||
new StickyEffect(new AttributeLimitEffect("power_capacity", 4), 2, true, false)
|
||||
]);
|
||||
|
||||
// Attribute is limited for one turn, and prevents AP recovery
|
||||
// Attribute is limited for two turns, and prevents AP recovery
|
||||
target.values.power.set(6);
|
||||
target.recoverActionPoints();
|
||||
target.startTurn();
|
||||
|
||||
expect(target.values.power.get()).toBe(4);
|
||||
expect(target.sticky_effects).toEqual([
|
||||
new StickyEffect(new AttributeLimitEffect("power_capacity", 4), 1, true, false)
|
||||
]);
|
||||
|
||||
target.endTurn();
|
||||
target.recoverActionPoints();
|
||||
expect(target.values.power.get()).toBe(4);
|
||||
target.startTurn();
|
||||
|
||||
expect(target.sticky_effects).toEqual([]);
|
||||
|
||||
// Effect vanished, so AP recovery happens
|
||||
|
|
|
@ -5,12 +5,12 @@ module TS.SpaceTac.Equipments {
|
|||
constructor() {
|
||||
super("Power Depleter");
|
||||
|
||||
this.setRange(200, 300, false);
|
||||
this.setRange(300, 400, false);
|
||||
|
||||
this.ap_usage = new IntegerRange(4, 5);
|
||||
this.min_level = new IntegerRange(1, 3);
|
||||
|
||||
this.addStickyEffect(new AttributeLimitEffect("power_capacity"), 4, 3, 1, 2, true);
|
||||
this.addStickyEffect(new AttributeLimitEffect("power_capacity"), 4, 3, 2, 3, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ module TS.SpaceTac.Equipments {
|
|||
let template = new RepairDrone();
|
||||
|
||||
let equipment = template.generateFixed(0);
|
||||
expect(equipment.target_effects).toEqual([new ValueEffect("hull", 10)]);
|
||||
expect(equipment.target_effects).toEqual([new ValueEffect("hull", 30)]);
|
||||
|
||||
let battle = new Battle();
|
||||
let ship = new Ship();
|
||||
|
@ -15,11 +15,11 @@ module TS.SpaceTac.Equipments {
|
|||
|
||||
expect(battle.drones.length).toBe(1);
|
||||
let drone = battle.drones[0];
|
||||
expect(drone.duration).toBe(1);
|
||||
expect(drone.duration).toBe(2);
|
||||
ship.setAttribute("hull_capacity", 100);
|
||||
ship.setValue("hull", 85);
|
||||
ship.setValue("hull", 55);
|
||||
drone.apply([ship]);
|
||||
expect(ship.getValue("hull")).toBe(95);
|
||||
expect(ship.getValue("hull")).toBe(85);
|
||||
drone.apply([ship]);
|
||||
expect(ship.getValue("hull")).toBe(100);
|
||||
});
|
||||
|
|
|
@ -10,12 +10,12 @@ module TS.SpaceTac.Equipments {
|
|||
|
||||
this.min_level = new IntegerRange(1, 4);
|
||||
|
||||
this.setLifetime(1, 1);
|
||||
this.setDeployDistance(50, 100);
|
||||
this.setEffectRadius(40, 80);
|
||||
this.setLifetime(2, 3);
|
||||
this.setDeployDistance(150, 200);
|
||||
this.setEffectRadius(60, 180);
|
||||
this.setPowerConsumption(4, 5);
|
||||
|
||||
this.addEffect(new ValueEffect("hull"), 10, 20);
|
||||
this.addEffect(new ValueEffect("hull"), 30, 60);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -5,8 +5,8 @@ module TS.SpaceTac.Equipments {
|
|||
constructor() {
|
||||
super("SubMunition Missile", 30, 50);
|
||||
|
||||
this.setRange(350, 400, true);
|
||||
this.setBlast(150, 200);
|
||||
this.setRange(300, 400, true);
|
||||
this.setBlast(100, 150);
|
||||
|
||||
this.ap_usage = new IntegerRange(4, 5);
|
||||
this.min_level = new IntegerRange(1, 3);
|
||||
|
|
Loading…
Reference in a new issue