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

📄 jinxian.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
//Cracked by Kafei// jinxian.c// 大罗金仙化功杖// sdong 7/6/99#include <ansi.h>inherit F_DBASE;inherit F_SSERVER;void qi_suck(object me, object target);void neili_suck(object me, object target);int perform(object me, object target){  object ob;  string msg;  int damage;  int finger, skill, jiali, my_rate, your_rate;        int sp, dp;        int dmg;        if( !target ) target = offensive_target(me);        if( !target ) return notify_fail("你要吸取谁的内力?\n");        if( !objectp(target) || target == me        || target->query("id") == "mu ren"        || target->query("id") == "shangshan"        || target->query("id") == "mengzhu"        || target->query("id") == "fae" )                return notify_fail("你要吸取谁的内力?\n");        if ( me->query_temp("sucked") )                return notify_fail("你刚刚吸取过内力!\n");        if( !me->is_fighting() || !target->is_fighting() || !living(target) )                return notify_fail("你必须在战斗中才能吸取对方的内力!\n");  if( me->query_skill_mapped("force") != "huagong-dafa" )         return notify_fail("你所用的并非化功大法,不能吸取对方的内力!\n");        if( (int)me->query_skill("huagong-dafa",1) < 60 )                return notify_fail("你的化功大法功力不够,不能吸取对方的内力!\n");        if( (int)me->query("neili") < 20 )                return notify_fail("你的内力不够,不能使用化功大法。\n");        if( (int)me->query("neili") >= (int)me->query("max_neili") * 5 )                return notify_fail("你吸取的内力充塞全身,无法再吸取内力!\n");  if( (skill = (int)me->query_skill("tianshan-zhang", 1)) < 100 )         return notify_fail("你的天山杖法不够娴熟,不会使大罗金仙化功杖。\n");  msg = HIM "\n$N突然间手舞足蹈,口中念念有词,诵道:“星宿神功,威震寰宇,古今无比”,\n";  msg += HIM "跟着将手中杖向空中连连抛送,毫无章法,好似跳大罗金仙舞,让人瞠目结舌。\n\n"NOR;  message_vision(msg, me, target );  me->start_busy(2);        if( (int)target->query("neili") < 100         || (int)target->query("jing") < 100 )         {                if( random(4) ) call_out("qi_suck", 1 + random(3), me, target );                else return notify_fail( target->name() + "已经内力涣散,你已经无法从他体内吸取任何内力了!\n");                return 1;         }        if( (int)target->query("neili") < (int)target->query("max_neili") / 10         || (int)target->query("jing") < (int)target->query("max_jing") / 5 )         {                if( random(4) ) call_out("qi_suck", 1 + random(3), me, target );                else return notify_fail( target->name() + "已经内力涣散,你已经无法从他体内吸取任何内力了!\n");                return 1;         }         if(random(3)) call_out("neili_suck", 1 + random(5), me, target );         else  call_out("qi_suck", 1 + random(5), me, target );  return 1;}void neili_suck(object me, object target){  object ob;  string msg;  int damage;  int finger, skill, jiali, my_rate, your_rate;        int sp, dp;        int dmg;        if( !target ) target = offensive_target(me);        if( !target ) return;        if( !objectp(target) ) return;        if( environment(target) != environment(me) )return;        message_vision(                HIW "$N一张脸突然变得惨白,于乱杖之中,左掌直出,猛地对准$n的膻中大穴按了上去!\n\n" NOR,                me, target );        if( !target->is_killing(me) ) target->kill_ob(me);        sp = me->query_skill("force") + me->query_skill("dodge") + me->query_kar();        dp = target->query_skill("force") + target->query_skill("dodge") + target->query_kar();                  sp *= me->query("combat_exp")/1000;                  dp *= target->query("combat_exp")/1000;        me->set_temp("sucked", 1);        if( random(sp+dp) > dp )        {                message_vision(                        HIR "$N顿觉膻中微痛,如同被尖针刺了个小孔,全身内力如水银般循孔飞泄而出!\n\n" NOR,                        target );                tell_object(me, HIG "你觉得" + target->name() + "的内力自手掌源源不绝地流了进来。\n" NOR);target->apply_condition("corpse_poison",60);                target->add("neili", -1*(int)me->query_skill("force") );                me->add("neili", ((int)me->query_skill("force")));                if( target->query("combat_exp") >= me->query("combat_exp")/2 ) {                        me->add("potential", 1);                        me->add("combat_exp", 1);                }                me->start_busy(1+random(3));                me->add("neili", -(int)me->query_skill("force")/6 );                me->add("jing", -5);                dmg = random( me->query_skill("force")/100 ) * me->query("neili");                if( dmg > 2000) dmg=2000;                if( dmg <700) dmg=700;                target->receive_damage("qi", dmg,me );                target->receive_wound("qi", random(dmg), me);                target->add("jing", -random(dmg)/4);                COMBAT_D->report_status(target);                call_out("del_sucked", 1+random(2), me);        }        else        {                if( target->query("race") != "人类" )                        message_vision(HIY "可是$p看破了$P的企图,闪开了。\n" NOR, me, target);                else                        message_vision(HIY "可是$p看破了$P的企图,冷笑道:“这种幛眼法也骗得了我!”,说完倏地闪开了。\n" NOR, me, target);                message_vision(RED "结果$N反而手忙脚乱,空耗了不少内力。\n" NOR, me );                me->add("jing", -5);                me->add("neili", -random(me->query_skill("force")) );                me->start_busy(1 + random(3) );                call_out("del_sucked", 1+random(3), me);        }}void qi_suck(object me, object target){  object ob;  string msg;  int damage;  int finger, skill, jiali, my_rate, your_rate;  int sp, dp;  int dmg;        if( !target ) target = offensive_target(me);        if( !target ) return;        if( !objectp(target) ) return;        if( environment(target) != environment(me) )return;        message_vision(                HIB "$N突然诡异的一笑,双手一扬,于乱杖之中,拇指对准$n的掌心按了过来!\n\n" NOR,                me, target );        if( !target->is_killing(me) ) target->kill_ob(me);        sp = me->query_skill("force") + me->query_skill("dodge") + me->query_kar();        dp = target->query_skill("force") + target->query_skill("dodge") + target->query_kar();                  sp *= me->query("combat_exp")/1000;                  dp *= target->query("combat_exp")/1000;        me->set_temp("sucked", 1);        if( random(sp+dp) > dp )        {                tell_object(target, HIR "你突然觉得全身真气自手掌奔涌而出,四肢无力,再也使不出劲来!\n" NOR);                tell_object(me, HIG "你觉得" + target->name() + "的真气自手掌源源不绝地流了进来。\n" NOR);                message_vision(                        HIR "$N觉得全身真气自手掌奔涌而出,四肢无力,再也使不出劲来!\n\n" NOR,                        target );                me->add("qi", (int)me->query_skill("force") );                if( target->query("combat_exp") >= me->query("combat_exp")/2 )                        me->add("combat_exp",1);                me->start_busy(random(2));                target->start_busy(random(2));                me->add("neili", -(int)me->query_skill("force")/6);                me->add("jing", -5);                dmg = random( me->query_skill("force")/100 )* me->query("neili");                if( dmg > 3000) dmg=3000;                if( dmg <700) dmg=700;                target->receive_damage("qi", dmg, me );                target->receive_wound("qi", random(dmg), me);                COMBAT_D->report_status(target);                call_out("del_sucked", 1, me);        }        else        {                if( target->query("race") != "人类" )                        message_vision(HIY "可是$p看破了$P的企图,哼地一声闪了开去。\n" NOR, me, target);                else if( target->query("family/family_name") != "星宿派")                        message_vision(HIY "可是$p看破了$P的企图,哼地一声:“星宿老妖的徒子徒孙也就这水平?”,飘然闪了开去。\n" NOR, me, target);                else                        message_vision(HIY "可是$p看破了$P的企图,哼地一声:“这招骗别人还行,骗我?”,飘然闪了开去。\n" NOR, me, target);                message_vision(RED "结果$N反而手忙脚乱,白费劲。\n" NOR, me );                me->add("jing", -5);                me->add("neili", -random(me->query_skill("force")) );                me->start_busy(2);                call_out("del_sucked", 1+random(2), me);        }}void del_sucked(object me){        if ( me->query_temp("sucked"))        me->delete_temp("sucked");}

⌨️ 快捷键说明

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