属性及技能攻击力计算方式
996M2引擎传奇版本
计算细则参照64位M2源码计算规则整理。
系统设置:参数由M2设定
magicX:对应cfg_magic.xls相应技能X列设定的参数
attX:人物扩展属性,X对应cfg_att_score.xls中000行的属性值
--------------------------------------------------------------------------------
攻击速度计算(64位暂时没有攻击速度参数):
攻击速度影响攻击间隔时间,实际计算中以攻击间隔时间作为标准:
攻击间隔时间Interval:
攻击间隔(系统设定)- (攻击间隔(系统设定)/10 * 攻击加速倍数)- 每点攻速减免时间*攻击速度
攻击间隔时间最小以100毫秒为限制。
定身效果几率计算(技能附带定身不按照此方法):
目标带防定身,定身无效;
触发条件,满足以下之一:
1. 有定身戒指等附带定身的装备;
Random(1000) <=((目标抗毒/10+定身几率)*100 - 目标防定身几率)。
2. 无定身戒指,有附加定身效果(脚本或装备赋予的临时附加属性);
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脚本命令,攻击力计算顺序:
1. 先计算附加属性中的攻击力(参数5:4=吸血,6真实攻击力数值,12最大hp百分比真实攻击力,13当前hp百分比真实攻击力),其中吸血效果计算后,目标HP至少保留1点。
2. 再计算脚本攻击力值(参数4:攻击力值(计算防御))
|