作者laechan (小太保)
看板mud_sanc
标题[抠顶] 盾挡调整
时间Mon Jul 30 10:32:40 2012
原程式码:
if((object)tar->query("shield"))
if(mod=tar->query_temp("shield"))
if((int)mod[0]+random(mod[1])+(int)tar->query_temp("temp_skill/shield")>(hit/2+random(hit)))
return ({0,",但是被$O用盾挡开了!"});
「但是被$O用盾挡开了!」这一句会保留。
新程式码:
(备份档为 new_defance.20120730)
msg2="";
if(shield=(object)tar->query("shield"))
{
//
符合盾挡机率时才进行减伤
s=(int)tar->query("skill/shield");
if(s/100+(int)shield->query("mass")/10 > random(100))
{
//
盾防必须跟盾重相配才有意义
d=((int)shield->query("
armor")*(int)shield->query("
mass"))/10;
p=d+(s*(int)tar->query("stat/str"))/200;
//
完全格挡的情况(伤害值<格挡值)
if(damage<=p)
return ({0,",但是被$O用盾挡开了!"});
else
{
msg2=shield->query("short");
d=strsrch(msg2,"(");
msg2="被你用"+msg2[0..d-1]+"减轻了伤害, ";
damage=damage-p;
}
}
}
不过实测时给我的感觉怪怪的,原因来自於..
一、并没有判断怪物(攻击方)的能力,这导致自己等级低、
力量低、技能低时拿盾是无意义的。这点绝对会再列入
考虑,目前先调高整体格挡机率。
二、因为盾牌技能值同时影响格挡跟减伤,造成技能值低时
实际上格挡也不会启动,而盾牌值高时又因为减伤超多
就造成实际上「都是被用盾挡开」的叙述。
这两点会再调整。如果调整到後来觉得赘码过多,不排除就
将所有调整取消回归原状,并以圣殿不适合做这样的调整做
结。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: laechan 来自: 210.61.157.53 (07/30 11:41)
※ 编辑: laechan 来自: 210.61.157.53 (07/30 11:43)