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

📄 poshamie.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// posha 破杀灭
#include <ansi.h>
#include <combat.h>
inherit F_SSERVER;
#include "/kungfu/skill/eff_msg.h";
void remove_effect(object me, int f, int j);

int exert(object me)
{
        object weapon,victim_w,armor,ring;
        int damage,p,i;
        string msg,dodge_skill;
object target;        

        if( !target ) target = offensive_target(me);        if( !target        ||      !target->is_character()        ||      !me->is_fighting(target) ) return notify_fail(RED"你要对谁使用「破杀灭」。\n"NOR);


	if( (int)me->query("neili") < me->query("max_neili")/7+200 ) 
		return notify_fail("你的内力不够。\n");

	if ((int)me->query_skill("force", 1) < 300)
		return notify_fail("你的内功修为还不够。\n");

	if( (int)me->query("max_neili") < 2000 )
		return notify_fail("你的内力修为不够。\n");

	if(!wizardp(me) && (int)me->query_skill("jiuyin-zhengong", 1) )
		return notify_fail("你的杂学太多,无法对本门武功贯通使用!\n");
	if(!wizardp(me) && (int)me->query_skill("jiuyin-shenzhang", 1) )
		return notify_fail("你的杂学太多,无法对本门武功贯通使用!\n");
	if(!wizardp(me) && (int)me->query_skill("dafumo-quan", 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 (target->is_busy()) 
		return notify_fail("对方正忙着呢,赶快攻击吧!\n");		        
        msg = HBWHT "$N斗气暴发,贯通武学之精髓,使出了破气之绝学!\n" NOR;
	me->add("neili", -me->query("max_neili")/7);
        message_vision(msg, me, target);

        msg = HIR "$N使出「破杀灭」,五道真气,刺向$n的全身!\n";

        if( random(me->query("combat_exp")) > (int)target->query("combat_exp")/4 ) {
        msg += HIR "\n 破穴灭 !$p被真气点中全身穴位!\n" NOR;
                target->start_busy( (int)me->query_skill("force",1) / 60 + 3 );
        i=(int)me->query_skill("force",1) / 60 + 3;
       if (wizardp(me)) msg += HIR "\n 点穴时间"+i+"秒。\n" NOR;
if (userp(target))
{
        msg += HIY " 破防灭 !$p全身的防御完全被破坏!\n" NOR;
       if (target->query_temp("apply/armor") > 1)
        target->set_temp("apply/armor", target->query_temp("apply/armor")/2);
        if (target->query_temp("apply/dodge") > 1)
        target->set_temp("apply/dodge", target->query_temp("apply/dodge")/2);
        if (target->query_temp("apply/defense") > 1)
        target->set_temp("apply/defense", target->query_temp("apply/defense")/2);

        msg += HIW " 破攻灭 !$p使用的招式完全被封死!\n" NOR;
       if (target->query_temp("apply/attack") > 1)
        target->set_temp("apply/attack", target->query_temp("apply/attack")/2);
        if (target->query_temp("apply/damage") > 1)
        target->set_temp("apply/damage", target->query_temp("apply/damage")/2);

        msg += HIB " 破体灭 !$p的力量和速度完全被打乱!\n" NOR;
        if (target->query_temp("apply/strength") > 1)
        target->set_temp("apply/strength",target->query_temp("apply/strength")/2);
        if (target->query_temp("apply/dexerity") > 1)
        target->set_temp("apply/dexerity",target->query_temp("apply/dexerity")/2);
}
        msg += HIC " 破器灭 !$p的武器和防具失去了作用!\n\n" NOR;
        if( target->query_temp("armor/cloth")){
        armor = target->query_temp("armor/cloth");
	armor->unequip();
	armor->reset_action();
        }

        if( target->query_temp("armor/shield")){
        ring = target->query_temp("armor/shield");
	ring->unequip();
	ring->reset_action();
        }

        if( target->query_temp("armor/ring")){
        ring = target->query_temp("armor/ring");
	ring->unequip();
	ring->reset_action();
        }

        if( target->query_temp("armor/gem")){
        ring = target->query_temp("armor/gem");
	ring->unequip();
	ring->reset_action();
        }

        if( target->query_temp("armor/armor")){
        ring = target->query_temp("armor/armor");
	ring->unequip();
	ring->reset_action();
        }
        
	if (target->query_temp("weapon")){
	victim_w = target->query_temp("weapon");
        victim_w->unequip();
	victim_w->reset_action();
        }
        
        } else {
                msg += HIG"可是$p认识$P的历害,逃出了攻击范围。\n" NOR;
                me->start_busy(2);
        }
        message_combatd(msg, me, target);
        return 1;
}

⌨️ 快捷键说明

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