作者laechan (挥泪斩马云)
看板mud_sanc
标题[闲聊] 最近会做的修改
时间Fri Nov 3 13:27:12 2017
首先很抱歉,有些东西原本打算这礼拜 coding 却刚好遇到
ptt 不能连的问题。
那为了补偿各位,我把东西 coding 好之後,会办一次拍卖
会,邀请各位参加,拍卖会上将释出[世界级]防具,我设定
为 cloak 类,我预计给它的作用是
1.房间内只有一只怪物时,对该怪物100% 隐形效果
2.两只以上怪物时,隐形率就会下降。
隐形效果的其中一个呈现方式就是主动怪不会主动攻击。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.117.106.224
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1509686835.A.6A5.html
1F:推 lamorak : Nice~!! 11/03 19:48
我发现实际上依怪物数量来判断成功率做不到。
所以我会先折衷,因为每只怪物都有 init() 函数,我就直
接在里面做判断,判断方式会一致。
缺点就是无法 100% 隐形机率,优点就是即便两只怪以上也
有机会对全部怪隐形。
顺便记一下做法:
1.将 cape 类防具设在玩家的 temp 资料区,armor_cape
(若原本就有这样设,这个步骤就可跳过)
2.找 /std/monster.c、/std/smonster.c、/std/gmonster.c
改它们 init_killer 的部份,将 armor_cape 的判断放进
来,因为大部份玩家都会装 cape,所以判断式会写为
if(cape=ppl->query_temp("armor_cape") &&
cape->query("XXXX")) <= 还没决定用啥参数
{
执行隐形方面的判断;
}
上面的判断会考虑是否会因此增加太多 loading or error,
我目前判断 error 的部份应该不会有。
3.有装备这类防具的玩家,其它人会看到它的名字前有(隐形)
字样,该隐形效果只对怪物有效,对玩家无效。
4.一旦对某只(群)怪物隐形成功,该只(群)主动怪就不会主动
攻击玩家,但是如果玩家离开了该房间後又进来该房间,仍
会执行隐形判断。
5.初期我会让所有主动怪都适用,而且不会做等级差判断,成
功率所有有装备该斗蓬的人都一样。
6.我应该会把这东西跟 wiz 的 invis 写在同一区块。
7.原则上隐形效果应该要对副本怪无效,这个撰写时会考虑进
去。
斗蓬的名字暂定为万圣节斗蓬或直接叫隐形斗蓬,不管叫哪一
种,它所在的目录都是 /d/auc/2018万圣节
之所以先打这些却不直接改,是因为这东西不是写好改好就算
了,还要测试及多看几次程式码确定没问题,我目前没这时间
,但我承诺这东西我一定会做、一定会公告拍卖时间、一定会
让参加拍卖的人都能入手。
PS、其实是否要写成 cape 我蛮考虑的。
※ 编辑: laechan (111.252.109.204), 11/03/2017 20:50:02
更新一下,我刚想到新的判断法。
假设原本没有 temp_data["armor_cape"] 那就简单多了:
1.玩家 wear 时,有隐形参数的东西才 set_temp["armor_cape"]
2.这样判断式只会剩下
if(cape=ppl->query_temp("armor_cape"))
这样几乎不会有啥 loading 及 error。
※ 编辑: laechan (111.252.109.204), 11/03/2017 20:52:43
2F:推 iluy : 喔喔喔 11/05 13:34