2017-09-24 22:23:22 +00:00
|
|
|
module TK.SpaceTac.Equipments {
|
2017-04-18 19:51:23 +00:00
|
|
|
describe("GatlingGun", function () {
|
|
|
|
it("generates equipment based on level", function () {
|
|
|
|
let template = new GatlingGun();
|
|
|
|
|
|
|
|
let equipment = template.generate(1);
|
2017-06-11 20:44:12 +00:00
|
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 1 });
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.action).toEqual(new FireWeaponAction(equipment, 3, 500, 0, [new DamageEffect(30, 20)]));
|
|
|
|
expect(equipment.price).toEqual(100);
|
|
|
|
expect(equipment.cooldown).toEqual(new Cooldown(2, 2));
|
2017-04-18 19:51:23 +00:00
|
|
|
|
|
|
|
equipment = template.generate(2);
|
2017-06-11 20:44:12 +00:00
|
|
|
expect(equipment.requirements).toEqual({ "skill_materials": 2 });
|
2017-09-17 22:49:53 +00:00
|
|
|
expect(equipment.action).toEqual(new FireWeaponAction(equipment, 3, 512, 0, [new DamageEffect(42, 28)]));
|
|
|
|
expect(equipment.price).toEqual(350);
|
|
|
|
expect(equipment.cooldown).toEqual(new Cooldown(2, 2));
|
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_materials": 4 });
|
|
|
|
expect(equipment.action).toEqual(new FireWeaponAction(equipment, 3, 526, 0, [new DamageEffect(56, 37)]));
|
|
|
|
expect(equipment.price).toEqual(850);
|
|
|
|
expect(equipment.cooldown).toEqual(new Cooldown(2, 2));
|
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_materials": 23 });
|
|
|
|
expect(equipment.action).toEqual(new FireWeaponAction(equipment, 3, 694, 0, [new DamageEffect(224, 149)]));
|
|
|
|
expect(equipment.price).toEqual(11350);
|
|
|
|
expect(equipment.cooldown).toEqual(new Cooldown(2, 2));
|
2017-04-18 19:51:23 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|