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; }
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; }
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; }
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; }