shiroom24.c

来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 101 行

C
101
字号
// /d/xiakedao/shishi24.c 侠客岛 石室24inherit ROOM;//int do_study(string arg);void create(){        set("short", "石室");        set("long", @LONG这里火光昏暗,只见那龙岛主与木岛主盘膝坐在锦垫之上,面对石壁(wall),凝神苦思。此石室已是山腹最深处,却宽阔高大,足可容下近百人。洞中火把亦是其他洞的二三倍之多。LONG );        set("exits", ([                "east" : __DIR__"shihole6",        ]));        set("item_desc", ([                "wall" : @WALL墙的正上方刻着「白首太玄经」几个大字。字的下方刻的是密密麻麻的蝌蚪文,成千上万。文字排列甚不整齐,或横或竖,或直或斜。左下的大片甚至混成一团难分次序,委实难以辨认。WALL        ]));        set("objects", ([                CLASS_D("xiakedao")+"/long" : 1,                CLASS_D("xiakedao")+"/mu"   : 1,        ]));        set("no_clean_up", 0);        set("no_fight", 1);        set("no_beg", 1);        setup();}void init(){        add_action("do_study","think");}int do_study(string arg){        object me, where;        int jing_cost, learn_pot, item, times, i, success=0;        string skillname;        me = this_player();        if( !arg ) return notify_fail("你要领悟什么呀?\n");	if( sscanf(arg, "%s %d", arg, times)!=2)		return notify_fail("指令格式:think wall <次数>\n");        if( ( arg != "wall" ) )		return notify_fail("指令格式:think wall <次数>\n");	if (times < 1 || times > 20)		return notify_fail("领悟次数最少一次,最多也不能超过二十次。\n");        if ((int)me->query("combat_exp")<500000)                return notify_fail("你的经验太低, 没法领悟石壁内容。\n");        if ((int)me->query_skill("literate",1)<1)                return notify_fail("你晕了吧! 还是先去学点文化吧。\n");        jing_cost = 30 + random(me->query_int());        if( me->query("jing") < jing_cost * times)                return notify_fail("你现在太累了,领悟不了这么多次,休息一会儿再来吧。\n");        message_vision("$N正在钻研石壁上的图案和注释。\n",me);	for (i = 1; i<=times; i++)	{		me->receive_damage("jing",jing_cost);//		if (!me->query_skill("taixuan-gong"))//		{//			write("你望着石壁冥思苦想了一会,发觉上面的东西对你来说太深奥了。\n");//			return 1;//		}		if (me->query_skill("taixuan-gong",1)>=250)		{			write("你望着石壁冥思苦想了一会,发觉上面的东西对你来说太浅薄了。\n");			return 1;		}		else		{			if( !SKILL_D("taixuan-gong")->valid_learn(me) )			return SKILL_D("taixuan-gong")->valid_learn(me);		}		if((int)(me->query_skill("taixuan-gong",1) * 			me->query_skill("taixuan-gong",1) * 			me->query_skill("taixuan-gong",1)) /5 >= me->query("combat_exp"))		{			write("你对着石壁冥思苦想了一会,毫无收获。\n");			return 1;		}		learn_pot = (int)(me->query("combat_exp")/10000) + random(me->query("int"))			- (int)(me->query_skill("literate",1)/2);		if (learn_pot > 0)		{			me->improve_skill("taixuan-gong", learn_pot);			success=1;		}	}	if (success == 1)		write("你对着石壁冥思苦想了"+chinese_number(times)+"回,似乎"+CHINESE_D->chinese("taixuan-gong")+"有些心得。\n");	else write("你对着石壁冥思苦想了一会,可是资质太差,似乎没啥心得。\n");	success=0;	return 1;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?