传奇私服属性及技能伤害计算方式,计算细则参照64位M2源码计算规则整理。
系统设置:参数由M2设定
magicX:对应cfg_magic.xls相应技能X列设定的参数
attX:人物扩展属性,X对应cfg_att_score.xls中000行的属性值
仅供策划参考一些对标数据,计算数据对标盛大,仅供参考!
攻击速度计算(64位暂时没有攻击速度参数):
攻击速度影响攻击间隔时间,实际计算中以攻击间隔时间作为标准:
攻击间隔时间Interval:
攻击间隔(系统设定)- (攻击间隔(系统设定)/10 * 攻击加速倍数)- 每点攻速减免时间*攻击速度
攻击间隔时间最小以100毫秒为限制。
麻痹效果几率计算(技能附带麻痹不按照此方法):
目标带防麻痹,麻痹无效;
触发条件,满足以下之一:
- 有麻痹戒指等附带麻痹的装备;
Random(1000) <=((目标抗毒/10+麻痹几率)*100 – 目标防麻痹几率)。
- 无麻痹戒指,有附加麻痹效果(脚本或装备赋予的临时附加属性);
Random(1000) <=(附加属性麻痹几率*100)-目标防麻痹几率)。
技能攻击力计算部分:
注:个别技能攻击力计算可能有细微差别
幸运影响技能等级攻击力
条件:Random(最大幸运值 – 幸运值)=0
条件成立:
攻击力Power:等级伤害上限(magic5)
条件不成立:
攻击力Power:等级伤害下限(magic5) + Random(等级伤害上限(magic6) – 等级伤害下限magic5)
幸运影响技能攻击力
条件:Random(最大幸运值 – 幸运值)=0
条件成立:
攻击力Power:Power/(技能最大等级+1)*(技能等级+1)+ 技能伤害上限(magic9)
条件不成立:
攻击力Power: (Power/(技能最大等级+1)*(技能等级+1)+ 技能伤害下限(magic8) + Random(技能伤害上限(magic9) – 技能伤害下限(magic8)))* 技能强化系数(magic33)
火球术、大火球术
目标魔法闪避(att15)>Random(10),未命中
雷电术、群体雷电术
目标魔法闪避(att15)>Random(10),未命中
对不死类怪物,攻击力Power=Power*1.5
群体雷电术对单个目标分别判断
灵魂火符
攻击力Power=Power*灵魂火符攻击力倍数(系统设置)/100
目标魔法闪避(att15)>Random(10),未命中
火墙
时长Time= 10*(技能等级+1)/4
+ 技能伤害下限(magic8) + Random(技能伤害上限(magic9) – 技能伤害下限(magic8)))* 技能强化系数(magic33)
+ (技能伤害下限(magic8) + Random(技能伤害上限(magic9) – 技能伤害下限(magic8)))*0.5
气功波
人物等级>目标等级,且Random(20) >= (6 + 技能等级* 3 +人物等级-目标等级),推不动
彻地钉
Random(目标敏捷)>=准确,未命中
寒冰掌
目标魔法闪避(att15)>Random(10),未命中
人物等级>目标等级,且Random(20) >= (6 + 技能等级* 3 +人物等级-目标等级),推不动
灭天火
目标魔法闪避(att15)>Random(10),未命中
对不死类怪物,攻击力Power=Power*1.5
流星火雨
施放时,发动两次伤害
裂神符
弹射攻击力Power= (1 – 攻击力衰减(M2设置)/100)*上一个目标收到的攻击力Power
Random(100)< (45+ 幸运值/最大幸运值(M2设置),发生下一次弹射
至少弹射1次,即攻击到2个目标
最多弹射9次,攻击到10个目标
死亡之眼
主目标攻击力Power=Power*威力倍数(M2设置)/100
死亡之眼火圈内目标攻击力Power2= Power*火圈威力倍数(M2设置)/100
当设置值需要药粉,施法者没有携带药粉,则无法对主目标释放紫毒(伤害加倍效果)
威力倍数(若有M2设置)
攻击力Power=Power*威力倍数(系统设置)/100
技能伤害攻击倍数
攻击力Power:
Power + 伤害增加(magic35) 或Power +(Power /100 * 伤害加成(magic35))
注:技能伤害增加和加成仅能设定一项
职业影响
幸运影响技能攻击力
条件:Random(最大幸运值 – 幸运值)=0
条件成立:
攻击力Power:Power + 攻魔道上限
条件不成立:
攻击力Power:Power + 攻魔道下限 + Random(攻魔道上限 – 攻魔道下限 + 1)
如果幸运值 < 0
攻击力 Power:Power + 攻魔道下限
注:攻魔道上下限,视技能对应的职业属性(magic10)确定
玩家攻击力加成:
攻击力Power:
Power *(攻击倍数*100+ 基础倍攻(att67))
普通攻击力计算(含普通攻击释放的战士技能):
基础攻击力Power:攻击下限 + Random(攻击上限 – 攻击下限)
幸运影响普通攻击力
条件:Random(最大幸运值 – 幸运值)=0
攻击力Power:攻击上限
如果幸运值 < 0,且RANDOM(10-诅咒值)=0时
攻击力 Power:攻击下限
烈火剑法
攻击力Power:
(Power +Power/100*(4 + 技能等级*40))/(技能最大等级 + 2)*(技能等级 + 2)*(烈火攻击倍数(系统设置)/ 100)
攻杀剑法
技能有强化时:
攻击力Power:
Power + (5 + 技能等级)*技能强化等级
刺杀剑法
条件:不选中“1格刀刀刺杀”(系统设置)
攻击力Power:
Power /(技能最大等级 + 2)*(技能等级 + 2)
半月
攻击力Power:
Power /(技能最大等级 + 2)*(技能等级 + 2)
开天斩
攻击力Power:
(Power/5 * (技能等级 + 2)*1.33*2)* 开天斩攻击倍数(系统设置) / 100
开天斩重击:
条件:Random(开天斩重击几率)=0
攻击力Power:
Power * (开天斩重击倍数 / 100)
逐日剑法
攻击力Power:
((Power/5 * (技能等级 + 2)*1.33)* 开天斩攻击倍数(系统设置) / 100
+ 技能基础伤害下限(magic8) + Random(技能基础伤害上限(magic9) – 技能基础伤害下限(magic8)))
*(逐日攻击倍数(系统设置) * 100)
未命中判定:
条件:准确 < Random(目标闪避(敏捷))
攻击力Power = 0
伤害计算部分:
基本攻击力(由技能或普通攻击计算得到的)Power
攻击修正:
攻击目标为动物、玩家、NPC、守卫 Damage=Power/1.2;
其他情况Damage=Power
伤害Damage=Damage+技能威力增加或Damage+(Damage/100*技能威力加成)
伤害Damage=Damage-技能防御增加或Damage+(Damage/100*技能防御加成)
注:技能伤害增加、技能攻击加成、技能防御增加、技能防御加由脚本SetMagicPower、SetMagicDefPower设置。
致命一击
条件:random(10000) <(神圣一击几率(att79) – 神圣抵抗(att90)
伤害值:Damage*3 + 神圣伤害(Att80)
以上计算直接得到实际伤害,计算中止
暴击
条件:Random(100) <(暴击率(att21)- 目标韧性(att23)+对怪暴击率(att72))
伤害值Damage:
Damage/100 * 魔法/攻击暴击倍数(系统参数)
+ Damage/100 *(暴击伤害增加(att22) – 暴击伤害减免(att24))
+ 对怪伤害(att74) + Damage/10000*对怪增伤(att75)
忽视防御
条件:random(10000) > (忽视目标防御(att28) *100 – 目标忽视防御抵抗(att85))
伤害值Damage:
条件成立:
Damage + 穿透(att78))
条件不成立:
Damage
– (目标最小魔防 + Random(目标最大魔防-目标最小魔防)+ 1)
– (目标最小防御 + Random(目标最大防御-目标最小防御)+ 1)
+ 穿透(att78)
注:物理攻击时仅计算防御部分,技能攻击时仅计算魔防部分
对不死类怪物增伤
伤害值Damage:
Damage+ 神圣值
目标有魔法盾效果
伤害值Damage:
Damage * 8/((4+魔法盾防御倍数(系统设定)/100)*(魔法盾技能等级+2))
PK增减伤:
伤害值Damage:
Damage
+ Damage/10000 * PK增伤(att76)
– Damage/10000 * 目标PK减伤(att77)
+ 对人伤害(att68)
格挡:
条件:random(10000) < 格挡概率(att63)
伤害值Damage:
Damage
+ Damage/100 *(增加攻击伤害(att25) – 魔法伤害减少(att27)或物理伤害减少(att26))
+ Damage/10000 *(对战(法、道)增伤(att54、att56、att58) – 目标对战(法、道)减伤(att55、att57、att59))
+ Damage/100 * 战(法、道)对怪威力系数(系统参数)
+ Damage/100 * 战(法、道)玩家相互攻击加成(系统参数)
– Damage/1000* 目标伤害格挡(att64)
怪物攻击玩家减伤:
伤害值Damage:
Damage – Damage/10000 * 目标受怪减伤(att82)
目标中毒情况:(TBaseObject.StruckDamage)
红毒
伤害值Damage:
Damage * 红毒减防量(系统参数)/10
紫毒,死亡之眼击中的目标
伤害Damage:
Damage * 紫毒伤害加成(系统参数)/10
攻击前触发
伤害Damage:修改为脚本设定或计算后的伤害值
脚本设置人物伤害吸收:(TBaseObject.DamageHealth)
条件:random(100) < 伤害吸收几率
伤害值Damage:
Damage – Damage/100*伤害吸收比率
魔法怪物,魔法值是单次伤害的上限
条件:怪物有设定的魔法值
伤害值Damage:
Min(Damage,怪物魔法值)
目标有护身戒指(TBaseObject.DamageHealth)
按照Damage*1.5 扣减魔法值,得到新的伤害值Damage,如魔法值足够抵扣,则不减HP
防止秒杀:(TBaseObject.DamageHealth)
条件:1. Damage > 目标当前HP; 2. 全局防秒杀(系统设置) 或 玩家血量保护值(脚本设定)
伤害值Damage:
目标最大血量 – 目标最大血量/100 * (血量保护(系统设置)或玩家血量保护值(脚本设定))
其他伤害说明:
RangeHarm脚本命令,伤害计算顺序:
- 先计算附加属性中的伤害(参数5:4=吸血,6真实伤害数值,12最大hp百分比真实伤害,13当前hp百分比真实伤害),其中吸血效果计算后,目标HP至少保留1点。
- 再计算脚本伤害值(参数4:伤害值(计算防御))