作者laechan (小太保)
看板mud_sanc
标题Re: [问题] armor spell的作用还有送医&生命水晶
时间Tue Dec 16 10:31:09 2014
※ 引述《kevin82222 (庆)》之铭言:
: 用到现在 一直不知道护甲术(armor spell)的用途
: cast之後 被打到好像也不会有什麽防御作用
: 护甲防御力好像也没有减少
: 不知道这个作用是啥
: 或者wiz能show一段code看看他在什麽地方才有效果
: 谢谢~~~
: 顺便问一下 为什麽有时後明明没看到损血 我就死了
: 还有既然生命水晶是花经验来换 送医是花钱
: 那感觉都没有多大损失 这两者是只差在等待时间吗?
: 爆水晶直接回recall再去换就好
: 送医院要等不知几秒钟这样
: 还是这两个还有什麽别的影响
: 谢谢
armor spell 会在玩家的 temp 资料区新增三项资料
heal_time/armor spell 剩余多少时间
ap 剩余护甲值
ap_src 护甲原始值
护甲值主要写在 /std/user/attack.c 的 receive_damage 函数
里头,也就是玩家的「损血函数」,段落是
if(query_temp("heal_time/armor spell"))
{
x=(int)temp_data["ap"]-dam; // 先得到 x = 剩余护甲值 - 伤害值
if(x<0) // 如果该值 < 0 (护甲值 < 伤害值的意思)
{
temp_data["ap"]=0; // 护甲值归零
data["hp"]+=x; // hp 损失 x 值
}
else // 若该值 >= 0
temp_data["ap"]=x; // 剩余护甲值 = x
}
else
data["hp"]-=dam;
这段的意思就是,玩家可以想成自己的血量相当於 hp + 护甲值
,而当损血的情况发生时,会先扣护甲值,扣完才开始後 hp。
上面有个缺陷就是「x<0」时没有出现讯息,这是因为护甲可以补
,所以即便护甲值已经归零了但因为护甲术效果还在,所以若玩
家持续损血,在有讯息的情况下该讯息就会一直出现,所以才没
有设定讯息。可行的解法是
1.不管, 讯息还是给 => 玩家可能会被该讯息洗画面
2.护甲归 0 时护甲术效果直接消失 => 那讯息短时间内只会出现一次
我评估看看。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.61.157.53
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1418697073.A.3B3.html
1F:推 kevin82222 : 所以这是只有普攻有效果吗 还是所有伤害.. 12/16 12:49
2F:推 kevin82222 : 我觉得2是不是会比较合理 12/16 15:19
3F:→ kevin82222 : 那这个跟能量盾、圣光盾效果类似吧? 12/16 15:19
4F:→ hlead : 所有伤害。 12/31 21:45