查看单个帖子
旧 2003-07-31   #5
beginer
初级会员
级别:6 | 在线时长:125小时 | 升级还需:15小时级别:6 | 在线时长:125小时 | 升级还需:15小时级别:6 | 在线时长:125小时 | 升级还需:15小时
 
beginer 的头像
 
注册: 02年08月30日
帖子: 12
声望力: 0
声望: 10 beginer 闻道则喜
现金:6两梁山币
资产:7两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
游戏的乐趣对于每个人是不同的,有的人喜欢一切都在掌握中的感觉,有的人喜欢一切都被人掌握中。

beginer语录:游戏的乐趣对于每个人是不同的,有的人喜欢一切都在掌握中的感觉,有的人喜欢一切都被人掌握中。

dwwer兄说:
“伤害bonus=伤害bonus+内力bonus=攻击方当前左边内力/20+攻击方加力值-防守方当前左边内力/25”
这个bonus的计算明显不是这样的,经验表明enforce +1 和 enforce 0之间的差距,不只是一个攻击方加力值这么简单,那完全是天壤之别。
根据beginer对于hit_ob函数的理解,上述公式可能为beginer的经验估计出来的。

答:真有天壤之别吗?you are right.有。确是我敲错了,引起你的误解。应该为
伤害bonus=伤害bonus+内力bonus=伤害bonus+攻击方当前左边内力/20+攻击方加力值-防守方当前左边内力/25
内力bonus这项当你enforce 0时根本就不会加上。当你enforce 1时,
这个天壤之别是由于(攻击方当前左边内力/20+1-防守方当前左边内力/25)产生的。
这是我的错,没表达清楚。因为我是在上班敲这些东西,得想着把程序性的语言转化成通俗的语言,最好还能化简成相对值,好比较,也直观。
老玩家毕竟厉害,我稍微敲错,一下就瞧出来了。

dwwer兄又说:
“伤害bonus=伤害bonus+技能内力×伤害bonus/100 注:技能内力指招式中带内力,这出现在掌法拳法中,带兵器时这行忽略。”
技能内力也出现在了兵器中---绝情鞭。chan 而且加成很大基本上就是一倍,某些招数出现2倍的情况。
BT ya BT hellfire-whip什么时候能这样呢? dream

答:有些mudlib是如你所说,绝情鞭带技能内力,但我看的没有,我也觉得没有更合理。因为:
为什么仅在空手武功中带内力了来加大伤害力了。是因为空手攻击时,防御方如果用兵器来防御其防御值是double的,
这在combatd.c中明确指出,不管老新版本都一样,因为合情合理呀。如果有人跟你打架,他是空手,你顺手操起一个棍子,
你想想你防御是不是增强了。 因而为了均衡,让空手攻击带兵器防御的,如果不幸打中了,就加大伤害力。所以我觉得总站应该
不会在绝情鞭中加上这个,这些天神的程序功底应该都已深不可测了。

dwwer兄进一步说:
hit_ob is not for jinghun-zhang only,该函数是个很重要的函数,他负责计算双方内功对damage的影响。
基本所用武功攻击的伤害都要使用它。可以说该函数是计算伤害力的关键,毕竟绝大多数的伤害力来源于双方的内功。
不过这个函数隐藏的很好,不在combatd.c中,有待进一步发掘。个人意见,code贴到这个地步就有点冒了。
游戏的乐趣就在于不确定性,什么都明白了,就不要玩了,去apply wiz吧。

答: 我查阅过整个mudlib,在技能武功中确实仅jinghun-zhang有自己单独的hit_ob.你说“基本所用武功攻击的伤害都要使用它”
这是对的。但你对hit_ob理解不透彻。因为:
首先让我们先看看hit_ob函数的功能与作用
hit_ob() Eastern Stories II (23 Sep 1995)
SYNOPSIS mixed hit_ob( object ob, object victim );
APPLIED skill daemons (martial/force), weapon, npc.
DESCRIPTION hit_ob is called by COMBAT_D when a character hits his/her opponent
during combat. With this function, you can do extra damage to the
victim depending on the skill/weapon/npc you are using. Noted that
if the character is using a weapon, the hit_ob defined within the
character itself is not called. (i.e. if your draconian is wielding
a sword, then he cannot breathe fire)
If hit_ob returns a string, the string is added to the combat
message (between action message and damage message). If an
integer is returned, the integer is added to the damage bonus for
that hit. Returned value of other types are ignored.
它的意思指hit_ob应用于技能、内力、武器、人物。在打斗中这四种类型的object都能调用它。在咱们的
西游记中也确实如此。它的概念有点象面向对象程序设计中的虚构函数。基函数中只是个架子,继承函数必须
在各个子类中明确定义才有意义。也就是说hit_ob是个基函数,它只有在技能、内力、武器、人物这四种类型
实体构件中明确定义才有意义,不然调用的仅仅是母类中的基函数,实际上不会作什么实质的。
另:
因chenghua要求贴code,我才贴一下的。毕竟大都数玩家程序功底并不强,人家都是这种高级玩家,已不懈地探索了几年了,
该探索的都探索差不多了,剩下的都是仅靠探索所不能解答的。这些规律不是靠探索就能解决的。探索实际上是一种
穷举法,但实际上穷举法在莫些问题上比较傻。本人仅仅诠释自己对xyj的理解,并无减弱别人游戏乐趣的意愿。

纷纷世事无穷尽
茫茫泥海我已归
beginer 当前离线