This commit is contained in:
hujiabin 2024-07-02 15:08:29 +08:00
parent 992db7830c
commit de263be873

View File

@ -380,6 +380,9 @@ 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;
}
$lackItem = null;
if (!$this->_hasEnoughItems($costItems, $lackItem)) {
$this->_rspErr(3, $this->_getLackItemErrMsg($lackItem));
@ -394,15 +397,29 @@ class BagController extends BaseAuthedController {
$luckyParam = \mt\Parameter::getVal('economy_account_luck_K',0);
$luckyMaxPro = \mt\Parameter::getVal('economy_account_luck_E',0);
$prob = $luckyMaxPro * ($lucky / ($lucky+$luckyParam));
$times = $this->proEffect($prob,1);
$items = \services\LootService::dropOutItem($itemMeta['loot']);
if ($times > 0){
foreach ($items as &$item){
$item['item_num'] += $item['item_num']*$times;
$items = array();
for ($i=0;$i<$itemNum;$i++){
$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);
}
}else{
foreach ($itemsTemp as $item){
array_push($items,$item);
}
}
}
}else{
$items = \services\LootService::dropOutItem($itemMeta['loot']);
foreach ($items as &$item){
$item['item_num'] *= $itemNum;
}
}
if (count($costItems) > 0){
$this->_decItems($costItems);
@ -410,7 +427,7 @@ class BagController extends BaseAuthedController {
$this->_decItems(array(
array(
'item_id' => $itemMeta['id'],
'item_num' => 1
'item_num' => $itemNum
)
));
$this->_addItems($items,$this->awardService,$this->propertyChgService);