作者laechan (挥泪斩马云)
看板mud_sanc
标题Re: [节庆] 圣诞节任务开放重新接取
时间Tue Dec 19 17:25:47 2017
以下是前置设定,为免忘记所以备忘一下,同时留个纪录。
根据这一篇
https://pttgame.com/mud_sanc/M.1356313280.A.385.html
七、修改 /open/cmds/vobjs_d.c
让 vobjs_d.c 的 exec_mob_drop 函数可支援全区域生成
邪恶圣诞老人。
我当初的设计是让 /open/cmds/vobjs_d.c 的 exec_mob_drop 函数支援
全区域生成邪恶圣诞老人。exec_mob_drop 只有一种情况会被呼叫,就是
怪物阵亡时,所以我的想法应该是,
有在跑区域打怪物的玩家才会碰到邪
恶圣诞老人。
在 vobjs_d.c 的 exec_mob_drop 里面有一段程式码长这样:
// 节庆支援专区 by Laechan@Sanc
/*
if(files=festival_data("query","general_festival_event"))
{
// 实体物件(如怪物)呼叫专用区
//files=GENERAL_FESTIVAL_EVENT;
j=(int)ppl->query_temp("time_record/festival_event_times");
carry=time();
if(j<1)
{
ppl->set_temp("time_record/festival_event_times",carry);
return 1;
}
else if(carry-j>180+random(120))
{
ppl->delete_temp("time_record/festival_event_times");
if(!catch(ob=clone_object(files)))
ob->move(environment(ppl));
return 1;
}
if(!ppl) return 1;
}
*/
这段应该就是跑邪恶圣诞老人的部份,而且也只被设定过邪恶圣诞老人
> call vobjs_d;festival_data;"query";"general_festival_event"
房间(/open/cmds/vobjs_d)-> festival_data( "query",
"general_festival_event" ) = "/d/event/xmas/evil"
换言之,只要把这段程式码的 /* */ 拿掉再 update 一下,邪恶圣诞老
人就会随机出现在玩家打死怪物的同一房间,而且会主动攻击玩家。
> ob view 圣诞袜
--------------------------------------------------------
圣诞袜(物品编号: f801)
--------------------------------------------------------
单位:双
型态:节庆物
携带:0 / 10
价格:10
掉落:
50.0% Lv2.邪恶圣诞老人(Evil Santa Claus)
贩卖:不可
交换:不可
一双圣诞袜,你可以拿它跟洛奇村(rocky)的圣诞老人交换圣诞礼物喔
(quest santa claus about 圣诞礼物)。
--------------------------------------------------------
所以打死邪恶圣诞老人有 50% 机率会掉圣诞袜。
我预计最慢 12/23 就会开放让玩家可打邪恶圣诞老人,届时
1.需打几双才能换一个圣诞节礼物箱
2.圣诞节礼物箱可开到什麽
3.可接这个任务几次(我应该会设定比目前可接的次数多)
4.打到的圣诞袜能否交易转让
这些细节也会一一公布。
事实上就算圣诞袜不可交易转让,圣诞节礼物箱「应该」也是可以交易
转让的....
目前待改事项是圣诞节礼物箱可开出什麽。除了一些虚拟物品之外,我
的想法有几种
1.特殊物品
例如大补丸类、枯树枝、金蚕王、紫箱
2.特殊防具
例如圣诞装类(body类防具)、特殊的圣诞帽
/d/event/xmas/box.c 即礼物箱的档案因此要改一下。
圣诞节期间则发放圣诞帽,我尽量设定让肉粽伯支援发放圣诞+新年礼
金&圣诞帽的工作,圣诞帽则依循之前节庆的设定方式,节庆期间让它
拥有特殊功能,目前依开放徵求特殊功能建议。
我自己想到的功能有两种
1.戴着圣诞帽打怪会机率打到圣诞糖果(这个要看 exec_mob_drop 怎麽
写,印象中我有写),ob use 圣诞糖果,会有特别的 buff。
这个要看一下 exec_mob_drop 函数,我有空会看。
2.戴圣诞帽期间打怪经验值or熟练度会加 xx%
这部份参考全域熟练度及全域经验值的提升设定程式段落,加上圣诞
帽的判断即可。重点是这个 imba 设定要不要给圣诞帽,而不是给农
历新年期间的帽子。
(因为就节庆重要性上面,我的想法是农历新年>圣诞节)
^^^^^^^^
↑
└最好的东西、最优的设定都在这时候给
另外圣诞节+新年期间也会开放特别的作物可种植,并有星星日设定。
关於星星日,我尽量有上线时就去设。
关於农场是否开放养殖畜牧,我也有在考虑,但有个东西我想先做,就
是各城镇区域的农场打工工作。它有两种实作做法
1.work
就是简单的 work,就是纯粹增加玩家可 work 的地点。
2.公田
就是玩家真的可进到农场,农场内已有作物种植,玩家要协助收割、
除草、除虫等。公田跟自己农场的差异是
a.公田的害虫经验比较肥,打了有熟练度,而且会掉东西
b.公田是领薪水制,只要待在公田内,每隔一段时间就有钱领
c.公田收割时有机会拿到钱以外的东西
关於养殖畜牧,有一种简单做法,是玩家拥有 n 块地之後,第 n 块地
起可以养动物,动物只能养在第 n 块地以後,而作物可以养在全部的
地,然後玩家可选择能养动物的地「全部养同一种动物」或是全部养不
同的动物,能养的动物种类数就取决於玩家拥有的地的数量以及农场的
等级。这样好处就是动物全部集中在後面的地,看起来比较整齐,程式
也比较好改,我只要增加「动物类」的作物即可。另外,以鸡为例
小鸡→中鸡→大鸡→定期下蛋→得到鸡肉
小牛→中牛→大牛→定期产奶→得到牛肉
小猪→中猪→大猪→得到猪肉
到底要怎麽实现这些,程式得改不少。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.117.106.224
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1513675552.A.C81.html