actionbar: Fixed move actions not always be first
This commit is contained in:
parent
7a99f97b00
commit
8be89b1825
|
@ -105,20 +105,24 @@ module TS.SpaceTac.Specs {
|
|||
expect(actions[0].code).toEqual("endturn");
|
||||
|
||||
slot = ship.addSlot(SlotType.Engine);
|
||||
equipment = new Equipment();
|
||||
equipment.slot_type = slot.type;
|
||||
equipment = new Equipment(slot.type);
|
||||
equipment.action = new MoveAction(equipment);
|
||||
slot.attach(equipment);
|
||||
|
||||
slot = ship.addSlot(SlotType.Weapon);
|
||||
equipment = new Equipment();
|
||||
equipment.slot_type = slot.type;
|
||||
equipment = new Equipment(slot.type);
|
||||
slot.attach(equipment);
|
||||
|
||||
slot = ship.addSlot(SlotType.Power);
|
||||
equipment = new Equipment(slot.type);
|
||||
equipment.action = new FireWeaponAction(equipment);
|
||||
slot.attach(equipment);
|
||||
|
||||
actions = ship.getAvailableActions();
|
||||
expect(actions.length).toBe(2);
|
||||
expect(actions.length).toBe(3);
|
||||
expect(actions[0].code).toEqual("move");
|
||||
expect(actions[1].code).toEqual("endturn");
|
||||
expect(actions[1].code).toEqual("fire-equipment");
|
||||
expect(actions[2].code).toEqual("endturn");
|
||||
});
|
||||
|
||||
it("applies permanent effects of equipments on attributes", function () {
|
||||
|
|
|
@ -124,17 +124,23 @@ module TS.SpaceTac {
|
|||
return this.fleet.battle;
|
||||
}
|
||||
|
||||
// Get the list of actions available
|
||||
// This list does not filter out actions unavailable due to insufficient AP, it only filters out
|
||||
// actions that are not allowed/available at all on the ship
|
||||
/**
|
||||
* Get the list of actions available
|
||||
*
|
||||
* This list does not filter out actions unavailable due to insufficient AP, it only filters out actions that
|
||||
* are not allowed/available at all on the ship
|
||||
*/
|
||||
getAvailableActions(): BaseAction[] {
|
||||
var actions: BaseAction[] = [];
|
||||
|
||||
if (this.alive) {
|
||||
this.slots.forEach((slot: Slot) => {
|
||||
if (slot.attached && slot.attached.action && slot.attached.action.code != "nothing") {
|
||||
actions.push(slot.attached.action);
|
||||
}
|
||||
let slots = [SlotType.Engine, SlotType.Power, SlotType.Hull, SlotType.Shield, SlotType.Weapon];
|
||||
slots.forEach(slot => {
|
||||
this.listEquipment(slot).forEach(equipment => {
|
||||
if (equipment.action.code != "nothing") {
|
||||
actions.push(equipment.action)
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ module TS.SpaceTac.Equipments {
|
|||
expect(equipment.price).toEqual(124);
|
||||
|
||||
equipment = template.generate(2);
|
||||
expect(equipment.requirements).toEqual({ "skill_materials": 3 });
|
||||
expect(equipment.requirements).toEqual({ "skill_materials": 5 });
|
||||
expect(equipment.effects).toEqual([
|
||||
new AttributeEffect("hull_capacity", 182),
|
||||
new AttributeEffect("maneuvrability", -3),
|
||||
|
@ -44,7 +44,7 @@ module TS.SpaceTac.Equipments {
|
|||
expect(equipment.price).toEqual(434);
|
||||
|
||||
equipment = template.generate(3);
|
||||
expect(equipment.requirements).toEqual({ "skill_materials": 5 });
|
||||
expect(equipment.requirements).toEqual({ "skill_materials": 8 });
|
||||
expect(equipment.effects).toEqual([
|
||||
new AttributeEffect("hull_capacity", 244),
|
||||
new AttributeEffect("maneuvrability", -5),
|
||||
|
@ -52,7 +52,7 @@ module TS.SpaceTac.Equipments {
|
|||
expect(equipment.price).toEqual(1054);
|
||||
|
||||
equipment = template.generate(10);
|
||||
expect(equipment.requirements).toEqual({ "skill_materials": 24 });
|
||||
expect(equipment.requirements).toEqual({ "skill_materials": 50 });
|
||||
expect(equipment.effects).toEqual([
|
||||
new AttributeEffect("hull_capacity", 972),
|
||||
new AttributeEffect("maneuvrability", -19),
|
||||
|
|
|
@ -14,7 +14,7 @@ module TS.SpaceTac.Equipments {
|
|||
constructor() {
|
||||
super(SlotType.Hull, "Hard Coated Hull", "Hardened hull, with titanium coating", 124);
|
||||
|
||||
this.setSkillsRequirements({ "skill_materials": leveled(2, 1.4) });
|
||||
this.setSkillsRequirements({ "skill_materials": leveled(2, 3) });
|
||||
this.addAttributeEffect("hull_capacity", leveled(130));
|
||||
this.addAttributeEffect("maneuvrability", leveled(-2, -1));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue