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

📄 shi.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
#include <ansi.h>#include <combat.h>#define SHEN "「" HIY "金蛇噬天" NOR "」"inherit F_SSERVER;int perform(object me, object target){        int damage;        string msg, wn;        object weapon;        int ap, dp;        me = this_player();        if (! target) target = offensive_target(me);        if (! target || ! me->is_fighting(target))                return notify_fail(SHEN "只能在战斗中对对手使用。\n");        if (! objectp(weapon = me->query_temp("weapon"))           || (string)weapon->query("skill_type") != "sword")                return notify_fail("你使用的武器不对,难以施展" SHEN "。\n");        if ((int)me->query_skill("jinshe-jian", 1) < 200)                return notify_fail("你金蛇剑法不够娴熟,难以施展" SHEN "。\n");        if (me->query_skill_mapped("sword") != "jinshe-jian")                return notify_fail("你没有激发金蛇剑法,难以施展" SHEN "。\n");        if ((int)me->query_skill("force", 1) < 240)                return notify_fail("你的内功火候不够,难以施展" SHEN "。\n");        if ((int)me->query_skill("dodge", 1) < 240)                return notify_fail("你的轻功火候不够,难以施展" SHEN "。\n");          if ((int)me->query("max_neili") < 2500)                return notify_fail("你的内力修为不足,难以施展" SHEN "。\n");        if ((int)me->query("neili") < 400)                return notify_fail("你现在的真气不够,难以施展" SHEN "。\n");        if (! living(target))                return notify_fail("对方都已经这样了,用不着这么费力吧?\n");        wn = weapon->name();        msg = HIY "一道金光划过,$N" HIY "消失得无影无踪,猛然间只见一条\n"              "金蛇从天而下," + weapon->name() + HIY "已将$n" HIY "笼罩。\n" NOR;                ap = me->query_skill("jinshe-jian", 1) +             me->query_skill("force", 1);        dp = target->query_skill("dodge", 1) +             target->query_skill("parry", 1);        if (ap * 2 / 3 + random(ap) > random(dp))        {                damage = me->query_skill("jinshe-jian", 1) +                         me->query_skill("force", 1) +                         me->query_skill("sword", 1);                damage += random(damage / 2);                // 十分之一的几率可被招架                if (random(10) <= 1 && ap / 2 < dp)                {                        damage = damage / 3;                        target->add("qi",-damage/2+100);                        target->add("qi",-damage/3+100);                        msg +=                   HIG "$n" HIG "见$N" HIG "一道金光闪过\n"                                                  ",急忙收敛心神奋力招架。\n哪知$P这"                                                  "招力道非凡,$p一声闷哼,连退几步,喷\n"                                                  "出一口鲜血。\n" NOR;                        me->add("neili", -200);                        me->start_busy(2 + random(2));                } else                 {                        target->add("qi",-damage+100);                        target->add("qi",-damage/2+100);                        msg +=                    HIR "$n" HIR "见$N" HIR "金光划过,心"                                                  "底不由大惊,\n登时听得“噗嗤”一声,剑"                                                  "气透体而过。\n" NOR;                        me->add("neili", -300);                        me->start_busy(2 + random(3));                }        } else        {                msg = CYN "\n然而$n" CYN "以快对快,飞身一跳"                      "已然躲过$N" CYN "这一招。\n" NOR;                me->add("neili", -150);                me->start_busy(2);        }        message_vision(msg, me, target);        return 1;}

⌨️ 快捷键说明

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