From c69a7bc72805a3234da12ff30ff92ca68fe11282 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 30 八月 2018 11:31:24 +0800
Subject: [PATCH] Add: 增加活动线隐藏NPC逻辑支持;      骑宠争夺伤害前x名广播提示修改;

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
index d922bbe..1eb275b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
@@ -466,7 +466,11 @@
     OnlyFinalHurt = attrDict.get(ShareDefine.Def_Effect_OnlyFinalHurt, 0)
     PVPAtkBackHP = attrDict.get(ShareDefine.Def_Effect_PVPAtkBackHP, 0)  
     
-    value = eval(FormulaControl.GetCompileFormula("EquipGSFormula", IpyGameDataPY.GetFuncCfg("EquipGSFormula")))
+    if GetIsDogzEquip(curItem):
+        # 神兽装备用不同公式
+        value = eval(FormulaControl.GetCompileFormula("EquipGSFormula3", IpyGameDataPY.GetFuncCfg("EquipGSFormula", 3)))
+    else:
+        value = eval(FormulaControl.GetCompileFormula("EquipGSFormula", IpyGameDataPY.GetFuncCfg("EquipGSFormula")))
     return value
 
 #---------------------------------------------------------------------
@@ -1592,11 +1596,17 @@
 def DoLogicSwitchItemEx(curPlayer, srcBackpack, desBackPack, srcIndex, destIndex):
     
     #---物品检查---
-    srcItem = curPlayer.GetItemManager().GetPack(srcBackpack).GetAt(srcIndex)
+    srcPack = curPlayer.GetItemManager().GetPack(srcBackpack)
+    if srcIndex < 0 or srcIndex >= srcPack.GetCount():
+        return
+    srcItem = srcPack.GetAt(srcIndex)
     if not CheckItemCanUse(srcItem):
         return
     
-    destItem = curPlayer.GetItemManager().GetPack(desBackPack).GetAt(destIndex)
+    destPack = curPlayer.GetItemManager().GetPack(desBackPack)
+    if destIndex < 0 or destIndex >= destPack.GetCount():
+        return
+    destItem = destPack.GetAt(destIndex)
     #目标格子只验证锁定, 可以允许空位
     if destItem == None or destItem.GetIsLocked():
         return
@@ -1675,6 +1685,10 @@
 def GetIsEquip(curItem):
     return curItem.GetType() in ChConfig.Def_EquipItemType
 
+def GetIsDogzEquip(curItem):
+    ## 返回是否神兽装备
+    return curItem.GetType() in ChConfig.Def_DogzEquiipType
+
 ## 返回是否武器
 #  @param curItem 当前物品
 #  @return None

--
Gitblit v1.8.0