浏览代码

fixed: 补充herolevelup事件检车.

gwang 4 年之前
父节点
当前提交
73ee66afe6

+ 1 - 1
Gameserver/Amfphp/model/Const/GameConfig.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2021-04-20 16:32:52
+ // 日期: 2021-04-20 18:10:30
 ////////////////////
 
 /**

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_item_weapon.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2021-04-20 16:02:38
+ // 日期: 2021-04-20 16:56:32
 ////////////////////
 
 

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_item_yanling.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2021-04-20 16:03:12
+ // 日期: 2021-04-20 16:57:00
 ////////////////////
 
 

+ 1 - 1
Gameserver/Amfphp/model/Const/sm_plot.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2021-04-19 15:37:37
+ // 日期: 2021-04-20 18:09:40
 ////////////////////
 
 

+ 1 - 4
Gameserver/Amfphp/process/FightProc/SweepGatesProc.php

@@ -88,13 +88,10 @@ class SweepGatesProc {
         }
         $starsArr = $chapterInfo->$hard;                                        # 当前章节,当前难度的领取记录 
         my_Assert(!in_array($stars, $starsArr), ErrCode::err_arenas_hasgetstarreward); # 奖励已领取
-        $rwdCfgArr = GameConfig::gate_starreward_getItem($chapterId, $hard);    # 奖励配置数组
-//        isEditor() and $starCfg = new \sm_gate_starreward;
-//        var_dump($rwdCfgArr);
+        $rwdCfgArr = GameConfig::gate_starreward_getItem($chapterId, $hard);    # 奖励配置数组 
         $starCfg = StlUtil::arrayFind($rwdCfgArr, function ($v, $k)use ($stars) { # 在数组中查找到对应星数的奖励
                     return ($v->star == $stars);
                 });
-//        var_dump($starCfg);
         my_Assert(null != $starCfg, ErrCode::err_arenas_starreward_const_no);   # 找不到指定星数的配置数据
         $sumOfStars = 0;
         $userGateL = null;

+ 7 - 4
Gameserver/Amfphp/process/HeroProc.php

@@ -214,6 +214,7 @@ class HeroProc {
         $myPacketItems = $user->store->items;                                   # 检查道具的数量,在背包中是否充足
         my_Assert(CommUtil::isPropertyExists($myPacketItems, $costItemId), ErrCode::store_itemnotenough); # 
         my_Assert($myPacketItems->$costItemId >= $costNumber, ErrCode::store_itemnotenough);
+        $initLevel = $targetHero->level;                                        # 初始等级
         $totalEXP = 0;                                                          # 4.计算消耗的道具一共给多少经验值以及 一共要消耗多少金币 
         $costItemConst = GameConfig::item_stones_getItem($costItemId);
         my_Assert(null != $costItemConst, ErrCode::err_const_no);
@@ -235,8 +236,9 @@ class HeroProc {
 
         UserProc::updateUserInfo();                                             # 回写玩家数据
         TaskProc::OnHeroImprove();
-        NormalEventProc::OnHeroLvlUp($targetHero->uid, $targetHero->level);     # 广播唤灵师升级事件
-
+        if ($initLevel < $targetHero->level) {
+            NormalEventProc::OnHeroLvlUp($targetHero->uid, $initLevel);         # 广播唤灵师升级事件
+        }
         self::CalcUserFightPower($req->zoneid, $req->uid, $req->userInfo->game); # 跟新战力统计
         $ret = array(
             'hero' => $targetHero,
@@ -936,9 +938,10 @@ class HeroProc {
         } // end while
         my_Assert($targetHero->xp >= 0, "[" . $req->uid . "] : HeroLevelUpgrade Exp is negative!");
         $collectHeros->$heroUID = $targetHero;                                  # 更新英雄的数据 
-//        if ($targetHero->level != $initLevel) {
+        if ($targetHero->level != $initLevel) {
+            NormalEventProc::OnHeroLvlUp($targetHero->uid, $initLevel);         # 广播英雄升级事件
+        }
         TaskProc::OnHeroLevelUp($targetHero->typeId, $targetHero->level);
-//        }
         return $targetHero;                                                     # 将英雄对象返回
     }