This commit is contained in:
hujiabin 2024-06-18 16:44:57 +08:00
parent fdec13f70a
commit 539b0676dd
2 changed files with 52 additions and 72 deletions

View File

@ -309,6 +309,7 @@ class BattleController extends BaseAuthedController {
}
}
}
$roomBattleDataService->realUserCount = $realUserNum;
}
//排位模式计算个人排名
if ($roomBattleDataService->mapMode == mt\MapMode::RANKING_MODE){
@ -328,7 +329,7 @@ class BattleController extends BaseAuthedController {
return ($a['expScore'] > $b['expScore']) ? -1 : 1;
});
}
$roomBattleDataService->realUserCount = $realUserNum;
foreach ($input["team_list"] as $teamData){
$battle_uuid = getXVal($teamData,'battle_uuid', 0);
$battleSettlementDb = BattleSettlement::findTeam($battle_uuid,$room_uuid);

View File

@ -47,7 +47,7 @@ class RoomBattleDataService extends BaseService {
public function settlementReward(){
error_log('settlementReward1');
error_log('settlementReward');
$realUserNum = 0;
$myTeamScore = 0;
foreach ($this->teamData['members'] as $member){
@ -57,13 +57,6 @@ class RoomBattleDataService extends BaseService {
}
}
$myTeamScoreAvg = $realUserNum > 0 ? $myTeamScore / $realUserNum : 0;
// $paramMeta = mt\Parameter::getVal('performance_score_range',0);
// $scoreParam = explode("|",$paramMeta);
// if (count($paramMeta) < 2){
// error_log('Parameter table error');
// return;
// }
// $room_mode = getXVal($this->inputData,'room_mode', 0);
$battleData = emptyReplace(json_decode($this->battleSettlementDb['data'], true), array());
if ($battleData['settlement_status'] == 1){
error_log('Cannot be resettled');
@ -90,14 +83,6 @@ class RoomBattleDataService extends BaseService {
$newRank=$userDb['rank'];
$ranked = $this->getMyRanked($account);
$newScore = FormulaService::calcBattleAfterRankScoreNew($userDb,$ranked,$teamRanked,$winningPro);
if ($account == "6513_2006_VBpXS6ACSw6oqbEspB3N1ezsAty0IIvk"){
error_log("RankParam: ".json_encode(array(
'rank' => $ranked,
'teamRank' => $teamRanked,
'winningPro' => $winningPro,
"sortAccount" => $this->teamExpScoreSort
)));
}
$newElo = FormulaService::calcUserEloValueNew($userDb,$ranked,$winningPro);
if ($newScore < $userDb['score'] && $userDb['score']< 1300){
$newScore = $userDb['score'];
@ -160,7 +145,7 @@ class RoomBattleDataService extends BaseService {
}
public function _getBattleRewards($userDb,$heroDb,$battleScore,$teamScoreAvg,$teamScore,&$reward){
error_log('settlementReward : _getBattleRewards');
error_log('settlementReward -> _getBattleRewards');
$mapModeMeta = mt\MapMode::findByMapMode($this->mapMode);
$teamRank = getXVal($this->teamData,'pvp_team_rank', 0);
if ($mapModeMeta){
@ -190,12 +175,6 @@ class RoomBattleDataService extends BaseService {
(!Hero::verifyValid($heroDb) || $heroTimes >= $heroTimesMax || $goldModeTimes >= $mapModeMeta['rewards_max_time'])){
error_log("金币模式:出战英雄没有打金时间或每日打金场次上限");
}else{
error_log('settlementReward : star');
if ($this->mapMode == mt\MapMode::GOLD_MODE){
myself()->_incDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,(int)$heroDb['idx'],1);
myself()->_incDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,0,1);
}
error_log('settlementReward : test1');
if (!empty($rewardMeta['goldLoot'])){
$items = LootService::dropOutItem($rewardMeta['goldLoot']);
foreach ($items as $item){
@ -207,7 +186,6 @@ class RoomBattleDataService extends BaseService {
}
}
}
error_log('settlementReward : test2');
if ($gold > 0){
// $strArr = explode("|",$rewardMeta['goldParam']);
$coefficientArr = explode(";",$rewardMeta['goldParam']);
@ -219,7 +197,10 @@ class RoomBattleDataService extends BaseService {
$gold = floor($gold * $this->realUserCount * $coefficient * ($battleScore / $teamScore));
}
}
error_log('settlementReward : test3');
$baseValue = $gold;
if ($this->mapMode == mt\MapMode::GOLD_MODE){
myself()->_incDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,(int)$heroDb['idx'],1);
myself()->_incDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,0,1);
//财富值加成
$wealthK = mt\Parameter::getVal('economy_hero_wealth_K',0);
$wealthE = mt\Parameter::getVal('economy_hero_wealth_E',0);
@ -228,7 +209,6 @@ class RoomBattleDataService extends BaseService {
// $wealthValue = round($wealthRate,4);
//基础金币获得
$baseValue = $gold;
error_log('settlementReward : test4');
//算力加成
$currentPeriod= \mt\AchievementsCycle::getCurrentPeriod();
if ($currentPeriod && myself()->_getNowTime() >= strtotime($currentPeriod['income_start_time'])){
@ -244,7 +224,6 @@ class RoomBattleDataService extends BaseService {
$hashRateValue = round($powerRate,4);
}
error_log('settlementReward : test5');
if ($userDb['account_id'] == "6517_2006_s1_0_104162729566475397176"){
error_log("BattleGoldRecord:".json_encode(array(
'goldLootIndex' => $rewardMeta['goldLoot'],
@ -267,6 +246,8 @@ class RoomBattleDataService extends BaseService {
'finalGold' => floor($gold)
)));
}
}
if ($gold > 0){
array_push($reward,array(
"item_id" => V_ITEM_GOLD,
@ -278,7 +259,6 @@ class RoomBattleDataService extends BaseService {
)
));
myself()->_incDailyV(TN_DAILY_GATHER_GOLD,0,floor($gold));
error_log('settlementReward : test6');
}
}
@ -295,7 +275,6 @@ class RoomBattleDataService extends BaseService {
}
}
}
error_log('settlementReward : end'.'box-'.$rate);
}
}