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

📄 liuyang-zhang.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// SKILL liuyang-zhang.c#include <ansi.h>#include <combat.h>inherit SKILL;  object offensive_target(object me){	int sz;	object *enemy;	enemy = me->query_enemy();	if( !enemy || !arrayp(enemy) ) return 0;	sz = sizeof(enemy);	if( sz > 4 ) sz = 4;	if( sz > 0 ) return enemy[random(sz)];	else return 0;}string *order = ({""HIY"", ""HIG"", ""RED"", ""MAG"", ""YEL"", ""HIC"", ""HIW"", ""HIR"",""HIB"", ""CYN"",""WHT"",""HIM"",""BLU""});mapping *action = ({([	"action" : "$N一招"+(order[random(13)])+"「落日熔金」"NOR",左掌叠于右掌之上,劈向$n",	"force" : 130,	"dodge" : 20,	"damage" : 50,	"lvl" : 0,	"skill_name" : "落日熔金",	"damage_type" : "瘀伤"]),([	"action" : "$N一招"+(order[random(13)])+"「安禅制毒龙」"NOR",面色凝重,双掌轻飘飘地拍向$n",	"force" : 150,	"dodge" : 10,	"damage" : 100,	"lvl" : 20,	"skill_name" : "安禅制毒龙",	"damage_type" : "内伤"]),([	"action" : "$N一招"+(order[random(13)])+"「日斜归路晚霞明」"NOR",双掌幻化一片掌影,将$n笼罩于内。",	"force" : 150,	"dodge" : 30,	"damage" : 135,	"lvl" : 30,	"skill_name" : "日斜归路晚霞明",	"damage_type" : "瘀伤"]),([	"action" : "$N一招"+(order[random(13)])+"「阳关三叠」"NOR",向$n的$l连击三掌",	"force" : 200,	"dodge" : 25,	"damage" : 150,	"lvl" : 40,	"skill_name" : "阳关三叠",    "damage_type" : "瘀伤"]),([	"action" : "$N一招"+(order[random(13)])+"「阳春一曲和皆难」"NOR",只见一片掌影攻向$n",	"force" : 250,	"dodge" : 20,	"damage" : 200,	"lvl" : 40,	"skill_name" : "阳春一曲和皆难",	"damage_type" : "瘀伤"]),([	"action" : "$N双掌平挥,一招"+(order[random(13)])+"「云霞出海曙」"NOR"击向$n",	"force" : 300,	"dodge" : 25,	"damage" : 250,	"lvl" : 60,	"skill_name" : "云霞出海曙",            "damage_type" : "瘀伤"]),([	"action" : "$N一招"+(order[random(13)])+"「白日参辰现」"NOR",只见一片掌影攻向$n",	"force" : 350,	"dodge" : 130,	"damage" : 280,	"lvl" : 70,	"skill_name" : "白日参辰现",	"damage_type" : "内伤"]),([	"action" : "$N左掌虚晃,右掌一记"+(order[random(13)])+"「云霞出薛帷」"NOR"击向$n的头部",	"force" : 350,	"dodge" : 30,	"damage" : 290,	"lvl" : 80,	"skill_name" : "云霞出薛帷",           "damage_type" : "瘀伤"]),([	"action" : "$N施出"+(order[random(13)])+"「青阳带岁除」"NOR",右手横扫$n的$l,左手攻向$n的胸口",	"force" : 400,	"dodge" : 110,	"damage" : 290,	"lvl" : 90,	"skill_name" : "青阳带岁除",            "damage_type" : "瘀伤"]),([	"action" : "$N施出"+(order[random(13)])+"「阳歌天钧」"NOR",双掌同时击向$n的$l",	"force" : 450,	"dodge" : 110,	"damage" : 220,	"lvl" : 100,	"skill_name" : "阳歌天钧",    "damage_type" : "瘀伤"])});int valid_enable(string usage) { return usage=="unarmed" || usage=="parry"||usage=="strike"; }int valid_combine(string combo) { return combo=="zhemei-shou"; }int valid_learn(object me){	if (me->query_temp("weapon") || me->query_temp("secondary_weapon"))		return notify_fail("练天山六阳掌必须空手。\n");	if ((int)me->query("max_neili") < 50)		return notify_fail("你的内力太弱,无法练六阳掌。\n");        if ((int)me->query_skill("qingyun-shou", 1) < 80)		return notify_fail("你的青云手火候太浅。\n");        if ((int)me->query_skill("panyang-zhang", 1) < 80)		return notify_fail("你的攀阳掌火候太浅。\n");	return 1;}mapping query_action(object me, object weapon){	int i, level, busy_time;	object target = offensive_target(me);	object victim;	string *limbs, limb, msg;	level = (int)me->query_skill("liuyang-zhang", 1);	victim = me->select_opponent();if (victim && me){if (victim){if (victim->query("limbs")){	limbs = victim->query("limbs");	limb = limbs[random(sizeof(limbs))];}	busy_time = level/20;}	if( random(level) > 150 && random(10)>5) 	{		switch( random(3) )		{			case 1: msg = HIW"不料$N左掌一带,掌力绕过$N的身子,直拍向$p$l"NOR;				break;			case 2: msg = WHT"谁知$N一掌未竭第二掌又至,连催两重劲,掌力便如长蛇之游,奇诡不可设想"NOR;				break;			default: msg = WHT"突然间$N掌力破空,拍向$n"+limb+",劲风扑面,锋利如刀,转而斜砍$p$l"NOR;				break;		}		me->add("neili", -30);		return ([			"action": msg,			"force" : level+random(320)+50,			"dodge" : 100,			"damage": level+random(300)+50,			"damage_type":"内伤",			]);	}}	for( i = sizeof(action); i > 0; i-- )		if( level > action[i-1]["lvl"] )			return action[NewRandom(i, 20, level/5)];}mixed hit_ob(object me, object victim, int damage_bonus, int factor){        int lvl;        int flvl;        lvl  = me->query_skill("beiming-shengong", 1);        if (lvl==0)        lvl  = me->query_skill("bahuang-gong", 1);        flvl = me->query("jiali");if (me->query_skill_mapped("force") != "bahuang-gong" &&me->query_skill_mapped("force") != "beiming-shengong")                return;        if (lvl < 80 || ! damage_bonus ||            me->query("neili") < 300)                return;flvl=random(lvl)+50;        if (random(5)==0)        {if (victim->query("qi") > flvl){victim->add("qi",-flvl);victim->add("eff_qi",-flvl);victim->apply_condition("ss_poison", 10 +		victim->query_condition("ss_poison"));}                return HIW "$n" HIW "身上中了几道生死符!!\n" NOR;        }        else if (random(4)==0)        {if (victim->query("neili") > 1500)victim->add("neili",-300);if (me->query("neili") < me->query("max_neili"))victim->add("neili",(random(lvl)+50));return HIC "$n" HIC "全身功力如流水般源源不绝地流入$N的身体!\n" NOR;        }}int practice_skill(object me){	if ((int)me->query("qi") < 60)		return notify_fail("你的体力太低了。\n");	if ((int)me->query("neili") < 20)		return notify_fail("你的内力不够练天山六阳掌。\n");        if ((int)me->query_skill("qingyun-shou", 1) < 80)		return notify_fail("你的青云手火候太浅。\n");        if ((int)me->query_skill("panyang-zhang", 1) < 80)		return notify_fail("你的攀阳掌火候太浅。\n");	me->receive_damage("qi", 45);	me->add("neili", -10);	return 1;}string perform_action_file(string action){	return __DIR__"liuyang-zhang/" + action;}

⌨️ 快捷键说明

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