This commit is contained in:
hujiabin 2024-07-03 15:06:35 +08:00
parent dd6e225bea
commit 46eede4254
2 changed files with 19 additions and 11 deletions

View File

@ -380,8 +380,8 @@ class BagController extends BaseAuthedController {
private function openBattleBox($itemDb,$itemMeta,$itemNum){ private function openBattleBox($itemDb,$itemMeta,$itemNum){
$costItems = mt\Item::getUseCostItems($itemMeta); $costItems = mt\Item::getUseCostItems($itemMeta);
if (count($costItems) > 0){ if (count($costItems) > 0){
foreach ($costItems as &$item){ foreach ($costItems as &$costItem){
$item['item_num'] *= $itemNum; $costItem['item_num'] *= $itemNum;
} }
$lackItem = null; $lackItem = null;
if (!$this->_hasEnoughItems($costItems, $lackItem)) { if (!$this->_hasEnoughItems($costItems, $lackItem)) {
@ -402,13 +402,13 @@ class BagController extends BaseAuthedController {
$times = $this->proEffect($prob,1); $times = $this->proEffect($prob,1);
$itemsTemp = \services\LootService::dropOutItem($itemMeta['loot']); $itemsTemp = \services\LootService::dropOutItem($itemMeta['loot']);
if ($times > 0){ if ($times > 0){
foreach ($itemsTemp as $item){ foreach ($itemsTemp as $itemTemp){
$item['item_num'] += $item['item_num']*$times; $itemTemp['item_num'] += $itemTemp['item_num']*$times;
array_push($items,$item); array_push($items,$itemTemp);
} }
}else{ }else{
foreach ($itemsTemp as $item){ foreach ($itemsTemp as $itemTemp){
array_push($items,$item); array_push($items,$itemTemp);
} }
} }
} }
@ -419,11 +419,19 @@ class BagController extends BaseAuthedController {
$items = array(); $items = array();
for ($i=0;$i<$itemNum;$i++){ for ($i=0;$i<$itemNum;$i++){
$itemsTemp = \services\LootService::dropOutItem($itemMeta['loot']); $itemsTemp = \services\LootService::dropOutItem($itemMeta['loot']);
foreach ($itemsTemp as $item){ foreach ($itemsTemp as $itemTemp){
array_push($items,$item); array_push($items,$itemTemp);
} }
} }
} }
$hashItems = array();
foreach ($items as $item){
if (isset($hashItems[$item['item_id']])){
$hashItems[$item['item_id']]['item_num'] += $item['item_num'];
}else{
$hashItems[$item['item_id']] = $item;
}
}
if (count($costItems) > 0){ if (count($costItems) > 0){
$this->_decItems($costItems); $this->_decItems($costItems);
} }
@ -433,7 +441,7 @@ class BagController extends BaseAuthedController {
'item_num' => $itemNum 'item_num' => $itemNum
) )
)); ));
$this->_addItems($items,$this->awardService,$this->propertyChgService); $this->_addItems($hashItems,$this->awardService,$this->propertyChgService);
$this->propertyChgService->addBagChg(); $this->propertyChgService->addBagChg();
$this->_rspData(array( $this->_rspData(array(
'award' => $this->awardService->toDto(), 'award' => $this->awardService->toDto(),

View File

@ -116,7 +116,7 @@ class RoomBattleDataService extends BaseService {
$member['new_elo'] = $newElo; $member['new_elo'] = $newElo;
} }
if ($this->mapMode == mt\MapMode::GOLD_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']);