ファイアーエムブレム聖戦の系譜リメイク作ろうぜ
↓ 1- 覧 板 20
434:396
2013/10/30(水) 01:46:03.57 ID:bgx4tYkk0
// ダメージ計算。ややこしいので検証お願いします。
private List getDamage(Unit myself , Unit enemy,int specialSword,int range,int correctionValue){
List dameges = new ArrayList(); //吸い取りの場合はダメージと回復の両方を定義する必要があるため戻り値はリスト
List mySkill = myself.getSkillList();
List enemySkill = enemy.getSkillList();
// 恋愛およびカリスマおよび指揮官隣接補正値および地形値は既にプラスマイナスで相殺されるように計算済みと仮定
int correnctionFinalValue = correctionValue;
// 射程によって装備変更。直接武器優先。
Weapon myWeapon = myself.getDirectWeapon()
if(myself.getDirectWeapon().getMaxRange() < range || range < myself.getDirectWeapon().getMinRange()){
myWeapon = myself.getIndirectWeapon();
}
Weapon enemyWeapon = enemy.getDirectWeapon()
if(enemy.getDirectWeapon().getMaxRange() < range || range < enemy.getDirectWeapon().getMinRange()){
enemyWeapon = enemy.getIndirectWeapon();
}
// 武器が吸い取り属性ならば太陽剣扱いとする ※流星剣や月光剣と併用不可
if(myWeapon.isAbsorb() && specialSowrd==0){
specialSowrd = 3;
}
// 三すくみ補正
// 剣(1) < 槍(2)、槍(2) < 斧(3)、斧(3) < 剣(1)
// 炎(4) < 雷(5)、雷(5) < 風(6)、風(6) < 炎(4)
// 炎(4) < 闇(7)、雷(5) < 闇(7)、風(5) < 闇(7)
// 炎(4) < 光(8)、雷(5) < 光(8)、風(5) < 光(8)、闇(7) < 光(8)
if (enemyWeapon.getType() == 1 && myWeapon.getType() == 2) || (enemyWeapon.getType() == 2 && myWeapon.getType() == 3) || (enemyWeapon.getType() == 3 && myWeapon.getType() == 1)
|| (enemyWeapon.getType() == 4 && myWeapon.getType() == 5) || (enemyWeapon.getType() == 5 && myWeapon.getType() == 6) || (enemyWeapon.getType() == 6 && myWeapon.getType() == 4)
|| (enemyWeapon.getType() == 4 && myWeapon.getType() == 7) || (enemyWeapon.getType() == 5 && myWeapon.getType() == 7) || (enemyWeapon.getType() == 6 && myWeapon.getType() == 7)
|| (enemyWeapon.getType() == 4 && myWeapon.getType() == 8) || (enemyWeapon.getType() == 5 && myWeapon.getType() == 8) || (enemyWeapon.getType() == 6 && myWeapon.getType() == 8)
|| (enemyWeapon.getType() == 7 && myWeapon.getType() == 8)
){
correnctionFinalValue +=20;
} else if(myWeapon.getType() == 1 && enemyWeapon.getType() == 2) || (myWeapon.getType() == 2 && enemyWeapon.getType() == 3) || (myWeapon.getType() == 3 && enemyWeapon.getType() == 1)
|| (myWeapon.getType() == 4 && enemyWeapon.getType() == 5) || (myWeapon.getType() == 5 && enemyWeapon.getType() == 6) || (myWeapon.getType() == 6 && enemyWeapon.getType() == 4)
|| (myWeapon.getType() == 4 && enemyWeapon.getType() == 7) || (myWeapon.getType() == 5 && enemyWeapon.getType() == 7) || (myWeapon.getType() == 6 && enemyWeapon.getType() == 7)
|| (myWeapon.getType() == 4 && enemyWeapon.getType() == 8) || (myWeapon.getType() == 5 && enemyWeapon.getType() == 8) || (myWeapon.getType() == 6 && enemyWeapon.getType() == 8)
|| (myWeapon.getType() == 7 && enemyWeapon.getType() == 8)
){
correnctionFinalValue -=20;
}
516Res/288.26 KB
↑[8] 前[4] 次[6]
書[5]
板[3] 1-[1] l20