box reward

This commit is contained in:
aozhiwei 2024-07-31 15:52:18 +08:00
parent 6a8d0d5806
commit 69e67f3de6

View File

@ -127,7 +127,7 @@ class RoomBattleDataService extends BaseService {
if ($this->mapMode == mt\MapMode::TREASURE_BOX_MODE && $member['move_distance'] <= 2000 ){ if ($this->mapMode == mt\MapMode::TREASURE_BOX_MODE && $member['move_distance'] <= 2000 ){
error_log("金币模式:消极战斗"); error_log("金币模式:消极战斗");
}else{ }else{
$this->_getBattleRewards($userDb,$heroDb,$battleScore,$myTeamScoreAvg,$myTeamScore,$member['reward']); $this->_getBattleRewards($userDb,$heroDb,$battleScore,$myTeamScoreAvg,$myTeamScore,$member['reward'], $member);
myself()->_addItems($member['reward'], $awardService,$propertyChgService); myself()->_addItems($member['reward'], $awardService,$propertyChgService);
if ($this->mapMode == mt\MapMode::GOLD_MODE){ if ($this->mapMode == mt\MapMode::GOLD_MODE){
$member['today_hero_battles'] = $heroDb['idx'] . '|' .myself()->_getDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,$heroDb['idx']); $member['today_hero_battles'] = $heroDb['idx'] . '|' .myself()->_getDailyV(TN_DAILY_GOLD_MODE_BATTLE_TIMES,$heroDb['idx']);
@ -158,7 +158,7 @@ class RoomBattleDataService extends BaseService {
} }
public function _getBattleRewards($userDb,$heroDb,$battleScore,$teamScoreAvg,$teamScore,&$reward){ public function _getBattleRewards($userDb,$heroDb,$battleScore,$teamScoreAvg,$teamScore,&$reward, $member){
error_log('settlementReward -> _getBattleRewards'); error_log('settlementReward -> _getBattleRewards');
$mapModeMeta = mt\MapMode::findByMapMode($this->mapMode); $mapModeMeta = mt\MapMode::findByMapMode($this->mapMode);
$teamRank = getXVal($this->teamData,'pvp_team_rank', 0); $teamRank = getXVal($this->teamData,'pvp_team_rank', 0);
@ -260,28 +260,30 @@ class RoomBattleDataService extends BaseService {
//宝箱掉落 //宝箱掉落
$chestLootProbArr = explode(";",$rewardMeta['chestLootProb']); $chestLootProbArr = explode(";",$rewardMeta['chestLootProb']);
$rate = isset($chestLootProbArr[$teamRank-1]) ? $chestLootProbArr[$teamRank-1] : 0; $rate = isset($chestLootProbArr[$teamRank-1]) ? $chestLootProbArr[$teamRank-1] : 0;
if ($rate > 0){ if ($rate > 0 && !empty($member['box_num'])){
$rand = $rate * 100; for ($i = 0; i < $member['box_num']; ++$i) {
$rnd = rand(1,100); $rand = $rate * 100;
if ($rnd <= $rand){ $rnd = rand(1,100);
$chestItems = LootService::dropOutItem($rewardMeta['chestLoot']); if ($rnd <= $rand){
if (count($chestItems)>0){ $chestItems = LootService::dropOutItem($rewardMeta['chestLoot']);
$event = array( if (count($chestItems)>0){
'ID' => 'Box', $event = array(
'SUB_ID' => 'drop', 'ID' => 'Box',
'SUB_KEY' => 'drop_box', 'SUB_ID' => 'drop',
'before' =>array( 'SUB_KEY' => 'drop_box',
'rnd' => $rnd, 'before' =>array(
'rate' => $rate, 'rnd' => $rnd,
'rewardMeta' => $rewardMeta, 'rate' => $rate,
), 'rewardMeta' => $rewardMeta,
'result' => $chestItems, ),
); 'result' => $chestItems,
LogService::burialPointEvent($event); );
} LogService::burialPointEvent($event);
}
foreach ($chestItems as $item){ foreach ($chestItems as $item){
array_push($reward,$item); array_push($reward,$item);
}
} }
} }
} }