作者laechan (小太保)
看板mud_sanc
标题[闲聊] 20130227修改事项
时间Wed Feb 27 07:32:03 2013
如果 0228 没啥事的话,0228 也会拿来coding。
今天预定做灾难之墙、重力术、快速施法、剧灭强击之一,或
全部(我猜很难,但我尽量)。
一、全系统备份完毕
圣殿目前压一压约 89MB,今年或许有机会看到 100MB,
区域会增加很多。本次备份是因应法师修改。
二、观测 spell 的 bug
执行时段错误: *Bad argument 1 to receive()
Expected: string or buffer Got: 0.
程式: std/user/body.c:102
物件: /std/user#26
生物名: dust
/std/user#3779 "heart_beat" std/user.c:572
/adm/obj/simul_efun "shout" adm/simul_efun/shout.c
(adm/obj/simul_efun.c):23
/std/user#26 "receive_message" std/user/body.c:102
这个 bug 发生段在底下..
if(temp_data["cmd_cast_data"][0])
{
if(catch(call_other(temp_data["cmd_cast_data"][1],"start_effect",
temp_data["cmd_cast_data"][0],me,
temp_data["cmd_cast_data"][2],
temp_data["cmd_cast_data"][3],
temp_data["cmd_cast_data"][4])))
shout(msg);
那因为我忘记在 catch 的前面加 msg=,所以产生 bug log,
但也因此确定了 bug 发生点是在这一个段落,也就是 spell
的部份,所以我改写了这一部份,shout 底下讯息..
shout(query("name")+" 中 bug 啦!!\n"+msg+"\n"+
identify(temp_data["cmd_cast_data"])+"\n");
今天将观察这一段。
三、重力术撰写完成
/d/spell/gravity.c 大致上 cp confine.c 来改。
技能档今天还会再微调(有部份要参考 god-damn 的写法)
技能名要叫 gravity 或 gravity spell 也是今天决定。
辅助攻击类法术、不用接目标、限用 cast,因此
/d/spell/spell.h 大致 cp god-damn 的参数。
查 mob_d.c 关於 god-damn 的程式段
mob_d.c:343: l=(int)me->query("god-damn_effect");
mob_d.c:390: ss=(int)me->query("special")-
(int)me->query("god-damn_effect")/10;
mob_d.c:444: l=me->query("god-damn_effect");
god-damn 主要影响怪物「某一轮的战斗」是否攻击,所以
gravity 不影响这一部份(效果不重覆);god-damn 也影响
怪物特攻的发招机率,这部份 gravity 亦跳过;god-damn
亦影响了怪物普攻的击痛值,所以这部份 gravity 亦跳过
在这情况下,gravity 应合理影响怪物的..
1.回避能力 -> 需改 new_defance.c
2.被命中力 -> 需改 new_defance.c
3.击空能力 -> 需改 new_defance.c
所以我改了底下的东西..
/adm/simul_efun/new_defance.c
rr=random(100);
if(hit<1 || (int)me->query("gravity_effect")>rr)
return ({0,",但是没有造成任何伤害。"});
if(hit==9999)
return ({damage,""});
if((int)tar->query("gravity_effect")>rr)
{
if(!tar->query_temp("selfshield2") && !tar->query_temp("shield2"))
return ({damage,""});
}
上面的意思是,如果攻击主体有受到重力术影响,它有机
率会「打空」; 如果被攻击对象有受到重力术影响,它有
机率会被完全命中,但是该对象若有护盾就不判断这个。
接着,攻击主体为 me,被攻击主体为 tar 时,技能判断
有一部份是判断「玩家打有技能的怪物」的情况,这部份
将受到 gravity 的影响,即怪物受影响技能不判断。
所有的盾挡则不受重力术影响。
重力术的技能属性则设为 mag+9。(skill_stat.c)
(假设技能名为 gravity spell)
/adm/daemons/pri_guild_skill.c 亦加入 gravity spell。
四、快速施法实装完成
这个技能几乎只需改 /cmds/std/_spell.c 即可。
大魔导士有学快速施法时,使用 spell 将改为先发招,
然後才做 1~2 秒的延迟,目前已知 auto spell 还是可
用。
再来的话,快速施法也影响连击数,这个已实装。这个也
是主要影响,而且是技能值影响(与魔力无关)。
五、极北部份怪物改为空飘
beholder.c [飘浮中]一群眼魔(Beholder) [321只眼魔]
condal.c [飘浮中]极乐秃鹰(Condal)
evileye.c [飘浮中]一群邪恶之眼(Evil Eye) [166只邪恶之眼]
griffon.c [飘浮中]翼狮(Griffon)
harpy.c [飘浮中]一群人面鸟(Harpy) [154只人面鸟]
harpyhag.c [飘浮中]一群人面鸟魔(Harpy Hag) [389只人面鸟魔]
sylph.c 风精灵-雪儿芙(sylph)
wingbee.c [飘浮中]巨蜂(Bee)
六、八卦部份怪物改为空飘
a4.c [飘浮中]一群乾之守卫(Guard) [52位守卫]
a7.c [飘浮中]一群巽之守卫(Guard) [50位守卫]
b4.c [飘浮中]一群乾之守卫(Guard) [77位守卫]
b7.c [飘浮中]一群巽之守卫(Guard) [76位守卫]
c4.c [飘浮中]一群乾之守卫(Guard) [36位守卫]
c7.c [飘浮中]一群巽之守卫(Guard) [76位守卫]
f.c 巽天王-羽风(Shuno-King Unfo)
h.c 乾天王-丁昊(Chen-King Jeuo)
七、修 spell bug
weapon 中 bug 啦!!
*Bad argument 1 to call_other()
Expected: string or array or object Got: 0.
({ 0, 房间(/d/spell/thunder), 19, 2000, 8, "spell thunder.19" })
首先要注意的当然是阵列里的第一个参数为 0 的问题。
if(temp_data["cmd_cast_data"][0])
{
if(msg=catch(call_other(temp_data["cmd_cast_data"][1],"start_effect",
temp_data["cmd_cast_data"][0],me,
temp_data["cmd_cast_data"][2],
temp_data["cmd_cast_data"][3],
temp_data["cmd_cast_data"][4])))
我已暂时修改了上述写法,目前只能持续再观察。
八、修改怪物掉钱设定
根据
#1H4WEqF_ [闲聊] 2013年春节前修改事项 这一篇
即日起,打怪物不再掉钱。各区域怪物将陆续实装掉宝设定
,以後打怪是掉东西,而不是掉钱。
enchant km 的部份,则调整为「若你有 enchant km,打怪
物会掉一些钱」。没有 enchant km,就不会掉钱。
九、修改圣殿农场作物售价
原单价假设为 value,新单价为 1 + (value / 4)。
天空城商店街的 supply 单价价格则略接近上面的价格,有
高有低。
全农场价格已更新,本次更新不更动农场版本。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
1F:→ laechan :明天假设全天有空的话预订做大釜系统并公告炼药规则 02/27 17:26
※ 编辑: laechan 来自: 1.165.182.181 (02/27 21:20)