因为到星期五都没生出魔女的飨宴任务,按照在 TG 说的,
接下来改采最速开放种族进化 Lv3 的做法。
/u/l/laechan/skycastle/room/skyroom.c
int jinhua_xxx(string str)
说明增加:
请注意辅助技能、法术及物品在进化期间的有效时间。
if(str!="check" && adv_level>1)
return notify_fail("jinhua: 你已经进行过两次种族进化程序.\n");
这里之后会改为 >2 及 "三次"
// 3.身上有进化的果实(c071(
if(ppl->query_vobjs("c071")<1)
msg+=HIR"jinhua: 你必须有进化的果实(c071)这个物品.\n"NOR;
这里有可能改成进化 Lv2 需要 c072、Lv3 需要 c073,
3 颗 c071 是取得 1 颗 c072 的条件,3 颗 c072 是取
得 1 颗 c073 的条件,说条件是因为这不是唯一方式,
目前采最速做法所以会在近日开放取得 c072、c073 方式
> ob search c072
3 souei 苍影(Souei:盗贼)
这个我得看是如何取得的。(但不影响开放期程)
// 4.冒险者之心(adventure heart)需达 9900
if(ppl->query("skill/adventure heart")<9900)
{
msg+=HIR"jinhua: 你的冒险者之心(adventure heart)必须"+
"练满 9900 才能使用这个指令.\n"NOR;
线上 12x 个角色在线的情况下有 7x 角色满足这个条件,
目前 5000 以上未满 9000 的有以下
castar 5875
ioniq 6934
arctic 8955
amg 8572
m4 8631
我会看这五个角色的各项状况,来评估是否调降。
// 5.种族相关 heart 需达 1000
if(i<1000)
{
msg+=HIR"jinhua: 你的"+skill_name(tmp)+"("+tmp+")必须"+
"练到 1000 才能使用这个指令.\n"NOR;
以上面五个角色来说,都有满足这个条件。
// 6.七个属性即时总和值需达 (10+种族进化等级)x1000
if(j<10000+adv_level*1000)
{
msg+=HIR"jinhua: 你的属性总和需达 "+(10000+adv_level*1000)+" 以上"+
"才能使用这个指令.\n"NOR;
以上面五个角色来说,都有满足这个条件。
// 7.技能数需达 100 以上
j=ppl->sizeof_skill();
if(j<100+adv_level*10)
{
msg+=HIR"jinhua: 你的技能数总和需达 "+(100+adv_level*10)+" 以上"+
"才能使用这个指令.\n"NOR;
以上面五个角色来说几乎都不符合:
castar 86
ioniq 87
arctic 109
amg 51
m4 69
技能数 8x 的应该有机会短时间凑到 100 个,但 5x、6x 的
较难。
if(str=="check")
{
write(msg);
i=call_other(this_object(),"jinhua_6",ppl,names,race,adv_level,"",1);
call_other(this_object(),"jinhua_7",ppl,names,race,adv_level,"",i,1);
call_other(this_object(),"jinhua_8",ppl,names,race,adv_level,"",1);
call_other(this_object(),"jinhua_9",ppl,names,race,adv_level,"",1);
if(adv_level>0)
{
call_other(this_object(),"jinhua_9_6",ppl,names,race,adv_level,"",1);
call_other(this_object(),"jinhua_9_5",ppl,names,race,adv_level,"",1);
}
这里我要看我当初是怎么写的。(待编辑)
if(adv_level>2)
return notify_fail("jinhua: 你已经进行过两次种族进化程序.\n");
会改成 3 以及 "三次"。
i=time();
if(!wizardp(ppl) && ppl->query("record_data/next_jinhua_times")>i)
return notify_fail("jinhua: 你才刚进化过,你要等到下述时间才可再进化:\n"+
" "+ctime(i)+"\n");
CD time 86400秒可能会变更为更久一点,也可能不变更。
return notify_fail("jinhua: 有玩家正在执行进化,要先等他进化完喔.\n");
这个维持不变,我会看一下它有无 bug。
write_file("/open/wizs/log/skyroom_adv_level.txt",
sprintf("%-11s : %s : %d\n",names,ctime(i),adv_level));
这个会增加纪录段落。
(为以后的 退化 预做准备)
ppl->vobjs("add","c071",-1);
这里会修改。
if(ppl->query("adv_level")<1)
ppl->set("adv_level",1);
else
ppl->set("adv_level",2);
这里会修改。
另外看起来需新增一个 int jinhua_9_7 的函数。
int jinhua_10
这里需修改。
Laechan