imba吧 关注:125,911贴子:8,990,606

关于攻击类型、伤害类型和武器类型的那点事

只看楼主收藏回复

从代码的角度来看,魔兽争霸3里一共有7种攻击类型、22种伤害类型和22种武器类型。
攻击类型:
ATTACK_TYPE_NORMAL 普通攻击
ATTACK_TYPE_MELEE 混战攻击
ATTACK_TYPE_PIERCE 穿刺攻击
ATTACK_TYPE_SIEGE 攻城攻击
ATTACK_TYPE_MAGIC 魔法攻击
ATTACK_TYPE_CHAOS 混乱攻击
ATTACK_TYPE_HERO 英雄攻击
伤害类型
DAMAGE_TYPE_UNKNOWN 无伤害类型
DAMAGE_TYPE_NORMAL 普通伤害
DAMAGE_TYPE_ENHANCED 加强伤害
DAMAGE_TYPE_FIRE 火焰伤害
DAMAGE_TYPE_COLD 冰冻伤害
DAMAGE_TYPE_LIGHTNING 闪电伤害
DAMAGE_TYPE_POISON 毒素伤害
DAMAGE_TYPE_DISEASE 疾病伤害
DAMAGE_TYPE_DIVINE 神圣伤害
DAMAGE_TYPE_MAGIC 魔法伤害
DAMAGE_TYPE_SONIC 音波伤害
DAMAGE_TYPE_ACID 酸性伤害
DAMAGE_TYPE_FORCE 强制伤害
DAMAGE_TYPE_DEATH 死亡伤害
DAMAGE_TYPE_MIND 精神伤害
DAMAGE_TYPE_PLANT 植物伤害
DAMAGE_TYPE_DEFENSIVE 反弹伤害
DAMAGE_TYPE_DEMOLITION 毁灭伤害
DAMAGE_TYPE_SLOW_POISON 慢性毒药伤害
DAMAGE_TYPE_SPIRIT_LINK 精灵之链伤害
DAMAGE_TYPE_SHADOW_STRIKE 暗影伤害
DAMAGE_TYPE_UNIVERSAL 通用伤害
武器类型(没啥重要作用,不翻译了)
WEAPON_TYPE_WHOKNOWS 无武器类型
WEAPON_TYPE_METAL_LIGHT_CHOP
WEAPON_TYPE_METAL_MEDIUM_CHOP
WEAPON_TYPE_METAL_HEAVY_CHOP
WEAPON_TYPE_METAL_LIGHT_SLICE
WEAPON_TYPE_METAL_MEDIU***ICE
WEAPON_TYPE_METAL_HEAVY_SLICE
WEAPON_TYPE_METAL_MEDIUM_BASH
WEAPON_TYPE_METAL_HEAVY_BASH
WEAPON_TYPE_METAL_MEDIUM_STAB
WEAPON_TYPE_METAL_HEAVY_STAB
WEAPON_TYPE_WOOD_LIGHT_SLICE
WEAPON_TYPE_WOOD_MEDIU***ICE
WEAPON_TYPE_WOOD_HEAVY_SLICE
WEAPON_TYPE_WOOD_LIGHT_BASH
WEAPON_TYPE_WOOD_MEDIUM_BASH
WEAPON_TYPE_WOOD_HEAVY_BASH
WEAPON_TYPE_WOOD_LIGHT_STAB
WEAPON_TYPE_WOOD_MEDIUM_STAB
WEAPON_TYPE_CLAW_LIGHT_SLICE
WEAPON_TYPE_CLAW_MEDIU***ICE
WEAPON_TYPE_CLAW_HEAVY_SLICE
WEAPON_TYPE_AXE_MEDIUM_CHOP
WEAPON_TYPE_ROCK_HEAVY_BASH
Dota 6.74c的主伤害函数记载了这样几种类型的伤害。
1号伤害:普通攻击,火焰伤害
2号伤害:英雄攻击,普通伤害
3号伤害:英雄攻击,魔法伤害
4号伤害:穿刺攻击,普通伤害
5号伤害:普通攻击,普通伤害
而在Dota中,大部分模拟施放的技能都为1号伤害。
之所以说“英雄攻击魔法伤害等于神圣伤害”,是因为这两者在War3内部处理时是完全相同的。但在另一层面上来说,这两种伤害毕竟有其区别。
但是,从上面可以看出,DAMAGE_TYPE_MAGIC和DAMAGE_TYPE_DIVINE是两个不同的伤害【类型】。捕捉到伤害类型之后,我们可以利用伤害类型的不同来做出不同的反应。IMCA中装备霜之哀伤的单位受到的神圣伤害变为2倍,这就是个例子……
事实上,刨除这一点,火焰伤害/冰冻伤害/魔法伤害/神圣伤害/闪电伤害等多种伤害类型都可以统一视作“法术伤害”:不受护甲减免,但对魔免单位无效。
另外,在非英雄攻击的情况下,上述伤害都需要计算魔抗。
英雄的“25%魔抗”是在平衡性常数中调整的。下面列出伤害列表
DamageBonusMagic=1.25,0.75,2.00,0.35,1.00,0.75,0.05,1.00 --魔法攻击
DamageBonusNormal=1.00,1.50,1.25,0.70,1.00,0.75,0.05,1.00 --普通攻击
DamageBonusPierce=2.00,0.75,0.75,0.35,1.00,0.50,0.05,1.50 --穿刺攻击
DamageBonusSiege=1.00,0.50,1.25,1.50,1.00,0.75,0.05,1.00 --攻城攻击
DamageBonusHero=1.00,1.00,1.00,0.30,1.00,1.00,1.00,1.00 --英雄攻击
每行从左到右依次是对轻甲 中甲 重甲 城甲 ? 英雄 圣甲 无甲
可以看到Magic类型的伤害对英雄只有75%的伤害,这就是所谓英雄自带25%魔抗的来源。
【IMBA专门知识】
紫怨所能加成的只有火焰伤害,它造成【各种减免之前】相应数值的生命流失。例如屠夫被动、冥界亚龙被动等技能所提高的魔抗都在上述减免范围之内。IMBA的魔抗是模拟的,所以和Dota并不相同。
当然,还有一种类型的伤害叫做生命流失……生命流失的原理是“设置单位生命为(当前生命-要减少的生命)”,因此才能无视无敌啥的。这种伤害没有来源,当然也就不吸引仇恨。否则死灵法师的光环就会导致野怪四处乱跑啦。
【小常识:设置单位生命为负会导致单位自杀。】
那么死灵法师的光环为什么能正确杀死单位呢?因为当生命流失超过当前血量时,IMBA会将目标的生命值设定为很小的数值然后给予一个比这个数值大一点的伤害(比如设定为5,然后给予10的伤害)
死灵法师站在野怪旁边,一开始没有仇恨,但光环烫死一只野怪后,其他的野怪立马出现仇恨,这便是那个微小伤害搞的鬼。
OK,不写了……回家吃饭去╮(╯_╰)╭


