?? silk3a.c
字號:
// /d/xingxiu/silk3.cinherit ROOM;#include <ansi.h>int wind = 0;void create(){ set("short", YEL"鳴沙山"NOR); set("long", @LONG此山高數十米,山峰陡峭,勢如刀刃。北麓有月牙泉。登山俯瞰,沙丘林立,清泉蕩漾。從山頂下滑沙礫隨人體下墜,鳴聲不絕于耳,興味盎然。故稱“沙嶺晴鳴”。LONG); set("outdoors", "yili"); set("exits", ([ "south" : __DIR__"silk3", "west" : __DIR__"silk3b", ])); setup(); set("yushi_count", 2);}void do_move(object me){ if(!me) return; tell_object(me, HIR"你一陷身在這狂怒的風暴中,根本身不由己,只能聽天由命了....\n\n"NOR); me->unconcious(); me->move(random(2)?"/d/xingxiu/silk3b":"/d/xingxiu/silk3"); message("vision", "突然一陣大風刮過,將一個"+me->name()+"甩了過來!\n",environment(me), ({me}));}void init(){ if(this_player()->query_temp("xlz/hang") && wind == 0) // call_out("do_wait", 3+random(10), this_player()); call_out("do_wait", 300+random(100), this_player()); else if(wind > 0) do_move(this_player()); add_action("do_kangheng", "kangheng"); }#include "/kungfu/skill/eff_msg.h";int do_kangheng(){ object me; int p; me = this_player(); if(wind <= 0 || !me->query_temp("xlz/hang")) return 0; if( me->query_temp("weapon") ) return notify_fail("在這種危險的情況下,你還念念不忘手中的武器?!\n"); if (me->query_skill_mapped("unarmed") != "xianglong-zhang" || me->query_skill_mapped("parry") != "xianglong-zhang") return notify_fail("現在是叫天不應,呼地不靈的時候,你唯一的出路是用「降龍十八掌掌」抗衡!\n"); if( (int)me->query("max_neili") < 3000) return notify_fail(HIR"\n你現在才發覺自己的內力修為是如此的淺薄,完了... 現在后悔已經晚了...\n\n"NOR); if( (int)me->query("neili") < 500 ) return notify_fail(HIR"你覺得自己已經是內力不繼,雙手在風中也在不住地顫抖!\n"NOR); tell_room(me, HIC"你咬緊牙關,雙掌護身,心中默念降龍十八掌的口訣,企圖在這天地的怒氣中維持自己的弱小生命!\n"NOR); me->receive_damage("qi", me->query_con()*10); me->add("neili", -500); p = (int)me->query("qi")*100/(int)me->query("max_qi"); message_vision("( $N"+eff_status_msg(p)+" )\n", me); me->add("combat_exp", 100); me->add_temp("xlz/hang", 1); return 1;}int do_wait(object me){ object *obj, ob = this_object(); int i; if(!me || environment(me) != ob || !living(me) || me->is_fighting()) return 0; tell_room(ob, HIY"突然,一陣噓噓的風聲吹來,那尖利的嘯聲如刀,如劍,越來越尖... 越來越急...瞬間,已經是狂風大做,漫天的黃沙撲面而來,一浪接著一浪,一波接著一波...你在這風沙中有如一只大海中漂泊的小舟,如果不想被大自然所吞沒,只有奮起和它相抗衡(kangheng)了!\n" NOR); ob->set_temp("apply/long", YEL"這里黃沙漫天,狂風呼嘯,那尖利的嘯聲如刀,如劍,越來越尖... 越來越急...\n"YEL); ob->delete("exits"); obj = all_inventory(ob); if(obj) for(i=0; i<sizeof(obj); i++) { if(obj[i]->query_temp("xlz/hang")) continue; do_move(obj[i]); } wind = 15; me->start_busy(10); call_out("do_wait2", 10+random(10), me); return 1;}int do_wait2(object me){ object *obj, ob = this_object(); int i, p; string msg; if(!me || !userp(me) || environment(me) != ob || me->is_ghost() ){ remove_call_out("do_over"); call_out("do_over", 5, ob); return 0; } if( wind <= 0) { remove_call_out("do_over"); call_out("do_over", 5, me); return 0; } wind--; me->start_busy(10); if(!living(me)){ me->delete_temp("xlz/hang"); me->set_temp("last_damage_from", "被黃沙淹沒脫力而"); me->die(); return 0; } switch(wind){ case 0: remove_call_out("do_over"); call_out("do_over", 5, me); return 0; case 14: msg = YEL"\n風沙越來越大,越來越猛... \n\n"NOR; break; case 11: msg = YEL"\n黃殺如同波浪一般,一浪接一浪滾滾而至,將你打得東倒西歪!\n\n"NOR; break; case 8: msg = YEL"\n風逐漸變弱了,但強烈的氣流還在四周旋轉著,看來是到了暴風的中心了!\n\n"NOR; break; case 4: msg = YEL"\n暴風中心雖然過了,但這強烈的氣流卻不斷地將你壓迫,眼前是一片黃沙,什么也看不見!\n\n"NOR; break; case 1: msg = YEL"\n風越來越弱了,漫天的黃沙也漸漸消失,陽光又穿透了過來... \n\n"NOR; break; default: msg = random(2)? YEL"\n風呼呼地吹著,飛舞的砂礫打在你身上,疼痛萬分!\n\n"NOR: YEL"\n強烈的氣流在四周呼嘯著,天地已經混為一體,根本沒有了東南西北!\n\n"NOR; break; } tell_room(ob, msg); obj = all_inventory(ob); if(obj) for(i=0; i<sizeof(obj); i++) { if(obj[i]->query_temp("xlz/hang")) continue; do_move(obj[i]); } me->receive_damage("qi", 200+random(500)); p = (int)me->query("qi")*100/(int)me->query("max_qi"); message_vision("( $N"+eff_status_msg(p)+" )\n", me); call_out("do_wait2", 10+random(10), me); return 1;}int do_over(object me){ wind = 0; tell_room(this_object(), HIW"\n突然間,狂風漸漸遠去,天空豁然開朗,一切又恢復了原來的樣子:這沙,這山...\n\n"NOR); this_object()->set_temp("apply/long"); this_object()->set("exits", ([ "south" : __DIR__"silk3", "west" : __DIR__"silk3b", ])); if(!me || !userp(me) || environment(me) != this_object() || !living(me) || me->is_ghost()) return 0; me->start_busy(2); if((int)me->query_temp("xlz/hang") > 1){ me->set("xlz/hang", 1); me->delete_temp("xlz/hang"); tell_object(me, GRN"你經過一番苦斗,已經全身虛脫,但這從風中所得到的啟示卻使你對自己的降龍十八掌更具信心!\n"NOR); tell_object(me, HIC"你領悟了降龍十八掌之精髓!自己的體質也得到了改善!\n"NOR); me->add("con", 1); me->add("str", 1); } return 1;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -