From 46eede4254b9d5a94ae328498d4bf208b2d52b99 Mon Sep 17 00:00:00 2001 From: hujiabin <519660157@qq.com> Date: Wed, 3 Jul 2024 15:06:35 +0800 Subject: [PATCH] 1 --- webapp/controller/BagController.class.php | 28 +++++++++++++++-------- webapp/services/RoomBattleDataService.php | 2 +- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/webapp/controller/BagController.class.php b/webapp/controller/BagController.class.php index 25b6b8bf..5fa14b44 100644 --- a/webapp/controller/BagController.class.php +++ b/webapp/controller/BagController.class.php @@ -380,8 +380,8 @@ class BagController extends BaseAuthedController { private function openBattleBox($itemDb,$itemMeta,$itemNum){ $costItems = mt\Item::getUseCostItems($itemMeta); if (count($costItems) > 0){ - foreach ($costItems as &$item){ - $item['item_num'] *= $itemNum; + foreach ($costItems as &$costItem){ + $costItem['item_num'] *= $itemNum; } $lackItem = null; if (!$this->_hasEnoughItems($costItems, $lackItem)) { @@ -402,13 +402,13 @@ class BagController extends BaseAuthedController { $times = $this->proEffect($prob,1); $itemsTemp = \services\LootService::dropOutItem($itemMeta['loot']); if ($times > 0){ - foreach ($itemsTemp as $item){ - $item['item_num'] += $item['item_num']*$times; - array_push($items,$item); + foreach ($itemsTemp as $itemTemp){ + $itemTemp['item_num'] += $itemTemp['item_num']*$times; + array_push($items,$itemTemp); } }else{ - foreach ($itemsTemp as $item){ - array_push($items,$item); + foreach ($itemsTemp as $itemTemp){ + array_push($items,$itemTemp); } } } @@ -419,11 +419,19 @@ class BagController extends BaseAuthedController { $items = array(); for ($i=0;$i<$itemNum;$i++){ $itemsTemp = \services\LootService::dropOutItem($itemMeta['loot']); - foreach ($itemsTemp as $item){ - array_push($items,$item); + foreach ($itemsTemp as $itemTemp){ + 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){ $this->_decItems($costItems); } @@ -433,7 +441,7 @@ class BagController extends BaseAuthedController { 'item_num' => $itemNum ) )); - $this->_addItems($items,$this->awardService,$this->propertyChgService); + $this->_addItems($hashItems,$this->awardService,$this->propertyChgService); $this->propertyChgService->addBagChg(); $this->_rspData(array( 'award' => $this->awardService->toDto(), diff --git a/webapp/services/RoomBattleDataService.php b/webapp/services/RoomBattleDataService.php index 96016ba3..b8fe185c 100644 --- a/webapp/services/RoomBattleDataService.php +++ b/webapp/services/RoomBattleDataService.php @@ -116,7 +116,7 @@ class RoomBattleDataService extends BaseService { $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("金币模式:消极战斗"); }else{ $this->_getBattleRewards($userDb,$heroDb,$battleScore,$myTeamScoreAvg,$myTeamScore,$member['reward']);