From 7c43f25db5f9a04b99892c1efc8f0647f767c20e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 23 十月 2018 15:03:02 +0800
Subject: [PATCH] 2149 boss被击杀无归属玩家(暂时添加击杀boss相关详细日志、掉落日志、拾取日志);
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py | 30 +++++++++++++++++++++++++-----
1 files changed, 25 insertions(+), 5 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..7c94fdb 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
@@ -422,11 +422,14 @@
attrValue = curItem.GetUserAttrByIndex(ShareDefine.Def_IudetLegendAttrValue, i)
attrDict[attrID] = attrDict.get(attrID, 0) + attrValue
- MinAtk = attrDict.get(ShareDefine.Def_Effect_MinAtk, 0)
- MaxAtk = attrDict.get(ShareDefine.Def_Effect_MaxAtk, 0)
+ Atk = attrDict.get(ShareDefine.Def_Effect_Atk, 0)
+ MinAtk = attrDict.get(ShareDefine.Def_Effect_MinAtk, 0) + Atk
+ MaxAtk = attrDict.get(ShareDefine.Def_Effect_MaxAtk, 0) + Atk
MaxHP = attrDict.get(ShareDefine.Def_Effect_MaxHP, 0)
Def = attrDict.get(ShareDefine.Def_Effect_Def, 0)
ArmorDefPer = attrDict.get(ShareDefine.Def_Effect_ArmorDefAddPer, 0)
+ IceAtk = attrDict.get(ShareDefine.Def_Effect_IceAtk, 0)
+ IceDef = attrDict.get(ShareDefine.Def_Effect_IceDef, 0)
AtkPer = attrDict.get(ShareDefine.Def_Effect_AddAtkByPer, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetAtkPerC())
DamagePer = attrDict.get(ShareDefine.Def_Effect_DamagePer, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetDamagePerC())
@@ -449,6 +452,9 @@
SuperHitReduce = attrDict.get(ShareDefine.Def_Effect_SuperHitReduce, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSuperHitReduceC())
SkillAtkRate = attrDict.get(ShareDefine.Def_Effect_SkillAtkRate, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillAtkRateC())
SpeedPer = attrDict.get(ShareDefine.Def_Effect_SpeedPer, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSpeedPerC())
+ SkillAtkRateReduce = attrDict.get(ShareDefine.Def_Effect_SkillAtkRateReduce, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillAtkRateReduceC())
+ Hit = attrDict.get(ShareDefine.Def_Effect_Hit, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetHitC())
+ Miss = attrDict.get(ShareDefine.Def_Effect_Miss, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetMissC())
# 攻速不默认乘,仅作为参数提供策划使用
AtkSpeed = attrDict.get(ShareDefine.Def_Effect_AtkSpeed, 0)
@@ -466,7 +472,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 +1602,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 +1691,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