2017-02-09 00:00:35 +00:00
|
|
|
module TS.SpaceTac.Equipments {
|
2017-02-07 00:08:07 +00:00
|
|
|
describe("RepairDrone", function () {
|
2017-04-18 19:51:23 +00:00
|
|
|
it("generates equipment based on level", function () {
|
|
|
|
let template = new RepairDrone();
|
|
|
|
|
|
|
|
let equipment = template.generate(1);
|
2017-06-11 20:44:12 +00:00
|
|
|
expect(equipment.requirements).toEqual({ "skill_quantum": 1 });
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.action).toEqual(new DeployDroneAction(equipment, 4, 300, 10, 150, [
|
|
|
|
new ValueEffect("hull", 2)
|
|
|
|
]));
|
2017-04-18 19:51:23 +00:00
|
|
|
|
|
|
|
equipment = template.generate(2);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.requirements).toEqual({ "skill_quantum": 4 });
|
|
|
|
expect(equipment.action).toEqual(new DeployDroneAction(equipment, 4, 310, 11, 155, [
|
|
|
|
new ValueEffect("hull", 3)
|
|
|
|
]));
|
2017-04-18 19:51:23 +00:00
|
|
|
|
|
|
|
equipment = template.generate(3);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.requirements).toEqual({ "skill_quantum": 7 });
|
|
|
|
expect(equipment.action).toEqual(new DeployDroneAction(equipment, 4, 322, 12, 161, [
|
|
|
|
new ValueEffect("hull", 4)
|
|
|
|
]));
|
2017-04-18 19:51:23 +00:00
|
|
|
|
|
|
|
equipment = template.generate(10);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.requirements).toEqual({ "skill_quantum": 49 });
|
|
|
|
expect(equipment.action).toEqual(new DeployDroneAction(equipment, 10, 462, 26, 231, [
|
|
|
|
new ValueEffect("hull", 11)
|
|
|
|
]));
|
2017-04-18 19:51:23 +00:00
|
|
|
});
|
|
|
|
|
2017-02-07 00:08:07 +00:00
|
|
|
it("generates a drone that may repair ships hull", function () {
|
|
|
|
let template = new RepairDrone();
|
|
|
|
|
2017-09-17 22:49:53 +00:00
|
|
|
let equipment = template.generate(4);
|
|
|
|
expect(equipment.action).toEqual(new DeployDroneAction(equipment, 5, 336, 13, 168, [
|
|
|
|
new ValueEffect("hull", 5)
|
|
|
|
]));
|
2017-02-08 00:18:54 +00:00
|
|
|
|
|
|
|
let battle = new Battle();
|
2017-03-07 19:27:46 +00:00
|
|
|
let ship = battle.fleets[0].addShip();
|
2017-02-08 00:18:54 +00:00
|
|
|
battle.playing_ship = ship;
|
2017-05-10 22:52:16 +00:00
|
|
|
battle.play_order = [ship];
|
2017-02-08 00:18:54 +00:00
|
|
|
TestTools.setShipAP(ship, 10);
|
2017-09-19 15:09:06 +00:00
|
|
|
let result = nn(equipment.action).apply(ship, new Target(5, 5, null));
|
2017-02-08 00:18:54 +00:00
|
|
|
expect(result).toBe(true);
|
|
|
|
|
|
|
|
expect(battle.drones.length).toBe(1);
|
|
|
|
let drone = battle.drones[0];
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(drone.duration).toBe(13);
|
2017-02-08 00:18:54 +00:00
|
|
|
ship.setAttribute("hull_capacity", 100);
|
2017-05-23 17:17:33 +00:00
|
|
|
ship.setValue("hull", 93);
|
2017-02-15 21:15:31 +00:00
|
|
|
drone.apply([ship]);
|
2017-05-23 17:17:33 +00:00
|
|
|
expect(ship.getValue("hull")).toBe(98);
|
2017-02-15 21:15:31 +00:00
|
|
|
drone.apply([ship]);
|
2017-02-08 00:18:54 +00:00
|
|
|
expect(ship.getValue("hull")).toBe(100);
|
2017-02-07 00:08:07 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|