| | |
| | | Def_Effect_LuckyHitRateReduce = 17
|
| | | # 技能伤害加成 (用作伤害加成)其中a值为增加的万分率
|
| | | Def_Effect_SkillAtkRate = 18 #20032
|
| | | # 伤害加成, 技能百分比外层
|
| | | Def_Effect_DamagePer = 19
|
| | | # 伤害吸收(A值为具体值)
|
| | | Def_Effect_DamReducePer = 20
|
| | | # PVP固定伤害
|
| | | Def_Effect_DamagePVP = 19
|
| | | # PVP固定减伤
|
| | | Def_Effect_DamagePVPReduce = 20
|
| | | #生命回复固定值(A值固定值)
|
| | | Def_Effect_HPRestore = 21
|
| | | #反伤百分比(A值固定值)
|
| | |
| | |
|
| | | # 属性刷新类型定义, BYTE, 从146开始, C++定义到 IPY_PlayerDefine.CDBPlayerRefresh_OperateInfo
|
| | | (
|
| | | CDBPlayerRefresh_SuperHitReduce, # 暴击抗性 146
|
| | | CDBPlayerRefresh_LuckyHitRateReduce, # 幸运一击抗概率
|
| | | CDBPlayerRefresh_SuperHitReduce, # 暴击固定值减少 146
|
| | | CDBPlayerRefresh_LuckyHitRateReduce, # 会心一击抗概率
|
| | | CDBPlayerRefresh_SkillAtkRateReduce, # 技能减伤
|
| | | CDBPlayerRefresh_DamagePer, # 增加伤害
|
| | | CDBPlayerRefresh_DamagePVP, # PVP固定伤害
|
| | | CDBPlayerRefresh_SpeedValue, # 移动速度值 150
|
| | | CDBPlayerRefresh_151, # |
| | | CDBPlayerRefresh_DamagePVE, # 对NPC的伤害固定值
|
| | | CDBPlayerRefresh_PetDamPer, # 灵宠增加伤害
|
| | | CDBPlayerRefresh_IgnoreDefRateReduce, # 无视防御抗性
|
| | | CDBPlayerRefresh_DamChanceDef, # 概率抵御, 玩家每次被攻击有20%的几率减少伤害比率
|
| | |
| | | CDBPlayerRefresh_NPCHurtAddPer, # 对怪物伤害加成
|
| | | CDBPlayerRefresh_FinalHurtPer, # 最终输出伤害百分比
|
| | | CDBPlayerRefresh_TalentPoint, # 天赋点数 190
|
| | | CDBPlayerRefresh_191, # 废弃 191
|
| | | CDBPlayerRefresh_DamagePVPReduce, # PVP固定伤害减少
|
| | | CDBPlayerRefresh_GodWeaponLV_1, # 神兵等级 - 类型1 192
|
| | | CDBPlayerRefresh_GodWeaponLV_2, # 神兵等级 - 类型2 193
|
| | | CDBPlayerRefresh_GodWeaponLV_3, # 神兵等级 - 类型3 194
|
| | |
| | | CDBPlayerRefresh_NormalHurtPer, # 属性普通攻击加成:普通攻击附加的伤害百分比 207
|
| | | CDBPlayerRefresh_FabaoHurt, # 属性法宝技能增伤:法宝技能攻击附加的固定值伤害 208
|
| | | CDBPlayerRefresh_FabaoHurtPer, # 属性法宝技能加成:法宝技能攻击附加的伤害百分比 209
|
| | | ) = range(146, 210)
|
| | | CDBPlayerRefresh_SuperHitPer, # 暴击伤害加成 210
|
| | | CDBPlayerRefresh_SuperHitRateReduce, # 暴击概率抗性 |
| | | CDBPlayerRefresh_LuckyHitPer, # 会心一击伤害加成 |
| | | CDBPlayerRefresh_LuckyHitReduce, # 会心伤害减免固定值 |
| | | CDBPlayerRefresh_FinalHurtReducePer, # 最终伤害减少百分比
|
| | | ) = range(146, 215)
|
| | |
|
| | | TYPE_Price_Gold_Paper_Money = 5 # 金钱类型,(先用礼券,再用金子)
|
| | | TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
|
| | |
| | | # Def_HurtType_SuperHit,
|
| | | # Def_HurtType_Miss,
|
| | | # ) = range(0, 3)
|
| | | # #类型: 0-普通 1-致命一击 2-躲闪
|
| | | # #类型: 0-普通 1-暴击 2-躲闪
|
| | | #===============================================================================
|
| | |
|
| | | ## 伤害结构体类
|
| | |
| | |
|
| | |
|
| | | def __HurtTypeHappen_LuckyHit(atkObj, defObj, happenState):
|
| | | ''' 判断伤害类型是否发生 - 幸运一击
|
| | | @return: 是否触发, 触发时伤害计算值, 触发时防守方的伤害减免值
|
| | | ''' 判断伤害类型是否发生 - 会心一击
|
| | | @return: 是否触发, 触发时伤害计算固定值, 触发时防守方的伤害减免固定值
|
| | | '''
|
| | | if IsHappenStateByType(happenState, ChConfig.Def_Skill_HappenState_LuckyHit):
|
| | | return True, atkObj.GetLuckyHitVal(), PlayerControl.GetLuckyHitReducePer(defObj)
|
| | | return True, atkObj.GetLuckyHitVal(), PlayerControl.GetLuckyHitReduce(defObj)
|
| | |
|
| | | aLuckyHitRate = atkObj.GetLuckyHitRate()
|
| | | dLuckyHitRateReduce = PlayerControl.GetLuckyHitRateReduce(defObj)
|
| | |
| | | if atkLuckyHitRate <= 0:
|
| | | return
|
| | | if GameWorld.CanHappen(atkLuckyHitRate):
|
| | | return True, atkObj.GetLuckyHitVal(), PlayerControl.GetLuckyHitReducePer(defObj)
|
| | | return True, atkObj.GetLuckyHitVal(), PlayerControl.GetLuckyHitReduce(defObj)
|
| | | return
|
| | |
|
| | | def __HurtTypeHappen_SuperHit(atkObj, defObj, happenState):
|
| | | ''' 判断伤害类型是否发生 - 暴击
|
| | | @return: 是否触发, 触发时伤害计算值, 触发时防守方的伤害减免值
|
| | | @return: 是否触发, 触发时伤害计算固定值, 触发时防守方的伤害减免固定值
|
| | | '''
|
| | |
|
| | | if IsHappenStateByType(happenState, ChConfig.Def_Skill_HappenState_SuperHit):
|
| | | return True, atkObj.GetSuperHit(), PlayerControl.GetSuperHitReducePer(defObj)
|
| | | return True, atkObj.GetSuperHit(), PlayerControl.GetSuperHitReduce(defObj)
|
| | |
|
| | | aSuperHitRate = atkObj.GetSuperHitRate()
|
| | | dSuperHitRateReduce = PlayerControl.GetSuperHitRateReduce(defObj)
|
| | |
| | | if superHitRate <= 0:
|
| | | return
|
| | | if GameWorld.CanHappen(superHitRate):
|
| | | return True, atkObj.GetSuperHit(), PlayerControl.GetSuperHitReducePer(defObj)
|
| | | return True, atkObj.GetSuperHit(), PlayerControl.GetSuperHitReduce(defObj)
|
| | | return
|
| | |
|
| | | def __HurtTypeHappen_Parry(atkObj, defObj, happenState):
|
| | |
| | | dDamChanceDef = hurtTypeResultDict[ChConfig.Def_HurtType_Parry][2] # 抵御, 大于0代表触发抵御效果
|
| | | isZhuxianHit, aZhuxianHurtPer, dZhuxianReducePer = hurtTypeResultDict[ChConfig.Def_HurtType_Zhuxian] # 诛仙一击
|
| | | isDeadlyHit = hurtTypeResultDict[ChConfig.Def_HurtType_DeadlyHit][0] # 致命一击
|
| | | |
| | | aSuperHitPer = PlayerControl.GetSuperHitPer(atkObj) if isSuperHit else 0 # 暴击伤害加成万分率
|
| | | aLuckyHitPer = PlayerControl.SetLuckyHitPer(atkObj) if isLuckyHit else 0 # 会心一击伤害加成万分率
|
| | |
|
| | | if PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_OneDamage):
|
| | | return 1, hurtType
|
| | |
|
| | |
| | |
|
| | |
|
| | | if isLuckyHit:
|
| | | # 会心一击时增加会心伤害百分比 |
| | | # 会心一击时增加会心伤害固定值 |
| | | aLuckyHit += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_LuckyHit)
|
| | | aLuckyHit -= PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(defObj, atkObj, curSkill, ChConfig.TriggerType_BeLuckyHitSubPer)
|
| | | aLuckyHit = max(aLuckyHit, 0)
|
| | |
| | | dHP = GameObj.GetHP(defObj) # 防守方当前血量
|
| | | dMaxHP = GameObj.GetMaxHP(defObj) # 防守方最大血量
|
| | | dIceDef = defObj.GetIceDef() # 冰防, 元素真防, 玩家及NPC通用
|
| | | dFinalHurtReducePer = 0 # 最终伤害减少百分比 默认0
|
| | |
|
| | | # 攻击方
|
| | | if atkObjType == IPY_GameWorld.gotPlayer:
|
| | | aIgnoreDefRate = atkObj.GetIgnoreDefRate() # 无视防御比率
|
| | | aSkillAtkRate = atkObj.GetSkillAtkRate() # 技能攻击力加成
|
| | | aDamagePer = PlayerControl.GetDamagePer(atkObj) # 外层伤害加成
|
| | | aDamagePVP = PlayerControl.GetDamagePVP(atkObj) # PVP固定伤害
|
| | | aDamagePVE = PlayerControl.GetDamagePVE(atkObj) # PVE固定伤害
|
| | | |
| | | # 被动技能增加伤害
|
| | | aDamagePer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddDamagePer)
|
| | | aDamagePer += PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddDamagePer)
|
| | | #aDamagePVP += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddDamagePer)
|
| | | #aDamagePVP += PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddDamagePer)
|
| | |
|
| | | aNPCHurtAddPer = PlayerControl.GetNPCHurtAddPer(atkObj) # PVE伤害加成
|
| | | aDamagePerPVP = PlayerControl.GetDamagePerPVP(atkObj) # 外层PVP伤害加成
|
| | |
| | | aSkillAtkRate += atkObj.GetSkillAtkRate()
|
| | |
|
| | | aNPCHurtAddPer = 0 # PVE伤害加成
|
| | | aDamagePer = 0 # 外层伤害加成
|
| | | aDamagePerPVP = 0 # 外层PVP伤害加成
|
| | | aDamagePVP = 0 # PVP固定伤害
|
| | | aDamagePVE = 0 # PVE固定伤害
|
| | | aFinalHurt = NPCCommon.GetFinalHurt(atkObj) # 最终固定伤害
|
| | | aFightPower = NPCCommon.GetSuppressFightPower(atkObj)
|
| | |
|
| | |
| | | if defObjType == IPY_GameWorld.gotPlayer:
|
| | | dIgnoreDefRateReduce = PlayerControl.GetIgnoreDefRateReduce(defObj) # 无视防御比率抗性
|
| | | dSkillAtkRateReduce = PlayerControl.GetSkillAtkRateReduce(defObj) # 技能攻击力减少
|
| | | dDamReduce = defObj.GetDamageReduceRate() # 外层减伤
|
| | | dDamReduce += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_DamageReduce)
|
| | | dDamagePVPReduce = PlayerControl.GetDamagePVPReduce(defObj) # PVP固定减伤
|
| | | #dDamReduce += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_DamageReduce)
|
| | | dDamagePerPVPReduce = PlayerControl.GetDamagePerPVPReduce(defObj) # 外层PVP减伤
|
| | | dDamagePerPVPReduce += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_DamageReducePVP)
|
| | | dFinalHurtReduce = PlayerControl.GetFinalHurtReduce(defObj) # 最终固定伤害减少
|
| | | dBeHurtPer = PlayerControl.GetBeHurtPer(defObj) # 加深受到伤害百分比
|
| | | dFightPower = defObj.GetFightPower()
|
| | | dFinalHurtReducePer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, curSkill, ChConfig.TriggerType_dFinalHurtReducePer)
|
| | | dFinalHurtReducePer = PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, curSkill, ChConfig.TriggerType_dFinalHurtReducePer)
|
| | |
|
| | | else:
|
| | | dIgnoreDefRateReduce = 0 # 无视防御比率抗性
|
| | | dSkillAtkRateReduce = 0 # 技能攻击力减少
|
| | | dDamReduce = 0 # 外层减伤 |
| | | dDamagePVPReduce = 0 # PVP固定减伤
|
| | | dDamagePerPVPReduce = 0 # 外层PVP减伤
|
| | | dFinalHurtReduce = 0 # 最终固定伤害减少
|
| | | dBeHurtPer = 0
|
| | | dFightPower = NPCCommon.GetSuppressFightPower(defObj)
|
| | | |
| | | dFinalHurtReducePer = 0 # 最终伤害减少百分比 默认0
|
| | |
|
| | | #攻击字典 { 攻击类型 : '公式' }
|
| | | hurtDist = ReadChConfig.GetEvalChConfig('CalcAttackValue')
|
| | |
| | | # global hurtTypeIndance
|
| | | # hurtTypeIndance = indance
|
| | | #
|
| | | ### 获得本次攻击是否是致命一击
|
| | | ### 获得本次攻击是否是暴击
|
| | | ## @param 无参数
|
| | | ## @return True or False
|
| | | ## @remarks 函数详细说明.
|
| | |
| | | Def_BuffValue_Count = 3 # buff记录的value个数
|
| | |
|
| | | #游戏对象属性--------------------------------------------
|
| | | Def_Calc_AllAttrType_MAX = 129
|
| | | Def_Calc_AllAttrType_MAX = 132
|
| | | #基本属性BUFF计算,顺序与 ObjProperty_AttrByIndex 对应,同时也为buff效果ID同步通知策划
|
| | | TYPE_Calc_AttrList = (
|
| | | TYPE_Calc_Metal, # 金 1
|
| | |
| | | TYPE_Calc_SuperHitRate, # 暴击概率 18
|
| | | TYPE_Calc_SuperHit, # 暴击伤害(固定值) 19
|
| | | TYPE_Calc_SuperHitRateReduce, # 暴击概率抗性 20
|
| | | TYPE_Calc_SuperHitReducePer, # 暴击伤害减免 21
|
| | | TYPE_Calc_SuperHitReduce, # 暴击伤害减免固定值 21
|
| | |
|
| | | TYPE_Calc_GreatHitRate, # 卓越一击几率 22
|
| | | TYPE_Calc_GreatHit, # 卓越一击伤害倍率 23
|
| | |
| | | TYPE_Calc_GreatHitReducePer, # 卓越一击伤害减免 25
|
| | |
|
| | | TYPE_Calc_LuckyHitRate, # 会心一击几率 26
|
| | | TYPE_Calc_LuckyHit, # 会心一击伤害倍率 27
|
| | | TYPE_Calc_LuckyHit, # 会心一击伤害固定值 27
|
| | | TYPE_Calc_LuckyHitRateReduce, # 会心一击概率抗性 28
|
| | | TYPE_Calc_LuckyHitReducePer, # 会心一击伤害减免 29
|
| | | TYPE_Calc_LuckyHitReduce, # 会心一击伤害减免固定值 29
|
| | |
|
| | | TYPE_Calc_IgnoreDefRate, # 无视防御几率, 攻击时百分比无视目标的防御 30
|
| | | TYPE_Calc_IgnoreDefRateReduce, # 无视防御概率抗性, 受击时减少对方的无视防御属性 31
|
| | |
| | | TYPE_Calc_ReduceSkillCD, # 减技能CD
|
| | | TYPE_Calc_SkillAtkRate, # 技能攻击比例加成
|
| | | TYPE_Calc_SkillAtkRateReduce, # 技能攻击比例减少 75
|
| | | TYPE_Calc_DamagePer, # 伤害输出计算百分比
|
| | | TYPE_Calc_AttrDamReduce, # 减少伤害
|
| | | TYPE_Calc_DamagePVP, # 伤害输出固定值
|
| | | TYPE_Calc_DamagePVPReduce, # 减少伤害固定值
|
| | | TYPE_Calc_HurtPer, # 受伤计算百分比
|
| | | TYPE_Calc_BleedDamage, # 流血伤害
|
| | | TYPE_Calc_FinalHurt, # 最终固定伤害增加 80
|
| | | TYPE_Calc_FinalHurtReduce, # 最终固定伤害减少
|
| | | TYPE_Calc_DamagePerPVP, # 伤害输出计算百分比PVP
|
| | | TYPE_Calc_DamagePerPVPReduce, # 伤害输出计算百分比PVP减少
|
| | | TYPE_Calc_DamagePerPVE, # 伤害输出计算百分比PVE
|
| | | TYPE_Calc_DamagePVE, # 伤害输出计算固定值PVE
|
| | | TYPE_Calc_NPCHurtAddPer, # 对怪物伤害加成 85
|
| | | TYPE_Calc_JobAHurtAddPer, # 目标战士伤害加成
|
| | | TYPE_Calc_JobBHurtAddPer, # 目标法师伤害加成
|
| | |
| | | TYPE_Calc_NormalHurtPer, # 普通攻击加成
|
| | | TYPE_Calc_FabaoHurt, # 法宝技能增伤
|
| | | TYPE_Calc_FabaoHurtPer, # 法宝技能加成
|
| | |
|
| | | TYPE_Calc_SuperHitPer, # 暴击伤害万分率加成
|
| | | TYPE_Calc_LuckyHitPer, # 会心一击伤害万分率加成 130
|
| | | TYPE_Calc_FinalHurtReducePer, # 最终伤害减少百分比
|
| | | ) = range(1, Def_Calc_AllAttrType_MAX)
|
| | |
|
| | |
|
| | |
| | |
|
| | | # 衰减递增的属性列表, 衰减递增算法: 1-(1-a1)*(1-a2); 非衰减递增算法: a1+a2
|
| | | TYPE_Calc_DeclineList = []
|
| | | #TYPE_Calc_DeclineList = [TYPE_Calc_SuperHitReducePer, TYPE_Calc_LuckyHitRateReduce, TYPE_Calc_SkillAtkRateReduce, |
| | | # TYPE_Calc_AttrDamReduce, TYPE_Calc_DamagePerPVPReduce, |
| | | # TYPE_Calc_IgnoreDefRate, TYPE_Calc_IgnoreDefRateReduce, TYPE_Calc_DamChanceDef,
|
| | | # TYPE_Calc_FaintRate, TYPE_Calc_FaintDefRate, TYPE_Calc_ProDefAbsorb]
|
| | |
|
| | | #宠物属性列表
|
| | | Def_Pet_Attr = []
|
| | |
| | | Def_PlayerCanAttackBalk = 1
|
| | | #玩家攻击距离扩大N格子
|
| | | Def_PlayerAttackDistZoom = 2
|
| | | #致命一击的攻击力是普通攻击的2倍
|
| | | Def_SuperHitPercent = 20000
|
| | | #幸运一击的攻击力相对普攻倍值
|
| | | Def_LuckyHitVal = 11000
|
| | | #卓越一击的攻击力相对普攻倍值
|
| | | Def_GreatHitVal = 12500
|
| | | #富豪一击的攻击力相对普攻倍值
|
| | | Def_FuhaoHitVal = 11000
|
| | | #服务器统一使用万分率(用于计算百分比 10000为100%)
|
| | | Def_MaxRateValue = ShareDefine.Def_MaxRateValue
|
| | | Def_AtkSpeedBase = 1000.0 # 玩家攻击速度基础标准 1000毫秒
|
| | |
| | |
|
| | | #---SetDict 玩家字典KEY,不存于数据库---
|
| | | # key的长度不能超过29个字节
|
| | | Def_PlayerKey_LuckyHitPer = "LuckyHitPer" # 会心一击伤害万分率
|
| | | Def_PlayerKey_SuperHitPer = "SuperHitPer" # 暴击伤害万分率
|
| | | Def_PlayerKey_NormalHurt = "NormalHurt" # 属性普通攻击增伤:普通攻击附加的固定值伤害
|
| | | Def_PlayerKey_NormalHurtPer = "NormalHurtPer" # 属性普通攻击加成:普通攻击附加的伤害百分比
|
| | | Def_PlayerKey_FabaoHurt = "FabaoHurt" # 属性法宝技能增伤:法宝技能攻击附加的固定值伤害
|
| | |
| | | Def_PlayerKey_AttrComboDamPer = "ComboDamPer" #连击伤害
|
| | | Def_PlayerKey_SkillAtkRateReduce = "SkillAtkRateReduce" #技能攻击比例减少
|
| | | Def_PlayerKey_AttrDropEquipPer = "DropEquipPer" #装备掉率
|
| | | Def_PlayerKey_AttrDamagePer = "DamagePer" #伤害输出计算百分比
|
| | | Def_PlayerKey_AttrDamagePerPVE = "DamagePerPVE" #伤害输出计算百分比PVE
|
| | | Def_PlayerKey_AttrDamagePVP = "DamagePVP" #PVP固定伤害输出
|
| | | Def_PlayerKey_AttrDamagePVPReduce = "DamagePVPReduce" #PVP固定伤害减少
|
| | | Def_PlayerKey_AttrDamagePVE = "DamagePVE" #伤害输出计算固定值PVE
|
| | | Def_PlayerKey_AttrDamagePerPVP = "DamagePerPVP" #伤害输出计算百分比PVP
|
| | | Def_PlayerKey_AttrDamagePerPVPReduce = "DamagePerPVPReduce" #伤害输出计算百分比PVP减少
|
| | | Def_PlayerKey_AttrHurtPer = "AttrHurtPer" #受伤计算百分比
|
| | |
| | | Def_PlayerKey_JobAAtkReducePer = "JobAAtkReducePer" # 战士攻击伤害减免
|
| | | Def_PlayerKey_JobBAtkReducePer = "JobBAtkReducePer" # 法师攻击伤害减免
|
| | | Def_PlayerKey_JobCAtkReducePer = "JobCAtkReducePer" # 弓手攻击伤害减免
|
| | | Def_PlayerKey_LuckyHitReducePer = "LuckyHitReducePer" # 会心一击伤害减免
|
| | | Def_PlayerKey_LuckyHitReduce = "LuckyHitReduce" # 会心一击伤害减免固定值
|
| | | Def_PlayerKey_GreatHitReducePer = "GreatHitReducePer" # 卓越一击伤害减免
|
| | | Def_PlayerKey_SuperHitReducePer = "SuperHitReducePer" # 致命一击伤害减免
|
| | | Def_PlayerKey_SuperHitReduce = "SuperHitReduce" # 暴击伤害减免固定值
|
| | | Def_PlayerKey_IgnoreDefReducePer = "IgnoreDefReducePer" # 无视防御伤害减免
|
| | | Def_PlayerKey_LuckyHitRateReduce = "LuckyHitRateReduce" # 抗会心一击概率
|
| | | Def_PlayerKey_GreatHitRateReduce = "GreatHitRateReduce" # 抗卓越一击概率
|
| | | Def_PlayerKey_SuperHitRateReduce = "SuperHitRateReduce" # 抗致命一击概率
|
| | | Def_PlayerKey_SuperHitRateReduce = "SuperHitRateReduce" # 抗暴击概率
|
| | | Def_PlayerKey_IgnoreDefRateReduce = "IgnoreDefRateReduce" # 抗无视防御概率
|
| | | Def_PlayerKey_LastHurtValue = "LastHurtValue" # 最后一次伤害值
|
| | | Def_PlayerKey_LastHurtNPCObjID = "LastHurtNPCObjID" # 最后攻击的NPCObjID
|
| | |
| | | Def_PlayerKey_ReduceSkillCDPer = "ReduceSkillCDPer" # 减技能CD万分率
|
| | | Def_PlayerKey_CommMapExpRate = "CommMapExpRate" # 常规地图经验倍率加成
|
| | | Def_PlayerKey_FinalHurtPer = "FinalHurtPer" # 最终伤害百分比
|
| | | Def_PlayerKey_FinalHurtReducePer = "FHReducePer" # 最终伤害减免百分比
|
| | | Def_PlayerKey_FuhaoHitRate = "FuhaoHitRate" # 富豪一击概率
|
| | | Def_PlayerKey_FinalHurt = "FinalHurt" # 最终固定伤害增加
|
| | | Def_PlayerKey_BleedDamage = "BleedDamage" # 流血伤害
|
| | |
| | | AttrName_PoisonDef = "PoisonDef" # 毒防
|
| | | AttrName_ThunderDef = "ThunderDef" # 雷防
|
| | | AttrName_WindDef = "WindDef" # 风攻
|
| | | AttrName_DamReducePer = "DamReduce" # 伤害吸收
|
| | | AttrName_DamagePer = "DamagePer" # 增加伤害
|
| | | AttrName_DamagePVPReduce = "DamagePVPReduce" # PVP固定减伤
|
| | | AttrName_DamagePVP = "DamagePVP" # pvp固定伤害
|
| | | AttrName_Speed = "Speed" # 移动速度
|
| | | AttrName_BothAtk = "BothAtk" # 双攻物魔
|
| | | AttrName_Hit = "Hit" # 命中
|
| | |
| | | AttrName_GreatHitRate = "GreatHitRate" # 卓越一击几率
|
| | | AttrName_GreatHit = "GreatHit" # 卓越一击伤害倍率
|
| | | AttrName_LuckyHitRate = "LuckyHitRate" # 会心一击几率
|
| | | AttrName_LuckyHit = "LuckyHit" # 会心一击伤害倍率
|
| | | AttrName_LuckyHit = "LuckyHit" # 会心一击伤害固定值
|
| | | AttrName_IgnoreDefRate = "IgnoreDefRate" # 无视防御几率
|
| | | AttrName_AtkSpeed = "AtkSpeed" # 攻击速度
|
| | | AttrName_ReduceSkillCD = "ReduceSkillCD" # 减技能CD值
|
| | |
| | | AttrName_GameExpRate = "GameExpRate" # 游戏事件经验倍率
|
| | | AttrName_SkillAtkRate = "SkillAtkRate" # 技能伤害加成 (用作伤害加成)
|
| | | AttrName_AtkBackHPPer = "AtkBackHPPer" # 攻击回复血量比率
|
| | | AttrName_SuperHit = "SuperHit" # 致命一击伤害
|
| | | AttrName_SuperHitRate = "SuperHitRate" # 致命一击概率
|
| | | AttrName_SuperHit = "SuperHit" # 暴击伤害固定值
|
| | | AttrName_SuperHitRate = "SuperHitRate" # 暴击概率
|
| | | AttrName_NPCHurtAddPer = "NPCHurtAddPer" # 对怪物伤害加成
|
| | | AttrName_JobAHurtAddPer = "JobAHurtAddPer" # 目标战士伤害加成
|
| | | AttrName_JobBHurtAddPer = "JobBHurtAddPer" # 目标法师伤害加成
|
| | |
| | | AttrName_JobAAtkReducePer = "JobAAtkReducePer" # 战士攻击伤害减免
|
| | | AttrName_JobBAtkReducePer = "JobBAtkReducePer" # 法师攻击伤害减免
|
| | | AttrName_JobCAtkReducePer = "JobCAtkReducePer" # 弓手攻击伤害减免
|
| | | AttrName_LuckyHitReducePer = "LuckyHitReducePer" # 会心一击伤害减免
|
| | | AttrName_LuckyHitReduce = "LuckyHitReduce" # 会心一击伤害减免固定值
|
| | | AttrName_GreatHitReducePer = "GreatHitReducePer" # 卓越一击伤害减免
|
| | | AttrName_SuperHitReducePer = "SuperHitReducePer" # 致命一击伤害减免
|
| | | AttrName_SuperHitReduce = "SuperHitReduce" # 暴击伤害减免固定值
|
| | | AttrName_IgnoreDefReducePer = "IgnoreDefReducePer" # 无视防御伤害减免
|
| | | AttrName_LuckyHitRateReduce = "LuckyHitRateReduce" # 抗会心一击概率
|
| | | AttrName_GreatHitRateReduce = "GreatHitRateReduce" # 抗卓越一击概率
|
| | | AttrName_SuperHitRateReduce = "SuperHitRateReduce" # 抗致命一击概率
|
| | | AttrName_SuperHitRateReduce = "SuperHitRateReduce" # 抗暴击概率
|
| | | AttrName_IgnoreDefRateReduce = "IgnoreDefRateReduce" # 抗无视防御概率
|
| | | AttrName_FinalHurtPer = "FinalHurtPer" # 最终伤害百分比
|
| | | AttrName_FuhaoHitRate = "FuhaoHitRate" # 富豪一击概率
|
| | |
| | | ShareDefine.Def_Effect_Miss:[[TYPE_Calc_AttrMiss], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_SuperHitRate:[[TYPE_Calc_SuperHitRate], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_SuperHit:[[TYPE_Calc_SuperHit], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_SuperHitReduce:[[TYPE_Calc_SuperHitReducePer], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_SuperHitReduce:[[TYPE_Calc_SuperHitReduce], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_Hit:[[TYPE_Calc_AttrHit], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_MinAtk:[[TYPE_Calc_AttrATKMin], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_MaxAtk:[[TYPE_Calc_AttrATKMax], False, TYPE_Linear],
|
| | |
| | | AttrName_GreatHit:[[TYPE_Calc_GreatHit], False, TYPE_Linear],
|
| | | AttrName_LuckyHitRate:[[TYPE_Calc_LuckyHitRate], False, TYPE_Linear],
|
| | | AttrName_LuckyHit:[[TYPE_Calc_LuckyHit], False, TYPE_Linear],
|
| | | AttrName_LuckyHitReducePer:[[TYPE_Calc_LuckyHitReducePer], False, TYPE_Linear],
|
| | | AttrName_LuckyHitReduce:[[TYPE_Calc_LuckyHitReduce], False, TYPE_Linear],
|
| | | AttrName_LuckyHitRateReduce:[[TYPE_Calc_LuckyHitRateReduce], False, TYPE_Linear],
|
| | | AttrName_IgnoreDefRate:[[TYPE_Calc_IgnoreDefRate], False, TYPE_Linear],
|
| | | AttrName_IgnoreDefRateReduce:[[TYPE_Calc_IgnoreDefRateReduce], False, TYPE_Linear],
|
| | |
| | | ShareDefine.Def_Effect_FaintDefRate:[[TYPE_Calc_FaintDefRate], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_SkillAtkRate:[[TYPE_Calc_SkillAtkRate], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_SkillAtkRateReduce:[[TYPE_Calc_SkillAtkRateReduce], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_DamagePer:[[TYPE_Calc_DamagePer], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_DamReducePer:[[TYPE_Calc_AttrDamReduce], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_DamagePVP:[[TYPE_Calc_DamagePVP], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_DamagePVPReduce:[[TYPE_Calc_DamagePVPReduce], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_DamagePerPVP:[[TYPE_Calc_DamagePerPVP], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_DamagePerPVPReduce:[[TYPE_Calc_DamagePerPVPReduce], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_ComboRate:[[TYPE_Calc_ComboRate], False, TYPE_Linear],
|
| | |
| | | AttrName_JobBAtkReducePer:[[TYPE_Calc_JobBAtkReducePer], False, TYPE_Linear],
|
| | | AttrName_JobCAtkReducePer:[[TYPE_Calc_JobCAtkReducePer], False, TYPE_Linear],
|
| | | AttrName_GreatHitReducePer:[[TYPE_Calc_GreatHitReducePer], False, TYPE_Linear],
|
| | | AttrName_SuperHitReducePer:[[TYPE_Calc_SuperHitReducePer], False, TYPE_Linear],
|
| | | AttrName_SuperHitReduce:[[TYPE_Calc_SuperHitReduce], False, TYPE_Linear],
|
| | | AttrName_GreatHitRateReduce:[[TYPE_Calc_GreatHitRateReduce], False, TYPE_Linear],
|
| | | AttrName_SuperHitRateReduce:[[TYPE_Calc_SuperHitRateReduce], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_SuperHitRateReduce:[[TYPE_Calc_SuperHitRateReduce], False, TYPE_Linear],
|
| | | AttrName_DamReducePer:[[TYPE_Calc_AttrDamReduce], False, TYPE_Linear],
|
| | | AttrName_DamagePer:[[TYPE_Calc_DamagePer], False, TYPE_Linear],
|
| | | AttrName_DamagePVPReduce:[[TYPE_Calc_DamagePVPReduce], False, TYPE_Linear],
|
| | | AttrName_DamagePVP:[[TYPE_Calc_DamagePVP], False, TYPE_Linear],
|
| | | AttrName_FinalHurtPer:[[TYPE_Calc_FinalHurtPer], False, TYPE_Linear],
|
| | | AttrName_FuhaoHitRate:[[TYPE_Calc_FuhaoHitRate], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_FinalHurt:[[TYPE_Calc_FinalHurt], False, TYPE_Linear],
|
| | |
| | | ShareDefine.Def_Effect_ProDefAbsorb:[[TYPE_Calc_ProDefAbsorb], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_OnlyFinalHurt:[[TYPE_Calc_OnlyFinalHurt], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_PVPAtkBackHP:[[TYPE_Calc_PVPAtkBackHP], False, TYPE_Linear],
|
| | | ShareDefine.Def_Effect_SuperHitPer:[[TYPE_Calc_SuperHitPer], False, TYPE_Linear],
|
| | |
|
| | | #战斗非线性
|
| | | ShareDefine.Def_Effect_MaxHPPer:[[TYPE_Calc_AttrMaxHP], False, TYPE_NoLinear],
|
| | |
| | | ShareDefine.Def_Effect_MissRate:[[TYPE_Calc_AttrMiss], False, TYPE_NoLinear],
|
| | | #ShareDefine.Def_Effect_AddMAtkByPer:[[TYPE_Calc_AttrMATKMin, TYPE_Calc_AttrMATKMax], False, TYPE_NoLinear],
|
| | | ShareDefine.Def_Effect_AddAtkByPer:[[TYPE_Calc_AttrATKMin, TYPE_Calc_AttrATKMax], False, TYPE_NoLinear],
|
| | | ShareDefine.Def_Effect_SuperHitPer:[[TYPE_Calc_SuperHit], False, TYPE_NoLinear],
|
| | | ShareDefine.Def_Effect_SpeedPer:[[TYPE_Calc_AttrSpeed], False, TYPE_NoLinear],
|
| | | ShareDefine.Def_Effect_LuckPer:[[TYPE_Calc_Luck], False, TYPE_NoLinear],
|
| | | ShareDefine.Def_Effect_IceAtkPer:[[TYPE_Calc_AttrIceAtk], False, TYPE_NoLinear],
|
| | |
| | | TriggerType_AttackOverPassive, # 攻击(对敌技能)后被动技能被触发在其他被动效果处理后调用,触发顺序原因 47
|
| | | TriggerType_Buff_BeAttackSubLayer, # BUFF类:被攻击减buff层,0消失 48
|
| | | TriggerType_OneDamage, # 伤害降低到1点 49
|
| | | TriggerType_LuckyHit, # 会心一击时增加会心伤害百分比 50
|
| | | TriggerType_LuckyHit, # 会心一击时增加会心伤害固定值 50
|
| | | TriggerType_ChangeHurtToHP, # 把受到伤害的xx%转化为生命值 51
|
| | | TriggerType_AddLayer, # BUFF层级增加时 52
|
| | | TriggerType_ForbidenCure, # 禁止治疗 53
|
| | |
| | |
|
| | | #初始化处理间隔
|
| | | curNPC.SetIsNeedProcess(False)
|
| | | #设定致命一击伤害百分比
|
| | | curNPC.SetSuperHit(ChConfig.Def_SuperHitPercent)
|
| | | #初始化这个NPC的时钟
|
| | | curNPC.SetTickTypeCount(ChConfig.TYPE_NPC_Tick_Count)
|
| | | return
|
| | |
| | | ############################################
|
| | | #初始化状态
|
| | | curNPC.SetSpeed(curNPC.GetOrgSpeed())
|
| | | curNPC.SetSuperHit(ChConfig.Def_SuperHitPercent)
|
| | | curNPC.SetAtkInterval(curNPC.GetBaseAtkInterval())
|
| | |
|
| | | # #先清空异常
|
| | |
| | | #@return 返回值无意义
|
| | | #@remarks 客户端封包响应//04 02 获取鼠标左键点击之后对象的详细信息#tagCClickObjGetInfo
|
| | | def __Func_PlayerClickOtherPlayerGetInfo(index, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | |
| | | sendPack = IPY_GameWorld.IPY_CClickObjGetInfo()
|
| | | sendPack_ID = sendPack.GetObjID()
|
| | | sendPack_Type = sendPack.GetObjType()
|
| | | |
| | | tagObj = GameWorld.GetObj(sendPack_ID, sendPack_Type)
|
| | | |
| | | if tagObj == None:
|
| | | #GameWorld.Log("玩家请求其他玩家的相貌信息失败, 对象不存在", curPlayer.GetPlayerID())
|
| | | return
|
| | | |
| | | dist = GameWorld.GetDist(curPlayer.GetPosX(), curPlayer.GetPosY(), tagObj.GetPosX(), tagObj.GetPosY())
|
| | | #是否可以目标详细信息
|
| | | canGetDetail = (dist <= curPlayer.GetSight())
|
| | | #目标类型
|
| | | tagObjType = tagObj.GetGameObjType()
|
| | | |
| | | #仅处理Player和NPC
|
| | | if tagObjType not in [IPY_GameWorld.gotPlayer, IPY_GameWorld.gotNPC]:
|
| | | return
|
| | | |
| | | #---玩家处理---
|
| | | if tagObjType == IPY_GameWorld.gotPlayer:
|
| | | #获取玩家详细信息成功
|
| | | if canGetDetail:
|
| | | extendDataDict = {}
|
| | | extendDataDict['maxHP'] = tagObj.GetMaxHP()
|
| | | extendDataDict['maxMP'] = tagObj.GetMaxMP()
|
| | | extendDataDict['hit'] = tagObj.GetHit()
|
| | | extendDataDict['miss'] = tagObj.GetMiss()
|
| | | extendDataDict['atkSpeed'] = PlayerControl.GetAtkSpeed(tagObj)
|
| | | extendDataDict['superHitRate'] = tagObj.GetSuperHitRate()
|
| | | extendDataDict['superHit'] = tagObj.GetSuperHit()
|
| | | extendDataDict['luckyHitRate'] = tagObj.GetLuckyHitRate()
|
| | | extendDataDict['greatHitRate'] = tagObj.GetGreatHitRate()
|
| | | extendDataDict['ignoreDefRate'] = tagObj.GetIgnoreDefRate()
|
| | | extendDataDict['damageReduceRate'] = tagObj.GetDamageReduceRate()
|
| | | extendDataDict['damageBackRate'] = tagObj.GetDamageBackRate()
|
| | | |
| | | extendData = str(extendDataDict)
|
| | | extendDataLen = len(extendData)
|
| | | curPlayer.PlayerClickOtherPlayerDetail(tagObj, extendDataLen, extendData)
|
| | | return
|
| | | |
| | | #获取玩家详细信息失败
|
| | | curPlayer.Sync_GetPlayerInfoFail(sendPack_ID)
|
| | | return
|
| | | |
| | | #---NPC处理---
|
| | | |
| | | #获取NPC详细信息成功
|
| | | if canGetDetail:
|
| | | curPlayer.PlayerClickOtherNPCDetail(tagObj)
|
| | | return
|
| | | |
| | | #===========================================================================
|
| | | # curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | # |
| | | # sendPack = IPY_GameWorld.IPY_CClickObjGetInfo()
|
| | | # sendPack_ID = sendPack.GetObjID()
|
| | | # sendPack_Type = sendPack.GetObjType()
|
| | | # |
| | | # tagObj = GameWorld.GetObj(sendPack_ID, sendPack_Type)
|
| | | # |
| | | # if tagObj == None:
|
| | | # #GameWorld.Log("玩家请求其他玩家的相貌信息失败, 对象不存在", curPlayer.GetPlayerID())
|
| | | # return
|
| | | # |
| | | # dist = GameWorld.GetDist(curPlayer.GetPosX(), curPlayer.GetPosY(), tagObj.GetPosX(), tagObj.GetPosY())
|
| | | # #是否可以目标详细信息
|
| | | # canGetDetail = (dist <= curPlayer.GetSight())
|
| | | # #目标类型
|
| | | # tagObjType = tagObj.GetGameObjType()
|
| | | # |
| | | # #仅处理Player和NPC
|
| | | # if tagObjType not in [IPY_GameWorld.gotPlayer, IPY_GameWorld.gotNPC]:
|
| | | # return
|
| | | # |
| | | # #---玩家处理---
|
| | | # if tagObjType == IPY_GameWorld.gotPlayer:
|
| | | # #获取玩家详细信息成功
|
| | | # if canGetDetail:
|
| | | # extendDataDict = {}
|
| | | # extendDataDict['maxHP'] = tagObj.GetMaxHP()
|
| | | # extendDataDict['maxMP'] = tagObj.GetMaxMP()
|
| | | # extendDataDict['hit'] = tagObj.GetHit()
|
| | | # extendDataDict['miss'] = tagObj.GetMiss()
|
| | | # extendDataDict['atkSpeed'] = PlayerControl.GetAtkSpeed(tagObj)
|
| | | # extendDataDict['superHitRate'] = tagObj.GetSuperHitRate()
|
| | | # extendDataDict['superHit'] = tagObj.GetSuperHit()
|
| | | # extendDataDict['luckyHitRate'] = tagObj.GetLuckyHitRate()
|
| | | # extendDataDict['greatHitRate'] = tagObj.GetGreatHitRate()
|
| | | # extendDataDict['ignoreDefRate'] = tagObj.GetIgnoreDefRate()
|
| | | # extendDataDict['damageReduceRate'] = tagObj.GetDamageReduceRate()
|
| | | # extendDataDict['damageBackRate'] = tagObj.GetDamageBackRate()
|
| | | # |
| | | # extendData = str(extendDataDict)
|
| | | # extendDataLen = len(extendData)
|
| | | # curPlayer.PlayerClickOtherPlayerDetail(tagObj, extendDataLen, extendData)
|
| | | # return
|
| | | # |
| | | # #获取玩家详细信息失败
|
| | | # curPlayer.Sync_GetPlayerInfoFail(sendPack_ID)
|
| | | # return
|
| | | # |
| | | # #---NPC处理---
|
| | | # |
| | | # #获取NPC详细信息成功
|
| | | # if canGetDetail:
|
| | | # curPlayer.PlayerClickOtherNPCDetail(tagObj)
|
| | | # return
|
| | | # |
| | | #===========================================================================
|
| | | #获取NPC详细信息失败
|
| | | #暂不处理
|
| | | return
|
| | |
| | | # @return 返回值无意义
|
| | | # @remarks 初始化宠物属性
|
| | | def InitRolePet(rolePet, canSyncClient=True):
|
| | | #---初始化时钟,致命一击倍率---
|
| | | #---初始化时钟---
|
| | | NPCCommon.InitNPC(rolePet)
|
| | |
|
| | | #---初始化仇恨列表---
|
| | |
| | | def ClearAttr(self):
|
| | | for attrIndex in xrange(1, ChConfig.Def_Calc_AllAttrType_MAX):
|
| | | value = 0
|
| | | # if attrIndex == ChConfig.TYPE_Calc_SuperHit:
|
| | | # value = ChConfig.Def_SuperHitPercent # 默认最低暴击倍值
|
| | | setattr(self, self.__AttrName % attrIndex, value)
|
| | | for attrIndex in self.__NolineAttrList:
|
| | | setattr(self, self.__AttrNameNoline % attrIndex, 0)
|
| | |
| | | Miss = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_AttrMiss) * fpParam.GetCftMiss() # 闪避值
|
| | | AtkSpeed = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_AttrAtkSpeed) # 攻击速度(数值非攻击间隔)
|
| | | SuperHitRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitRate) # 暴击率
|
| | | SuperHit = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHit) # 暴击伤害倍率
|
| | | SuperHitReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitReducePer) * fpParam.GetCftSuperHitReduce() # 暴击伤害减免
|
| | | SuperHitRateReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitRateReduce) # 暴击概率抗性
|
| | | SuperHit = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHit) # 暴击伤害固定值
|
| | | SuperHitReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitReduce) * fpParam.GetCftSuperHitReduce() # 暴击固定减伤
|
| | | SuperHitPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitPer) # 暴击伤害万分率加成
|
| | | LuckyHitRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHitRate) # 会心一击
|
| | | LuckyHit = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHit) # 会心一击伤害倍率
|
| | | LuckyHitRateReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHitRateReduce) * fpParam.GetCftLuckyHitRateReduce() # 会心一击概率抗性
|
| | | LuckyHit = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHit) # 会心一击伤害固定值
|
| | | LuckyHitReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHitReduce) # 会心一击伤害固定减伤
|
| | | LuckyHitPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHitPer) # 会心一击伤害百分比
|
| | | SkillAtkRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SkillAtkRate) * fpParam.GetCftSkillAtkRate() # 技能攻击比例加成
|
| | | SkillAtkRateReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SkillAtkRateReduce) * fpParam.GetCftSkillAtkRateReduce() # 技能攻击比例减少
|
| | | DamagePer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamagePer) * fpParam.GetCftDamagePer() # 伤害输出计算百分比
|
| | | DamReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_AttrDamReduce) * fpParam.GetCftDamReduce() # 伤害输出计算百分比减少, 伤害吸收
|
| | | DamagePVP = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamagePVP) * fpParam.GetCftDamagePer() # PVP固定伤害
|
| | | DamagePVPReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamagePVPReduce) * fpParam.GetCftDamReduce() # PVP固定减伤
|
| | | DamagePVE = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamagePVE) * fpParam.GetCftDamagePer() # PVE固定伤害
|
| | | HPRestore = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_HPRestorePer) # 自动回复血量,固定值
|
| | | DamBackPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamBackPer) * fpParam.GetCftDamBackPer() # 反伤百分比
|
| | | SpeedValue = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_AttrSpeed) # 移动速度值
|
| | |
| | | FaintDefRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FaintDefRate) * fpParam.GetCftFaintDefRate() # 击晕抵抗
|
| | | FinalHurt = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FinalHurt) # 最终固定伤害增加
|
| | | FinalHurtReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FinalHurtReduce) # 最终固定伤害减少
|
| | | FinalHurtPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FinalHurtPer) # 最终伤害万分率
|
| | | FinalHurtReducePer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FinalHurtReducePer) # 最终伤害减少万分率
|
| | | DamagePerPVP = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamagePerPVP) * fpParam.GetCftDamagePerPVP() # 伤害输出计算百分比PVP
|
| | | DamagePerPVPReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamagePerPVPReduce) * fpParam.GetCftDamagePerPVPReduce() # 伤害输出计算百分比PVP减少
|
| | | JobAHurtAddPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_JobAHurtAddPer) * fpParam.GetCftJobAHurtAddPer() # 对目标战士伤害加成
|
| | |
| | | setAttrDict[ChConfig.AttrName_DefRate] = int(lvIpyData.GetReMiss() * attrPer) # 闪避
|
| | | setAttrDict[ChConfig.AttrName_AtkSpeed] = int(lvIpyData.GetReAtkSpeed() * attrPer) # 攻击速度
|
| | | setAttrDict[ChConfig.AttrName_SkillAtkRate] = int(lvIpyData.GetReSkillAtkRate() * attrPer) # 技能伤害比例
|
| | | setAttrDict[ChConfig.AttrName_DamagePer] = int(lvIpyData.GetReDamagePer() * attrPer) # 增加伤害
|
| | | setAttrDict[ChConfig.AttrName_DamReducePer] = int(lvIpyData.GetReDamReduce() * attrPer) # 减少伤害
|
| | | setAttrDict[ChConfig.AttrName_DamagePVP] = int(lvIpyData.GetReDamagePer() * attrPer) # PVP固定伤害
|
| | | setAttrDict[ChConfig.AttrName_DamagePVPReduce] = int(lvIpyData.GetReDamReduce() * attrPer) # PVP固定减伤
|
| | | setAttrDict[ChConfig.AttrName_IgnoreDefRate] = int(lvIpyData.GetReIgnoreDefRate() * attrPer) # 无视防御比例
|
| | | setAttrDict[ChConfig.AttrName_LuckyHitRate] = int(lvIpyData.GetReLuckyHitRate() * attrPer) # 会心一击率
|
| | | setAttrDict[ChConfig.AttrName_LuckyHit] = int(lvIpyData.GetReLuckyHit() * attrPer) # 会心一击伤害
|
| | |
| | | ChConfig.TYPE_Calc_HitSucessRate:ChConfig.Def_MaxRateValue,
|
| | | ChConfig.TYPE_Calc_CurePer:ChConfig.Def_MaxRateValue,
|
| | |
|
| | | #ChConfig.TYPE_Calc_SuperHit:ChConfig.Def_SuperHitPercent,
|
| | | #ChConfig.TYPE_Calc_GreatHit:ChConfig.Def_GreatHitVal,
|
| | | #ChConfig.TYPE_Calc_LuckyHit:ChConfig.Def_LuckyHitVal,
|
| | | }
|
| | |
|
| | | for i in xrange(1, ChConfig.Def_Calc_AllAttrType_MAX):
|
| | |
| | | def SetJobCAtkReducePer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_JobCAtkReducePer, value)
|
| | |
|
| | | #---特殊伤害减免---
|
| | | ## 会心一击伤害减免
|
| | | def GetLuckyHitReducePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_LuckyHitReducePer)
|
| | | def SetLuckyHitReducePer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_LuckyHitReducePer, value)
|
| | | ## 会心一击伤害减免固定值
|
| | | def GetLuckyHitReduce(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_LuckyHitReduce)
|
| | | def SetLuckyHitReduce(curPlayer, value): |
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_LuckyHitReduce, value)
|
| | | curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_LuckyHitReduce, value, False)
|
| | | |
| | | ## 卓越一击伤害减免
|
| | | def GetGreatHitReducePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_GreatHitReducePer)
|
| | | def SetGreatHitReducePer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_GreatHitReducePer, value)
|
| | | ## 致命一击伤害减免
|
| | | def GetSuperHitReducePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_SuperHitReducePer)
|
| | | def SetSuperHitReducePer(curPlayer, value):
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_SuperHitReducePer, value)
|
| | | ## 暴击伤害减免
|
| | | def GetSuperHitReduce(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_SuperHitReduce)
|
| | | def SetSuperHitReduce(curPlayer, value):
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_SuperHitReduce, value)
|
| | | curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_SuperHitReduce, value, False)
|
| | | ## 无视防御伤害减免
|
| | | def GetIgnoreDefReducePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_IgnoreDefReducePer)
|
| | |
| | | ## 抗卓越一击概率
|
| | | def GetGreatHitRateReduce(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_GreatHitRateReduce)
|
| | | def SetGreatHitRateReduce(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_GreatHitRateReduce, value)
|
| | | ## 抗致命一击概率
|
| | | ## 抗暴击概率
|
| | | def GetSuperHitRateReduce(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_SuperHitRateReduce)
|
| | | def SetSuperHitRateReduce(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_SuperHitRateReduce, value)
|
| | | def SetSuperHitRateReduce(curPlayer, value): |
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_SuperHitRateReduce, value)
|
| | | curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_SuperHitRateReduce, value, False)
|
| | | ## 抗无视防御概率
|
| | | def GetIgnoreDefRateReduce(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_IgnoreDefRateReduce)
|
| | | def SetIgnoreDefRateReduce(curPlayer, value):
|
| | |
| | | def SetFinalHurtPer(curPlayer, value):
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_FinalHurtPer, value)
|
| | | curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_FinalHurtPer, value, False)
|
| | | |
| | | ## 最终伤害减免百分比
|
| | | def GetFinalHurtReducePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FinalHurtReducePer)
|
| | | def SetFinalHurtReducePer(curPlayer, value):
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_FinalHurtReducePer, value)
|
| | | curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_FinalHurtReducePer, value, False)
|
| | | |
| | | ## 最终固定伤害增加
|
| | | def GetFinalHurt(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FinalHurt)
|
| | | def SetFinalHurt(curPlayer, value):
|
| | |
| | | def SetSkillAtkRateReduce(curPlayer, value):
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_SkillAtkRateReduce, value)
|
| | | curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_SkillAtkRateReduce, value, False)
|
| | | #---伤害输出计算百分比----
|
| | | def GetDamagePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrDamagePer)
|
| | | def SetDamagePer(curPlayer, value):
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrDamagePer, value)
|
| | | curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_DamagePer, value, False)
|
| | | #---伤害输出计算百分比对NPC附加----
|
| | | def GetDamagePerPVE(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrDamagePerPVE)
|
| | | def SetDamagePerPVE(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrDamagePerPVE, value)
|
| | |
|
| | | #---PVP固定伤害----
|
| | | def GetDamagePVP(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrDamagePVP)
|
| | | def SetDamagePVP(curPlayer, value):
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrDamagePVP, value)
|
| | | curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_DamagePVP, value, False)
|
| | | #---PVP固定伤害减少----
|
| | | def GetDamagePVPReduce(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrDamagePVPReduce)
|
| | | def SetDamagePVPReduce(curPlayer, value):
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrDamagePVPReduce, value)
|
| | | curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_DamagePVPReduce, value, False)
|
| | | #---伤害输出固定值计算对NPC附加----
|
| | | def GetDamagePVE(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrDamagePVE)
|
| | | def SetDamagePVE(curPlayer, value): |
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrDamagePVE, value)
|
| | | curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_DamagePVE, value, False)
|
| | | |
| | | #---伤害输出计算百分比对玩家附加----
|
| | | def GetDamagePerPVP(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrDamagePerPVP)
|
| | | def SetDamagePerPVP(curPlayer, value):
|
| | |
| | | #法宝技能加成:法宝技能攻击附加的伤害百分比
|
| | | def GetFabaoHurtPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FabaoHurtPer)
|
| | | def SetFabaoHurtPer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_FabaoHurtPer, value)
|
| | | # 暴击万分率加成
|
| | | def GetSuperHitPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_SuperHitPer)
|
| | | def SetSuperHitPer(curPlayer, value): |
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_SuperHitPer, value)
|
| | | curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_SuperHitPer, value, False)
|
| | | # 会心一击万分率加成
|
| | | def GetLuckyHitPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_LuckyHitPer)
|
| | | def SetLuckyHitPer(curPlayer, value): |
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_LuckyHitPer, value)
|
| | | curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_LuckyHitPer, value, False)
|
| | |
|
| | | ## 计算功能背包物品属性
|
| | | # @param curPlayer 当前玩家
|
| | |
| | | aMinAtk = curPlayer.GetMinAtk() # 攻击方最小攻击
|
| | | aMaxAtk = curPlayer.GetMaxAtk() # 攻击方最大攻击
|
| | | aSuperHitRate = curPlayer.GetSuperHitRate() # 暴击率
|
| | | aSuperHit = curPlayer.GetSuperHit() # 暴击伤害
|
| | | aSuperHit = curPlayer.GetSuperHit() # 暴击伤害固定值
|
| | | aSuperHitPer = PlayerControl.GetSuperHitPer(curPlayer) # 暴击伤害固定值
|
| | | aIceAtk = curPlayer.GetIceAtk() # 真实伤害
|
| | | aDamagePer = PlayerControl.GetDamagePer(curPlayer) # 外层伤害加成
|
| | | aDamagePVE = PlayerControl.GetDamagePVE(curPlayer) # PVE固定伤害
|
| | | aSkillAtkRate = curPlayer.GetSkillAtkRate() # 技能攻击力加成
|
| | | petMinAtk = PlayerControl.GetPetMinAtk(curPlayer) #灵宠最小攻击
|
| | | petMaxAtk = PlayerControl.GetPetMaxAtk(curPlayer) #灵宠最大攻击
|
| | | petDamPer = GameObj.GetPetDamPer(curPlayer) #灵宠增加伤害
|
| | | atkSpeed = PlayerControl.GetAtkSpeed(curPlayer) # 攻击速度
|
| | | aIgnoreDefRate = curPlayer.GetIgnoreDefRate() # 无视防御比率
|
| | | aLuckyHit = curPlayer.GetLuckyHitVal() # 会心一击
|
| | | aLuckyHit = curPlayer.GetLuckyHitVal() # 会心一击固定值
|
| | | aLuckyHitPer = PlayerControl.GetLuckyHitPer(curPlayer) # 会心一击万分率
|
| | | aLuckyHitRate = curPlayer.GetLuckyHitRate() # 会心一击概率
|
| | | aBleedDamage = PlayerControl.GetBleedDamage(curPlayer) # 流血伤害 万分率
|
| | | aFinalHurt = PlayerControl.GetFinalHurt(curPlayer) # 最终固定伤害
|
| | | aFinalHurtPer = PlayerControl.GetFinalHurtPer(curPlayer) # 最终伤害加成万分率
|
| | | aFightPower = curPlayer.GetFightPower() # 战力
|
| | | aReFightPower = lvIpyData.GetReFightPower() # 等级表对应的战力
|
| | | |
| | | aNPCHurtAddPer = PlayerControl.GetNPCHurtAddPer(curPlayer) #PVE 伤害加成万分率
|
| | |
|
| | | npcExp = npcData.GetExp()
|
| | | npcMaxHP = npcData.GetHP() + npcData.GetHPEx()*ShareDefine.Def_PerPointValue
|
| | |
| | | for i in range(len(skills)):
|
| | | locals()["skill%s"%(i+1)] = 1 if skills[i] in PassiveBuffEffMng.FindUsePassiveSkills(curPlayer) else 0
|
| | |
|
| | | |
| | | GameWorld.DebugLog("""CalcTJGExp--%s-%s-%s-%s-reExp:%s, attackEff:%s, aMinAtk:%s, aMaxAtk:%s, aSuperHitRate:%s, aSuperHit:%s, |
| | | aIceAtk:%s, aDamagePer:%s, aSkillAtkRate:%s, petMinAtk:%s, petMaxAtk:%s, petDamPer:%s, atkSpeed:%s,
|
| | | aIgnoreDefRate:%s, aLuckyHit:%s, aLuckyHitRate:%s, aBleedDamage:%s, aFinalHurt:%s, npcExp:%s, npcMaxHP:%s, npcCommendFightPower:%s,
|
| | | petSkillLV:%s, petSkillPer:%s, skill:%s, petSkill:%s"""%(curPlayer.GetID(), curPlayer.GetLV(), times, npcData.GetNPCID(),
|
| | | reExp, attackEff, aMinAtk, aMaxAtk, aSuperHitRate, aSuperHit,
|
| | | aIceAtk, aDamagePer, aSkillAtkRate, petMinAtk, petMaxAtk, petDamPer,
|
| | | atkSpeed, aIgnoreDefRate, aLuckyHit, aLuckyHitRate, aBleedDamage, aFinalHurt, npcExp, npcMaxHP, npcCommendFightPower, petSkillLV,
|
| | | petSkillPer, eval("[" +", ".join(["skill%s"%i for i in range(1, 11)]) + "]"), |
| | | eval("[" +", ".join(["PetSkill%s"%i for i in range(1, 10)]) + "]")))
|
| | | if GameWorld.GetGameWorld().GetDebugLevel():
|
| | | GameWorld.DebugLog("""CalcTJGExp--%s-%s-%s-%s-reExp:%s, attackEff:%s, aMinAtk:%s, aMaxAtk:%s, aSuperHitRate:%s, aSuperHit:%s,
|
| | | aSuperHitPer:%s, aLuckyHitPer:%s, aNPCHurtAddPer:%s, aFinalHurtPer:%s, |
| | | aIceAtk:%s, aDamagePVE:%s, aSkillAtkRate:%s, petMinAtk:%s, petMaxAtk:%s, petDamPer:%s, atkSpeed:%s,
|
| | | aIgnoreDefRate:%s, aLuckyHit:%s, aLuckyHitRate:%s, aBleedDamage:%s, aFinalHurt:%s, npcExp:%s, npcMaxHP:%s, npcCommendFightPower:%s,
|
| | | petSkillLV:%s, petSkillPer:%s, skill:%s, petSkill:%s"""%(curPlayer.GetID(), curPlayer.GetLV(), times, npcData.GetNPCID(),
|
| | | reExp, attackEff, aMinAtk, aMaxAtk, aSuperHitRate, aSuperHit, aSuperHitPer, aLuckyHitPer, aNPCHurtAddPer, aFinalHurtPer,
|
| | | aIceAtk, aDamagePVE, aSkillAtkRate, petMinAtk, petMaxAtk, petDamPer,
|
| | | atkSpeed, aIgnoreDefRate, aLuckyHit, aLuckyHitRate, aBleedDamage, aFinalHurt, npcExp, npcMaxHP, npcCommendFightPower, petSkillLV,
|
| | | petSkillPer, eval("[" +", ".join(["skill%s"%i for i in range(1, 11)]) + "]"), |
| | | eval("[" +", ".join(["PetSkill%s"%i for i in range(1, 10)]) + "]")))
|
| | |
|
| | | # 1. 经验
|
| | | exp = eval(IpyGameDataPY.GetFuncCompileCfg('TJG', 1))
|
| | |
| | | Def_Effect_LuckyHitRateReduce = 17
|
| | | # 技能伤害加成 (用作伤害加成)其中a值为增加的万分率
|
| | | Def_Effect_SkillAtkRate = 18 #20032
|
| | | # 伤害加成, 技能百分比外层
|
| | | Def_Effect_DamagePer = 19
|
| | | # 伤害吸收(A值为具体值)
|
| | | Def_Effect_DamReducePer = 20
|
| | | # PVP固定伤害
|
| | | Def_Effect_DamagePVP = 19
|
| | | # PVP固定减伤
|
| | | Def_Effect_DamagePVPReduce = 20
|
| | | #生命回复固定值(A值固定值)
|
| | | Def_Effect_HPRestore = 21
|
| | | #反伤百分比(A值固定值)
|
| | |
| | |
|
| | | # 属性刷新类型定义, BYTE, 从146开始, C++定义到 IPY_PlayerDefine.CDBPlayerRefresh_OperateInfo
|
| | | (
|
| | | CDBPlayerRefresh_SuperHitReduce, # 暴击抗性 146
|
| | | CDBPlayerRefresh_LuckyHitRateReduce, # 幸运一击抗概率
|
| | | CDBPlayerRefresh_SuperHitReduce, # 暴击固定值减少 146
|
| | | CDBPlayerRefresh_LuckyHitRateReduce, # 会心一击抗概率
|
| | | CDBPlayerRefresh_SkillAtkRateReduce, # 技能减伤
|
| | | CDBPlayerRefresh_DamagePer, # 增加伤害
|
| | | CDBPlayerRefresh_DamagePVP, # PVP固定伤害
|
| | | CDBPlayerRefresh_SpeedValue, # 移动速度值 150
|
| | | CDBPlayerRefresh_151, # |
| | | CDBPlayerRefresh_DamagePVE, # 对NPC的伤害固定值
|
| | | CDBPlayerRefresh_PetDamPer, # 灵宠增加伤害
|
| | | CDBPlayerRefresh_IgnoreDefRateReduce, # 无视防御抗性
|
| | | CDBPlayerRefresh_DamChanceDef, # 概率抵御, 玩家每次被攻击有20%的几率减少伤害比率
|
| | |
| | | CDBPlayerRefresh_NPCHurtAddPer, # 对怪物伤害加成
|
| | | CDBPlayerRefresh_FinalHurtPer, # 最终输出伤害百分比
|
| | | CDBPlayerRefresh_TalentPoint, # 天赋点数 190
|
| | | CDBPlayerRefresh_191, # 废弃 191
|
| | | CDBPlayerRefresh_DamagePVPReduce, # PVP固定伤害减少
|
| | | CDBPlayerRefresh_GodWeaponLV_1, # 神兵等级 - 类型1 192
|
| | | CDBPlayerRefresh_GodWeaponLV_2, # 神兵等级 - 类型2 193
|
| | | CDBPlayerRefresh_GodWeaponLV_3, # 神兵等级 - 类型3 194
|
| | |
| | | CDBPlayerRefresh_NormalHurtPer, # 属性普通攻击加成:普通攻击附加的伤害百分比 207
|
| | | CDBPlayerRefresh_FabaoHurt, # 属性法宝技能增伤:法宝技能攻击附加的固定值伤害 208
|
| | | CDBPlayerRefresh_FabaoHurtPer, # 属性法宝技能加成:法宝技能攻击附加的伤害百分比 209
|
| | | ) = range(146, 210)
|
| | | CDBPlayerRefresh_SuperHitPer, # 暴击伤害加成 210
|
| | | CDBPlayerRefresh_SuperHitRateReduce, # 暴击概率抗性 |
| | | CDBPlayerRefresh_LuckyHitPer, # 会心一击伤害加成 |
| | | CDBPlayerRefresh_LuckyHitReduce, # 会心伤害减免固定值 |
| | | CDBPlayerRefresh_FinalHurtReducePer, # 最终伤害减少百分比
|
| | | ) = range(146, 215)
|
| | |
|
| | | TYPE_Price_Gold_Paper_Money = 5 # 金钱类型,(先用礼券,再用金子)
|
| | | TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
|
| | |
| | | [lambda curObj:PlayerControl.GetSpeedNotBuff(curObj), lambda curObj, value:PlayerControl.SetSpeedNotBuff(curObj, value), 0, 0, 0], # 移动速度
|
| | | [lambda curObj:PlayerControl.GetAtkSpeed(curObj), lambda curObj, value:PlayerControl.SetAtkSpeed(curObj, value), IPY_PlayerDefine.CDBPlayerRefresh_BattleValEx1, 1, 1], # 攻击速度
|
| | |
|
| | | [lambda curObj:curObj.GetSuperHitRate(), lambda curObj, value:curObj.SetSuperHitRate(value), IPY_PlayerDefine.CDBPlayerRefresh_SuperHitRate, 1, 0], # 暴击概率
|
| | | [lambda curObj:curObj.GetSuperHit(), lambda curObj, value:curObj.SetSuperHit(value), IPY_PlayerDefine.CDBPlayerRefresh_SuperHit, 1, 0], # 暴击伤害
|
| | | [lambda curObj:PlayerControl.GetSuperHitRateReduce(curObj), lambda curObj, value:PlayerControl.SetSuperHitRateReduce(curObj, value), 0, 0, 0],# 暴击概率抗性
|
| | | [lambda curObj:PlayerControl.GetSuperHitReducePer(curObj), lambda curObj, value:PlayerControl.SetSuperHitReducePer(curObj, value), ShareDefine.CDBPlayerRefresh_SuperHitReduce, 1, 0], # 暴击抗性
|
| | | [lambda curObj:curObj.GetSuperHitRate(), lambda curObj, value:curObj.SetSuperHitRate(value), IPY_PlayerDefine.CDBPlayerRefresh_SuperHitRate, 1, 0], # 暴击概率
|
| | | [lambda curObj:curObj.GetSuperHit(), lambda curObj, value:curObj.SetSuperHit(value), IPY_PlayerDefine.CDBPlayerRefresh_SuperHit, 1, 0], # 暴击伤害固定值
|
| | | [lambda curObj:PlayerControl.GetSuperHitRateReduce(curObj), lambda curObj, value:PlayerControl.SetSuperHitRateReduce(curObj, value), ShareDefine.CDBPlayerRefresh_SuperHitRateReduce, 0, 0],# 暴击概率抗性
|
| | | [lambda curObj:PlayerControl.GetSuperHitReduce(curObj), lambda curObj, value:PlayerControl.SetSuperHitReduce(curObj, value), ShareDefine.CDBPlayerRefresh_SuperHitReduce, 1, 0], # 暴击伤害抗性固定值
|
| | |
|
| | | [lambda curObj:curObj.GetGreatHitRate(), lambda curObj, value:curObj.SetGreatHitRate(value), 0, 0, 0], # 卓越一击几率
|
| | | [lambda curObj:curObj.GetGreatHitVal(), lambda curObj, value:curObj.SetGreatHitVal(value), 0, 0, 0], # 卓越一击伤害倍率
|
| | |
| | | [lambda curObj:PlayerControl.GetGreatHitReducePer(curObj), lambda curObj, value:PlayerControl.SetGreatHitReducePer(curObj, value), 0, 0, 0], # 卓越一击伤害减免
|
| | |
|
| | | [lambda curObj:curObj.GetLuckyHitRate(), lambda curObj, value:curObj.SetLuckyHitRate(value), IPY_PlayerDefine.CDBPlayerRefresh_LuckyHitRate, 1, 0], # 会心一击几率
|
| | | [lambda curObj:curObj.GetLuckyHitVal(), lambda curObj, value:curObj.SetLuckyHitVal(value), IPY_PlayerDefine.CDBPlayerRefresh_LuckyHitVal, 1, 0], # 会心一击伤害倍率
|
| | | [lambda curObj:curObj.GetLuckyHitVal(), lambda curObj, value:curObj.SetLuckyHitVal(value), IPY_PlayerDefine.CDBPlayerRefresh_LuckyHitVal, 1, 0], # 会心一击伤害固定值
|
| | | [lambda curObj:PlayerControl.GetLuckyHitRateReduce(curObj), lambda curObj, value:PlayerControl.SetLuckyHitRateReduce(curObj, value), ShareDefine.CDBPlayerRefresh_LuckyHitRateReduce, 1, 0],# 会心一击概率抗性
|
| | | [lambda curObj:PlayerControl.GetLuckyHitReducePer(curObj), lambda curObj, value:PlayerControl.SetLuckyHitReducePer(curObj, value), 0, 0, 0], # 会心一击伤害减免
|
| | | [lambda curObj:PlayerControl.GetLuckyHitReduce(curObj), lambda curObj, value:PlayerControl.SetLuckyHitReduce(curObj, value), ShareDefine.CDBPlayerRefresh_LuckyHitReduce, 1, 0], # 会心一击伤害减免固定值
|
| | |
|
| | | [lambda curObj:curObj.GetIgnoreDefRate(), lambda curObj, value:curObj.SetIgnoreDefRate(value), IPY_PlayerDefine.CDBPlayerRefresh_IgnoreDefRate, 1, 0], # 无视防御几率
|
| | | [lambda curObj:PlayerControl.GetIgnoreDefRateReduce(curObj), lambda curObj, value:PlayerControl.SetIgnoreDefRateReduce(curObj, value), ShareDefine.CDBPlayerRefresh_IgnoreDefRateReduce, 1, 0], # 无视防御概率抗性
|
| | |
| | | [lambda curObj:PlayerControl.GetReduceSkillCD(curObj), lambda curObj, value:PlayerControl.SetReduceSkillCD(curObj, value), 0, 0, 0], # 减技能CD值
|
| | | [lambda curObj:curObj.GetSkillAtkRate(), lambda curObj, value:curObj.SetSkillAtkRate(value), IPY_PlayerDefine.CDBPlayerRefresh_SkillAtkRate, 1, 0], # 技能攻击比例加成
|
| | | [lambda curObj:PlayerControl.GetSkillAtkRateReduce(curObj), lambda curObj, value:PlayerControl.SetSkillAtkRateReduce(curObj, value), ShareDefine.CDBPlayerRefresh_SkillAtkRateReduce, 1, 0],# 技能攻击比例减少
|
| | | [lambda curObj:PlayerControl.GetDamagePer(curObj), lambda curObj, value:PlayerControl.SetDamagePer(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePer, 1, 0], # 伤害输出计算百分比
|
| | | [lambda curObj:curObj.GetDamageReduceRate(), lambda curObj, value:curObj.SetDamageReduceRate(value), IPY_PlayerDefine.CDBPlayerRefresh_DamageReduceRate, 1, 0], # 减少伤害
|
| | | [lambda curObj:PlayerControl.GetDamagePVP(curObj), lambda curObj, value:PlayerControl.SetDamagePVP(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePVP, 1, 0], # PVP固定伤害
|
| | | [lambda curObj:PlayerControl.GetDamagePVPReduce(curObj), lambda curObj, value:PlayerControl.SetDamagePVPReduce(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePVPReduce, 1, 0], # PVP固定减伤
|
| | | [lambda curObj:PlayerControl.GetHurtPer(curObj), lambda curObj, value:PlayerControl.SetHurtPer(curObj, value), 0, 0, 0], # 受伤计算百分比
|
| | | [lambda curObj:PlayerControl.GetBleedDamage(curObj), lambda curObj, value:PlayerControl.SetBleedDamage(curObj, value), ShareDefine.CDBPlayerRefresh_BleedDamage, 1, 0], # 流血伤害
|
| | | [lambda curObj:PlayerControl.GetFinalHurt(curObj), lambda curObj, value:PlayerControl.SetFinalHurt(curObj, value), ShareDefine.CDBPlayerRefresh_FinalHurt, 1, 0], # 最终固定伤害增加
|
| | | [lambda curObj:PlayerControl.GetFinalHurtReduce(curObj), lambda curObj, value:PlayerControl.SetFinalHurtReduce(curObj, value), ShareDefine.CDBPlayerRefresh_FinalHurtReduce, 1, 0], # 最终固定伤害减少
|
| | | [lambda curObj:PlayerControl.GetDamagePerPVP(curObj), lambda curObj, value:PlayerControl.SetDamagePerPVP(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePerPVP, 1, 0], # 伤害输出计算百分比PVP
|
| | | [lambda curObj:PlayerControl.GetDamagePerPVPReduce(curObj), lambda curObj, value:PlayerControl.SetDamagePerPVPReduce(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePerPVPReduce, 1, 0],# 伤害输出计算百分比PVP减少
|
| | | [lambda curObj:PlayerControl.GetDamagePerPVE(curObj), lambda curObj, value:PlayerControl.SetDamagePerPVE(curObj, value), 0, 0, 0], # 伤害输出计算百分比PVE
|
| | | [lambda curObj:PlayerControl.GetDamagePVE(curObj), lambda curObj, value:PlayerControl.SetDamagePVE(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePVE, 1, 0], # 伤害输出计算固定值PVE
|
| | | [lambda curObj:PlayerControl.GetNPCHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetNPCHurtAddPer(curObj, value), ShareDefine.CDBPlayerRefresh_NPCHurtAddPer, 1, 0], # 对怪物伤害加成
|
| | | [lambda curObj:PlayerControl.GetJobAHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetJobAHurtAddPer(curObj, value), 0, 0, 0], # 目标战士伤害加成
|
| | | [lambda curObj:PlayerControl.GetJobBHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetJobBHurtAddPer(curObj, value), 0, 0, 0], # 目标法师伤害加成
|
| | |
| | | [lambda curObj:PlayerControl.GetJobCAtkReducePer(curObj), lambda curObj, value:PlayerControl.SetJobCAtkReducePer(curObj, value), 0, 0, 0], # 弓手攻击伤害减免
|
| | |
|
| | | [lambda curObj:PlayerControl.GetCommMapExpRate(curObj), lambda curObj, value:PlayerControl.SetCommMapExpRate(curObj, value), 0, 0, 0], # 常规地图经验倍率加成
|
| | | [lambda curObj:PlayerControl.GetFinalHurtPer(curObj), lambda curObj, value:PlayerControl.SetFinalHurtPer(curObj, value), 0, 0, 0], # 最终伤害百分比
|
| | | [lambda curObj:PlayerControl.GetFinalHurtPer(curObj), lambda curObj, value:PlayerControl.SetFinalHurtPer(curObj, value), ShareDefine.CDBPlayerRefresh_FinalHurtPer, 1, 0], # 最终伤害百分比
|
| | | [lambda curObj:PlayerControl.GetFuhaoHitRate(curObj), lambda curObj, value:PlayerControl.SetFuhaoHitRate(curObj, value), 0, 0, 0], # 富豪一击概率
|
| | | [lambda curObj:PlayerControl.GetBossIDHurt(curObj), lambda curObj, value:PlayerControl.SetBossIDHurt(curObj, value), 0, 0, 0], # 对指定boss伤害加成固定值
|
| | | [lambda curObj:PlayerControl.GetBossIDHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetBossIDHurtAddPer(curObj, value), 0, 0, 0],# 对指定boss伤害加成倍率
|
| | |
| | | [lambda curObj:PlayerControl.GetNormalHurtPer(curObj), lambda curObj, value:PlayerControl.SetNormalHurtPer(curObj, value), ShareDefine.CDBPlayerRefresh_NormalHurtPer, 1, 0], # 属性普通攻击加成
|
| | | [lambda curObj:PlayerControl.GetFabaoHurt(curObj), lambda curObj, value:PlayerControl.SetFabaoHurt(curObj, value), ShareDefine.CDBPlayerRefresh_FabaoHurt, 1, 0], # 属性法宝技能增伤
|
| | | [lambda curObj:PlayerControl.GetFabaoHurtPer(curObj), lambda curObj, value:PlayerControl.SetFabaoHurtPer(curObj, value), ShareDefine.CDBPlayerRefresh_FabaoHurtPer, 1, 0], # 属性法宝技能加成
|
| | | [lambda curObj:PlayerControl.GetSuperHitPer(curObj), lambda curObj, value:PlayerControl.SetSuperHitPer(curObj, value), ShareDefine.CDBPlayerRefresh_SuperHitPer, 1, 0], # 暴击伤害加成
|
| | | [lambda curObj:PlayerControl.GetLuckyHitPer(curObj), lambda curObj, value:PlayerControl.SetLuckyHitPer(curObj, value), ShareDefine.CDBPlayerRefresh_LuckyHitPer, 1, 0], # 会心一击伤害加成
|
| | | [lambda curObj:PlayerControl.GetFinalHurtReducePer(curObj), lambda curObj, value:PlayerControl.SetFinalHurtReducePer(curObj, value), ShareDefine.CDBPlayerRefresh_FinalHurtReducePer, 1, 0], # 最终伤害减少百分比
|
| | | ]
|
| | |
|
| | | ## 通过索引获得属性值
|
| | |
| | | 4048:ChConfig.TriggerType_MissSkill, # 闪避后触发释放技能
|
| | | 4049:ChConfig.TriggerType_MissSuccessPer, # 闪避成功率提升
|
| | | 4050:ChConfig.TriggerType_OneDamage, # 伤害降低到1点
|
| | | 4051:ChConfig.TriggerType_LuckyHit, # 会心一击时增加会心伤害百分比 50
|
| | | 4051:ChConfig.TriggerType_LuckyHit, # 会心一击时增加会心伤害固定值 50
|
| | | 4052:ChConfig.TriggerType_Buff_SuckBloodPer, # 攻击 百分比吸血
|
| | | 4053:ChConfig.TriggerType_AddLayer, # BUFF层级增加时 52
|
| | | 4054:ChConfig.TriggerType_AttackAddSkillPer, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5
|