gboxa.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 641 行 · 第 1/2 页
C
641 行
/*if( mapp(exit = env->query("exits")) && undefinedp(exit["west"])
&& undefinedp(exit["east"])
&& undefinedp(exit["south"])
&& undefinedp(exit["north"]) )
{
env->set_temp("exitw",env->query("exits/west"));
env->set_temp("exite",env->query("exits/east"));
env->set_temp("exits",env->query("exits/south"));
env->set_temp("exitn",env->query("exits/north"));
env->set("exits/west", env->query_temp("exits"));
env->set("exits/east", env->query_temp("exitn"));
env->set("exits/north", env->query_temp("exitw"));
env->set("exits/south", env->query_temp("exite"));
}
}*/
if(me->query("gender")=="男性")
tell_object(me,"你迫不及待地将"+HIG+"宝箱"NOR+"打开,\n");
else
tell_object(me,"你小心翼翼地将"+HIY+"宝箱"NOR+"打开,\n");
if( me->over_encumbranced() )
return notify_fail("身上带的东西太多了,拿不动了。\n");
if( me->is_busy() )
return notify_fail("你正忙着呢。\n");
if( me->is_fighting() )
return notify_fail("你正忙着呢。\n");
if(environment(me)->query("short")==BLU"山洞"NOR
||environment(me)->query("short")==WHT"钟乳石洞"NOR
||environment(me)->query("short")==YEL"岩洞"NOR
||environment(me)->query("short")==RED"熔岩洞"NOR
||environment(me)->query("short")==CYN"石洞"NOR)
{
if (random(30) == 1 && environment(me)->query("short")!=CYN"石洞"NOR
&& !environment(this_object())->query("alrd")
)
{
int rand;
rand=random(sizeof(w_object));
ob=new(__DIR__+w_object[rand]);
if(ob)
{
ob->move(me);
ob->move(me);
tell_object(me,"找到了"+HIY":"+ob->query("name")+"."NOR+"。\n"NOR);
environment(this_object())->set("alrd",1);
destruct(this_object());
}
else tell_object(me,"结果什么也没有!"NOR+"。\n"NOR);
}
}
if(environment(me)->query("short")==BLU"山洞"NOR
||environment(me)->query("short")==WHT"钟乳石洞"NOR
||environment(me)->query("short")==YEL"岩洞"NOR
||environment(me)->query("short")==RED"熔岩洞"NOR
||environment(me)->query("short")==CYN"石洞"NOR)
{
if (random(40) < 1 && environment(me)->query("short")!=CYN"石洞"NOR
&& !environment(this_object())->query("alrd")
)
{
corpse=new("/clone/gem/gem");
if (corpse->query("level") >4 && me->query("combat_exp") > 28000000)
{
corpse=new("/clone/gem/gem");
}
message_vision("$N得到一颗亮晶晶的宝石。\n",me);
message("channel:chat", HIM"【江湖谣言】听说"+me->name() + "在最终迷宫中找到了一颗"+corpse->query("name")+HIM"!"NOR"。\n", users());
corpse->move(me);
environment(this_object())->set("alrd",1);
}
}
if(environment(me)->query("short")==BLU"山洞"NOR
||environment(me)->query("short")==WHT"钟乳石洞"NOR
||environment(me)->query("short")==YEL"岩洞"NOR
||environment(me)->query("short")==RED"熔岩洞"NOR
||environment(me)->query("short")==CYN"石洞"NOR)
{
if (random(70) < 1 && environment(me)->query("short")!=CYN"石洞"NOR
&& !environment(this_object())->query("alrd"))
{
corpse=new("/clone/gem/ring"+random(10));
message_vision("$N得到一颗亮晶晶的戒指。\n",me);
message("channel:chat", HIM"【江湖谣言】听说"+me->name() + "在最终迷宫中找到了一枚"+corpse->query("name")+HIM"!"NOR"。\n", users());
corpse->move(me);
environment(this_object())->set("alrd",1);
}
}
if(random(100)>95)
{
ob=new("/clone/money/gold");
ob->set_amount(random(100));
ob->move(me);
tell_object(me,"发现了一些"+HIY"黄金"NOR+"。\n"NOR);
}
else if(random(100)>95)
{
ob=new("/clone/money/gold");
ob->set_amount(random(100));
ob->move(me);
tell_object(me,"发现了一些"+HIY"黄金"NOR+"。\n"NOR);
}
else if(random(200)>180)
{
me->add("eff_jing",-50);
me->add("eff_qi",-100);
tell_object(me,"宝箱里发出数个"+HIR"暗器,你受了伤!"NOR+"。\n"NOR);
}
else if(random(200)>180)
{
me->add("eff_jing",-50);
me->add("eff_qi",-100);
tell_object(me,"宝箱里发出数个"+HIR"暗器,你受了伤!"NOR+"。\n"NOR);
}
else if(random(200)>198)
{
me->apply_condition("snake_poison",10);
me->add("qi",-10);
tell_object(me,"宝箱里发出数个"+RED"暗器,你中了毒!"NOR+"。\n"NOR);
}
else if(random(200)>198)
{
me->apply_condition("wugong_poison",10);
me->add("qi",-10);
tell_object(me,"宝箱里发出数个"+RED"暗器,你中了毒!"NOR+"。\n"NOR);
}
else if(random(200)>198)
{
me->apply_condition("wugong_poison",10);
me->add("qi",-10);
tell_object(me,"宝箱里发出数个"+RED"暗器,你中了毒!"NOR+"。\n"NOR);
}
else if(random(200)>198)
{
me->apply_condition("zhizhu_poison",10);
me->add("qi",-10);
tell_object(me,"宝箱里发出数个"+RED"暗器,你中了毒!"NOR+"。\n"NOR);
}
else if(random(200)>198)
{
me->apply_condition("xiezi_poison",10);
me->add("qi",-10);
tell_object(me,"宝箱里发出数个"+RED"暗器,你中了毒!"NOR+"。\n"NOR);
}
else if(random(200)>198)
{
me->apply_condition("chanchu_poison",10);
me->add("qi",-10);
tell_object(me,"宝箱里发出数个"+RED"暗器,你中了毒!"NOR+"。\n"NOR);
}
else if(random(100)>98 && environment(me)->query("short")==BLU"山洞"NOR)
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你的经验增加了!!"NOR+"。\n"NOR);
me->add("combat_exp", 1000);
}
else if(random(100)>98 && environment(me)->query("short")==WHT"钟乳石洞"NOR)
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你的潜能增加了!!"NOR+"。\n"NOR);
me->add("potential",500);
}
else if(random(100)>98 && environment(me)->query("short")==YEL"岩洞"NOR)
{
tell_object(me,"宝箱里发出一阵详和的"+YEL"金光,你的内力增加了!!"NOR+"。\n"NOR);
me->add("max_neili",50);
}
else if(random(100)>98 && environment(me)->query("short")==RED"熔岩洞"NOR)
{
tell_object(me,"宝箱里发出一阵详和的"+YEL"金光,你的经验,潜能内力都增加了!!"NOR+"。\n"NOR);
me->add("combat_exp", 1000);
me->add("potential",500);
me->add("max_neili",50);
}
else if(random(100)>98
&& !environment(this_object())->query("alrd"))
{
if ( environment(me)->query("short")==RED"熔岩洞"NOR
|| environment(me)->query("short")==YEL"岩洞"NOR)
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你获得一颗机会珠!!"NOR+"。\n"NOR);
ob=new(__DIR__"zhu7");
ob->move(me);
environment(this_object())->set("alrd",1);
}
}
else if(random(100)>98 && environment(me)->query("short")==BLU"山洞"NOR)
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你获得一颗力量珠!!"NOR+"。\n"NOR);
ob=new(__DIR__"zhu1");
ob->move(me);
}
else if(random(200)>198 && environment(me)->query("short")==BLU"山洞"NOR
&& !environment(this_object())->query("alrd"))
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你获得一颗火灵珠!!"NOR+"。\n"NOR);
ob=new(__DIR__"baowu/huozhu");
ob->move(me);
environment(this_object())->set("alrd",1);
}
else if(random(100)>98 && environment(me)->query("short")==WHT"钟乳石洞"NOR)
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你获得一颗悟性珠!!"NOR+"。\n"NOR);
ob=new(__DIR__"zhu2");
ob->move(me);
}
else if(random(200)>198 && environment(me)->query("short")==WHT"钟乳石洞"NOR
&& !environment(this_object())->query("alrd"))
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你获得一颗雷灵珠!!"NOR+"。\n"NOR);
ob=new(__DIR__"baowu/leizhu");
ob->move(me);
environment(this_object())->set("alrd",1);
}
else if(random(100)>98 && environment(me)->query("short")==YEL"岩洞"NOR)
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你获得一颗根骨珠!!"NOR+"。\n"NOR);
ob=new(__DIR__"zhu3");
ob->move(me);
}
else if(random(200)>198 && environment(me)->query("short")==YEL"岩洞"NOR
&& !environment(this_object())->query("alrd"))
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你获得一颗土灵珠!!"NOR+"。\n"NOR);
ob=new(__DIR__"baowu/tuzhu");
ob->move(me);
environment(this_object())->set("alrd",1);
}
else if(random(100)>98 && environment(me)->query("short")==RED"熔岩洞"NOR )
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你获得一颗身法珠!!"NOR+"。\n"NOR);
ob=new(__DIR__"zhu4");
ob->move(me);
}
else if(random(200)>198 && environment(me)->query("short")==RED"熔岩洞"NOR
&& !environment(this_object())->query("alrd"))
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你获得一颗风灵珠!!"NOR+"。\n"NOR);
ob=new(__DIR__"baowu/fengzhu");
ob->move(me);
environment(this_object())->set("alrd",1);
}
else if(random(100)>98 && environment(me)->query("short")==RED"熔岩洞"NOR)
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你获得一颗容貌珠!!"NOR+"。\n"NOR);
ob=new(__DIR__"zhu6");
ob->move(me);
}
else if(random(100)>98 && environment(me)->query("short")==YEL"岩洞"NOR)
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你获得一颗福缘珠!!"NOR+"。\n"NOR);
ob=new(__DIR__"zhu5");
ob->move(me);
}
else if(random(200)>198 && environment(me)->query("short")==YEL"岩洞"NOR
&& !environment(this_object())->query("alrd"))
{
tell_object(me,"宝箱里发出一阵详和的"+HIY"金光,你获得一颗水灵珠!!"NOR+"。\n"NOR);
ob=new(__DIR__"baowu/shuizhu");
ob->move(me);
environment(this_object())->set("alrd",1);
}
else if(random(100)>95)
{
ob=new("/clone/money/silver");
ob->set_amount(random(150));
ob->move(me);
tell_object(me,"发现了一些"+HIY"白银"NOR+"。\n"NOR);
}
else if(random(100)>95)
{
ob=new("/clone/money/silver");
ob->set_amount(random(150));
ob->move(me);
tell_object(me,"发现了一些"+HIY"白银"NOR+"。\n"NOR);
}
else if(random(100)>95)
{
ob=new("/clone/money/silver");
ob->set_amount(random(150));
ob->move(me);
tell_object(me,"发现了一些"+HIY"白银"NOR+"。\n"NOR);
}
else if(random(100)>95)
{
ob=new("/clone/money/coin");
ob->set_amount(random(1000));
ob->move(me);
tell_object(me,"发现了一些"+HIY"铜钱"NOR+"。\n"NOR);
}
else if(random(100)>95)
{
ob=new("/clone/money/coin");
ob->set_amount(random(1000));
ob->move(me);
tell_object(me,"发现了一些"+HIY"铜钱"NOR+"。\n"NOR);
}
else
{
int rand;
rand=random(sizeof(box_object));
ob=new(__DIR__+box_object[rand]);
if(ob)
{
ob->move(me);
ob->move(me);
tell_object(me,"发现了"+HIY":"+ob->query("name")+"."NOR+"。\n"NOR);
}
else tell_object(me,"结果什么也没有!"NOR+"。\n"NOR);
}
destruct(this_object());
return 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?