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

📄 never-defeated.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// never-defeated.c 不败神功#include <ansi.h>inherit FORCE;string *dodge_msg = ({        "$n移开数步,恰好躲过了$N的攻击。\n",        "$n忽然反击,直指$N的破绽,逼得$N只能回守。\n",        "$n轻身闪避,将$N的实招全部躲过。\n",        "$n脚下一个跄踉,似乎无意,却刚好躲过$N这一击。\n",});int query_neili_improve(object me){        int lvl;        lvl = (int)me->query_skill("never-defeated", 1);        return lvl * lvl * 20 * 15 / 100 / 200;}mapping *action_default = ({([      "action" : "$N攻势忽缓而不疏,似剑法又似刀法,捉摸不定向$n慢慢推去",        "force" : 410,        "attack": 150,        "dodge" : 170,        "parry" : 120,        "damage": 395,        "damage_type":  "震伤"]),([      "action":"$N手中的$w突焕气象森严,便似千军万马奔驰而来,横扫$n",        "force" : 410,        "attack": 160,        "dodge" : 185,        "parry" : 110,        "damage": 490,        "damage_type":  "擦伤"]),([      "action":"$N举起手中的$w,对着$n乱砍乱砸,没有半点章法",        "force" : 430,        "attack": 170,        "dodge" : 170,        "parry" : 130,        "damage": 495,        "damage_type":  "割伤"]),([      "action":"$N运用$w幻化做一个一个圆圈,似乎要将$n包围",        "force" : 425,        "attack": 160,        "dodge" : 165,        "parry" : 125,        "damage": 490,        "damage_type":  "内伤"]),([      "action":"$N含笑回转$w,伸手一指,颇得拈花指之意,点向$n的$l",        "force" : 530,        "attack": 176,        "dodge" : 175,        "parry" : 115,        "damage": 490,        "damage_type":  "刺伤"]),([      "action":"$N长叹一声,将$w随手递出,连自己也不知道也攻向哪里",        "force" : 440,        "attack": 170,        "dodge" : 180,        "parry" : 325,        "damage": 490,        "damage_type":  "割伤"]),([      "action":"$N神色凝重,$w上劈下切左右横扫,挟雷霆万钧之势逼往$n",        "force" : 410,        "attack": 160,        "dodge" : 195,        "parry" : 120,        "damage": 490,        "damage_type":  "内伤"]),([      "action":"$N运起$w,就如狂风暴雨,霍霍亮光中反攻$n的$l,尝试逼$n自守",        "force" : 420,        "attack": 150,        "dodge" : 195,        "parry" : 135,        "damage": 490,        "damage_type":  "内伤"]),([      "action":"$N突然如痴如狂,手中的$w猛然向$n周身乱刺乱削",        "force" : 410,        "attack": 165,        "dodge" : 185,        "parry" : 125,        "damage": 495,        "damage_type":  "割伤"]),([      "action":"$N将$w随手一摆,$n反而自己向$w撞将上来,神兵之威,实人所难测",        "force" : 430,        "attack": 180,        "dodge" : 175,        "parry" : 110,        "damage": 495,        "damage_type":  "瘀伤"]),([      "action":"$N手中的$w忽起剑势,却似或刀法,又夹杂棍杖之意,令$n眩目",        "force" : 420,        "attack": 175,        "dodge" : 185,        "parry" : 130,        "damage": 490,        "damage_type":  "刺伤"]),});mapping *action_whip = ({([      "action" : "$N攻势忽缓而不疏,$w变化无常,捉摸不定向$n慢慢卷去",        "force" : 430,        "attack": 180,        "dodge" : 175,        "parry" : 115,        "damage": 495,        "damage_type": "擦伤"]),([      "action":"$N手中的$w突焕气象森严,便似千军万马奔驰而来,$w就如棍棒一般横扫$n",        "force" : 410,        "attack": 160,        "dodge" : 185,        "parry" : 125,        "damage": 490,        "damage_type": "擦伤"]),([      "action":"$N卷起手中的$w,就如铁锤一般对着$n乱砍乱砸,没有半点章法",        "force" : 440,        "attack": 175,        "dodge" : 180,        "parry" : 125,        "damage": 495,        "damage_type": "割伤"]),([      "action":"$N运用$w幻化做一个一个圆圈,似乎要将$n团团包围",        "force" : 425,        "attack": 160,        "dodge" : 1065,        "parry" : 125,        "damage": 490,        "damage_type": "内伤"]),([      "action":"$N含笑回转$w,伸手一指,颇得拈花指之意,点向$n的$l",        "force" : 510,        "attack": 180,        "dodge" : 170,        "parry" : 120,        "damage": 490,        "damage_type": "刺伤"]),});string *usage_skills = ({ "sword", "blade", "dagger",                          "staff", "hammer", "club", "whip",                            "dodge", "parry", "force", "throwing" });int valid_enable(string usage){        return (member_array(usage, usage_skills) != -1);}int valid_combo(string combo){        return combo == "never-defeated";}int valid_force(string force) { return 1; }int double_attack() { return 1; }mapping query_action(object me, object weapon){        switch (weapon ? weapon->query("skill_type") : "default")        {        case "whip":                return action_whip[random(sizeof(action_whip))];        default:                return action_default[random(sizeof(action_default))];        }}string query_dodge_msg(string limb){        return dodge_msg[random(sizeof(dodge_msg))];}int valid_learn(object me){        int level;        int i;//       if( !me->query("zhuanbest",1))//        return notify_fail("你没有资格使用这项技能!\n");       if( !me->query("4zhuan") && !me->query("5zhuan"))        return notify_fail("你没有资格使用这项技能!\n");       if( me->query("zhuanfinal/8",1) != 1)        return notify_fail("你没有资格使用这项技能!\n");                if (me->query("int") < 38)                return notify_fail("你觉得不败神功过于深奥,绝"                                   "非自己的智力所能理解。\n");	if (me->query("gender") == "无性" &&	    (int)me->query_skill("never-defeated", 1) > 239)		return notify_fail("你无根无性,阴阳不调,难以领会高深的不败神功。\n");        level = me->query_skill("never-defeated", 1);        if (me->query_skill("force", 1) < level)                return notify_fail("你对基本内功的理解还不够,无法继续"                                   "领会更高深的不败神功。\n");        if (me->query_skill("parry", 1) < level)                return notify_fail("你对基本招架的理解还不够,无法继续"                                   "领会更高深的不败神功。\n");        if (me->query_skill("dodge", 1) < level)                return notify_fail("你对基本轻功的理解还不够,无法继续"                                   "领会更高深的不败神功。\n");        if (me->query_skill("sword", 1) < level)                return notify_fail("你对基本剑法的理解还不够,无法继续"                                   "领会更高深的不败神功。\n");        if (me->query_skill("blade", 1) < level)                return notify_fail("你对基本刀法的理解还不够,无法继续"                                   "领会更高深的不败神功。\n");        if (me->query_skill("whip", 1) < level)                return notify_fail("你对基本鞭法的理解还不够,无法继续"                                   "领会更高深的不败神功。\n");        if (me->query_skill("throwing", 1) < level)                return notify_fail("你对基本暗器的理解还不够,无法继续"                                   "领会更高深的不败神功。\n");        return 1;}int practice_skill(object me){        return notify_fail("不败神功博大精深,无法简单的通过练习进步。\n");}int difficult_level(){        return 500;}string perform_action_file(string action){        return __DIR__"never-defeated/perform/" + action;}string exert_function_file(string action){        return __DIR__"never-defeated/exert/" + action;}mixed hit_ob(object me, object victim, int damage_bonus, int factor, string limb){                                                                                                                	int level, jiali, time,level2;	object weapon;	weapon = me->query_temp("weapon");        level = (int) me->query_skill("never-defeated",1);        level2= (int) me->query_skill("never-defeated",1);	jiali = me->query("jiali");if (!me) return;if (!victim) return;if (!weapon) return;if( me->is_busy() && random(3)==0) return;//if (!level) return;if (!level2) return;if (!jiali) jiali=10;if (me->query("zhuanfinal/1") ==1 && random(3)==0){	if (userp(victim))	victim->receive_wound("qi", victim->query("qi")/8);        if (!userp(victim))         victim->receive_wound("qi", 500);	return RED"$N使用了斩仙决!!$n突然胸口一痛鲜血狂奔!\n"NOR;}elseif (me->query("zhuanfinal/2") ==1 && random(3)==0){	if (userp(victim))	victim->add("neili", -victim->query("neili")/8);        if (!userp(victim))         victim->add("neili", -500);	return HIY"$N使用了破仙决!!$n突然内力消失!\n"NOR;}elseif (me->query("zhuanfinal/3") ==1 && random(3)==0){	if (!victim->is_busy())	victim->start_busy(4);	return HIY"$N使用了乱仙决!!$n突然手忙脚乱!\n"NOR;}else	if( random(level2)>50 	&& random(3)==0 ) {	victim->receive_wound("qi", (random(jiali)+150));	return RED"只见$n$l上鲜血狂奔,已被"+weapon->name()+HIR"斩出的无形气劲切了开来!\n"NOR;        }}                     int ob_hit(object ob, object me, int damage){	object weapon = me->query_temp("weapon");        string msg,dodge_skill,*limbs;                       string result;       int ap, dp;        int i, j, level, p, q;                limbs = ob->query("limbs");        level = me->query_skill("never-defeated", 1);        if( !weapon) return damage;if (me->query_skill_mapped("parry") != "never-defeated") return damage;        if( me->is_busy() && random(2)==0)  return damage;        if( damage < 100 )  return damage;if (me->query("zhuanfinal/4") ==1 && random(3)==0){                if (me->query("qi") < me->query("max_qi") )                me->add("qi", me->query("max_qi") / 8);                if (me->query("eff_qi",1) < me->query("max_qi",1) )                me->add("eff_qi",me->query("max_qi")/8);                if (me->query("qi") < me->query("max_qi") )	result = HIY"$N使用了妙仙决!!$N全身的伤好了很多!\n"NOR;}elseif (me->query("zhuanfinal/5") ==1 && random(3)==0){if (me->is_busy() )me->start_busy(1);if (!ob->is_busy() )ob->start_busy(2);	result = HIY"$N使用了动仙决!!$N突然动作又快了!\n"NOR;}elseif (me->query("zhuanfinal/6") ==1 && random(3)==0){                if (me->query("neili") < me->query("max_neili") )                me->add("neili", me->query("max_neili") / 8);	result = HIY"$N使用了银仙决!!$N突然内力恢复了!\n"NOR;}else if ( random(8)==1)        {                damage=30;                switch (random(4))                {                case 0:                        result = HIW "$n" HIW "面含微笑,轻轻一格,已将天"                                            "下所有进攻招数全部封死。\n" NOR;                        break;                case 1:                        result = HIW "$n" HIW "眉头微微一皱,动也不动,将"                                            "$N" HIW "震到一边。\n" NOR;                        break;                case 2:                        result = HIW "$n" HIW "身形微微一抖,已将$N" HIW                                             "迫退至丈许开外。\n" NOR;                        break;                default:                        result = HIW "$n" HIW "一声轻哼,身形微微一动,已"                                            "飘然远去,使$N" HIW "的进攻全无用处。\n" NOR;                        break;                }message_vision(result,ob,me);            return damage;        }}

⌨️ 快捷键说明

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