IP属地:上海1楼2012-09-02 12:29回复
    李菊幅


    来自iPhone客户端2楼2012-09-02 12:31
    回复
      2025-08-31 00:56:03
      广告
      不感兴趣
      开通SVIP免广告
      高端啊、、、


      IP属地:天津3楼2012-09-02 12:37
      回复
        不愧是做改图的……


        IP属地:广东4楼2012-09-02 12:40
        收起回复
          太长不想看啊


          来自Android客户端5楼2012-09-02 12:41
          回复
            IMCA AI有些英雄等级为什么高的不正常,每次都是


            IP属地:安徽来自Android客户端6楼2012-09-02 12:44
            回复
              在Dota中,大部分模拟施放的技能都为1号伤害
              1号伤害:普通攻击,火焰伤害
              模拟释放是指什么 用马甲?


              IP属地:重庆8楼2012-09-02 12:50
              收起回复


                9楼2012-09-02 13:11
                回复
                  2025-08-31 00:50:03
                  广告
                  不感兴趣
                  开通SVIP免广告


                  IP属地:福建10楼2012-09-02 13:33
                  回复
                    嗯哼,J神干得漂亮!
                    可关键是这个吧里有多少人能看懂!


                    IP属地:湖北11楼2012-09-02 18:40
                    收起回复
                      只管打 看不懂么么哒


                      IP属地:湖北12楼2012-09-02 18:49
                      回复
                        背过了,求考


                        IP属地:陕西来自手机贴吧15楼2012-09-02 21:23
                        回复


                          16楼2012-09-02 21:27
                          回复