作者laechan (挥泪斩马云)
看板mud_sanc
标题[闲聊] 20190722修改事项
时间Mon Jul 22 09:37:20 2019
趁现在有一点空。
一、/d/spell/spell_d.c 修改
新增一个 mapping user_spells 资料及 user_spells 函数。
user_spells 函数的写法很简单
int user_spells(object ppl,object tar)
{
string names;
if(!ppl || !tar) return 1;
// 用玩家id当key
names=ppl->query("name");
// 初始化
if(!user_spells) user_spells=([]);
// 所接的目标是攻击对象物件
// 接物件的好处是用 file_name 就能判断攻击的是不是同一只
// 以及当怪物死掉时物件自然变 0
else if(!user_spells[names]) user_spells[names]=tar;
else if(file_name(tar)==file_name(user_spells[names]))
return 1;
return 0;
}
二、/d/spell/fire.c、ice.c、mixed.c 修改
上面一、的修改後的前期测试用。
比方以 fire spell 来说,当你对某只怪物「第一次」施展
火系法术时,会看到底下的东西
你咏唱着召唤精灵的咒语...
燃烧的精灵 吞噬所有东西的精灵 伊芙利特啊!
回应我的召唤 在火焰之中展现您的无穷之力!
你以制约的力量,在熊熊的烈焰中召唤出了炎之王伊芙利特...
你道:凶猛的火焰之王啊!以地狱之火烧尽眼前的一切事物吧!
你开始念起古老的咒文:
~ 20 ~ ~ ~ 火系法术 ~
但是当你「又对这只怪」施展火系法术时,就只会看到底下
的东西
你开始念起古老的咒文:
~ 20 ~ ~ ~ 火系法术 ~
这样理论上我们的讯息就可以写得很华丽,因为只有对某一只
怪物第一次施展这样的 spell 攻击时,会看到华丽的叙述,施
展第二次以上时就不会再出现,直到你攻击新的怪物为止。
所以如果你是房间内多只怪,你每次 spell 目标都接不同只,
那你每一次就会看到完整讯息----等於未改之前的样子。
以上的修改将观察一段时间(玩家有问题请回报),若没啥问题就
会扩展到所有的 spell 及所有的特攻。
三、
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.33.66.104 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1563759444.A.E71.html
※ 编辑: laechan (114.33.66.104 台湾), 07/22/2019 14:32:14
1F:→ laechan : 啊,忘记更新,已update,顺便观察debug.log是否增加 07/22 16:47