作者laechan (小太保)
看板mud_sanc
标题Re: [wizs] 待实装事项
时间Tue Apr 15 10:55:56 2008
※ 引述《amosdeus (幽素)》之铭言:
: 01、抗性种类 真气(air:可以抵销金钟金锺并伤害加深)、必中穿刺(stick)
首先,玩家学了 goldfield 後,「不必使用也能自动影响」,我
先前有说过,若是这类的技能就不能给负影响,顶多「无影响」,
例如 air 类的攻击可以「无视」 goldfield,但不能「惩罚」有
学 goldfield 的人。
这点我想玩家也都是同意的。
要略过 goldfield 只需要改几行,各位可以讨论一下。
stick 的部份我想确定它的范围,因为若玩家目前完全无法抵挡
的了这样的攻击,则日後一定会出现「可抵挡或使其无效化的技
能」,我之前说过,我不希望当这技能或效果出现时,我又得去
为了确保 stick 的穿刺性去调整效果。
而若 stick 最後的效果与 shut2 一样,则 shut2 应该就够用.
(与其使用 stick 我觉得早点研究 poison 会更好一点,这才是
真正能让低血量/低 con 者害怕的东西)
: 02、抗性攻击等级程式可参考1628、1632
这个我有空再弄,简单讲就是在 shut_d.c 或 fight_d.c 那边
弄一个外部呼叫函数,该函数可能会写成 simul_efun。
换言之,该函数其实 deus 你可以试着自己写看看,传给它必要
的几个参数,做完运算後再传回某值罢了。
int return_new_damage(几个必要的参数)
{
做必要的计算後;
return new_damage; // 传回计算完之後的伤害值
}
甚至也可以像护盾的写法那样
mixed return_new_damage(几个必要的参数)
{
做必要的计算及判断後;
return ({new_damage,"抗性判断的相关叙述."});
}
你写好我就可以马上丢去 simul_efun 让你试,这是全域函数,
所以一写好,任何的物件均可呼叫它。
个人觉得必要的参数包含...
一、呼叫它之前先读出攻击的 damage, damage_kind, 因为一种
攻击必定带着一种 kind,因此计算时只须针对该 kind 去做
就可.
二、new_damage=return_new_damage(damage,damage_kind,mob);
然後依 damage_kind 去做 mob->query 出几个东西来做计算
最後将计算出的 new_damage 传回去
石化人的天生抗性部份我也打算写在这。
(我终於想起来为啥我之前还没实装石化人的抗性..又要改了)
: 03、inherit BOSS_MONSTER; BOSS模组
问题不只是 inherit BOSS_MONSTER;
BOSS_MONSTER 我已定义好, /std/bmonster.c 我也写好.
set("boss",1);
set("BOSS",1);
只要继承 BOSS_MONSTER 都会有上述两个参数. 再来就是要改
bmonster.c 的内容.
: 另外请教 temp_skill 可以像 ppl->temp_mod 这种计时的吗
: 比如 ppl->set_temp("temp_skill/goldfield",-1000,3);
: 在时间内有效。
: Plain@Sanc
temp_skill 本身就很难弄。就资料上来说它只是一个栏位,但是
要改一堆东西来配合这个栏位。
所以要「控管」。我的意思是,先想好怎麽控管,再开放这个栏位
的设定。
再来就是,假设某道具效果为可以使用 Lv5 的 fire spell,但该
玩家已经有学 Lvn 的 fire spell 时的判断?这个判断会很复杂,
因为大部份技能的熟练度都是写在技能本身的档案里头,例如假设
玩家 fire spell 只学到 300 但 temp_skill 写 fire spell 500
,那就代表该玩家可使用 Lv5 的 fire spell,Lv5 > Lv3 所以理
论上熟练度会增加,但实际上「熟练度不能让它参考 Lv5 去增加」
通常我不赞成用了会增加技能值的技能可设 temp_skill。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: laechan 来自: 61.225.160.38 (04/15 10:57)