cyzhao 11 ماه پیش
والد
کامیت
19ff3c5194
3فایلهای تغییر یافته به همراه15 افزوده شده و 2 حذف شده
  1. 5 1
      Gameserver/App/process/FightProc.php
  2. 2 1
      Gameserver/App/process/StoreProc.php
  3. 8 0
      Gameserver/App/process/TaskProc.php

+ 5 - 1
Gameserver/App/process/FightProc.php

@@ -65,7 +65,8 @@ class FightProc {
 
         $passGateId = ctx()->gates->maxPassGateId();
         my_Assert($passGateId != 0, ErrCode::gate_NoSweep);
-        //$mo = GameConfig::gate_getItem(ctx()->gates->UnlockedGatesMaxId);
+        $mo = GameConfig::gate_getItem($passGateId);
+        $gateName = $mo->gateName;
         $costTili = glc()->sweep_cost_tili;
         $curTili =  ctx()->baseInfo->CurTili();       
         my_Assert($curTili >= $costTili, ErrCode::notenough_tili);
@@ -117,6 +118,8 @@ class FightProc {
                 foreach ($dic as $key => $gemMo) {
                     if ($gemMo->qual == $qual && $gemMo->position == $posId) {
                         $prizeArr[] = $gemMo->typeId . ',' . $list[1];
+                        
+                        SystemProc::GetGem_GreaterOrangeQual_SweepMainGateIndex(req()->zoneid, ctx()->baseInfo->name, Ins_GateInfo::gateNum($passGateId), $gateName, $gemMo->typeId);
                         StoreProc::PutGemInStore($gemMo->typeId, $list[1]);
                         break;
                     }
@@ -492,6 +495,7 @@ class FightProc {
                 foreach ($pool as $item) {
                     if ($r <= ($l + $item['p'])) {
                         $gemId = $item['q'] * 100000 + rand(1, 6) * 1000;
+                        SystemProc::GetGem_GreaterOrangeQual_MainGate(req()->zoneid, ctx()->baseInfo->name,Ins_GateInfo::gateNum($gateId), $gateMo->gateName, $gemId);//广播
                         StoreProc::PutGemInStore($gemId);                       # 发放宝石并退出本次投色子
                         $pickups .= ";$gemId,1";
                         break;

+ 2 - 1
Gameserver/App/process/StoreProc.php

@@ -407,7 +407,8 @@ class StoreProc {
             }
         }
         $resultArr = array();
-        foreach ($composeArr as $value) {
+        foreach ($composeArr as $value) {           
+            SystemProc::GetGem_GreaterOrangeQual_GemCompose(req()->zoneid, ctx()->baseInfo->name, $value->typeId);//广播
             $resultArr[] = $value->uid;
         }
         TaskProc::OnComposeNumGem();

+ 8 - 0
Gameserver/App/process/TaskProc.php

@@ -89,6 +89,14 @@ class TaskProc {
         my_Assert($ins_activeTaskInfo->cur >= $ins_activeTaskInfo->max(), ErrCode::task_CanotPriceReviced);
         my_Assert($ins_activeTaskInfo->state == Enum_TaskCardStateType::finish, ErrCode::task_CanotPriceReviced);
 
+        if($ins_activeTaskInfo->mo()->prizes != null){
+            $reward = explode(',', $ins_activeTaskInfo->mo()->prizes);
+            if(GameConfig::item_getItem($reward[0])->itemType == 201){
+                SystemProc::GetGem_GreaterOrangeQual_Active(req()->zoneid, ctx()->baseInfo->name, $reward[0]);
+            }
+            
+        }
+        
         StoreProc::AddMultiItemInStore($ins_activeTaskInfo->mo()->prizes);
         ctx()->task->activeTaskInfo->$uid->state = Enum_TaskCardStateType::drawed;
         ctx()->task->activeTaskInfo->$uid->drawTs = now();