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

📄 nizhuan.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
//heijian-jindao 刀剑逆转
//by fqyy 2003.5.9
/*
左刀横斫,
右剑斜刺。本来刀法以刚猛为主,剑招以轻灵为先,两般兵刃的性子截然相反,一人同使刀
剑,几是绝不可能之事,但公孙谷主双手兵刃越使越急,而刀法剑法却分得清清楚楚,刚柔
相济,阴阳相辅,当真是武林中罕见的绝技。

想到此处,猛地□左刀右攻,右剑左击,使出他平生绝学“阴阳
倒乱刃法”来。黑剑本来阴柔,此时突然硬砍猛斫,变成了阳刚的刀法,而笨重长大的锯齿
金刀却刺挑削洗,全走单剑的轻灵路子,刀成剑,剑变刀,当真是奇幻无方。
*/
#include <ansi.h>
#include <combat.h> 

inherit F_SSERVER;

int perform(object me, object target)
{
	int i,skill;
	object *inv;
	object weapon2;
        object weapon = me->query_temp("weapon");  

        if( !target ) target = offensive_target(me);

        if( !target
        ||      !target->is_character()
        ||      !me->is_fighting(target) )
                return notify_fail("阴阳倒乱刃法只能对战斗中的对手使用。\n");

        if( me->query_dex() < 40 )
                return notify_fail("你在身法上先天禀赋不足,不能使用阴阳倒乱刃法!\n");
        
        if( me->query_skill("dodge") < 250 )
                return notify_fail("阴阳倒乱刃法需要超绝的轻功配合,方能有效施展!\n");

        if( me->query_skill("sword") < 250 )
                return notify_fail("你剑法未到炉火纯青之境,还不会使用阴阳倒乱刃法!\n");
        if( me->query_skill("blade") < 250 )
                return notify_fail("你刀法未到炉火纯青之境,还不会使用阴阳倒乱刃法!\n");
        if( me->query_skill("heijian-jindao",1) < 200 )
                return notify_fail("你黑剑金刀未到炉火纯青之境!\n");

        if( me->query("neili") <= 1000 )
                return notify_fail("你的内力不够使用阴阳倒乱刃法!\n");

        if( me->query("jing") <= 500 )
                return notify_fail("你的精力不够使用阴阳倒乱刃法!\n");

        if (!weapon)
                return notify_fail("你手中无剑怎能使用阴阳倒乱刃法?!\n");
        if (me->query_temp("heijian-jindao/nizhuan",1))
                return notify_fail("你正在使用阴阳倒乱刃法无法再阴阳倒乱刃法!\n");
        if (me->query_temp("heijian-jindao/luanren",1)&&me->query_skill("heijian-jindao",1)<300)
                return notify_fail("你这点功夫就想使用阴阳倒乱刃法?!\n");

        if ( me->query_skill_mapped("sword") != "heijian-jindao"
          || me->query_skill_mapped("parry") != "heijian-jindao"
          || me->query_skill_mapped("blade") != "heijian-jindao"
          && userp(me))
             	return notify_fail("你必须先将黑剑金刀相互配合。\n");
       inv = all_inventory(me);
       for(i=0; i<sizeof(inv); i++) {
           if( inv[i]->query("equipped") || weapon == inv[i] ) continue;
		if (weapon->query("skill_type") == "blade") {
        	   if( inv[i]->query("skill_type") == "sword" ) 
		   {
			   weapon2 = inv[i];
			   i = 3;
			   break;
		   }
		}
		if (weapon->query("skill_type") == "sword") {
   	        if( inv[i]->query("skill_type") == "blade" ) 
		   {
			   weapon2 = inv[i];
			   i = 2;
			   break;
		   }
		}
       }
	if (!objectp(weapon2)) return notify_fail("你只有一种兵器就想阴阳倒乱刃法?\n");
	if (me->query_temp("heijian-jindao/luanren",1)) {
       message_vision(HIC"\n$N猛地□左刀右攻,右剑左击,使出他平生绝学"HIW"“阴阳倒乱刃法”"HIC"来。\n"+
				"剑法本来阴柔,此时突然硬砍猛斫,变成了阳刚的刀法,\n"+
				"而笨重的刀法却刺挑削洗,全走单剑的轻灵路子,刀成剑,剑变刀,当真是奇幻无方。\n\n" NOR, me);
	} else {
       message_vision(HIW"\n$N招数突然一变,剑法本来阴柔,此时突然硬砍猛斫,变成了阳刚的刀法,\n"+
				"而笨重的刀法却刺挑削洗,全走单剑的轻灵路子,刀成剑,剑变刀,当真是奇幻无方。\n\n"NOR, me);
	}
        skill = me->query_skill("heijian-jindao", 1)/4*i;
        me->add_temp("apply/damage", skill/5 );
        me->set_temp("heijian-jindao/nizhuan",skill/5);
        if( me->is_fighting() && userp(me))
        	me->start_busy(2);
        me->add("neili", -500);
        me->add("jing", -100);
        call_out("remove_effect", 1, me, weapon,weapon2, skill/3);
        return 1;
}

void remove_effect(object me, object weapon,object weapon2, int count)
{
        if ( !me ) return;
        if (objectp(me) && me->query_temp("heijian-jindao/nizhuan")) {
          	if (count-- > 0
		&& me->is_fighting()
		&& me->query_skill_mapped("sword") == "heijian-jindao"
		&& me->query_skill_mapped("blade") == "heijian-jindao"
		&& me->query_temp("weapon")
		&& objectp(weapon2)
		&& weapon == me->query_temp("weapon")) {
              		call_out("remove_effect", 1, me, weapon,weapon2, count);
              		return;
          	}
	        me->add_temp("apply/damage", -me->query_temp("heijian-jindao/nizhuan",1));
          	me->delete_temp("heijian-jindao/nizhuan");
       message_vision(HIY"\n$N知道自己这刀法剑法逆转的破绽极大,不敢多用,慢慢收回了攻势。\n\n" NOR, me);
        }
}

⌨️ 快捷键说明

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