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

📄 sandie.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
#include <ansi.h>inherit F_SSERVER;#include "/kungfu/skill/eff_msg.h"; int perform(object me, object target){               string msg;        int damage, p;        if( !target ) target = offensive_target(me);          if( !target || !target->is_character()           || !me->is_fighting(target) || !living(target) )                return notify_fail("「阳关三叠」只能在战斗中使用。\n");                if( objectp( me->query_temp("weapon")) )                return notify_fail("只有空手才能施展「阳关三叠」。\n");        if( (int)me->query_skill("yiyang-zhi", 1) < 100 ||            (int)me->query_skill("finger", 1) < 100 ||            (int)me->query_str() < 25)                return notify_fail("你有的功夫还不够娴熟,不会使用「阳关三叠」。\n");        if(!me->query_skill("kurong-changong", 1))           if(me->query_skill("kurong-changong", 1) <180)                return notify_fail("以你现在的内功修为还使不出「阳关三叠」。\n");                 //           if (me->query_skill_mapped("force") != "kurong-changong" )//            if (me->query_skill_mapped("force") != "qiantian-yiyang")//                return notify_fail("你所使用的内功不对。\n");        if ( me->query_skill_mapped("finger") != "yiyang-zhi" )                return notify_fail("你现在无法使用「阳关三叠」进行攻击。\n");        //            if (me->query_skill_mapped("parry") != "kurong-changong" )            if (me->query_skill_mapped("parry") != "yiyang-zhi")                return notify_fail("你所使用的招架不对。\n");        if( (int)me->query("neili") < 1200 )                return notify_fail("你的内力修为太弱,不能使用「阳关三叠」!\n");                if( (int)me->query("neili") < 800 )                return notify_fail("你的真气不够!\n");  if( target->is_busy() )                return notify_fail("对方已经手忙脚乱了!\n");//modified by cool for hamagong        if (me->query("yd_2") && (target->query_skill_mapped("force")=="hamagong" ||             target->query_skill_mapped("strike") == "hamagong")){            msg = YEL "\n$N背向$n,凝气于指,一式「阳关三叠」反手缓缓点出,纯阳指力直袭$n胸口!\n" NOR;         if (random(me->query_skill("force",1)) > target->query_skill("force",1) /3          || random(me->query("combat_exp")) > target->query("combat_exp")/2 ){                me->start_busy(1);                if (!target->is_busy()) target->start_busy(2);                damage = (int)me->query_skill("yiyang-zhi", 1);//                damage = (int)me->query_skill("qiantian-yiyang", 1) +damage;                damage = (int)me->query_skill("kurong-changong", 1) +damage;                damage = random(damage)+150;                target->receive_damage("qi", damage);                target->receive_wound("qi", damage);               target->apply_condition("yyz_damage",50);                me->add("neili", -100);                p = (int)target->query("qi")*100/(int)target->query("max_qi");                msg += HIR "$n一见之下,大为失色,发现这似乎正是自己的克星!\n"NOR;                   msg += damage_msg(damage, "内伤");                msg += "( $n"+eff_status_msg(p)+" )\n";                }          else {                       me->start_busy(random(2)+1);                me->add("neili", -100);                                msg += HIY"$p见这反手点穴似乎正是蛤蟆功的克星,识得厉害,危及之中一个铁板桥,上身向后一倒,艰难的躲过这一招。\n"NOR;                }         }       else{         msg = YEL "\n$N凝气于指,一式「阳关三叠」点出,但听得嗤嗤声响,一股纯阳的内力直袭$n胸口!\n" NOR;          if (random(me->query_skill("parry")) > target->query_skill("parry") / 3)             {                me->start_busy(2);                if (!target->is_busy()) target->start_busy(2);target->apply_condition("yyz_damage",50);                damage = (int)me->query_skill("yiyang-zhi", 1);  //              damage = (int)me->query_skill("qiantian-yiyang", 1) +damage;                damage = (int)me->query_skill("kurong-changong", 1) +damage;       damage = damage + random(damage/2);                target->receive_damage("qi", damage*2);                target->receive_wound("qi", damage);                            me->add("neili", -(damage/5));                p = (int)target->query("qi")*100/(int)target->query("max_qi");                msg += damage_msg(damage, "内伤");                msg += "( $n"+eff_status_msg(p)+" )\n";                if(me->query_skill("yiyang-zhi", 1) > 180)                call_out("perform2", 0, me, target);                  }          else {                       me->start_busy(2);                me->add("neili", -100);                                msg += HIY"可是$p一个巧云翻身,远远的躲了开去。\n"NOR;              }         }                 message_vision(msg, me, target);        return 1;}int perform2(object me, object target){        string msg;        if (!me){        me->delete_temp("yyz_hama"); return notify_fail("你已经断线了。\n");}        if (!target){        me->delete_temp("yyz_hama");         return notify_fail("敌人已经不在了。\n");}        if(!living(target)) {        me->delete_temp("yyz_hama");          return notify_fail("对手已经不能再战斗了。\n");  }        if( (int)me->query("neili", 1) < 600 ){        me->delete_temp("yyz_hama");                return notify_fail("你待要再出第二指,却发现自己的内力不够了!\n");     }               msg = YEL "\n接着$N踏前一步,出第二指隔空点向$n胸前“玉堂穴”,认穴竟无厘毫之差!\n"NOR;        if (random(me->query_skill("dodge")) > target->query_skill("dodge") / 3){                                me->start_busy(2);                                msg += HIR "结果一指点中,$n只觉得全身气脉通道阻塞,真气立受干挠!\n"NOR;                   target->start_busy(me->query_skill("force",1)/50+3);                me->add("neili", -(me->query_skill("force",1)/4));//else            msg += HIG "结果一指点中,但$n已经全身气脉通道阻塞,看来没有什么效果!\n"NOR;                   if((int)me->query_skill("yiyang-zhi", 1) > 249)                call_out("perform3", 0, me, target);                    }         else {           me->start_busy(2);           me->add("neili", -150);           target->add("neili", -50);           msg += HIY"\n$p眼看逼无可逼,便也一指点去,两根指尖相碰,$p顺势跳了开去。\n" NOR;           }        message_vision(msg, me, target);        return 1;}int perform3(object me, object target){        int skill;        string msg;        if (!me){        me->delete_temp("yyz_hama");         return notify_fail("你已经断线了。\n");}        if (!target){        me->delete_temp("yyz_hama");         return notify_fail("敌人已经不在了。\n");}        skill = (int)me->query_skill("yiyang-zhi", 1);                        skill = skill/10;               if(!living(target)) {        me->delete_temp("yyz_hama");          return notify_fail("对手已经不能再战斗了。\n");}        if( (int)me->query("neili", 1) < 400 ){        me->delete_temp("yyz_hama");                return notify_fail("你待要再出第三指,却发现自己的内力不够了!\n");     }        msg = YEL "\n紧跟着$N一阳指第三次点出,以纯阳内力,同时透入$n体内任脉紫宫穴、阴维脉大横穴、冲脉幽门穴、带脉章门穴和阴跤脉晴明穴!\n"NOR;                if (random(me->query_skill("force")) > target->query_skill("force") / 3){                                me->add("neili", -100);                msg += HIR "$n只觉体内奇经八脉中内息为之一怠,全身气力竟然提不起来了!\n" NOR;                target->add_temp("apply/attack", -100);                target->add_temp("apply/dodge", -100);                target->add_temp("apply/parry", -100);                  target->add("neili", -500);                                 call_out("back", 3 + skill, target);                }         else {//                me->start_busy(target->query_skill("force",1)/30);                me->start_busy(2);                me->add("neili", -200);//                target->start_busy(2);                msg += HIY"\n$p喘息未定,见$P指力如狂风般点来,连忙又跃开数尺,狼狈地避开。\n" NOR;             }        message_vision(msg, me, target);        return 1;}void back(object target){    if (!target) return;        target->add_temp("apply/attack", 100);        target->add_temp("apply/dodge", 100);        target->add_temp("apply/parry", 100);}

⌨️ 快捷键说明

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