var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError( "Class extends value " + String(b) + " is not a constructor or null" ); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __()); }; })(); var Nore; (function (Nore) { Nore.TROOP_MAP = { 1: [7, 8, 9], 2: [11, 12, 13], }; function makeAreaTroopData(areaId, clearNum) { var result = []; var battleId = 1; for (var i = 0; i < Nore.TROOP_MAP[areaId].length; i++) { if (clearNum + 1 > i) { var troopId = Nore.TROOP_MAP[areaId][i]; var data = makeTroopData(areaId, troopId); data.setBattleId(battleId); result.push(data); } battleId++; } return result.reverse(); } Nore.makeAreaTroopData = makeAreaTroopData; function makeTroopData(areaId, troopId) { var troop = $dataTroops[troopId]; return new TroopData(areaId, troopId); } Nore.makeTroopData = makeTroopData; })(Nore || (Nore = {})); var EnemyElement; (function (EnemyElement) { EnemyElement[(EnemyElement["none"] = 1)] = "none"; EnemyElement[(EnemyElement["fire"] = 2)] = "fire"; EnemyElement[(EnemyElement["water"] = 3)] = "water"; EnemyElement[(EnemyElement["forest"] = 4)] = "forest"; })(EnemyElement || (EnemyElement = {})); var TroopData = /** @class */ (function () { function TroopData(areaId, troopId) { this._areaId = areaId; this._troopId = troopId; this.parseLevels(); this.makeEnemyList(); } TroopData.prototype.setBattleId = function (id) { this._battleId = id; }; TroopData.prototype.makeEnemyList = function () { this._enemyList = []; var troop = $dataTroops[this._troopId]; for (var i = 0; i < troop.members.length; i++) { var e = troop.members[i]; var level = this._levelList[i]; var enemy = new EnemyData(e.enemyId); enemy.setLevel(level); this._enemyList.push(enemy); } }; TroopData.prototype.enemyList = function () { return this._enemyList; }; TroopData.prototype.battleId = function () { return this._battleId; }; TroopData.prototype.troopId = function () { return this._troopId; }; TroopData.prototype.areaId = function () { return this._areaId; }; TroopData.prototype.levelList = function () { return this._levelList; }; TroopData.prototype.parseLevels = function () { this._levelList = []; var name = $dataTroops[this._troopId].name; var regexp1 = /.*<([0-9,]+)>.*/g; var result = regexp1.exec(name); //p(result) if (!result) { return; } var match = result[1]; var list = match.split(","); for (var _i = 0, list_1 = list; _i < list_1.length; _i++) { var s = list_1[_i]; this._levelList.push(parseInt(s)); } }; return TroopData; })(); var EnemyData = /** @class */ (function () { function EnemyData(enemyId) { this._enemyId = enemyId; this._level = 0; } EnemyData.prototype.setLevel = function (n) { this._level = n; }; EnemyData.prototype.level = function () { return this._level; }; EnemyData.prototype.element = function () { for (var _i = 0, _a = this.enemy().traits; _i < _a.length; _i++) { var t = _a[_i]; if (t.code == 31) { return t.dataId; } } return EnemyElement.none; }; EnemyData.prototype.enemy = function () { return $dataEnemies[this._enemyId]; }; return EnemyData; })(); var Game_Troop2 = /** @class */ (function (_super) { __extends(Game_Troop2, _super); function Game_Troop2() { return (_super !== null && _super.apply(this, arguments)) || this; } Game_Troop2.prototype.setup = function (troopId) { this._troopData = new TroopData(-1, troopId); this.clear(); this._troopId = troopId; this._enemies = []; for (var i = 0; i < this.troop().members.length; i++) { var member = this.troop().members[i]; var level = this._troopData.levelList()[i]; if ($dataEnemies[member.enemyId]) { var enemyId = member.enemyId; var x = member.x; var y = member.y; var enemy = new Game_Enemy2(enemyId, x, y, level); if (member.hidden) { enemy.hide(); } this._enemies.push(enemy); } } this.makeUniqueNames(); }; Game_Troop2.prototype.hpPer = function () { var max = 0; var current = 0; for (var _i = 0, _a = this.members(); _i < _a.length; _i++) { var enemy = _a[_i]; max += enemy.mhp; current += enemy.hp; } return Math.round((current * 100) / max); }; return Game_Troop2; })(Game_Troop);