10033 【后端】仙树升级系统及砍树产出规则(增加装备评分参数支持: 攻速、击晕、连击、抗连击、反击、抗反击、吸血、抗吸血)
| | |
| | | DWORD ProDefPerC; // 防护百分比系数
|
| | | DWORD FinalHurtPerC; // 最终伤害加成系数
|
| | | DWORD FinalHurtReducePerC; // 最终伤害减免系数
|
| | | DWORD AtkSpeedC; // 攻速系数
|
| | | DWORD FaintRateC; // 击晕率系数
|
| | | DWORD ComboRateC; // 连击率系数
|
| | | DWORD ComboDefRateC; // 抗连击系数
|
| | | DWORD AtkBackRateC; // 反击率系数
|
| | | DWORD AtkBackDefRateC; // 抗反击系数
|
| | | DWORD SuckHPPerC; // 吸血率系数
|
| | | DWORD SuckHPDefPerC; // 抗吸血系数
|
| | | };
|
| | |
|
| | | //成就表
|
| | |
| | | ("DWORD", "ProDefPerC", 0),
|
| | | ("DWORD", "FinalHurtPerC", 0),
|
| | | ("DWORD", "FinalHurtReducePerC", 0),
|
| | | ("DWORD", "AtkSpeedC", 0),
|
| | | ("DWORD", "FaintRateC", 0),
|
| | | ("DWORD", "ComboRateC", 0),
|
| | | ("DWORD", "ComboDefRateC", 0),
|
| | | ("DWORD", "AtkBackRateC", 0),
|
| | | ("DWORD", "AtkBackDefRateC", 0),
|
| | | ("DWORD", "SuckHPPerC", 0),
|
| | | ("DWORD", "SuckHPDefPerC", 0),
|
| | | ),
|
| | |
|
| | | "Success":(
|
| | |
| | | self.IgnoreDefRateReduceC = 0
|
| | | self.ProDefPerC = 0
|
| | | self.FinalHurtPerC = 0
|
| | | self.FinalHurtReducePerC = 0 |
| | | self.FinalHurtReducePerC = 0
|
| | | self.AtkSpeedC = 0
|
| | | self.FaintRateC = 0
|
| | | self.ComboRateC = 0
|
| | | self.ComboDefRateC = 0
|
| | | self.AtkBackRateC = 0
|
| | | self.AtkBackDefRateC = 0
|
| | | self.SuckHPPerC = 0
|
| | | self.SuckHPDefPerC = 0 |
| | | return |
| | | |
| | | def GetClassLV(self): return self.ClassLV # 装备阶级
|
| | |
| | | def GetIgnoreDefRateReduceC(self): return self.IgnoreDefRateReduceC # 无视防御减免系数
|
| | | def GetProDefPerC(self): return self.ProDefPerC # 防护百分比系数
|
| | | def GetFinalHurtPerC(self): return self.FinalHurtPerC # 最终伤害加成系数
|
| | | def GetFinalHurtReducePerC(self): return self.FinalHurtReducePerC # 最终伤害减免系数 |
| | | def GetFinalHurtReducePerC(self): return self.FinalHurtReducePerC # 最终伤害减免系数
|
| | | def GetAtkSpeedC(self): return self.AtkSpeedC # 攻速系数
|
| | | def GetFaintRateC(self): return self.FaintRateC # 击晕率系数
|
| | | def GetComboRateC(self): return self.ComboRateC # 连击率系数
|
| | | def GetComboDefRateC(self): return self.ComboDefRateC # 抗连击系数
|
| | | def GetAtkBackRateC(self): return self.AtkBackRateC # 反击率系数
|
| | | def GetAtkBackDefRateC(self): return self.AtkBackDefRateC # 抗反击系数
|
| | | def GetSuckHPPerC(self): return self.SuckHPPerC # 吸血率系数
|
| | | def GetSuckHPDefPerC(self): return self.SuckHPDefPerC # 抗吸血系数 |
| | | |
| | | # 成就表 |
| | | class IPY_Success(): |
| | |
| | | itemQuality = curItem.GetItemQuality()
|
| | | isSuit = 1 if curItem.GetSuiteID() > 0 else 0
|
| | | gsParamIpyData = IpyGameDataPY.GetIpyGameDataNotLog("EquipGSParam", classLV, color, isSuit, itemQuality)
|
| | | |
| | | baseAttrIDCnt = curItem.GetUserAttrCount(ShareDefine.Def_IudetBaseAttrID)
|
| | | baseAttrValueCnt = curItem.GetUserAttrCount(ShareDefine.Def_IudetBaseAttrValue)
|
| | | if baseAttrIDCnt == baseAttrValueCnt:
|
| | | for i in xrange(baseAttrIDCnt):
|
| | | baseAttrID = curItem.GetUserAttrByIndex(ShareDefine.Def_IudetBaseAttrID, i)
|
| | | baseAttrValue = curItem.GetUserAttrByIndex(ShareDefine.Def_IudetBaseAttrValue, i)
|
| | | attrDict[baseAttrID] = attrDict.get(baseAttrID, 0) + baseAttrValue
|
| | | |
| | | # 传奇属性
|
| | | legAttrIDList, legAttrValueList = ItemControler.GetEquipLegendAttrAll(curItem)
|
| | | for i, legendAttrID in enumerate(legAttrIDList):
|
| | |
| | | FinalHurtPerC = attrDict.get(ShareDefine.Def_Effect_FinalHurtPer, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetFinalHurtPerC())
|
| | | FinalHurtReducePerC = attrDict.get(ShareDefine.Def_Effect_FinalHurtReducePer, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetFinalHurtReducePerC())
|
| | |
|
| | | # 攻速不默认乘,仅作为参数提供策划使用
|
| | | AtkSpeed = 0#attrDict.get(ShareDefine.Def_Effect_AtkSpeed, 0)
|
| | | AtkSpeedC = 1#1 if not gsParamIpyData else gsParamIpyData.GetAtkSpeedC()
|
| | | AtkSpeed = attrDict.get(ShareDefine.Def_Effect_AtkSpeed, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetAtkSpeedC())
|
| | |
|
| | | OnlyFinalHurt = attrDict.get(ShareDefine.Def_Effect_OnlyFinalHurt, 0)
|
| | | PVPAtkBackHP = attrDict.get(ShareDefine.Def_Effect_PVPAtkBackHP, 0)
|
| | |
|
| | | FaintRate = attrDict.get(ShareDefine.Def_Effect_FaintRate, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetFaintRateC())
|
| | | ComboRate = attrDict.get(ShareDefine.Def_Effect_ComboRate, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetComboRateC())
|
| | | ComboDefRate = attrDict.get(ShareDefine.Def_Effect_ComboDefRate, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetComboDefRateC())
|
| | | AtkBackRate = attrDict.get(ShareDefine.Def_Effect_AtkBackRate, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetAtkBackRateC())
|
| | | AtkBackDefRate = attrDict.get(ShareDefine.Def_Effect_AtkBackDefRate, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetAtkBackDefRateC())
|
| | | SuckHPPer = attrDict.get(ShareDefine.Def_Effect_SuckHPPer, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSuckHPPerC())
|
| | | SuckHPDefPer = attrDict.get(ShareDefine.Def_Effect_SuckHPDefPer, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSuckHPDefPerC())
|
| | | |
| | | if GetIsDogzEquip(curItem):
|
| | | # 神兽装备用不同公式
|
| | | value = eval(FormulaControl.GetCompileFormula("EquipGSFormula3", IpyGameDataPY.GetFuncCfg("EquipGSFormula", 3)))
|