游侠NETSHOW论坛

标题: 兵种攻击力和伤害难道没关系?【国王】 [打印本页]

作者: Seal0891    时间: 2008-6-8 20:58:09     标题: 兵种攻击力和伤害难道没关系?【国王】

我买了一幅画,减敌人攻击3,但是敌人的伤害力没有变,还是一样打伤我
请问这种垃圾凭什么卖钱?
作者: oydfgame    时间: 2008-6-8 21:03:38

攻击力不是伤害力
好像攻防能力差距大的,最多可以只受到1/3的伤害,能不能造成100%以上伤害不知道
作者: zhoooo    时间: 2008-6-8 22:50:56

那幅画貌似有bug,还会减自己的攻击力。
作者: 1027227    时间: 2008-6-8 22:56:32

如楼上,那幅画是同时减敌我3点攻击力!
作者: 1027227    时间: 2008-6-8 22:57:41

另外就算攻击力为0也照样能减血!
作者: 龙雨丝    时间: 2008-6-8 23:04:52

我也没注意这个问题哦,那副画不是写着减对方3攻击力吗?怎么也减自己的哦。
作者: wangwei917    时间: 2008-6-8 23:24:45

有个公式的把。反正是你的攻击减去敌人的防御的差乘以伤害和数量才是真实的伤害。你没看敌人同样的部队打我的龙才几十点血。但是打骷髅就有一千多的血。这就是差距
作者: zhoooo    时间: 2008-6-9 00:08:00

有谁能解释一下用了龙箭之后的伤害为什么不是个定值?(不同目标伤害不同)
作者: 1027227    时间: 2008-6-9 00:15:47     标题: 回复 #8 zhoooo 的帖子

怎么会是定值嘛,龙箭只是忽略抵抗、距离、保护,伤害同普通攻击,算是强化型的普通攻击,当然不会是定值!
作者: zhoooo    时间: 2008-6-9 00:20:40

原帖由 1027227 于 2008-6-9 00:15 发表
怎么会是定值嘛,龙箭只是忽略抵抗、距离、保护,伤害同普通攻击,算是强化型的普通攻击,当然不会是定值!



不,我的意思是比如说对农民和弓箭手的伤害一个是120-180另一个就是130-190。

[ 本帖最后由 zhoooo 于 2008-6-9 00:22 编辑 ]
作者: thucydides    时间: 2008-6-9 00:43:25

不是的,这幅画在装备界面是会被计算减自己的攻击,但是在战场上不会,防御的计算应该是按正态分布的,在1.4以后攻防数值被大量的放大后-3的攻击已经很不划算了.另外龙箭只是忽略距离和抵抗不忽略保护.
作者: zhoooo    时间: 2008-6-9 01:16:28

原帖由 thucydides 于 2008-6-9 00:43 发表
不是的,这幅画在装备界面是会被计算减自己的攻击,但是在战场上不会,防御的计算应该是按正态分布的,在1.4以后攻防数值被大量的放大后-3的攻击已经很不划算了.另外龙箭只是忽略距离和抵抗不忽略保护. ...



打龙能有3,4k的时候打龙蝇只有2,3k。

而且打无抵抗射程内的时候龙箭伤害高于普通攻击,因此应该是忽略保护的。
作者: leansing    时间: 2008-6-9 03:42:53     标题: 回复 #1 Seal0891 的帖子

那幅画是游戏任务道具,附加属性是对玩家们的诱惑,隐含着使用该物品bug,呵呵,也许新版本会更新刷去bug:P


作者: thucydides    时间: 2008-6-9 14:16:28

en...
lua的脚本语言还是很容易看,但是没有包引用的说明,也搞不清宿主与脚本的特定函数看起来叫比较混乱了,本人没做过lua编程,这里勉强理清一下游戏的伤害计算,有错误还请指出.
local k = (AU.attack( attacker )*(1+attack_undead_bonus/100+attack_demon_bonus/100+attack_dragon_bonus/100) + holy_rage_bonus) - AU.defence( receiver )

这是攻防影响伤害的计算因子,主要的种族间的加成以及神圣狂怒的效果.

if k>=0 and k<60 then
    sdmg = sdmg *(1+k*0.0333)
  end
  if k>=60 then
    sdmg = sdmg *3
  end
  if k<0 and k>=-60 then
    sdmg = sdmg / (1-k*0.0333)
  end
  if k<-60 then
    sdmg = sdmg / 3
  end

  if sdmg<0 then
    sdmg=0
  end

  sdmg = sdmg * dfactor

这里说明攻防影响是线性的,差距大于60就只有3倍了,另外dfactor也是影响最终伤害的,应该与某些技能本身相关.
function spell_dragon_arrow_attack()

  local target = Attack.get_target()

  if (target ~= nil) then
  
    local level=Obj.spell_level()
    if level==0 then level=1 end
                Attack.act_enable_attack(target,"dragon")
                local count=pwr_dragon_arrow()
--                if level>1 then
                        Attack.act_charge(target,0,"dragon") -- 耱噔桁 磬鬣朦眍?麒耠?(1)
                        if count > 1 then -- 觐沅?count 1, 蝾 祛骓?犷朦 龛麇泐 ?礤 溴豚螯
                                Attack.act_charge(target,count-1,"dragon")
                        end
--                end
    Attack.atom_spawn(target, 0, "magic_dragon_slayer", Attack.angleto(target))
--        Attack.act_damage_addlog(target,"add_blog_fear_")
  end

  return true
end
这里只能看到引用ATTACK的函数,我没有找到ATTACK类的代码,估计是C++形式的宿主,
依据"magic_dragon_slayer", 无责任猜测是龙箭对龙有特殊加成.

另外
if iskrit then dmg = max_ end
local resi = AU.resistance( receiver, i )
    if resi>95 then resi=95 end

    sdmg = sdmg + dmg*(1-resi/100);
可以确定,暴击伤害没有忽略保护和抵抗,抵抗的上限是95%.
ps:我是最不喜欢看游戏源代码的,会把欣赏游戏本身变成无聊的数据换算.
作者: Seal0891    时间: 2008-6-9 15:04:11

也是啊,这个种游戏是把战斗简单化\概念化 而全战之类的游戏是把战斗细致化\复杂化
PS
其实自动计算胜负的游戏还是提高有意思的 例如:绿洲




欢迎光临 游侠NETSHOW论坛 (https://game.ali213.net/) Powered by Discuz! X2