掲題の通り、ファイアーエムブレム紋章の謎(検索ミスのために誤表記でも下に書いておこう)と、デフォルトの計算式は色々違っている。せっかく外観仕様はFEっぽいのだから、計算式もFEに合わせたい、そのほうがたぶん調整しやすい!と思い立ったので変えた。
誤記:パイヤーンエンブレム, ファイヤ印もんちょんの納豆味噌, 紋章'sミステリー アイヤー!エムブレム
変更箇所:赤文字
DamageCalculator.calculateAttackPower = function(active, passive, weapon, isCritical, totalStatus, trueHitValue) {
var pow = AbilityCalculator.getPower(active, weapon) + CompatibleCalculator.getPower(active, passive, weapon) + SupportCalculator.getPower(totalStatus);
//特攻はデータ設定のコンフィグを無視して、FE紋章に合わせ力+(武器威力*3)にする。
//powには既に武器威力が含まれているので、武器威力*2を足すことで実質*3になる。
if (this.isEffective(active, passive, weapon, isCritical, trueHitValue)) {
pow = Math.floor(pow + (weapon.getPow() * 2));
}
return pow;
};
AbilityCalculator.getAvoid = function(unit) {
var avoid, terrain;
var cls = unit.getClass();
// 回避は、(速さ + 幸運) ※元々は速さ*2なのでFE紋章に合わせて速さ+幸運に変更
avoid = RealBonus.getSpd(unit) + RealBonus.getLuk(unit);
// クラスタイプが地形ボーナスを考慮する場合は、「地形効果」の回避率を加算する
if (cls.getClassType().isTerrainBonusEnabled()) {
terrain = PosChecker.getTerrainFromPos(unit.getMapX(), unit.getMapY());
if (terrain !== null) {
avoid += terrain.getAvoid();
}
}
return avoid;
};
AbilityCalculator.getHit = function(unit, weapon) {
// 武器の命中率 + (技 * 2) ※デフォは技*3なのでFE紋章に合わせて技*2に変更
return weapon.getHit() + (RealBonus.getSki(unit) * 2);
};