Example #1
0
int exert(object me, object target)
{
	int sp, dp;

  if ( userp(me) && !wizardp(me) && 
  !me->query("perform/fanchang") &&
  !me->query("can_perform/longxinag/fanchang") && 
  !me->query_temp("murong/xingyi"))
   return notify_fail("你所使用的内功中没有这种功能。");

	if( environment(me)->query("no_fight") )
		return notify_fail("这里不能攻击别人! \n");
		
	if( !objectp(target) ) target = offensive_target(me);

	if( !target || !target->is_character() || target == me ) 
		return notify_fail("你要对谁使用梵唱?\n");
	notify_fail("不是你要抓的人,凑什么热闹!\n");
	if (!userp(target) && !target->accept_hit(me)) return 0;

	if( (int)me->query_skill("longxiang",1) < 50 )
		return notify_fail("你的龙象般若功功力不够,不能凝神攻击对方!\n");

	if( (int)me->query("neili",1) < 50 )
		return notify_fail("你的内力不够,不能使用龙象般若功。\n");

	message_combatd(HIW "$N面无表情,歌声如梵唱般贯入$n耳中!\n\n" NOR, me, target );

        if( living(target) && !target->query_temp("noliving") )
		if( !target->is_killing(me) )
			target->kill_ob(me);

	sp = me->query_skill("force") + me->query_skill("lamaism") + me->query_skill("longxiang",1)/2;
	dp = target->query_skill("force");
	
	if (( random(sp) > random(dp) ) ||
		!living(target) || target->query_temp("noliving") )
	{
		tell_object(target, HIW"你忽然觉得脑中一片空白,不由自主地随歌声舞蹈起来!\n" NOR);
		tell_object(me, HIB"你看到" + target->name() + "随着你的歌声手舞足蹈,十分可笑。\n" NOR);

		target->receive_damage("jing", 10 + random((int)me->query_skill("longxiang", 1)) );
		
		if( target->query("combat_exp") >= me->query("combat_exp") )
				me->add("potential", 1);

		me->start_busy(2);
		target->start_busy(random(3));
		me->add("neili", -50);

	}
	else
	{	
		message_combatd(HIY "可是$p不为$P歌声所动,定力果然不同凡响!\n" NOR, me, target);
		me->start_busy(4);
	}

	return 1;
}
Example #2
0
int exert(object me, object target)
{
  if ( userp(me) && !wizardp(me) && 
  !me->query("perform/lifeheal") &&
  !me->query("can_perform/hunyuan-yiqi/lifeheal") && 
  !me->query_temp("murong/xingyi"))
   return notify_fail("你所使用的内功中没有这种功能。");

	if( !target || !target->is_character() || target == me )
		return notify_fail("你要用真气为谁疗伤?\n");

	notify_fail("不是你要抓的人,凑什么热闹!\n");
	if (!userp(target) && !target->accept_hit(me)) return 0;
	
	if( me->is_fighting() || target->is_fighting())
		return notify_fail("战斗中无法运功疗伤!\n");

	if( me->is_busy() )
		return notify_fail("你现在正忙着呢,哪有空运功?\n");

	if( target->is_busy())
		return notify_fail(target->name()+"现在正忙着呢!\n");

	if( (int)me->query_skill("hunyuan-yiqi") < 20 )
		return notify_fail("你的混元一气功修为不够。\n");

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

	if( (int)me->query("neili") < 150 )
		return notify_fail("你的真气不够。\n");
/*
	if( (int)target->query("eff_qi") >= (int)target->query("max_qi") )
		return notify_fail( target->name() + "只是累了,没有受伤,不必劳起你的真气疗伤!\n");
*/
	if( (int)target->query("eff_qi") < (int)target->query("max_qi") / 5 )
		return notify_fail( target->name() + "已经受伤过重,经受不起你的真气震荡!\n");

	message_combatd( HIY "$N坐了下来运起内功,将手掌贴在$n背心,缓缓地将真气输入$n体内....\n\n过了不久,$N额头上冒出豆大的汗珠,$n吐出一口瘀血,脸色看起来红润多了。\n" NOR, me, target );

	target->receive_curing("qi", 10 + (int)me->query_skill("force")/3 );
	target->add("qi", 10 + (int)me->query_skill("force")/3 );
	if( (int)target->query("qi") > (int)target->query("eff_qi") )
		target->set("qi", (int)target->query("eff_qi"));

	me->add("neili", -100);
	me->start_busy(1);

//evil 注意了 在这里加上 userp(target)判断target(即疗伤对象)是不是玩家
//如果是玩家 则加上busy 2秒 如果不是玩家 是npc npc不busy 

	if ( userp(target)) target->start_busy(2);

	return 1;
}
Example #3
0
int exert(object me, object target)
{
	int sp, dp;
	int my_max, tg_max;

  if ( userp(me) && !wizardp(me) && 
  !me->query("perform/jinglisuck") &&
  !me->query("can_perform/huagong-dafa/jinglisuck") && 
  !me->query_temp("murong/xingyi"))
   return notify_fail("你所使用的内功中没有这种功能。");
	if ( target == me ) target = offensive_target(me);


	if( environment(me)->query("no_fight") )
		return notify_fail("在这里不能攻击他人。\n");

	if( !objectp(target) ||
		target->query("id") == "gongping zi" ||
		target->query("id") == "zhang men" ||
		target->query("id") == "mu ren" ||
		target->query("id") == "shi ren" ||
		target->query("id") == "jiguan ren" ||
		target->query("id") == "xiangpi ren" ||
		target->query("id") == "jin ren" ||
		target->query("id") == "du jiangshi")
		return notify_fail("你要吸取谁的精力?\n");
	notify_fail("不是你要抓的人,凑什么热闹!\n");
	if (!userp(target) && !target->accept_hit(me)) return 0;
	
	if (target->query("race") != "人类")
		return notify_fail("搞错了!只有人才能有精力!\n");

	my_max = me->query("max_jingli");
	tg_max = target->query("max_jingli");

	if ( me->query_temp("sucked") )
		return notify_fail("你刚刚吸取过精力!\n");

	if( objectp(me->query_temp("weapon")) )
		return notify_fail("你必须空手才能施用化功大法吸人精力!\n");

//	if( !me->is_fighting() || !target->is_fighting())

	if( (int)me->query_skill("huagong-dafa",1) < 100 )
		return notify_fail("你的化功大法功力不够,不能吸取对方的精力!\n");

	if( (int)me->query("neili",1) < 20 )
		return notify_fail("你的内力不够,不能使用化功大法。\n");

	if( (int)target->query("max_jingli") < 10 )
		return notify_fail( target->name() +
			"精力涣散,功力未聚,你无法从他体内吸取任何东西!\n");

	if( (int)target->query("max_jingli") < (int)me->query("max_jingli")/10 )
		return notify_fail( target->name() +
			"的内功修为远不如你,你无法从他体内吸取精力!\n");

	message_combatd(
		HIR "$N全身骨节爆响,双臂暴长数尺,掌缘猛地向$n的天灵拍了下去!\n\n" NOR,
		me, target );

        if ( living(target) && !target->query_temp("noliving") )
	{
		if( !target->is_killing(me) ) target->kill_ob(me);
	}

	sp = me->query_skill("force") + me->query_skill("dodge") + me->query_skill("zhaixinggong",1)/2;
	dp = target->query_skill("force") + target->query_skill("dodge");

	me->set_temp("sucked", 1);		

	if (( random(sp) > random(dp) ) ||
		!living(target) || target->query_temp("noliving") )
	{
		tell_object(target, HIR"你只觉天顶骨裂,全身功力贯脑而出,如融雪般消失得无影无踪!\n" NOR);
		tell_object(me, HIG"你觉得" + target->name() + "的精力自手掌源源不绝地流了进来。\n" NOR);

		target->add("max_jingli", -1*(1+(me->query_skill("huagong-dafa", 1)-100)/5) );
		if ((int)me->query("max_jingli") <
                    ((int)me->query_skill("taoism",1) * 10))
		{
			me->add("max_jingli", 1*(1+(me->query_skill("huagong-dafa", 1)-100)/5) );
			me->add("jingli", 1*(1+(me->query_skill("huagong-dafa", 1)-100)/5) );
		}
		if( target->query("max_jingli") <1) target->set("max_jingli",0);

//		if( (int)me->query("potential") - (int)me->query("learned_points") < 90 ) 
		me->add("potential",  3);
		me->add("combat_exp", 10);

		me->start_busy(7);
		target->start_busy(random(7));
		me->add("neili", -10);

		call_out("del_sucked", 10, me);
	}
	else
	{	
		message_combatd(HIY "可是$p看破了$P的企图,内力猛地一震,借势溜了开去。\n" NOR, me, target);
		me->start_busy(7);
		call_out("del_sucked", 20, me);
	}

	return 1;
}
Example #4
0
int exert(object me, object target)
{
	int sp, dp;
	int my_max, tg_max;

/*  if ( userp(me) && !wizardp(me) && 
  !me->query("perform/maxsuck") &&
  !me->query("can_perform/xixing-dafa/maxsuck") && 
  !me->query_temp("murong/xingyi"))
   return notify_fail("你所使用的内功中没有这种功能。");
*/
	if( !target || !target->is_character() || target == me )
	 target = offensive_target(me);

	if( environment(me)->query("no_fight") )
		return notify_fail("在这里不能攻击他人。\n");

	if( !objectp(target) ||
		target->query("id") == "zhang men" ||
		target->query("id") == "gongping zi" ||
		target->query("id") == "jin ren" ||
		target->query("id") == "mu ren" ||
		target->query("id") == "shi ren" ||
		target->query("id") == "jiguan ren" ||
		target->query("id") == "xiangpi ren" ||
		target->query("id") == "du jiangshi")
		return notify_fail("你要吸取谁的丹元?\n");

	notify_fail("不是你要抓的人,凑什么热闹!\n");
	if (!userp(target) && !target->accept_hit(me)) return 0;

	if (target->query("race") != "人类")
		return notify_fail("搞错了!只有人才能有丹元!\n");

        my_max = me->query("max_neili");
        tg_max = target->query("max_neili");

	if ( me->query_temp("sucked") )
		return notify_fail("你刚刚吸取过丹元!\n");

	if( objectp(me->query_temp("weapon")) )
		return notify_fail("你必须空手才能施用吸星大法吸人丹元!\n");

        if( !me->is_fighting() || !target->is_fighting())

	if( (int)me->query_skill("xixing-dafa",1) < 90 )
		return notify_fail("你的吸星大法功力不够,不能吸取对方的丹元!n");
	if( (int)me->query_skill("kuihua-xinfa",1) < 90 )
		return notify_fail("你的葵花心法不够,不能运取吸星大法!\n");

	if( (int)me->query("neili") < 20 )
		return notify_fail("你的内力不够,不能使用吸星大法。\n");

	if( (int)me->query("neili") > 2*(int)me->query("max_neili")  )
		return notify_fail(HIR"你只觉全身真气乱闯,看来要调理内息了。\n"NOR);

	if( (int)me->query_skill("force") < (int)me->query("max_neili") /10 )
		return notify_fail("你的内功太低了,再吸取也是徒劳。\n");

	if( (int)target->query("max_neili") < 100 )
		return notify_fail( target->name() +
			"丹元涣散,功力未聚,你无法从他体内吸取任何东西!\n");

        if( (int)target->query("max_neili") < (int)me->query("max_neili")/10 )
		return notify_fail( target->name() +
			"的内功修为远不如你,你无法从他体内吸取丹元!\n");

	message_combatd(
		HIY"$N手臂猛地长出正抓在$n右手腕上。突然之间,$n猛觉右腕“内关”“外关”两处穴道中内力源源外泄!\n\n" NOR, me, target );

        if ( living(target) && !target->query_temp("noliving") )
	{
		if( !target->is_killing(me) ) target->kill_ob(me);
	}

        sp = me->query_skill("force") + me->query_skill("dodge");
        dp = target->query_skill("force") + target->query_skill("dodge");

	me->set_temp("sucked", 1);

        if (( random(sp) > random(dp) ) ||
		!living(target) || target->query_temp("noliving") )
	{
		tell_object(target, HIR"你只觉得手腕上“内关”“外关”两处穴道便如开了两个大缺口,立时全身内力急泻而出,有如河水决堤,再也难以堵截!\n" NOR);
		tell_object(me, HIG"你觉得" + target->name() + "的丹元自手掌源源不绝地流了进来。\n" NOR);

		target->add("max_neili", -1*(1+(me->query_skill("xixing-dafa", 1)-90)/5) );
		me->add("max_neili", 1*(1+(me->query_skill("xixing-dafa", 1)-90)/5) );
		if ( target->query("max_neili") <1) target->set("max_neili",0);

		me->add("potential",  3);
		me->add("combat_exp", 10);

		me->start_busy(7);
		target->start_busy(random(7));
		me->add("neili", -10);

		call_out("del_sucked", 10, me);
	}
	else
	{	
		message_combatd(HIY"可是$p看破了$P的企图,内力猛地一震,借势溜了开去。\n" NOR, me, target);
                me->start_busy(7);
		call_out("del_sucked", 20, me);
	}

	return 1;
}