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

📄 jinwu-blade.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// jinwu-blade.c 金乌刀法#include <ansi.h>#include <combat.h>inherit SKILL;string *mjj = ({""HIY"", ""HIG"", ""RED"", ""MAG"", ""YEL"", ""HIC"", ""HIW"", ""HIR"",""HIB"", ""CYN"",""WHT"",""HIM"",""BLU""});mapping *action = ({([      "action" : "$N手中$w直劈,一招"+(mjj[random(13)])+"「开门揖盗」"NOR",挟着劲风万丈之式,向$n当头而下",        "force" : 230,        "dodge" : -10,        "damage" : 100,        "damage_type" : "割伤" ]),([      "action" : "$N一招"+(mjj[random(13)])+"「梅雪逢夏」"NOR",卷起一片光幕,只见刀光漫天,向$n疾卷而去",        "force" : 250,        "dodge" : -10,        "damage" : 150,        "damage_type" : "割伤"]),([      "action" : "$N横刀直挥,一招"+(mjj[random(13)])+"「汉将当关」"NOR",刀身疾下,拢起一阵劲飙,向$n$l劈去",        "force" : 280,        "dodge" : -5,        "damage" : 200,        "damage_type" : "割伤"]),([      "action" : "$N一招"+(mjj[random(13)])+"「赤日金鼓」"NOR",$w左右连劈六刀,一阵金芒自刀上疾射而出,映的$n\n双眼紧闭,$N乘机趋步上前,挥刀力斩$n$l",        "force" : 300,        "dodge" : -5,        "damage" : 220,        "damage_type" : "割伤"]),([      "action" : "$N手中$w一沉,一招"+(mjj[random(13)])+"「千钧压驼」"NOR",$w看似沉滞不堪,实则似缓实快,自下挽了一个刀花,\n直劈$n$l",        "force" : 300,        "dodge" : 5,        "damage" : 250,        "damage_type" : "割伤"]),([      "action" : "$N将$w往后一带,使出一招"+(mjj[random(13)])+"「大海沉沙」"NOR",$w顿时消失得无影无踪,$n正惊疑间,\n只见刀光一闪,$w已迅如闪电般斩往$l",        "force" : 350,        "dodge" : 5,        "damage" : 300,        "damage_type" : "割伤"]),([      "action" : "$N一招"+(mjj[random(13)])+"「鲍鱼之肆」"NOR",挥舞$w狂劈十八刀,看似混乱不堪,实则刀刀劈向$n要害",        "force" : 400,        "dodge" : 5,        "damage" : 350,        "damage_type" : "劈伤"]),([      "action" : "$N踏步上前,使出"+(mjj[random(13)])+"「赤日炎炎」"NOR",手中$w倒提横挥,化成一簇簇烈焰,向$n劈头盖脸的斩去",        "force" : 500,        "dodge" : 10,        "damage" : 500,        "damage_type" : "刺伤"]),});int valid_learn(object me){    object ob;    if( (int)me->query("max_neili") < 500 )        return notify_fail("你的内力不够,没有办法练金乌刀法。\n");         if( (int)me->query_skill("xueshan-sword",1)<80)                return notify_fail("金乌刀法必须有雪山剑法为根底才能练习。\n");    if( !(ob = me->query_temp("weapon"))    ||      (string)ob->query("skill_type") != "blade" )        return notify_fail("你必须先找一把刀才能练刀法。\n");    return 1;}int valid_enable(string usage) { return usage == "blade" || usage == "parry"; }string query_skill_name(int level){        int i;        for(i = sizeof(action)-1; i >= 0; i--)                if(level >= action[i]["lvl"])                        return action[i]["skill_name"];}mapping query_action(object me, object weapon){        int i, level;        level   = (int) me->query_skill("jinwu-blade",1);        for(i = sizeof(action); i > 0; i--)                if(level > action[i-1]["lvl"])                        return action[NewRandom(i, 20, level/5)];}int practice_skill(object me){        if( (int)me->query("qi") < 20        ||      (int)me->query("neili") < 10 )                return notify_fail("你的内力或气不够,没有办法练习金乌刀法。\n");        me->receive_damage("qi", 10);        me->add("neili", -5);        write("你按著所学练了一遍金乌刀法。\n");        return 1;}string perform_action_file(string action){        return __DIR__"jinwu-blade/" + action;}mixed hit_ob(object me, object victim, int damage_bonus, int factor, string limb){	int level,level2,level3,jiali, time;	string msg;	object weapon;	weapon = me->query_temp("weapon");        level = (int) me->query_skill("xueshan-sword",1);	level2 = (int) me->query_skill("jinwu-blade",1);	level3 = (int) me->query_skill("bingxue-xinfa",1);	jiali = me->query("jiali");if (!me) return;if (!victim) return;//if (victim =me) return;if (!weapon) return;if (!jiali) jiali=100;        if( random(level) > 100 && random(level3)>100 && random(level2)>100 && !me->query_temp("noauto")) {        message_vision(WHT"$N一刀过后,招式突变,竞用刀使出了雪花剑法的招式攻向$n的周身要害!\n" NOR, me, victim );        msg =  HIR "看刀....\n" NOR;if (me && victim){	COMBAT_D->do_attack(me, victim, me->query_temp("weapon"), TYPE_REGULAR,msg);	COMBAT_D->do_attack(me, victim, me->query_temp("weapon"), TYPE_REGULAR,msg);	victim->receive_wound("qi", random(jiali));}	return HIR"$N狂出数刀,手中"+weapon->name()+HIR"竟化为一片"+HIW"雪花。\n"NOR;        }else    if( random(level) > 80 && random(level3)>80 && !me->query_temp("noauto")  ) {	victim->receive_wound("qi", random(jiali));	return HIW"只见$n$l上鲜血渗出,六点刀痕布成六角,已被"+weapon->name()+HIW"整整齐齐的刺了六点。\n"NOR;        }}

⌨️ 快捷键说明

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