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

📄 po.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// po.c 破字诀#include <ansi.h>inherit F_SSERVER;int perform(object me, object target){        string msg;        object weapon, weapon2;        int n;        int skill, skill2, ap, dp, damage;        string type;        if (! target)        {                me->clean_up_enemy();                target = me->select_opponent();        }        skill = me->query_skill("never-defeated", 1);        skill2 = me->query_skill("never-defeated", 1);        if (! me->is_fighting(target))                return notify_fail("破字诀只能对战斗中的对手使用。\n");        if (! objectp(weapon = me->query_temp("weapon")))                return notify_fail("你必须手持兵刃才能施展破字诀!\n");//       if( !me->query("zhuanbest",1))//        return notify_fail("你没有资格使用这项技能!\n");       if( !me->query("4zhuan") && !me->query("5zhuan"))        return notify_fail("你没有资格使用这项技能!\n");        type = weapon->query("skill_type");        if (me->query_skill(type, 1) < 150)                return notify_fail("你的" + to_chinese(type) + "水平有限,无法施展破字诀!\n");        if (me->query_skill_mapped(type) != "never-defeated")                return notify_fail("你没有激发不败神功,无法施展破字诀!\n");        if (skill < 100)                return notify_fail("你的不败神功等级不够,无法施展破字诀!\n");        if (me->query("neili") < 150)                return notify_fail("你现在真气不够!\n");       if (! living(target))              return notify_fail("对方都已经这样了,用不着这么费力吧?\n");        me->add("neili", -100);        ap = skill * 3 / 2 + skill2 * 3 / 2;        dp = target->query_skill("parry") +             target->query_skill("unarmed", 1);        msg = HIC "$N" HIC "手中" + weapon->name() +              HIC "一抖,犹如夜雨流星,铺天盖地的攻向$n"              HIC ",没有半点规矩可循。\n" NOR;        if (ap / 2 + random(ap * 2) > dp)        {                n = 4 + random(4);                if (ap / 2 + random(ap) > dp)                {                        msg += HIY "$n" HIY "见来招即巧又拙,不同于人间"                               "任何招式,不禁大为慌乱,一时破绽迭出,$N"                               HIY "见状连出" + chinese_number(n) + "招!\n" NOR;                        message_vision(msg, me, target);                        me->start_busy(1 + random(n));                        while (n-- && me->is_fighting(target))                        {                                if (random(2) && ! target->is_busy())					target->start_busy(1);                                COMBAT_D->do_attack(me, target, weapon, 0);                        }                        weapon2 = target->query_temp("weapon");                        if (weapon2 && random(ap) / 2 > dp && weapon2->query("type") != "pin")                        {                                msg = HIW "$n" HIW "觉得眼前眼花缭乱,手中的" + weapon2->name() +                                      HIW "一时竟然拿捏不住,脱手而出!\n" NOR;                                weapon2->move(environment(me));                        } else                        {                                msg = HIY "$n竭力抵挡,一时间再也无力反击。\n" NOR;                        }if (me->query("zhuanfinal/1") ==1 && random(2)==0){	if (userp(target))	target->receive_wound("qi", target->query("qi")/8);        if (!userp(target))         target->receive_wound("qi", 500);	msg +=RED"$N使用了斩仙决!!$n突然胸口一痛鲜血狂奔!\n"NOR;}elseif (me->query("zhuanfinal/2") ==1 && random(2)==0){	if (userp(target))	target->add("neili", -target->query("neili")/8);        if (!userp(target))         target->add("neili", -500);	msg +=HIY"$N使用了破仙决!!$n突然内力消失!\n"NOR;}elseif (me->query("zhuanfinal/3") ==1 && random(2)==0){	if (!target->is_busy())	target->start_busy(4);	msg +=HIY"$N使用了乱仙决!!$n突然手忙脚乱!\n"NOR;}                        if (! me->is_fighting(target))                                // Don't show the message                                return 1;                } else                {                        msg += HIY "$n" HIY "只办了个勉力遮挡,全然无法反击。\n" NOR;                        target->start_busy(2 + random(skill / 50));                }        } else        {                msg += HIC "不过$n" HIC "一丝不苟,严守门户,没有露出半点破绽。\n" NOR;                me->start_busy(3);        }        message_vision(msg, me, target);        return 1;}

⌨️ 快捷键说明

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