王刚 1 рік тому
батько
коміт
47bd3db08b
1 змінених файлів з 10 додано та 9 видалено
  1. 10 9
      Gameserver/App/process/FightProc.php

+ 10 - 9
Gameserver/App/process/FightProc.php

@@ -547,9 +547,9 @@ class FightProc {
                 $maxGateId = ctx()->gates->maxPassGateId();
                 if ($maxGateId > 0) {
                     self::Ranking_MainGateIndex($maxGateId);
-                }                           
+                }
             }
-            
+
             TaskProc::OnPassGate_X($gateId);                                    # 刷新任务进度: 通关第X关
 
             if (Ins_GateInfo::GateTypeFromId($gateId) == Enum_GateType::MainStoryGate) {
@@ -570,6 +570,7 @@ class FightProc {
         my_Assert(null != $waveMo, ErrCode::err_const_no);
         ctx()->base()->Add_Exp($waveMo->rewardExp);                             # 指挥官经验
         ctx()->base()->Add_Gold($waveMo->rewardGold);                           # 金币奖励
+        $pickups .= ";1," . $gold + $waveMo->rewardGold;
         # 图纸奖励: 数量min-max, 部位随机
         if (strlen($waveMo->rewardTuZhi) > 0 && str_contains($waveMo->rewardTuZhi, '-')) {
             list($tz_min, $tz_max) = explode('-', $waveMo->rewardTuZhi);        # 图纸数量
@@ -595,11 +596,11 @@ class FightProc {
                 $n += $props;
             }
             for ($i = 0; $i < $gem_n; $i++) {                                   # 随机n块宝石
-                $r = rand($n);                                                  # 投色子
+                $r = rand(0, $n);                                                  # 投色子
                 $l = 0;
                 foreach ($pool as $item) {
                     if ($r < ($l + $item->p)) {
-                        $gemId = $item->q * 10000 + rand(6) * 1000;
+                        $gemId = $item->q * 10000 + rand(1, 6) * 1000;
                         StoreProc::PutGemInStore($gemId);                       # 发放宝石并退出本次投色子
                         $pickups .= ";$gemId,1";
                         break;
@@ -750,11 +751,11 @@ class FightProc {
         if ($type == 1) {
             $list = gMem()->zrevrange(MemKey_GameRun::Rank_MainGateIndex_Zone_zset(req()->zoneid), 0, glc()->Rank_MainGateIndex_OnListRank, true);
             $selfExtraInfo = ctx()->gates->UnlockedGatesMaxId;
-            
+
             $memKey = MemKey_GameRun::RankReward_MainGateIndex_Zone_hash(req()->zoneid);
             $dic = gMem()->hgetall($memKey);
             foreach ($dic as $gateId => $ins_rank) {
-                if(!in_array($gateId, ctx()->privateState->rankReward_drawed_MainGate)){
+                if (!in_array($gateId, ctx()->privateState->rankReward_drawed_MainGate)) {
                     $isExistFinishReward = true;
                     break;
                 }
@@ -762,11 +763,11 @@ class FightProc {
         } else {
             $list = gMem()->zrevrange(MemKey_GameRun::Rank_FightPower_Zone_zset(req()->zoneid), 0, glc()->Rank_FightPower_OnListRank, true);
             $selfExtraInfo = 0; //战力还没有
-            
+
             $memKey = MemKey_GameRun::RankReward_FightPower_Zone_hash(req()->zoneid);
             $dic = gMem()->hgetall($memKey);
             foreach ($dic as $fightPower => $ins_rank) {
-                if(!in_array($fightPower, ctx()->privateState->rankReward_drawed_fightPower)){
+                if (!in_array($fightPower, ctx()->privateState->rankReward_drawed_fightPower)) {
                     $isExistFinishReward = true;
                     break;
                 }
@@ -793,7 +794,7 @@ class FightProc {
             'rankInfo' => $retArr,
             'selfRank' => $selfRank,
             'selfIsHasRank' => $selfIsHasRank,
-            'isExistFinishReward'=>$isExistFinishReward,               
+            'isExistFinishReward' => $isExistFinishReward,
         );
         return Resp::ok($ret);
     }