182 lines
5.1 KiB
JavaScript
182 lines
5.1 KiB
JavaScript
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);
|