diff --git a/webapp/services/BattleDataService.php b/webapp/services/BattleDataService.php index 129b9ea4..6c447d1c 100644 --- a/webapp/services/BattleDataService.php +++ b/webapp/services/BattleDataService.php @@ -9,6 +9,7 @@ require_once('mt/Rank.php'); require_once('mt/RankReward.php'); require_once('mt/KillReward.php'); require_once('mt/Parameter.php'); +require_once('mt/HeroQuality.php'); require_once('models/Season.php'); require_once('models/Battle.php'); @@ -343,8 +344,25 @@ class BattleDataService extends BaseService { $rankMeta = mt\RankReward::get(getReqVal('ranked', 0)); $gold += $killMeta ? $killMeta['parameter'] : 0; $gold += $rankMeta ? $rankMeta['parameter'] : 0; + $addGold = 0; if ($gold > 0) { - $a = $gold / 3; + $addGold = floor($gold / 3); + } + if ($addGold) { + $heroQualityMeta = mt\HeroQuality::getByQuality($heroDb['quality']); + if ($heroQualityMeta) { + $goldLimit = $heroMeta['gold_limit']; + $attr = getXVal($heroDb['attr'], kHAT_LUCKY, null); + if ($attr && $attr['type'] == 1) { + $goldLimit += $attr['val']; + } + $newGold = min($goldLimit, $heroDb['today_get_gold']); + Hero::update($heroDb['hero_uniid'], + array( + 'today_get_gold' => $newGold, + 'last_get_gold_time' => myself()->_getNowTime() + )); + } } }