996传奇引擎M2属性及技能伤害计算方式 计算细则参照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:伤害值(计算防御)) 道士施毒术计算: 中毒判定: 目标防中全毒概率(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|技能残卷#1#5|金砖#5#15|鹿肉#5#30 四选一 2. 比如:选中 金砖#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% |