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

📄 xuanjian.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// jianzhang.c  #include <ansi.h>#include <skill.h>#include <weapon.h>#include <combat.h>#include "/kungfu/skill/eff_msg.h"inherit F_SSERVER;int perform(object me, object target){	object weapon, ob;        string msg, string1;        int count,damage,p;int extra;  if( !target ) target = offensive_target(me);	if( !target	||	!target->is_character()	||	!me->is_fighting(target) )		return notify_fail("只能在战斗中使用。\n");        if (!objectp(weapon = me->query_temp("weapon"))        || (string)weapon->query("skill_type") != "sword")            return notify_fail("你使用的武器不对。\n");	if(me->is_busy())		return notify_fail("你现在没空!!\n");	if( (int)me->query("neili") < 2000  ) 		return notify_fail("你的内力不够。\n");	if( (int)me->query("neili") < me->query("max_neili")/7+200 ) 		return notify_fail("你的内力不够。\n");       if( !wizardp(me) &&(int)me->query_skill("yuxiao-jian", 1) < 500 )		return notify_fail("你的本门外功不够!不能贯通使用!\n");	if(!wizardp(me) && (int)me->query_skill("tanzhi-shentong", 1) < 500 )		return notify_fail("你的本门外功不够高!不能贯通使用!\n");	if(!wizardp(me) && (int)me->query_skill("bibo-shengong", 1) < 500 )		return notify_fail("你的本门内功不够高!不能贯通使用!\n");	if(!wizardp(me) && (int)me->query_skill("jiuyin-zhengong", 1) )		return notify_fail("你的杂学太多,无法对本门武功贯通使用!\n");        if (!wizardp(me) && !me->query("guard/flag"))		return notify_fail("你的江湖经验还不够,无法对本门武功贯通使用!\n");        if (!wizardp(me) && !me->query("guard/ok"))		return notify_fail("你还没有通过华山论剑! 无法对本门武功贯通使用!\n");        if ( !wizardp(me) && me->query_skill_mapped("force") != "bibo-shengong")                return notify_fail("不使用本门内功,如何使用本门绝学!\n");        msg = HBWHT "$N贯通桃花岛武学,使出了桃花岛的绝学之精髓!\n" NOR;	me->add("neili", -me->query("max_neili")/7);        message_vision(msg, me, target);          	extra = me->query_skill("yuxiao-jian",1) / 20;	extra += me->query_skill("bibo-shengong",1) /10;	me->add_temp("apply/attack", extra);		me->add_temp("apply/damage", extra*2);	msg = YEL "$N剑掌交叉,使出桃花岛绝技「狂风绝技」,身法陡然加快!" NOR;	message_vision(msg, me, target);                	msg =  YEL  "$N聚力于左掌,右腿一脚跟着踢出!" NOR;        COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);target->receive_wound("qi",random((int)me->query_skill("bibo-shengong",1)));        msg = CYN  "人影中,$N翻身而起,左掌大力得挥向$n!" NOR;          COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);target->receive_wound("qi",random((int)me->query_skill("bibo-shengong",1)));        msg = YEL  "$N见$n门户大开,暗运内力,双腿连环踢向$n!" NOR;          COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);target->receive_wound("qi",random((int)me->query_skill("bibo-shengong",1)));        msg = CYN  "$N越战越勇,周围骤起一阵旋风,使得$n看不清方向!" NOR;          COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);target->receive_wound("qi",random((int)me->query_skill("bibo-shengong",1)));        msg = YEL "$N如星光乍现,右掌略带悠然之色轻拍$n!" NOR;          COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);target->receive_wound("qi",random((int)me->query_skill("bibo-shengong",1)));	msg = CYN "$N长啸一声,面如赤发,忽然转到$n身后,反手又是一掌!" NOR;          COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);target->receive_wound("qi",random((int)me->query_skill("bibo-shengong",1)));	me->add_temp("apply/attack", -extra);		me->add_temp("apply/damage", -extra*2);if ( me->query_skill("yuxiao-jian",1) >230){        msg = HIG HIG"$N一声清啸,剑发琴音,深吸一口气,剑附内力,一式「天外清音」,"+weapon->name()+"闪动不止,剑影如夜幕般扑向$n。\n"NOR;	extra = me->query_skill("yuxiao-jian",1) / 5;	extra += me->query_skill("bibo-shengong",1) /5;	me->add_temp("apply/attack", extra);		me->add_temp("apply/damage", 2*extra);       COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);target->receive_wound("qi",random((int)me->query_skill("bibo-shengong",1)));	me->add_temp("apply/attack", -extra);		me->add_temp("apply/damage", -2*extra);	me->add("neili", -150);}    msg = HIG "$N默运落英心法,使出落英神掌「玄」字诀,从半空中撒出一片掌影逼向$n。\n"NOR;	if (random(me->query("combat_exp")) > (int)target->query("combat_exp") / 3)     {        damage = (int)me->query_skill("bibo-shengong", 1);         damage = damage/2 + random(damage);        target->receive_damage("qi", damage*2);        target->receive_wound("qi", damage/2);        if ( damage < 40 ) msg += HIY"结果$N受到$n的内力反震,虽然击中$N,自己却闷哼一声向后退了两步。\n"NOR;        else if( damage < 80 ) msg += RED"结果$N被$n以内力反震,胸口有如受到一记重锤,连退了五六步!\n"NOR;        else msg += HIR"$n茫然不知所措,结果被$N一掌击中前胸,$n眼前一黑,被击飞出两丈许!!!\n"NOR;	message_combatd(msg, me, target);	COMBAT_D->report_status(target);    } else    {        msg += HIG"可是$p看破了$P的企图,早就闪在了一边。\n"NOR;	message_combatd(msg, me, target);    }	msg = CYN "$N双手一前一后,缓缓伸出,中指突地一弹,两道劲风汇成一股,“咝咝”有声,直袭$n前胸。\n";	damage = (int)me->query_skill("tanzhi-shentong", 1) + (int)me->query_skill("bibo-shengong", 1) + 500;	damage += random(damage / 2);	if (random(me->query("combat_exp")) > (int)target->query("combat_exp") / 3) {		msg += "$n躲闪不及,“噗”地一声,被指劲击中前胸!\n";		target->receive_damage("qi", damage*2);		target->receive_wound("qi", damage / 3);                p = (int)target->query("qi") * 100 / (int)target->query("max_qi");		msg += RED "$n胸口一阵巨痛,大叫倒地!\n" ;	} 	else if (random(me->query("combat_exp")) > (int)target->query("combat_exp") * 2 / 3) {		msg += "$n向旁边一闪,让过了劲风,没想到这股指劲竟然有回力,从$n背后倒转回来,正刺中$p的后背。\n";		target->receive_damage("qi", damage / 3);		target->receive_wound("qi", damage / 9);                p = (int)target->query("qi") * 100 / (int)target->query("max_qi");		msg += RED "$n觉的胸口有点痛!\n" ;	}	else {		msg += "$n向旁边一闪,让过了劲风,却忽然发觉这股指劲竟然有回力,匆忙中只好一个前扑才堪堪躲过,模样狼狈之极。\n" NOR;	}	message_vision(msg, me, target);	me->start_busy(4);	return 1;}

⌨️ 快捷键说明

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