|
@@ -30,17 +30,7 @@ class FightPower_Calculate {
|
|
|
my_Assert($mo != null, ErrCode::err_const_no);
|
|
|
|
|
|
//【1.当前英雄表里的基础攻击 2.装备品质解锁的攻击力 3.装备里镶嵌的宝石攻击力 4.组成套装的攻击力5.启灵攻击力 6.英雄自带词条】 7.装备等级带来的攻击力/生命
|
|
|
- //英雄带的【1.配置表基础 2.英雄身上的词条】
|
|
|
- $addDamage = E_PredicateActionType::addDamage;
|
|
|
- $addHp = E_PredicateActionType::addHp;
|
|
|
- $addBigHitRate = E_PredicateActionType::addBigHitRate;
|
|
|
- $addBigHitVal = E_PredicateActionType::addBigHitVal;
|
|
|
-
|
|
|
- $dic->$addDamage += $mo->attack;
|
|
|
- $dic->$addHp += $mo->hp;
|
|
|
- $dic->$addBigHitRate += $mo->bigHit_rate;
|
|
|
- $dic->$addBigHitVal += $mo->bigHit_Val;
|
|
|
-
|
|
|
+ //英雄带的
|
|
|
$hero_special_predicate = explode(',', $mo->special_predicate);
|
|
|
foreach ($hero_special_predicate as $hero_predicateId) {
|
|
|
self::predicateActionParamVal($hero_predicateId,$dic);
|
|
@@ -105,45 +95,65 @@ class FightPower_Calculate {
|
|
|
isEditor() and $value = new \sm_evolve();
|
|
|
if ($key <= $evolveMaxId_left) {
|
|
|
self::predicateActionParamVal($value->predicateId,$dic);
|
|
|
- continue;
|
|
|
+ //continue;
|
|
|
}
|
|
|
|
|
|
if($value->specificEvolveId >0 && $value->specificEvolveId <= $evolveMaxId_right){
|
|
|
self::predicateActionParamVal($value->specificPredicateId,$dic);
|
|
|
- continue;
|
|
|
+ //continue;
|
|
|
}
|
|
|
-
|
|
|
- break;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
- $dic->$addDamage +=$attck;
|
|
|
- $dic->$addHp +=$hp;
|
|
|
//战力 = (基础攻击力 * 攻击力系数 + 基础生命值 * 生命值系数 + (1+暴击率) * (1+暴击伤害) * 攻击力系数 + 肉食恢复加成 * (1+肉食恢复效果)*生命值系数+伤害减免值 * (1+伤害减免效果)* 生命值系数) * (1+装备系数+角色系数)
|
|
|
$attackParas = glc()->fightPower_MulAtk;
|
|
|
$hpParas = glc()->fightPower_MulHp;
|
|
|
- $base_addDamage = $dic->$addDamage;
|
|
|
- $mulDamage = E_PredicateActionType::mulDamage;
|
|
|
- $mulDamageVal = $dic->$mulDamage;
|
|
|
|
|
|
- $mulHp = E_PredicateActionType::mulHp;
|
|
|
- $mulHpVal = $dic->$mulHp;
|
|
|
+ $addDamage_ActionKey = E_PredicateActionType::addDamage;
|
|
|
+ $dic->$addDamage_ActionKey += $mo->attack;
|
|
|
+ $dic->$addDamage_ActionKey +=$attck;
|
|
|
+ $base_addDamage = $dic->$addDamage_ActionKey;//基础攻击
|
|
|
+
|
|
|
+
|
|
|
+ $addHp_ActionKey = E_PredicateActionType::addHp;
|
|
|
+ $dic->$addHp_ActionKey += $mo->hp;
|
|
|
+ $dic->$addHp_ActionKey +=$hp;
|
|
|
+ $base_addHp = $dic->$addHp_ActionKey;//基础生命值
|
|
|
|
|
|
- $base_addHp = $dic->$addHp;
|
|
|
|
|
|
- $baojilv = $dic->$addBigHitRate;
|
|
|
- $baojishanghai = $dic->$addBigHitVal;
|
|
|
- $addEatFood = E_PredicateActionType::addEatFood;
|
|
|
- $roushihuifu = $dic->$addEatFood;
|
|
|
- $mulEatFood = E_PredicateActionType::mulEatFood;
|
|
|
- $roushihuifu_xiaoguo = $dic->$mulEatFood;
|
|
|
- $addDecDamage = E_PredicateActionType::addDecDamage;
|
|
|
- $shanghaijianmian = $dic->$addDecDamage;
|
|
|
- $mulDecDamage = E_PredicateActionType::mulDecDamage;
|
|
|
- $shanghaijianmian_xiaoguo = $dic->$mulDecDamage;
|
|
|
+ $addBigHitRate_ActionKey = E_PredicateActionType::addBigHitRate;
|
|
|
+ $dic->$addBigHitRate_ActionKey += $mo->bigHit_rate;
|
|
|
+ $baojilv = $dic->$addBigHitRate_ActionKey;//暴击率
|
|
|
+
|
|
|
+ $addBigHitVal_ActionKey = E_PredicateActionType::addBigHitVal;
|
|
|
+ $dic->$addBigHitVal_ActionKey += $mo->bigHit_Val;
|
|
|
+ $baojishanghai = $dic->$addBigHitVal_ActionKey;//暴击伤害
|
|
|
+
|
|
|
+
|
|
|
+ $mulDamage_ActionKey = E_PredicateActionType::mulDamage;
|
|
|
+ $mulDamageVal = $dic->$mulDamage_ActionKey;//攻击里加成百分比
|
|
|
+
|
|
|
+ $mulHp_ActionKey = E_PredicateActionType::mulHp;
|
|
|
+ $mulHpVal = $dic->$mulHp_ActionKey;//生命额外加成
|
|
|
+
|
|
|
+ $addEatFood_ActionKey = E_PredicateActionType::addEatFood;
|
|
|
+ $roushihuifu = $dic->$addEatFood_ActionKey;
|
|
|
+ $mulEatFood_ActionKey = E_PredicateActionType::mulEatFood;
|
|
|
+ $roushihuifu_xiaoguo = $dic->$mulEatFood_ActionKey;
|
|
|
+ $addDecDamage_ActionKey = E_PredicateActionType::addDecDamage;
|
|
|
+ $shanghaijianmian = $dic->$addDecDamage_ActionKey;
|
|
|
+ $mulDecDamage_ActionKey = E_PredicateActionType::mulDecDamage;
|
|
|
+ $shanghaijianmian_xiaoguo = $dic->$mulDecDamage_ActionKey;
|
|
|
+
|
|
|
+ $mulEquipBasicProps_damage_ActionKey = E_PredicateActionType::mulEquipBasicProps_damage;
|
|
|
+ $mulEquipBasicProps_damage_val = $dic->$mulEquipBasicProps_damage_ActionKey;
|
|
|
+ $mulEquipBasicProps_hp_ActionKey = E_PredicateActionType::mulEquipBasicProps_hp;
|
|
|
+ $shanghaijianmian_xiaoguo_val = $dic->$mulEquipBasicProps_hp_ActionKey;
|
|
|
+
|
|
|
|
|
|
+ $gongji = round($base_addDamage*(1+$mulDamageVal+$mulEquipBasicProps_damage_val),0);
|
|
|
+ $shengming = round($base_addHp*(1+$mulHpVal+$shanghaijianmian_xiaoguo_val),0);
|
|
|
|
|
|
- $gongji = round($base_addDamage*(1+$mulDamageVal),0);
|
|
|
- $shengming = round($base_addHp*(1+$mulHpVal),0);
|
|
|
$fightPower = ($gongji*$attackParas + $shengming*$hpParas + (1+$baojilv)*(1+$baojishanghai)*$attackParas + $roushihuifu*(1+$roushihuifu_xiaoguo)*$hpParas + $shanghaijianmian*(1+$shanghaijianmian_xiaoguo)* $hpParas)*(1 + $equipParam + $mo->mulFightPower);
|
|
|
|
|
|
// var_dump('---攻击-------------------'.$gongji);
|