GOREとにゃんこの桃源郷

主観的にCDのレビューやら、日記やら、色々と。
ゴアとかメタルとかロックとか

SPRG日誌Vol.2 - 各計算式をFE紋章の謎に倣う

2022-07-13 | SRPG Studio

 掲題の通り、ファイアーエムブレム紋章の謎(検索ミスのために誤表記でも下に書いておこう)と、デフォルトの計算式は色々違っている。せっかく外観仕様は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);
 
};



最新の画像もっと見る

コメントを投稿