⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dian.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// dian.c 一指禅 - 点// Written by Doing Lu 1999/2/27#include <ansi.h>inherit F_SSERVER;int perform(object me, object target){	object weapon;	object ob;		// 对手的武器	string msg;int neili_wound, qi_wound ;	if( !target ) target = offensive_target(me);	if( !target	||	!target->is_character()	||	!me->is_fighting(target) )		return notify_fail("绝技「点」字决指法只能对战斗中的对手使用。\n");	if (objectp(weapon = me->query_temp("weapon")))			return notify_fail("你不能使用武器!\n");	if((int)me->query_skill("hunyuan-yiqi",1) < 100)		return notify_fail("你混元一气功的功力不够!\n");	if( (int)me->query_skill("yizhi-chan", 1) < 150 )		return notify_fail("你的一指禅太生疏,不会使用「点」字决。\n");	if ( me->query("neili") < 500)		return notify_fail("你的内力不够,现在无法使用「点」字决。\n");	me->add("neili", -100);	msg = HIY " $N深深吸了一口气,伸出中指,使出佛门伏魔无上绝技指法,慢慢得向$p点了过了。\n";	ob = target->query_temp("weapon");	if( random(me->query("combat_exp")) > (int)target->query("combat_exp") / 3 ) 	{                qi_wound = target->query("qi") - 200;if (qi_wound < 10)qi_wound=10;		me->start_busy(2);		if (! objectp(ob))		{			int damage = 0;			if (target->query_skill("dodge") > 200 && random(2) == 0)			{				switch (random(2))				{				case 0:					msg += HIR " $p连续变了几种上乘身法,终于没能躲过,"						"$N的这一指正点在$p的丹田上,\n$p只觉得一口"						"凉气,自丹田而上,心里有种说不出的难受。\n";					damage = 3;					break;				case 1:					msg += HIR " $p轻身飘开,身法灵动之极,众人正要喝彩,"              					"听「噗」的一声,如击败革,$p脸色煞白,摇摇欲坠。\n";					damage = 5;					break;				}			} else			if (target->query_skill("force") > 200 && random(2) == 0)			{				switch(random(2))				{				case 0:					msg += HIR " $p冷哼一声,自持内力高强,反手出招,「啵」"						"的一声二指相交,$p身行微晃,脸如金纸。\n";					damage = 3;					break;				case 1:					msg += HIR " $p一声长啸,双手幻化出无数掌影,护住身前。"						"只听「嗤」的一声,掌影顿消,$p已经变得脸色惨白。\n";					damage = 4;					break;				}			} else			{				switch(random(2))				{				case 0:					msg += HIR " $p看到这招,竟然不知躲避,「嗤」的一声,$N"						"这一指正点在$p的檀中大穴。\n";		target->receive_damage("qi", qi_wound/2);		target->receive_wound("qi", qi_wound/3);//					target->unconcious();					damage = 0;					break;				case 1:					msg += HIR " $p一转念,已经想出了九十九种化解的办法,"						"尚未来得及施展,只听「嗤」的一声,已被$N点中檀"						"中大穴。\n";		target->receive_damage("qi", qi_wound/2);		target->receive_wound("qi", qi_wound/3);//					target->unconcious();					damage = 0;					break;				}			}			if (damage > 0)				target->receive_damage("qi", target->query("max_qi") * damage / 12);			message_vision(msg + NOR, me, target);			return 1;		}		if (random(3) >=1 )		{			msg += HIR " $p忙用" + ob->query("name") + "招架,只觉得虎口剧震,所幸兵器完好无损。\n" NOR;		} else		{			msg += HIW " $p连忙招架,只听见「啪」地一声,$p手中的" + ob->name()				+ "寸寸断裂,散落一地!\n";			ob->unequip();			ob->move(environment(target));			ob->set("name", "断掉的" + ob->query("name"));			ob->set("value", 0);			ob->set("weapon_prop", 0);		}		target->start_busy(2);	} else	{		int busy = 0;		if (target->query_skill("dodge") > 200 && random(2) == 0)		{			switch (random(2))			{			case 0:				msg += " $p一声轻笑,连续变化了几次身法,扰人耳目,一时让$N无法进攻。\n";				busy = 2;				break;			case 1:				msg += " $p突然向后飘去,疾若闪电,令$N这一指所有的后继变化无从施展。\n";				busy = 1;				break;			}		} else		if (target->query_skill("force") > 200 && random(2) == 0)		{			switch (random(2))			{			case 0:				msg += " $p脸色凝重,缓缓出掌,以拙对拙,竟然让$N无从下手,只得收指。\n";				busy = 3;				break;			case 1:				msg += " $p满脸不屑,冷笑一声,双掌齐出,其快无比,令$N只能回招自救。\n";				busy = 1;				break;			}		} else		{			switch (random(3))			{			case 0:				msg += " $p左摇右晃,看上去毫无章法,偏偏躲过了$N这一击。\n";				busy = 2;				break;			case 1:				msg += " $p一指点出,看上去恍若也是佛门精妙指法,$N一呆,攻势顿缓。\n";				busy = 2;				break;			case 2:				msg += "$p摄住心神,真气贯注,堪堪封住了$N的进攻。\n";				busy = 2;				break;			}		}		target->start_busy(busy);		me->start_busy(4);	}	message_vision(msg + NOR, me, target);	return 1;}

⌨️ 快捷键说明

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