魔兽世界的仇恨系统究竟是怎样的?

如题所述

大家普遍认为我们永远无法解算出仇恨以及仇恨列表以及怪物的AI,因为这个系统复杂未知,所以我们只能推导和得到一些粗略的近似值.我做了一些正规严格的测试,并且得出了我认为很优秀的包括仇恨列表,对获得和失去aggro以及嘲讽的合理解释. 本文将揭开关于仇恨系统的神秘面纱. 我们定义aggro为怪物正在攻击的目标,我们定义“仇恨”为怪物对于每个玩家在仇恨列表中的量化数值。需要注意的是,如我们下面要讲的,任何一个怪物,在仇恨列表里最高位并不是取得aggro的必要条件。 我们定义1点无修正伤害产生1点仇恨 2) 如何取得aggro(aggr成为boss的目标)- 超越10%仇恨 想使怪物目标转到一个新目标上,那么新目标必须超过现有目标对该怪物仇恨的10%. 例如:怪物正在攻击玩家x, x对怪物造成100伤害,然后停止. 玩家y开始攻击怪物,当造成110伤害后怪物开始攻击y. 实验:很容易的证明,2个玩家都自动攻击一个怪(不要是战士或者盗贼,等会说明更为复杂的东西),玩家1先造成一定数量的伤害然后停止,玩家2继续攻击直到他取得aggro。你可以得到一个带有上下限范围的仇恨来取得aggro---玩家1攻击到造成怪物aggro的最少伤害,使用最低攻击(比如空手攻击),你可以得到一个非常准确的10%。 以上只能用来描述普通怪,显然有些怪物有特殊技能忽略当时的仇恨或者aggro而攻击第2目标。 战斗和狂爆姿态,战士的所有仇恨值为80%.防御姿态为130%,如果有defiance天赋为145%。 实验:让一个战士在防御姿态造成1000伤害,且没有defiance.一个非战士职业通过普通攻击取得aggro,你将发现在造成1430伤害前aggro无法取得. 防御姿态战士的1000伤害达到了1300的仇恨,而10%的设置需要高于1430的伤害来获得aggro。 4) 仇恨不会随时间消退 仇恨不会消退.这里有测试数据. 战斗姿态战士对怪物造成83点伤害,取得了aggro. 从上我们知道需要造成83x0.8x1.1=73.04仇恨才能抢到aggro. 战士等待了5分钟在攻击,然后法师开始缓慢攻击. 法师造成73点伤害带市未能获得aggro.法师又造成了2点伤害后,取得了aggro.。从战士开始攻击到失去aggro,全过程一共用了496秒。 假设仇恨衰减达到最大(73是临界值的话). 法师只需要73.000000001仇恨来取得aggro. 然后战士仇恨从66.4衰减到66.36363636. 这意味着他在496秒里失去了99.945%的仇恨。 根据这个最大仇恨衰减率,这个战士仇恨衰减到90%需要26.5小时.实际上,如果一个战士在服务器开始时候登陆,在下个星期服务器维护时也无法衰减50%仇恨.我认为这个足够可以无视仇恨衰减了。 5) 战士技能产生的仇恨值 破甲: 260 (258.0 - 260.8) 英勇*: 145 (143.9 - 148.8) 复仇*: 315 (313.9 - 318.3) 复仇昏迷: 25 (23.4 - 29.1) 盾击*: 180 (175.4 - 180.3) 盾牌猛击*: ?? 250 (estimated from Cop's data. More on that later) 盾档: 0 (0 - 0. Can be higher - more on this later) 雷霆一击*: 130 (126.9 - 134.8) 挫志吼叫: 43 (42.8 - 43.8) 每点治疗,无天赋修正情况下造成0.5的仇恨值,通过(2)的实验中一个只负责治疗的人证明。 (注:过量治疗不被计算。,计算实际治疗量。这个很容易论证。)\ 战斗日志里的“你获得x法力”每点获得0.5仇恨值,生命值也一样。喝药水等都算,但是人物的自然回复的那部分以及撒满图腾提供的回复都无仇恨。 战斗日志里“你获得x点怒气”每点获得5点仇恨值。但是,这些不会因为战士姿态而修正。获得怒气的技能包括包括嗜血狂怒,增强盾挡天赋,无尽怒气,5件力量套等。 拉怪本身并不产生仇恨。无论在引到怪后我们等待多久,我们通过用身体引到怪产生aggro都只产生一个最小化的仇恨。而用攻击拉怪不影响(2)的测试结果。(意即为拉怪本身不产生额外仇恨,只有攻击制造的仇恨,计算量同(2)的测试结果) 9) Taunt 嘲讽 最初嘲讽被认为是随机且难解的,例如你嘲讽一个怪,然后什么都不做,这个怪会一直攻击你直到嘲讽debuff消失,看起来似乎是给了一个临时的仇恨,那么,这个实验将对此观点予以反驳:任意一个职业对怪造成1000伤害然后停止。然后一个战士嘲讽这个怪物,什么都不做等到嘲讽debuff消失。怪物将会重新攻击开始那个玩家,此时战士开始做各种表情等等来拖段时间(当然不能太长以免他的伙伴挂了)然后战士用普通攻击直到他获得aggro。你将发现防御姿态切有defiance的战士在达到69伤害后开始获得aggro,战斗姿态则需要125伤害。 当你想到10%规则后会发觉嘲讽原理如此简单! 它将给你永久仇恨使你位于仇恨列表顶端,但并不给你aggro需要的10%仇恨,在debuff存在下让你获得临时的aggro!如果你什么都不做,你的仇恨将停留在怪物之前目标的仇恨数值上,并且失去aggro。仍需要相当的努力,才能获得aggro。 嘲讽可以被描述为“临时的aggro,永久的仇恨” 很容易就证明嘲讽不是给战士一个恒量的仇恨值:玩家1拉一个怪,但是不攻击他,那么此时他仇恨为0,但是他有aggro。然后一个战士嘲讽,什么都不做,3秒后战士将失去aggro。此时战士仇恨是0,但是根据10%规则,他没有大于0的仇恨值来获得aggro。 获得aggro,根据10%规则,你失去了aggro,必然有人造成了至少相当于你110%的仇恨值。为了拉回目标,你最少需要那个人110%的仇恨值,或者121%你自己的当前仇恨值。因此不要失去aggro,想拉回来很难。 嘲讽会把你移到仇恨列表最高位置,因为它带来的是永久仇恨。你不攻击而别人攻击怪物的时间越长,你通过嘲讽获得的仇恨就越多,但是根据10%规则,你需要在怪物转移目标前做大量事情来获取aggro。 英勇打击不是主仇恨技能。假设你在tank一个62级的怪,它有8000护甲,并且有5个破甲效果,然后实际为5750的护甲,因此他将受到48.89%的伤害。 15%的致命一击率并受到防御姿态10%的伤害调整,以及10%的格挡率格挡50%伤害。那么你可以预算HS造成的138伤害换算成67.5的平均伤害。最高212的无修正仇恨值。可是仍然只有1个破甲的82%仇恨效果。即使是1.3攻击速度的武器,仍然只有94%的破甲的TPS。(月猪:罗嗦半天就是说破甲比hs更好拉怪) 实际效果最好是破甲和hs一起使用来消耗掉过量的怒气 复仇,通过复仇可以获得345的无修正仇恨值,还有伤害造成的仇恨,这一切只需要少量的怒气,甚至已经花费10怒用在盾挡上。但是在盾挡上消耗怒气,承受伤害也下降了。2次格挡180伤害你可以跟4怒气说再见了。 挫志吼叫,1/6的破甲仇恨值。即便是防御姿态+defiance天赋,降低每个怪42dps也无法带来更多仇恨。除非了黑龙蛋的那些小龙和zg里的一些豹子,真看不出有什么理由用这个技能。 盾牌猛击,6秒的cd,使用盾牌猛击无法对TPS有任何改善。3破甲1盾牌猛击每6秒,大概212的无修正TPS。但是30怒的盾牌猛击可以使用1破甲和1.2的英勇,假设你有盾牌猛击天赋(无论你怎样的天赋树结构),每次英勇都从普通攻击中损失3怒。4破甲1.2英勇每6秒带来215点TPS。 唯一的好处是,当你一直在使用破甲和英勇打击,仍然希望获得更多的仇恨。 假设我们使用一个2s攻击速度的武器,英勇打击和破甲一直使用,这大概造成280的仇恨/秒。 如果把一个破甲换成盾牌猛击将给我们提供318点的额外怒气。当然,这个效果也可以通过换成1个1.4秒攻击速度的武器而更频繁的使用英勇打击来实现。但是,这个结果并没有考虑自动攻击的伤害造成的仇恨,实际上,使用一个1.4速度的武器,会使自动攻击的仇恨变小一些。 实际上,BLZ的怪物攻击目标的计算公式并没有什么特别秘密的计算方法。这个概念是很简单的,数值也很容易计算。甚至仇恨建立的数值和公式,也可以准确地计算出来----如果仇恨被很仔细的监视着。 好吧,我希望你们之中的有些人还是清醒的,能够从我的文章中发现一些有价值的东西。如果你。不好好看而只是扫了一遍,我鄙视你
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-20
大家普遍认为我们永远无法解算出仇恨以及仇恨列表以及怪物的AI,因为这个系统复杂未知,所以我们只能推导和得到一些粗略的近似值.我做了一些正规严格的测试,并且得出了我认为很优秀的包括仇恨列表,对获得和失去aggro以及嘲讽的合理解释. 本文将揭开关于仇恨系统的神秘面纱. 我们定义aggro为怪物正在攻击的目标,我们定义“仇恨”为怪物对于每个玩家在仇恨列表中的量化数值。需要注意的是,如我们下面要讲的,任何一个怪物,在仇恨列表里最高位并不是取得aggro的必要条件。 我们定义1点无修正伤害产生1点仇恨 2) 如何取得aggro(aggr成为boss的目标)- 超越10%仇恨 想使怪物目标转到一个新目标上,那么新目标必须超过现有目标对该怪物仇恨的10%. 例如:怪物正在攻击玩家x, x对怪物造成100伤害,然后停止. 玩家y开始攻击怪物,当造成110伤害后怪物开始攻击y. 实验:很容易的证明,2个玩家都自动攻击一个怪(不要是战士或者盗贼,等会说明更为复杂的东西),玩家1先造成一定数量的伤害然后停止,玩家2继续攻击直到他取得aggro。你可以得到一个带有上下限范围的仇恨来取得aggro---玩家1攻击到造成怪物aggro的最少伤害,使用最低攻击(比如空手攻击),你可以得到一个非常准确的10%。 以上只能用来描述普通怪,显然有些怪物有特殊技能忽略当时的仇恨或者aggro而攻击第2目标。 战斗和狂爆姿态,战士的所有仇恨值为80%.防御姿态为130%,如果有defiance天赋为145%。 实验:让一个战士在防御姿态造成1000伤害,且没有defiance.一个非战士职业通过普通攻击取得aggro,你将发现在造成1430伤害前aggro无法取得. 防御姿态战士的1000伤害达到了1300的仇恨,而10%的设置需要高于1430的伤害来获得aggro。 4) 仇恨不会随时间消退 仇恨不会消退.这里有测试数据. 战斗姿态战士对怪物造成83点伤害,取得了aggro. 从上我们知道需要造成83x0.8x1.1=73.04仇恨才能抢到aggro. 战士等待了5分钟在攻击,然后法师开始缓慢攻击. 法师造成73点伤害带市未能获得aggro.法师又造成了2点伤害后,取得了aggro.。从战士开始攻击到失去aggro,全过程一共用了496秒。 假设仇恨衰减达到最大(73是临界值的话). 法师只需要73.000000001仇恨来取得aggro. 然后战士仇恨从66.4衰减到66.36363636. 这意味着他在496秒里失去了99.945%的仇恨。 根据这个最大仇恨衰减率,这个战士仇恨衰减到90%需要26.5小时.实际上,如果一个战士在服务器开始时候登陆,在下个星期服务器维护时也无法衰减50%仇恨.我认为这个足够可以无视仇恨衰减了。 5) 战士技能产生的仇恨值 破甲: 260 (258.0 - 260.8) 英勇*: 145 (143.9 - 148.8) 复仇*: 315 (313.9 - 318.3) 复仇昏迷: 25 (23.4 - 29.1) 盾击*: 180 (175.4 - 180.3) 盾牌猛击*: ?? 250 (estimated from Cop's data. More on that later) 盾档: 0 (0 - 0. Can be higher - more on this later) 雷霆一击*: 130 (126.9 - 134.8) 挫志吼叫: 43 (42.8 - 43.8) 每点治疗,无天赋修正情况下造成0.5的仇恨值,通过(2)的实验中一个只负责治疗的人证明。 (注:过量治疗不被计算。,计算实际治疗量。这个很容易论证。)\ 战斗日志里的“你获得x法力”每点获得0.5仇恨值,生命值也一样。喝药水等都算,但是人物的自然回复的那部分以及撒满图腾提供的回复都无仇恨。 战斗日志里“你获得x点怒气”每点获得5点仇恨值。但是,这些不会因为战士姿态而修正。获得怒气的技能包括包括嗜血狂怒,增强盾挡天赋,无尽怒气,5件力量套等。 拉怪本身并不产生仇恨。无论在引到怪后我们等待多久,我们通过用身体引到怪产生aggro都只产生一个最小化的仇恨。而用攻击拉怪不影响(2)的测试结果。(意即为拉怪本身不产生额外仇恨,只有攻击制造的仇恨,计算量同(2)的测试结果) 9) Taunt 嘲讽 最初嘲讽被认为是随机且难解的,例如你嘲讽一个怪,然后什么都不做,这个怪会一直攻击你直到嘲讽debuff消失,看起来似乎是给了一个临时的仇恨,那么,这个实验将对此观点予以反驳:任意一个职业对怪造成1000伤害然后停止。然后一个战士嘲讽这个怪物,什么都不做等到嘲讽debuff消失。怪物将会重新攻击开始那个玩家,此时战士开始做各种表情等等来拖段时间(当然不能太长以免他的伙伴挂了)然后战士用普通攻击直到他获得aggro。你将发现防御姿态切有defiance的战士在达到69伤害后开始获得aggro,战斗姿态则需要125伤害。 当你想到10%规则后会发觉嘲讽原理如此简单! 它将给你永久仇恨使你位于仇恨列表顶端,但并不给你aggro需要的10%仇恨,在debuff存在下让你获得临时的aggro!如果你什么都不做,你的仇恨将停留在怪物之前目标的仇恨数值上,并且失去aggro。仍需要相当的努力,才能获得aggro。 嘲讽可以被描述为“临时的aggro,永久的仇恨” 很容易就证明嘲讽不是给战士一个恒量的仇恨值:玩家1拉一个怪,但是不攻击他,那么此时他仇恨为0,但是他有aggro。然后一个战士嘲讽,什么都不做,3秒后战士将失去aggro。此时战士仇恨是0,但是根据10%规则,他没有大于0的仇恨值来获得aggro。 获得aggro,根据10%规则,你失去了aggro,必然有人造成了至少相当于你110%的仇恨值。为了拉回目标,你最少需要那个人110%的仇恨值,或者121%你自己的当前仇恨值。因此不要失去aggro,想拉回来很难。 嘲讽会把你移到仇恨列表最高位置,因为它带来的是永久仇恨。你不攻击而别人攻击怪物的时间越长,你通过嘲讽获得的仇恨就越多,但是根据10%规则,你需要在怪物转移目标前做大量事情来获取aggro。 英勇打击不是主仇恨技能。假设你在tank一个62级的怪,它有8000护甲,并且有5个破甲效果,然后实际为5750的护甲,因此他将受到48.89%的伤害。 15%的致命一击率并受到防御姿态10%的伤害调整,以及10%的格挡率格挡50%伤害。那么你可以预算HS造成的138伤害换算成67.5的平均伤害。最高212的无修正仇恨值。可是仍然只有1个破甲的82%仇恨效果。即使是1.3攻击速度的武器,仍然只有94%的破甲的TPS。(月猪:罗嗦半天就是说破甲比hs更好拉怪) 实际效果最好是破甲和hs一起使用来消耗掉过量的怒气 复仇,通过复仇可以获得345的无修正仇恨值,还有伤害造成的仇恨,这一切只需要少量的怒气,甚至已经花费10怒用在盾挡上。但是在盾挡上消耗怒气,承受伤害也下降了。2次格挡180伤害你可以跟4怒气说再见了。 挫志吼叫,1/6的破甲仇恨值。即便是防御姿态+defiance天赋,降低每个怪42dps也无法带来更多仇恨。除非了黑龙蛋的那些小龙和zg里的一些豹子,真看不出有什么理由用这个技能。 盾牌猛击,6秒的cd,使用盾牌猛击无法对TPS有任何改善。3破甲1盾牌猛击每6秒,大概212的无修正TPS。但是30怒的盾牌猛击可以使用1破甲和1.2的英勇,假设你有盾牌猛击天赋(无论你怎样的天赋树结构),每次英勇都从普通攻击中损失3怒。4破甲1.2英勇每6秒带来215点TPS。 唯一的好处是,当你一直在使用破甲和英勇打击,仍然希望获得更多的仇恨。 假设我们使用一个2s攻击速度的武器,英勇打击和破甲一直使用,这大概造成280的仇恨/秒。 如果把一个破甲换成盾牌猛击将给我们提供318点的额外怒气。当然,这个效果也可以通过换成1个1.4秒攻击速度的武器而更频繁的使用英勇打击来实现。但是,这个结果并没有考虑自动攻击的伤害造成的仇恨,实际上,使用一个1.4速度的武器,会使自动攻击的仇恨变小一些。 实际上,BLZ的怪物攻击目标的计算公式并没有什么特别秘密的计算方法。这个概念是很简单的,数值也很容易计算。甚至仇恨建立的数值和公式,也可以准确地计算出来----如果仇恨被很仔细的监视着。 好吧,我希望你们之中的有些人还是清醒的,能够从我的文章中发现一些有价值的东西。如果你。不好好看而只是扫了一遍,我鄙视你
第2个回答  推荐于2016-06-17
当你进入战斗状态,怪物会自动生成一条仇恨链,仇恨的大小根据进入战斗链的人而定。ZS职业是靠技能制造仇恨,被打的职业。治疗职业为团队治疗,获得的是团队仇恨,FS,SS等输出职业,获得的是伤害仇恨。但是,当仇恨超过怪物目标的时候,怪物就会把目标转换成超过的人。这样是很危险的。俗称OT。本回答被提问者采纳
第3个回答  2014-04-21
看谁对BOSS的伤害量大,谁就仇恨大 不过MT主要靠技能拉仇恨,不是靠伤害量 一般插件都带有仇恨统计,比如BIGFOOT就带仇恨统计,看谁的仇恨快超过MT了,就让他注意点
相似回答