2017-09-24 22:23:22 +00:00
|
|
|
module TK.SpaceTac {
|
2017-08-17 17:51:22 +00:00
|
|
|
/**
|
|
|
|
* Cheat helpers for current battle
|
|
|
|
*
|
|
|
|
* May be used from the console to help development
|
|
|
|
*/
|
|
|
|
export class BattleCheats {
|
|
|
|
battle: Battle
|
|
|
|
player: Player
|
|
|
|
|
|
|
|
constructor(battle: Battle, player: Player) {
|
|
|
|
this.battle = battle;
|
|
|
|
this.player = player;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Make player win the current battle
|
|
|
|
*/
|
|
|
|
win(): void {
|
|
|
|
iforeach(this.battle.iships(), ship => {
|
|
|
|
if (ship.fleet.player != this.player) {
|
|
|
|
ship.setDead();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
this.battle.endBattle(this.player.fleet);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Make player lose the current battle
|
|
|
|
*/
|
|
|
|
lose(): void {
|
|
|
|
iforeach(this.battle.iships(), ship => {
|
|
|
|
if (ship.fleet.player == this.player) {
|
|
|
|
ship.setDead();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
this.battle.endBattle(first(this.battle.fleets, fleet => fleet.player != this.player));
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Add an equipment to current playing ship
|
|
|
|
*/
|
|
|
|
equip(name: string): void {
|
|
|
|
let ship = this.battle.playing_ship;
|
|
|
|
if (ship) {
|
|
|
|
let generator = new LootGenerator();
|
|
|
|
generator.setTemplateFilter(template => template.name == name);
|
|
|
|
|
|
|
|
let equipment = generator.generateHighest(ship.skills);
|
|
|
|
if (equipment) {
|
|
|
|
let slot_type = nn(equipment.slot_type);
|
|
|
|
let slot = ship.getFreeSlot(slot_type) || ship.addSlot(slot_type);
|
|
|
|
slot.attach(equipment);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|