jinshe-jian.c

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

C
143
字号
// jinshe-jian.c#include <ansi.h>inherit SKILL;mapping *action = ({	([	"name":		"金光蛇影",		"action":	"$N使一招「金光蛇影」,手中的$w在一弹指间已向$n的$l连刺数剑",		"dodge":	50,		"parry" :	100,		"force":	170,		"damage" :	50,		"damage_type":	"刺伤"	]),	([	"name":		"蛇影万道",		"action":	"$N使一招「蛇影万道」,手中$w狂风骤雨般地向$n的$l连攻数剑",		"dodge":	100,		"parry" :	200,		"force" : 	200,		"damage":	70,		"damage_type":	"刺伤"	]),	([	"name":		"雪地飞蛇",		"action":	"$N身形一转,陡地贴地跃起,手中$w灵动夭跃,一招「雪地飞蛇」疾刺$n的$l",                "dodge":	100,                "parry" :	200,		"force":	170,		"damage" :	50,		"damage_type":	"刺伤"	]),	([	"name":		"金蛇吞信",		"action":	"$N身形一转,一招「金蛇吞信」,手中的$w从左肋下向$n的$l戳了过去",		"dodge":	100,		"parry" :	200,		"force" : 	200,		"damage":	120,		"damage_type":	"刺伤"	]),	([	"name":		"金蛇狂舞",		"action":	"$N手腕一抖,一招「金蛇狂舞」,$w挟著闪闪剑光,变幻无方逼向$n的$l",		"dodge":	100,		"parry" :	200,		"force" : 	300,		"damage":	150,		"damage_type":	"刺伤"	]),	([	"name":		"灵蛇电闪",		"action":	"$N心念电闪手腕疾振处,一招「灵蛇电闪」,$w以无法形容的速度直射$n的$l",		"dodge":	100,		"parry" :	200,		"force" : 	250,		"damage":	200,		"damage_type":	"刺伤"	]),	([	"name":		"蛇困愁城",		"action":	"$N身形一矮,一招「蛇困愁城」,手中的$w由下往上刺向$n的$l",		"dodge":	100,		"parry" :	200,		"force" : 	300,		"damage":	300,		"damage_type":	"刺伤"	]),	([	"name":		"金蛇化龙",		"action":	"$N手中$w剑光暴长,一招「金蛇化龙」,如千年蛇蝎往$n$l咬去",		"dodge":	100,		"parry" :	200,		"force" : 	300,		"damage":	400,		"damage_type":	"刺伤"	]),});int valid_learn(object me){	object ob;	if( (int)me->query("max_neili") < 500 )		return notify_fail("你的内力不够,没有办法练金蛇剑法。\n");	if( !(ob = me->query_temp("weapon"))	||	(string)ob->query("skill_type") != "sword" )		return notify_fail("你必须先找一把剑才能练剑法。\n");        return notify_fail("金蛇剑法没法教授。\n");}int valid_enable(string usage){	return usage=="sword" || usage=="parry";}mapping query_action(object me, object weapon){	return action[random(sizeof(action))];}int practice_skill(object me){	if( (int)me->query("qi") < 30	||	(int)me->query("neili") < 15 )		return notify_fail("你的内力或气不够,没有办法练习金蛇剑法。\n");	me->receive_damage("qi", 30);	me->add("neili", -15);	write("你按著所学练了一遍金蛇剑法。\n");	return 1;}int valid_effect(object me, object weapon, string name, int skill){}int effective_level() { return 25;}string *parry_msg = ({        "$n不退反进,气走周天,手中的$v狠狠磕开了$N的$w。\n",	"$n回剑自守,架住了$N的$w。\n",	"$n手中的$v化作千百把,护住了全身。\n",	"$n手中的$v自上削下,几乎将$N的$w削成两段。\n",});string *unarmed_parry_msg = ({        "$n使动$v,在身前布起了一道铜墙铁壁,封住了$N的攻势。\n",	"$n一抖手中的$v,护住了全身。\n",	"$n将$v往地上一刺,$v反弹起来,刚好直刺$N的双臂。\n",	"$n举剑静立,一股内力从剑梢透出,逼开了$N。\n",});string query_parry_msg(object weapon){        if( weapon )                return parry_msg[random(sizeof(parry_msg))];        else                return unarmed_parry_msg[random(sizeof(unarmed_parry_msg))];}string perform_action_file(string action){        return __DIR__"jinshe-jian/" + action;}

⌨️ 快捷键说明

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