996M2引擎属性及技能伤害计算方式:
计算细则参照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)-目标防麻痹几率)。
996M2引擎技能攻击力计算部分:
注:个别技能攻击力计算可能有细微差别
幸运影响技能等级攻击力
条件: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.332) 开天斩攻击倍数(系统设置) / 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:伤害值(计算防御))
道士施毒术计算:
中毒判定:
目标防中全毒概率(att48)>0 时,Random(10000) <= (10000 -目标的毒物躲避(att16) - 70 - 目标防中全毒(att48))
目标防中全毒概率(att48)<=0 时,Random(目标的毒物躲避(att16) + 70) <= 60
绿毒
中毒点数:
Point0= 320/(技能等级*3+3) + 40/3 +基础伤害下限(magic8)+RANDOM(基础伤害上限(magic9)-基础伤害下限(magic8)))+ 技能攻击力Power(具体见技能部分)
实际中毒点数
Point=Point0*技能等级/施毒点数控制(系统设置)/3
中毒时间:
不需要灵符时:Time=Point0*施毒点数控制(系统设置)/100,但不大于中毒最大时间(系统设置)
需要灵符时:Timer=Point0
红毒
中毒点数:
Point0= 240/(技能等级*3+3) + 10 +基础伤害下限(magic8)+RANDOM(基础伤害上限(magic9)-基础伤害下限(magic8)))+ 技能攻击力Power(具体见技能部分)
实际中毒点数
Point=Point0*技能等级/施毒点数控制(系统设置)/3
中毒时间:
不需要灵符时:Time=Point0*施毒点数控制(系统设置)/100,但不大于中毒最大时间(系统设置)
需要灵符时:Timer=Point0
杀怪爆物品爆率计算:
摇点nRate= MaxPoint(怪物物品掉落文件中的分母)10000/(杀怪爆率100 + 攻击者的杀怪掉落概率(att65))
阈值iValue=SelPoint(怪物物品掉落文件中的分子)
杀怪爆率:默认100,可由脚本KillMonBurstRate修改
当Random(nRate)<iValue时,爆出对应的物品。
宝箱命中几率算法:
实际运算步骤:
背包扩充卷#1#1|技能残卷#1#5|金砖#5#15|鹿肉#5#30 四选一
比如:选中 金砖#5#15,产生一个随机数X(0-99),如 X>几率值(15),则选中,否则,重新执行步骤1
最终选中比率:
背包扩充卷#1#1|技能残卷#1#5|金砖#5#15|鹿肉#5#30
单项权重:99-几率值
背包扩充卷-98|技能残卷-94|金砖-84|鹿肉-84
背包扩充卷选中的几率= 98/(98+94+84+84)=98/360= 27.22%
|
上一篇:脚本性能原子钟PRINTUSETIME命令功能说明-gee引擎知识下一篇:传奇服务端版本String.ini文件(系统文字提示)说明-旭玩996M2引擎
|