Browse Source

言灵替换

cyzhao 3 years ago
parent
commit
14cdb4610b
1 changed files with 15 additions and 9 deletions
  1. 15 9
      Gameserver/Amfphp/process/HeroProc.php

+ 15 - 9
Gameserver/Amfphp/process/HeroProc.php

@@ -318,25 +318,31 @@ class HeroProc {
 
         $collectHeros = $user->heros->collectHeros;
         my_Assert(StlUtil::dictHasProperty($collectHeros, $heroId) && StlUtil::dictHasProperty($collectHeros, $heroReplaceId), "找不到这个唤灵师");
-
+                         
         $yanling = $collectHeros->$heroId->yanling;
         $yanlingReplace = $collectHeros->$heroReplaceId->yanling;
-        my_Assert($yanling->$yanlingRank->itemuid != 0 && $yanlingReplace->$yanlingReplaceRank->itemuid != 0, "找不到这个言灵");
-
+        
+        //my_Assert($yanling->$yanlingRank->itemuid != 0 && $yanlingReplace->$yanlingReplaceRank->itemuid != 0, "找不到这个言灵");
         $itemuid = $yanling->$yanlingRank->itemuid;
         $replaceItemuid = $yanlingReplace->$yanlingReplaceRank->itemuid;
-
-        $user->store->yanling->$itemuid->herouid = $heroReplaceId;
-        $user->store->yanling->$replaceItemuid->herouid = $heroId;
-
+                                      
         $yanling->$yanlingRank->itemuid = $replaceItemuid;
         $yanlingReplace->$yanlingReplaceRank->itemuid = $itemuid;
 
+        if($yanling->$yanlingRank->itemuid != 0){
+            $newItemuid = $yanling->$yanlingRank->itemuid;
+            $user->store->yanling->$newItemuid->herouid = $heroId;
+        }
+        
+        if($yanlingReplace->$yanlingReplaceRank->itemuid != 0){
+            $newReplaceItemuid = $yanlingReplace->$yanlingReplaceRank->itemuid;
+            $user->store->yanling->$newReplaceItemuid->herouid = $heroReplaceId;
+        }
+        
         $collectHeros->$heroId->yanling = $yanling;
         $collectHeros->$heroReplaceId->yanling = $yanlingReplace;
         $user->heros->collectHeros = $collectHeros;
-        //$user->store->yanling = $yanling;
-
+      
         req()->userInfo->game = $user;
 
         UserProc::updateUserInfo();                                             # 回写玩家数据