1
0
Fork 0
spacetac/src/core/equipments/Shields.ts

35 lines
1.5 KiB
TypeScript

/// <reference path="../LootTemplate.ts"/>
module TS.SpaceTac.Equipments {
export class ForceField extends LootTemplate {
constructor() {
super(SlotType.Shield, "Force Field", "A basic force field, generated by radiating waves of compressed energy");
this.setSkillsRequirements({ "skill_photons": istep(1, irepeat(2)) });
this.addAttributeEffect("shield_capacity", istep(100, irepeat(40)));
}
}
export class GravitShield extends LootTemplate {
constructor() {
super(SlotType.Shield, "Gravit Shield", "A shield able to repel damage and enemies using micro-gravity wells", 140, 180);
this.setSkillsRequirements({ "skill_gravity": istep(2, irepeat(3)) });
this.addAttributeEffect("shield_capacity", istep(80, irepeat(30)));
this.addFireAction(irepeat(2), 0, istep(300, irepeat(10)), [
new EffectTemplate(new RepelEffect(), { value: istep(100, irepeat(5)) })
]);
}
}
export class InverterShield extends LootTemplate {
constructor() {
super(SlotType.Shield, "Inverter Shield", "An antimatter shield that tries to cancel inbound energy", 300, 160);
this.setSkillsRequirements({ "skill_antimatter": istep(2, irepeat(2)) });
this.addAttributeEffect("shield_capacity", istep(130, irepeat(45)));
this.addAttributeEffect("power_generation", istep(-0.2, irepeat(-0.3)));
}
}
}