2017-09-24 22:23:22 +00:00
|
|
|
module TK.SpaceTac.Equipments {
|
2017-07-27 23:02:53 +00:00
|
|
|
describe("Hulls", function () {
|
|
|
|
it("generates IronHull based on level", function () {
|
|
|
|
let template = new IronHull();
|
|
|
|
|
|
|
|
let equipment = template.generate(1);
|
|
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 1 });
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.effects).toEqual([new AttributeEffect("hull_capacity", 100)]);
|
2017-07-27 23:02:53 +00:00
|
|
|
expect(equipment.price).toEqual(100);
|
|
|
|
|
|
|
|
equipment = template.generate(2);
|
|
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 2 });
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.effects).toEqual([new AttributeEffect("hull_capacity", 140)]);
|
|
|
|
expect(equipment.price).toEqual(350);
|
2017-07-27 23:02:53 +00:00
|
|
|
|
|
|
|
equipment = template.generate(3);
|
|
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 3 });
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.effects).toEqual([new AttributeEffect("hull_capacity", 188)]);
|
|
|
|
expect(equipment.price).toEqual(850);
|
2017-07-27 23:02:53 +00:00
|
|
|
|
|
|
|
equipment = template.generate(10);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 17 });
|
|
|
|
expect(equipment.effects).toEqual([new AttributeEffect("hull_capacity", 748)]);
|
|
|
|
expect(equipment.price).toEqual(11350);
|
2017-07-27 23:02:53 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
it("generates HardCoatedHull based on level", function () {
|
|
|
|
let template = new HardCoatedHull();
|
|
|
|
|
|
|
|
let equipment = template.generate(1);
|
|
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 2 });
|
|
|
|
expect(equipment.effects).toEqual([
|
2017-09-17 22:49:53 +00:00
|
|
|
new AttributeEffect("hull_capacity", 130),
|
2017-07-27 23:02:53 +00:00
|
|
|
new AttributeEffect("maneuvrability", -2),
|
|
|
|
]);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.price).toEqual(124);
|
2017-07-27 23:02:53 +00:00
|
|
|
|
|
|
|
equipment = template.generate(2);
|
2017-09-17 23:12:51 +00:00
|
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 5 });
|
2017-07-27 23:02:53 +00:00
|
|
|
expect(equipment.effects).toEqual([
|
2017-09-17 22:49:53 +00:00
|
|
|
new AttributeEffect("hull_capacity", 182),
|
2017-07-27 23:02:53 +00:00
|
|
|
new AttributeEffect("maneuvrability", -3),
|
|
|
|
]);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.price).toEqual(434);
|
2017-07-27 23:02:53 +00:00
|
|
|
|
|
|
|
equipment = template.generate(3);
|
2017-09-17 23:12:51 +00:00
|
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 8 });
|
2017-07-27 23:02:53 +00:00
|
|
|
expect(equipment.effects).toEqual([
|
2017-09-17 22:49:53 +00:00
|
|
|
new AttributeEffect("hull_capacity", 244),
|
|
|
|
new AttributeEffect("maneuvrability", -5),
|
2017-07-27 23:02:53 +00:00
|
|
|
]);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.price).toEqual(1054);
|
2017-07-27 23:02:53 +00:00
|
|
|
|
|
|
|
equipment = template.generate(10);
|
2017-09-17 23:12:51 +00:00
|
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 50 });
|
2017-07-27 23:02:53 +00:00
|
|
|
expect(equipment.effects).toEqual([
|
2017-09-17 22:49:53 +00:00
|
|
|
new AttributeEffect("hull_capacity", 972),
|
|
|
|
new AttributeEffect("maneuvrability", -19),
|
2017-07-27 23:02:53 +00:00
|
|
|
]);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.price).toEqual(14074);
|
2017-07-27 23:02:53 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
it("generates FractalHull based on level", function () {
|
|
|
|
let template = new FractalHull();
|
|
|
|
|
|
|
|
let equipment = template.generate(1);
|
|
|
|
expect(equipment.requirements).toEqual({ "skill_quantum": 1 });
|
|
|
|
expect(equipment.effects).toEqual([
|
2017-09-17 22:49:53 +00:00
|
|
|
new AttributeEffect("hull_capacity", 60),
|
|
|
|
new AttributeEffect("precision", 2),
|
2017-07-27 23:02:53 +00:00
|
|
|
]);
|
2017-10-03 16:11:30 +00:00
|
|
|
expect(equipment.action).toEqual(new TriggerAction(equipment, [new ValueEffect("hull", 60)]));
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.cooldown).toEqual(new Cooldown(1, 4));
|
2017-07-27 23:02:53 +00:00
|
|
|
expect(equipment.price).toEqual(250);
|
|
|
|
|
|
|
|
equipment = template.generate(2);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.requirements).toEqual({ "skill_quantum": 3 });
|
2017-07-27 23:02:53 +00:00
|
|
|
expect(equipment.effects).toEqual([
|
2017-09-17 22:49:53 +00:00
|
|
|
new AttributeEffect("hull_capacity", 84),
|
|
|
|
new AttributeEffect("precision", 2),
|
2017-07-27 23:02:53 +00:00
|
|
|
]);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.cooldown).toEqual(new Cooldown(1, 4));
|
|
|
|
expect(equipment.price).toEqual(875);
|
2017-07-27 23:02:53 +00:00
|
|
|
|
|
|
|
equipment = template.generate(3);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.requirements).toEqual({ "skill_quantum": 5 });
|
2017-07-27 23:02:53 +00:00
|
|
|
expect(equipment.effects).toEqual([
|
2017-09-17 22:49:53 +00:00
|
|
|
new AttributeEffect("hull_capacity", 112),
|
|
|
|
new AttributeEffect("precision", 3),
|
2017-07-27 23:02:53 +00:00
|
|
|
]);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.cooldown).toEqual(new Cooldown(1, 4));
|
|
|
|
expect(equipment.price).toEqual(2125);
|
2017-07-27 23:02:53 +00:00
|
|
|
|
|
|
|
equipment = template.generate(10);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.requirements).toEqual({ "skill_quantum": 33 });
|
2017-07-27 23:02:53 +00:00
|
|
|
expect(equipment.effects).toEqual([
|
2017-09-17 22:49:53 +00:00
|
|
|
new AttributeEffect("hull_capacity", 448),
|
|
|
|
new AttributeEffect("precision", 14),
|
2017-07-27 23:02:53 +00:00
|
|
|
]);
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.cooldown).toEqual(new Cooldown(1, 4));
|
|
|
|
expect(equipment.price).toEqual(28375);
|
2017-07-27 23:02:53 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|