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 perform(object me) { string msg; object weapon; int skill, jing_cost, exp, myint; int skill_basic; mapping my_fam = me->query("family"); skill = me->query_skill("lonely-sword",1); skill_basic = me->query_skill("sword",1); jing_cost = (int)me->query("int") - 45; if(!my_fam || my_fam["master_id"] != "feng qingyang") return notify_fail("你不是风清扬嫡传弟子,不能使用总诀式。\n"); if ( userp(me) && !wizardp(me) && !me->query("perform/zongjue") && !me->query("can_perform/lonely-sword/zongjue") && !me->query_temp("murong/xingyi")) return notify_fail("你所使用的外功中没有这种功能。"); if(environment(me)->is_chat_room()) return notify_fail("这里不准打斗。\n"); if( me->is_fighting() ) return notify_fail("「总诀式」不能在战斗中演练。\n"); myint = me->query("int"); if (!objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "sword") return notify_fail("你必须先去找一把剑。\n"); if( !skill || (skill < 20)) return notify_fail("你的独孤九剑等级不够, 不能演练总诀式!\n"); if( me->query("neili") < 50 ) return notify_fail("你的内力不够,没有力气演练「总诀式」!\n"); if( me->query("jing") < -jing_cost ) return notify_fail("你现在太累了,无法集中精神演练总诀式!\n"); exp= (int)me->query("combat_exp"); if( skill*skill*skill/10>exp ) return notify_fail("你的实战经验不够,无法体会「总诀式」!\n"); msg= HIG"$N使出独孤九剑之「总诀式」,将手中"+weapon->name()+HIG"随意挥舞击刺。\n"NOR; message_combatd(msg, me); me->add("neili", -50); me->add("jing", jing_cost); if ( skill < 60) me->improve_skill("lonely-sword",10,skill_basic > skill? 0: 1); else if (skill < 90) me->improve_skill("lonely-sword",10+random(myint-9),skill_basic > skill? 0: 1); else if (skill < 140) me->improve_skill("lonely-sword",10+random(myint*2-9),skill_basic > skill? 0: 1); else if (skill < 200) me->improve_skill("lonely-sword",10+random(myint*4-9),skill_basic > skill? 0: 1); else me->improve_skill("lonely-sword",10+random(myint*8-9),skill_basic > skill? 0: 1); msg = MAG"$P的「独孤九剑」进步了!\n"NOR; me->start_busy(random(2)); message_combatd(msg, me); return 1; }
int exert(object me) { object weapon = me->query_temp("weapon"); string prepare; if ( userp(me) && !wizardp(me) && !me->query("perform/taiji") && !me->query("can_perform/taiji-shengong/taiji") && !me->query_temp("murong/xingyi")) return notify_fail("你所使用的内功中没有这种功能。"); if( !objectp(weapon) && me->query_skill_mapped("unarmed") == "taiji-quan" && me->query_skill_mapped("parry") == "taiji-quan" && me->query_skill_mapped("force") == "taiji-shengong" ) prepare = "tjq"; // player is using tjq. else if( objectp(weapon) && weapon->query("skill_type") == "sword" && me->query_skill_mapped("sword") == "taiji-jian" && me->query_skill_mapped("parry") == "taiji-jian" && me->query_skill_mapped("force") == "taiji-shengong" ) prepare = "tjj"; // player is using tjj. else prepare = "notj"; if( me->query_temp("taiji") ) return notify_fail("你已经将太极心法融会入武功之中。\n"); if( prepare == "notj" ) return notify_fail("你现在无法将太极心法融会在武功内。\n"); if( prepare == "tjj" && me->query_skill("taiji-jian", 1) < 300 ) return notify_fail("你尚未领会到太极剑意。\n"); if( prepare == "tjq" && me->query_skill("taiji-quan", 1) < 300 ) return notify_fail("你尚未领会到太极拳旨。\n"); if( me->query_skill("taiji-shengong", 1) < 300 ) return notify_fail("你的太极修为尚未登峰造极,无法领悟到其心法。\n"); if( me->query_skill("taoism", 1) < 150 ) return notify_fail("你的道学修为尚未豁然贯通,无法领会太极心法。\n"); if( userp(me) && me->query_int() < 50 ) return notify_fail("你的悟性太低,无法领会到太极心法。\n"); if( me->query_temp("wudang/raozhi")) return notify_fail("你正在施展「绕指柔剑」,没有太多精力再运太级心法!\n"); if( prepare == "tjj" ) message_combatd( "\n$N微微一笑,身子缓缓右转,左手持剑向上提起,剑身横於胸前,\n左右双掌掌心相对,如抱圆球。" + weapon->name() + "未出,已然蓄势无穷。\n", me); else message_combatd( "\n$N缓缓站起身来,双手下垂,手背向外,手指微舒,两足分开平行,\n接着两臂慢慢提起至胸前,左臂半环,掌与面对成阴掌,右掌翻过成阳掌。\n", me); if (userp(me)) me->receive_damage("jing", 500, "精力透支过度死了"); me->add_temp("taiji", (int)me->query_skill("taiji-shengong", 1)/2); call_out("checking", 1, me, prepare); return 1; }
int perform(object me, object target) { object weapon; string msg; if (userp(me) && ! me->query("can_perform/panlong-suo/chan")) return notify_fail("你所使用的外功中没有这种功能。\n"); if (! target) { me->clean_up_enemy(); target = me->select_opponent(); } if (! target || ! me->is_fighting(target)) return notify_fail(CHAN "只能对战斗中的对手使用。\n"); if (! objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "whip") return notify_fail("你使用的武器不对,难以施展" CHAN "。\n"); if (target->is_busy()) return notify_fail(target->name() + "目前正自顾不暇,放胆攻击吧。\n"); if ((int)me->query_skill("force") < 180) return notify_fail("你的内功火候不够,难以施展" CHAN "。\n"); if ((int)me->query_skill("panlong-suo", 1) < 120) return notify_fail("你的霹雳盘龙索还不到家,难以施展" CHAN "。\n"); if (me->query_skill_mapped("whip") != "panlong-suo") return notify_fail("你没有激发霹雳盘龙索,难以施展" CHAN "。\n"); if ((int)me->query("neili") < 100) return notify_fail("你的真气不够,难以施展" CHAN "。\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIM "$N" HIM "一声长啸,手中" + weapon->name() + HIM "一抖,登时" "幻化作万道紫芒向$n" HIM "身上猛套过去。\n" NOR; if (random(me->query_skill("whip")) > target->query_skill("parry") / 2) { msg += HIR "霎时$n" HIR "只觉" + weapon->name() + HIR "压力不断增加,便如跗骨之蛆,挥之不去。\n" NOR; target->start_busy((int)me->query_skill("panlong-suo") / 20 + 1); me->add("neili", -80); me->start_busy(1); } else { msg += CYN "可是$n" CYN "小心应对,丝毫不受迷惑,纵身" "跃出了$N" CYN "的笼罩。\n" NOR; me->add("neili", -30); me->start_busy(2); } message_combatd(msg, me, target); return 1; }
int exert(object me, object target) { int n, j; if (me != target) return notify_fail("你只能用内功调匀自己的精气。\n"); if ((int)me->query("neili") < 20) return notify_fail("你的内力不够。\n"); j = (int)me->query("eff_jing") - (int)me->query("jing"); if (j < 10) return notify_fail("你现在气力充沛。\n"); n = 100 * j / me->query_skill("force"); if (n < 20) n = 20; if ((int)me->query("neili") < n) { j = j * (int)me->query("neili") / n; n = (int)me->query("neili"); } me->add("neili", -n); me->receive_heal("jing", j); message_combatd("$N深深吸了几口气,精神看起来好多了。\n", me); if( me->is_fighting() ) me->start_busy(1); return 1; }
int perform(object me, object target) { object weapon; int damage; int skill, ap, dp; string msg; if (! target) target = offensive_target(me); if (! target || ! me->is_fighting(target)) return notify_fail("无双无对只能对战斗中的对手使用。\n"); if (userp(me) && ! me->query("can_perform/yunv-sword/wushuang")) return notify_fail("你还没有受过高人指点,无法施展「无双无对」。\n"); if (! objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "sword") return notify_fail("你使用的武器不对。\n"); if ((int)me->query_skill("yunv-sword", 1) < 80) return notify_fail("你的玉女剑法不够娴熟,不会使用「无双无对」。\n"); if ((int)me->query_skill("force") < 120) return notify_fail("你的内功不够娴熟,不会使用「无双无对」。\n"); if ((int)me->query("neili") < 300) return notify_fail("你的内力不够。\n"); if ((int)me->query_temp("hsj_wu")) return notify_fail("你已经在运功中了。\n"); msg = HIY "$N" HIY "双手握起" + weapon->name() + HIY ",剑芒暴长,一式「无双无对」,驭剑猛烈绝伦地往$n" HIY "冲刺!\n"NOR; ap = me->query_skill("sword") + me->query("level") * 20 + me->query_skill("martial-cognize", 1); dp = target->query_skill("dodge") + target->query("level") * 20 + target->query_skill("martial-cognize", 1); if (ap * 11 / 20 + random(ap) > dp) { me->start_busy(2); damage = (int)me->query_skill("sword"); damage += random(damage / 4); me->add("neili", -250); msg += COMBAT_D->do_damage(me, target, WEAPON_ATTACK, damage, 45, HIR "$n" HIR "看到$N" HIR "这一剑妙到毫巅,全然无" "法抵挡,一愣神之间已经被这一剑刺得鲜血飞溅!" NOR); } else { me->start_busy(3); msg += CYN "可是$p" CYN "看破了$P" CYN "的企图,向旁一跃,躲了开去。" NOR; } message_combatd(msg, me, target); return 1; }
int perform(object me) { string msg; object target; int skill, ap, dp, damage; if (userp(me) && ! me->query("can_perform/longzhua-gong/zhua")) return notify_fail("你还没有受过高人指点,无法施展「神龙抓」。\n"); if (! target) { me->clean_up_enemy(); target = me->select_opponent(); } if (! target || ! me->is_fighting(target)) return notify_fail("「神龙抓」只能在战斗中对对手使用。\n"); skill = me->query_skill("longzhua-gong", 1); if (skill < 135) return notify_fail("你的龙爪功等级不够,不会使用「神龙抓」!\n"); if (me->query("neili") < 200) return notify_fail("你的真气不够,无法运用「神龙抓」!\n"); if (me->query_skill_mapped("claw") != "longzhua-gong") return notify_fail("你没有激发龙爪功,无法使用「神龙抓」!\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIY "$N" HIY "大喝一声,飞身扑至$n" HIY "面前,随即伸手抓向" "$p" HIY "的要害!\n" NOR; ap = ap_power(me, "claw") + me->query_skill("force"); dp = dp_power(target, "parry") + target->query_skill("dodge"); if (ap / 2 + random(ap) > dp) { me->add("neili", -180); damage = da_power(me, "claw"); msg += COMBAT_D->do_damage(me, target, UNARMED_ATTACK, damage, 45, HIR "$p" HIR "见来势凶猛,难以躲避,只好" "勉强化解,谁知$P" HIR "的手好像长了眼睛" "一般,扑哧一下正抓中$p" HIR "的要害,登" "时鲜血飞溅!\n" NOR); me->start_busy(2); } else { msg += CYN "可是$p" CYN "的看破了$P" CYN "的招式,连消带打,全然化解了$P" CYN "的攻势。\n" NOR; me->add("neili",-60); me->start_busy(3); } message_combatd(msg, me, target); return 1; }
int perform(object me, object target) { object weapon; int damage, ap, dp; string msg; if (userp(me) && ! me->query("can_perform/qiantian-zhi/zhi")) return notify_fail("你还没有受过高人指点,无法施展" ZHI "。\n"); if (! target) target = offensive_target(me); if (! target || ! me->is_fighting(target)) return notify_fail(ZHI "只能对战斗中的对手使用。\n"); if (! target || ! me->is_fighting(target)) return notify_fail(ZHI "只能对战斗中的对手使用。\n"); if ((int)me->query_skill("qiantian-zhi", 1) < 80) return notify_fail("你乾天指法不够娴熟,难以施展" ZHI "。\n"); if (me->query_skill_mapped("finger") != "qiantian-zhi") return notify_fail("你没有激发乾天指法,难以施展" ZHI "。\n"); if (me->query_skill_prepared("finger") != "qiantian-zhi") return notify_fail("你没有准备乾天指法,难以施展" ZHI "。\n"); if ((int)me->query_skill("force") < 100) return notify_fail("你内功修为不够,难以施展" ZHI "。\n"); if ((int)me->query("neili") < 100) return notify_fail("你现在的真气不够,难以施展" ZHI "。\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIR "$N" HIR "陡然使出一招「乾阳神指」,双指齐施,同时朝$n" HIR "面门及胸口处点去。\n" NOR; ap = ap_power(me, "finger"); dp = dp_power(target, "parry"); if (ap / 2 + random(ap) > dp) { me->start_busy(2); damage = da_power(me, "finger"); me->add("neili", -80); msg += COMBAT_D->do_damage(me, target, UNARMED_ATTACK, damage, 30, HIR "结果$p" HIR "躲闪不及,登时被$P" HIR "一指点中,内息不由得一滞,难受之极。\n" NOR); } else { me->start_busy(3); me->add("neili", -50); msg += CYN "可是$p" CYN "识破了$P" CYN "这一招,斜斜一跃避开。\n" NOR; } message_combatd(msg, me, target); return 1; }
int exert(object me, object target) { int skill; if (target != me) return notify_fail("你只能用明玉功恢复自己的气血。\n"); if ((int)me->query("neili") < 1000) return notify_fail("你的真气不够!"); if ((int)me->query_temp("qizu")) return notify_fail("你已经在运功中了。\n"); skill = me->query_skill("mingyu-gong"); me->add("neili", -100); message_combatd(HIC "$N" HIC "运起「气足」奇功," "眼中闪过一片青芒,随即恢复正常\n" NOR, me); me->set_temp("qizu", 1); me->apply_condition("mingyu_qizu", skill / 50); if (me->is_fighting()) me->start_busy(3); return 1; }
int perform(object me, object target) { object weapon; int damage; string msg; if (userp(me) && ! me->query("can_perform/zhenyu-quan/tong")) return notify_fail("你所使用的外功中没有这种功能。\n"); if (! target) target = offensive_target(me); if (! target || ! me->is_fighting(target)) return notify_fail(TONG "只能对战斗中的对手使用。\n"); if (objectp(weapon = me->query_temp("weapon"))) return notify_fail(TONG "只能空手施展。\n"); if ((int)me->query_skill("zhenyu-quan", 1) < 80) return notify_fail("你镇狱拳法不够娴熟,难以施展" TONG "。\n"); if ((int)me->query_skill("force") < 120) return notify_fail("你的内功修为不够,难以施展" TONG "。\n"); if (me->query_skill_mapped("cuff") != "zhenyu-quan") return notify_fail("你没有激发镇狱拳法,难以施展" TONG "。\n"); if (me->query_skill_prepared("cuff") != "zhenyu-quan") return notify_fail("你没有准备镇狱拳法,难以施展" TONG "。\n"); if ((int)me->query("neili") < 150) return notify_fail("你现在的真气不够,难以施展" TONG "。\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIR "$N" HIR "随手挥出一拳,飘忽不定的击向$n" HIR ",看似竟不" "着半点力道。\n" NOR; if (random(me->query_skill("cuff")) > target->query_skill("dodge") / 2) { me->start_busy(2); damage = me->query_skill("cuff"); damage = damage / 2 + random(damage / 2); me->add("neili", -50); msg += COMBAT_D->do_damage(me, target, UNARMED_ATTACK, damage, 35, HIR "$n" HIR "只是随手一挡,哪知$N" HIR "这拳后势无穷,霎时拳劲吞吐,穿\n胸而过" "。$n" HIR "顿时呕出几大口鲜血,几欲晕" "厥!\n" NOR); } else { me->start_busy(3); me->add("neili", -30); msg += CYN "可是$p" CYN "识破了$P" CYN "招后更有杀着,当即向后跃开。\n" NOR; } message_combatd(msg, me, target); return 1; }
int perform(object me, object target) { object weapon; string msg; int i, attack_time; 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") != "blade") return notify_fail("你使用的武器不对。\n"); if( (int)me->query_skill("fuqi-daofa", 1) < 40 ) return notify_fail("依你目前的功力,还使不出这一绝招。\n"); if( random(me->query("combat_exp")) > (int)target->query("combat_exp")/20 ) { attack_time = random((int)me->query_skill("fuqi-daofa", 1) / 20); if(attack_time < 1) attack_time = 1; msg = HIC "$N淡然一笑,刀势骤然加快,招数首尾相衔,连绵不绝的攻向$n!\n" NOR; msg += HIM "$n看不清招式来路,顿时手忙脚乱,抵挡不及,瞬间已接连中招!\n" NOR; for(i = 0; i < attack_time; i++) COMBAT_D->do_attack(me, target, me->query_temp("weapon"), 0); message_combatd(msg, me, target); me->start_busy(3); me->add("neili", -100); } else { msg = HIC "$N淡然一笑,刀势骤然加快,招数首尾相衔,连绵不绝的攻向$n!\n" NOR; msg += HIY"可是$n早有防备,见招拆招,守御得水泼不进,将来招一一化解。\n" NOR; message_combatd(msg, me, target); me->start_busy(3); } if(!target->is_fighting(me)) target->fight_ob(me); return 1; }
int perform(object me, object target) { object weapon; string msg; int ap, dp; int damage; if (userp(me) && ! me->query("can_perform/wuxiang-zhi/wuse")) return notify_fail("你还没有受过高人指点,无法施展「无色无相」。\n"); if (! target) target = offensive_target(me); if (! target || ! me->is_fighting(target)) return notify_fail("「无色无相」只能在战斗中对对手使用。\n"); if (me->query_temp("weapon") || me->query_temp("secondary_weapon")) return notify_fail("你必须空手才能使用「无色无相」!\n"); if (me->query_skill("force") < 100) return notify_fail("你的内功的修为不够,不能使用这一绝技!\n"); if (me->query_skill("wuxiang-zhi", 1) < 150) return notify_fail("你的无相指修为不够,目前不能使用「无色无相」!\n"); if (me->query("neili") < 400) return notify_fail("你的真气不够,无法使用「无色无相」!\n"); if (me->query_skill_mapped("finger") != "wuxiang-zhi") return notify_fail("你没有激发大力无相指,不能使用「无色无相」!\n"); msg = HIY "$N" HIY "聚起全身功力,汇聚于右指,纵身而上," HIY "向$n扑去,同时一指划出,如同流星一般击向$n" + HIY "!\n" NOR; ap = ap_power(me, "finger") + me->query_skill("force"); dp = dp_power(target, "parry") + target->query_skill("dodge"); if (ap / 2 + random(ap) > dp) { damage = da_power(me, "finger"); me->add("neili", -200); msg += HIR "只见$p" HIR "一声惨叫,已被点中胸口要穴," "$p" HIR "只觉得胸口气血汹涌,全身气血" "倒流,哇的一声吐出一口鲜血,苦不堪言!\n" NOR; msg += COMBAT_D->do_damage(me, target, REMOTE_ATTACK, damage, 70); me->start_busy(2); } else { me->add("neili", -100); me->start_busy(3); msg += CYN "可是$p" CYN "看破了$N" CYN "的企图,轻轻" CYN "向后飘出数丈,躲过了这一致命的一击!\n"NOR; me->start_busy(3); } message_combatd(msg, me, target); return 1; }
int perform(object me) { string msg; object target; int skill, ap, dp, damage; if (userp(me) && ! me->query("can_perform/yingzhua-gong/chumo")) return notify_fail("你还没有受过高人指点,无法施展「荡妖除魔」。\n"); if (! target) { me->clean_up_enemy(); target = me->select_opponent(); } if (! target || ! me->is_fighting(target)) return notify_fail("「荡妖除魔」只能在战斗中对对手使用。\n"); skill = me->query_skill("yingzhua-gong", 1); if (skill < 135) return notify_fail("你的鹰爪功等级不够,不会使用「荡妖除魔」!\n"); if (me->query("neili") < 250) return notify_fail("你的真气不够,无法运用「荡妖除魔」!\n"); if (me->query_skill_mapped("claw") != "yingzhua-gong") return notify_fail("你没有激发鹰爪功,无法使用「荡妖除魔」!\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIY "$N" HIY "微微一笑,双掌缓缓的向$n" HIY "抓出,此招" "看上去也平平无奇,并无多少精妙变化!\n" NOR; ap = ap_power(me, "claw") + me->query_skill("force"); dp = dp_power(target, "dodge") + me->query_skill("parry"); if (ap / 2 + random(ap) > dp) { me->add("neili", -200); damage = da_power(me, "claw"); msg += COMBAT_D->do_damage(me, target, UNARMED_ATTACK, damage, 45, HIR "不知怎么的,$p" HIR "却偏偏躲不开$P" HIR "这一抓,结果被抓了个正中,不由得闷" "哼一声,退了几步。\n" NOR); me->start_busy(2); } else { msg += CYN "可是$p" CYN "没有轻视$P" CYN "这一抓,连忙招架,顺势跃开,没有被$P" CYN "得手。\n" NOR; me->add("neili",-40); me->start_busy(3); } message_combatd(msg, me, target); return 1; }
int perform(object me, object target) { string msg; int ap, dp; if (! target) target = offensive_target(me); if (! target || ! target->is_character() || ! me->is_fighting(target)) return notify_fail("你一个人跳甚么?\n"); if (me->query("gender") == "无性") return notify_fail(HIY "一个公公,满场乱跳,羞也不羞?\n" NOR); if ((int)me->query_skill("beiming-shengong", 1) < 100) return notify_fail(HIY "你的北冥神功修为不够。\n" NOR); if ((int)me->query_skill("lingboweibu", 1) < 100) return notify_fail(HIY "你的凌波微步不够熟练。\n" NOR); if ((int)me->query("neili") < 400) return notify_fail(HIY "你现在真气不足。\n" HIY); if (target->is_busy()) return notify_fail(target->name() + "目前正自顾不暇,放胆攻击吧!\n"); if (me->query("gender") == "男性") { msg = HIC "$N提起真气,依照先天伏羲六十四卦,不理$n如何出招,自顾自的将" "凌波微步由头到尾迅速无比的走了一次。\n只见$N意态飘逸,影子乱飞," "$n却是一点皮毛也沾不上。$N真个将逍遥二字发挥得淋漓尽至。\n" NOR; } else { msg = HIG "$N提起真气,依照先天伏羲六十四卦,不理$n如何出招,自顾自的将" "凌波微步由头到尾迅速无比的走了一次。\n$N仿如洛神再生,微步凌波," "$n却是一点皮毛也沾不上。$N真个将逍遥二字发挥得淋漓尽至。\n" NOR; } ap = me->query_skill("lingboweibu", 1) * 3 / 2 + me->query("level") * 20 + me->query_skill("martial-cognize", 1); dp = target->query_skill("dodge") + target->query("level") * 20 + target->query_skill("martial-cognize", 1); if (ap / 2 + random(ap) > dp) { msg += HIW "$N犹如神仙下凡,$n跟随着$N的舞步转了个头晕眼花\n" NOR; target->start_busy( (int)me->query_skill("lingboweibu",1) / 30); me->add("neili", -100); // me->start_busy(1); } else { msg += HIG "可是$n看破了$N的舞步,仪态从容的躲了过去\n" NOR; me->add("neili", -100); me->start_busy(3); } message_combatd(msg, me, target); return 1; }
int perform(object me, object target) { object weapon; string msg; int ap, dp; int damage; if (! target) target = offensive_target(me); if (userp(me) && ! me->query("can_perform/hanwang-qingdao/ying")) return notify_fail("你所使用的外功中没有这种功能。\n"); if (! target || ! me->is_fighting(target)) return notify_fail(YING "只能在战斗中对对手使用。\n"); if (! objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "blade") return notify_fail("你使用的武器不对,难以施展" YING "。\n"); if (me->query_skill("force") < 120) return notify_fail("你的内功的修为不够,难以施展" YING "。\n"); if (me->query_skill("hanwang-qingdao", 1) < 80) return notify_fail("你的韩王青刀修为不够,难以施展" YING "。\n"); if (me->query("neili") < 100) return notify_fail("你目前的内力不足,难以施展" YING "。\n"); if (me->query_skill_mapped("blade") != "hanwang-qingdao") return notify_fail("你没有激发韩王青刀,难以施展" YING "。\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIC "霎时只见$N" HIC "手中" + weapon->name() + HIC "一振,顿时幻出重重刀影,将$n" HIC "团团裹住!\n" NOR; ap = me->query_skill("blade"); dp = target->query_skill("parry"); if (ap / 2 + random(ap) > dp) { damage = ap / 3 + random(ap / 3); me->start_busy(1); me->add("neili", -80); msg += COMBAT_D->do_damage(me, target, WEAPON_ATTACK, damage, 20, HIR "只听$p" HIR "一声惨嚎,一股血柱自" HIR "血色刀影中激射而出!\n" NOR); } else { me->add("neili", -40); me->start_busy(3); msg += CYN "可是$n" CYN "淡淡一笑,浑然不将$N" CYN "重重刀影放在眼中,随意将之架开。\n" NOR; } message_combatd(msg, me, target); return 1; }
int perform(object me, object target) { object weapon; string msg; if (userp(me) && ! me->query("can_perform/damo-jian/sanjue")) return notify_fail("你还没有受过高人指点,无法施展「达摩三绝剑」。\n"); if (! target) target = offensive_target(me); if (! target || ! 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->query_dex() < 30) return notify_fail("你的身法不够,目前还不能使用这项绝技!\n"); if (me->query_skill("force") < 200) return notify_fail("你的内功的修为不够,不能使用这一绝技!\n"); if (me->query_skill("dodge") < 200) return notify_fail("你的轻功修为不够,不能使用达摩三绝剑!\n"); if (me->query_skill("sword") < 200) return notify_fail("你的剑法修为不够,目前不能使用达摩三绝剑!\n"); if (me->query("neili") < 150) return notify_fail("你的真气不够,不能使用达摩三绝剑!\n"); if (me->query_skill_mapped("sword") != "damo-jian") return notify_fail("你没有激发达摩剑,不能使用达摩三绝剑!\n"); msg = HIC "$N" HIC "使出达摩剑的绝技「达摩三绝剑」,身法陡然加快!\n" NOR; message_combatd(msg, me); me->add("neili", -75); // The first attack me->add_temp("apply/attack", 100); COMBAT_D->do_attack(me, target, weapon, 0); // The second attack me->add_temp("apply/attack", 200); COMBAT_D->do_attack(me, target, weapon, 0); // The third attack me->add_temp("apply/attack", 300); COMBAT_D->do_attack(me, target, weapon, 0); // Back me->add_temp("apply/attack", -600); me->start_busy(1 + random(3)); return 1; }
int perform(object me, object target) { object weapon; string msg, skill; int i; if (userp(me) && ! me->query("can_perform/duanjia-jian/lian")) return notify_fail("你还没有受过高人指点,无法施展" LIAN "。\n"); if (! target) { me->clean_up_enemy(); target = me->select_opponent(); } if (! target || ! me->is_fighting(target)) return notify_fail(LIAN "只能对战斗中的对手使用。\n"); if (! objectp(weapon = me->query_temp("weapon")) || ((string)weapon->query("skill_type") != "staff" && (string)weapon->query("skill_type") != "sword")) return notify_fail("你使用的武器不对,难以施展" LIAN "。\n"); if ((int)me->query_skill("duanjia-jian", 1) < 120) return notify_fail("你的段家剑法不够娴熟,难以施展" LIAN "。\n"); skill = weapon->query("skill_type"); if (me->query_skill_mapped(skill) != "duanjia-jian") return notify_fail("你现在没有激发段家剑,难以施展" LIAN "。\n"); if ((int)me->query_skill("force") < 150) return notify_fail("你的内功修为不够,难以施展" LIAN "。\n"); if ((int)me->query("neili") < 300) return notify_fail("你现在的真气不够,难以施展" LIAN "。\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIY "$N" HIY "深吸一口气,脚下步步进击,稳重之极,手中的" + weapon->name() + HIY "使得犹如飞龙一般,缠绕向$n" HIY "!\n" NOR; message_combatd(msg, me, target); me->add("neili", -100); for (i = 0; i < 5; i++) { if (! me->is_fighting(target)) break; if (random(5) == 0 && ! target->is_busy()) target->start_busy(1); COMBAT_D->do_attack(me, target, weapon, 0); } me->start_busy(1 + random(5)); return 1; }
int perform(object me, object target) { object weapon; string msg; int ap, dp; int damage; if (! target) { me->clean_up_enemy(); target = me->select_opponent(); } if (! target || ! 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 ((int)me->query("neili") < 250) return notify_fail("你的真气不够!\n"); if ((int)me->query_skill("force") < 120) return notify_fail("你的内功火候不够!\n"); if ((int)me->query_skill("miaojia-jian", 1) < 100) return notify_fail("你的苗家剑法还不到家,无法使用「金面生莲」!\n"); if (me->query_skill_mapped("sword") != "miaojia-jian") return notify_fail("你没有激发苗家剑法,无法使用「金面生莲」!\n"); msg = HIG "$N" HIG "手中的" + weapon->name() + HIG "一晃,突然化作万朵金莲,逼向$n" HIG ",眩人耳目!\n" NOR; ap = ap_power(me, "sword"); dp = dp_power(target, "parry"); if (ap / 2 + random(ap) > dp) { damage = da_power(me, "sword"); me->add("neili", -200); msg += COMBAT_D->do_damage(me, target, WEAPON_ATTACK, damage, 50, HIR "$n" HIR "眼花缭乱,完全无法看清$N" HIR "的剑招,一个不慎,连披数剑,血溅五步!\n" NOR); me->start_busy(2); } else { msg += HIC "可是$p" HIC "眼明手快,叮叮当当接连将$P" HIC "的杀招接下,叹为观止!\n"NOR; me->add("neili", -100); me->start_busy(2); } message_combatd(msg, me, target); return 1; }
int perform(object me, object target) { object weapon; string msg; int ap, dp; int damage; if (! target) target = offensive_target(me); if (userp(me) && ! me->query("can_perform/xiewei-bian/tengshe")) return notify_fail("你所使用的外功中没有这种功能。\n"); if (! target || ! me->is_fighting(target)) return notify_fail(TENGSHE "只能在战斗中对对手使用。\n"); if (! objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "whip") return notify_fail("你使用的武器不对。\n"); if ((int)me->query_skill("xiewei-bian", 1) < 100) return notify_fail("你使用的武器不对,无法施展" TENGSHE "。\n"); if (me->query("neili") < 200) return notify_fail("你的真气不够,无法施展" TENGSHE "。\n"); if (me->query_skill_mapped("whip") != "xiewei-bian") return notify_fail("你没有激发蝎尾鞭,无法施展" TENGSHE "。\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = WHT "$N" WHT "陡然施展出「腾蛇」诀,手腕轻轻一抖," + weapon->name() + WHT "顿时拔地弹起,如同活物一般悄然袭向$n" + WHT "!\n" NOR; ap = me->query_skill("whip") + me->query_skill("force"); dp = target->query_skill("force") + target->query_skill("parry"); if (ap / 2 + random(ap) > dp) { damage = ap / 5 + random(ap / 4); me->add("neili", -150); me->start_busy(1); msg += COMBAT_D->do_damage(me, target, WEAPON_ATTACK, damage, 50, HIR "然而$n" HIR "未能看破企图,一声惨嚎," + weapon->name() + HIR "鞭端已没入体内半寸" ",登时连退数步!\n" NOR); } else { me->add("neili", -100); me->start_busy(3); msg += CYN "可是$p" CYN "运足内力,奋力挡住了" CYN "$P" CYN "这神鬼莫测的一击!\n"NOR; } message_combatd(msg, me, target); return 1; }
int perform(object me, object target) { int damage; string msg; int ap, dp; if (userp(me) && ! me->query("can_perform/yizhi-chan/jingmo")) return notify_fail("你还没有受过高人指点,无法施展「惊魔一指」。\n"); if (! target) { me->clean_up_enemy(); target = me->select_opponent(); } if (! target || ! me->is_fighting(target)) return notify_fail("「惊魔一指」只能对战斗中的对手使用。\n"); if ((int)me->query_skill("yizhi-chan", 1) < 120) return notify_fail("你的一指禅还不够娴熟,现在还无法使用「惊魔一指」。\n"); if ((int)me->query_skill("force") < 180) return notify_fail("你的内功火候不够,难以施展「惊魔一指」。\n"); if ((int)me->query("neili") < 200) return notify_fail("你现在真气不够,无法运用「惊魔一指」。\n"); if (me->query_skill_mapped("finger") != "yizhi-chan") return notify_fail("你没有激发一指禅,无法使用惊魔一指!\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIY "$N" HIY "大喝一声,中指按出,一股锐利的杀气攻向$n" HIY ",气势恢宏之极!\n" NOR; ap = ap_power(me, "finger"); dp = dp_power(target, "dodge"); if (ap / 2 + random(ap) > dp) { damage = da_power(me, "finger"); msg += COMBAT_D->do_damage(me, target, UNARMED_ATTACK, damage, 50, HIR "只见$p" HIR "躲闪不及,被$P" HIR "这一指正戳在胸前,不由得连声" "惨叫,胸口鲜血直流!\n" NOR); me->start_busy(2); } else { msg += CYN "可是$p" CYN "急忙跃开,躲开了$P" CYN "这一指。\n" NOR; me->add("neili", -60); me->start_busy(3); } message_combatd(msg, me, target); return 1; }
int perform(object me, object target) { object weapon; string msg; int ap, dp; int damage; if (userp(me) && ! me->query("can_perform/wuliang-jian/qian")) return notify_fail("你还不了解这个绝招的运功窍门,无法施展" QIAN "。\n"); if (! target) target = offensive_target(me); if (! target || ! me->is_fighting(target)) return notify_fail(QIAN "只能对战斗中的对手使用。\n"); if (! objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "sword") return notify_fail("你使用的武器不对,难以施展" QIAN "。\n"); if (me->query_skill("force") < 150) return notify_fail("你的内功的修为不够,难以施展" QIAN "。\n"); if (me->query_skill("wuliang-jian", 1) < 100) return notify_fail("你的无量剑法修为不够,难以施展" QIAN "。\n"); if (me->query("neili") < 300) return notify_fail("你的真气不够,难以施展" QIAN "。\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIR "只见$N" HIR "手中" + weapon->name() + HIR "“唰" "唰唰唰”连攻四剑,剑招去势极快,全然笼罩$n" HIR "!\n" NOR; ap = ap_power(me, "sword"); dp = dp_power(target, "parry"); if (ap / 2 + random(ap) > dp) { damage = da_power(me, "sword"); me->add("neili", -150); me->start_busy(2); msg += COMBAT_D->do_damage(me, target, WEAPON_ATTACK, damage, 60, HIR "结果$n" HIR "阻挡不及,顿时被$N" HIR "斩中数剑,伤口见骨,苦不堪言。\n" NOR); } else { me->add("neili", -50); me->start_busy(3); msg += CYN "可却见" CYN "$n" CYN "猛的拔地而起,避开了" CYN "$N" CYN "的剑招。\n"NOR; } message_combatd(msg, me, target); return 1; }
int perform(object me, object target) { int damage; string msg; object weapon; int ap, dp; if (userp(me) && ! me->query("can_perform/huashan-sword/feilong")) return notify_fail("你不会使用天外飞龙。\n"); if (! target) target = offensive_target(me); if (! target || ! 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 ((int)me->query_skill("huashan-sword", 1) < 150 ) return notify_fail("你华山剑法不够娴熟,使不出「天外飞龙」。\n"); if ((int)me->query_skill("force") < 150 ) return notify_fail("你内功火候不够,使不出「天外飞龙」。\n"); if ((int)me->query("neili") < 400) return notify_fail(HIC"你现在真气不够,无法将「天外飞龙」使完!\n"NOR); if (me->query_skill_mapped("sword") != "huashan-sword") return notify_fail("你没有激发华山剑法,无法使用「天外飞龙」。\n"); msg = HIC "$N" HIC "心念电闪,一提内力,勒手仗剑,运劲于臂,呼" "的一声向$n" HIC "掷了出去,\n" NOR; ap = me->query("combat_exp"); dp = target->query("combat_exp"); if (ap > dp / 2 * 3 && ap / 2 + random(ap) > dp) { me->start_busy(3); damage = target->query("max_qi"); msg += COMBAT_D->do_damage(me, target, WEAPON_ATTACK, damage, 30, HIC "$n疾忙跃起,但剑如电闪,只觉一阵剧痛,剑刃" "拦腰而过,鲜血飞溅,皮肉卷起!\n" NOR); me->add("neili", -400); } else { me->start_busy(3); msg += CYN "然而$n" CYN "轻轻一笑,侧身伸指,正弹" "在$N" CYN "的剑脊上,剑斜飞落地。\n" NOR; me->add("neili", -400); } weapon->move(environment(me)); message_combatd(msg, me, target); return 1; }
int perform(object me, object target) { object weapon; int damage; int ap, dp; string msg; if (userp(me) && ! me->query("can_perform/xuantie-jian/juan")) return notify_fail("你未得高人指点,不知该如何施展卷字诀。\n"); if (! target) target = offensive_target(me); if (! target || ! 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 ((int)me->query_skill("xuantie-jian", 1) < 70) return notify_fail("你的玄铁剑法不够娴熟,不能使用卷字诀。\n"); if ((int)me->query_skill("force") < 120) return notify_fail("你的内功火候不够,不能使用卷字诀。\n"); if ((int)me->query("neili") < 100 ) return notify_fail("你现在内力太弱,不能使用卷字诀。\n"); if (me->query_skill_mapped("sword") != "xuantie-jian") return notify_fail("你没有激发玄铁剑法,不能施展卷字诀。\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIY "$N一抖手中的" + weapon->name() + HIY ",自下而上的朝$n" HIY "卷了过去,曲曲折折,变化无常!\n" NOR; ap = ap_power(me, "sword"); dp = dp_power(target, "dodge"); if (ap / 2 + random(ap) > dp) { target->start_busy(ap / 100 + 2); me->add("neili", -50); msg += YEL "$p" YEL "连忙竭力招架,一时无暇反击。\n" NOR; } else { msg += CYN "可是$p" CYN "看破了$P" CYN "的企图,斜跃避开了$P" CYN "的攻击。\n"NOR; me->add("neili", -25); me->start_busy(2); } message_combatd(msg, me, target); return 1; }
int perform(object me, object target) { object weapon; int damage, ap, dp; string msg; if (userp(me) && ! me->query("can_perform/sanhua-zhang/san")) return notify_fail("你还没有受过高人指点,无法施展「天女散花」。\n"); if (! target) target = offensive_target(me); if (! target || ! me->is_fighting(target)) return notify_fail("天女散花只能对战斗中的对手使用。\n"); if ((int)me->query_skill("sanhua-zhang", 1) < 135) return notify_fail("你的散花掌法不够娴熟,不会使用天女散花。\n"); if ((int)me->query_skill("force") < 180) return notify_fail("你的内功修为不够,难以施展天女散花。\n"); if ((int)me->query("neili") < 200) return notify_fail("你现在真气不够,无法使用天女散花。\n"); if (me->query_skill_mapped("strike") != "sanhua-zhang") return notify_fail("你没有激发散花掌,无法使用天女散花!\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIY "$N" HIY "哈哈一笑,双掌一错,忽然化作漫天" "掌影,犹如千百只手掌一齐攻向$n" HIY "!\n" NOR; ap = ap_power(me, "strike"); dp = dp_power(target, "dodge"); if (ap / 2 + random(ap) > dp) { me->start_busy(2); damage = da_power(me, "strike"); me->add("neili", -150); msg += COMBAT_D->do_damage(me, target, UNARMED_ATTACK, damage, 40, HIR "结果$p" HIR "没能避开$P" HIR "变幻莫测的掌法,蓬蓬接连中了数掌," "被打得口喷鲜血,几乎摔倒!\n" NOR); } else { me->start_busy(3); me->add("neili", -50); msg += CYN "可是$p" CYN "识破了$P" CYN "这一招,斜斜一跃避开。\n" NOR; } message_combatd(msg, me, target); return 1; }
int perform(object me, object target) { string msg; int extra, damage, ap, dp; object weapon; if (userp(me) && ! me->query("can_perform/kuangfeng-jian/kuang")) return notify_fail("你还没有领悟到这个绝招精华,无法施展。\n"); if (! target) target = offensive_target(me); if (! target || ! target->is_character() || ! me->is_fighting(target)) return notify_fail("[天外狂龙]只能对战斗中的对手使用。\n"); if (! weapon = me->query_temp("weapon")) return notify_fail("你没装兵器怎么打!\n"); if ((string)weapon->query("skill_type") != "sword") return notify_fail("你使用的兵器不对!\n"); if ((int)me->query_skill("kuangfeng-jian", 1) < 100) return notify_fail("你的狂风快剑不够熟练,使不出 [ 天外狂龙 ] 。\n"); if ((int)me->query("neili") < 300) return notify_fail("你的内力不够!\n"); if ((int)me->query_skill("sword", 1) < 100) return notify_fail("你的剑法不够娴熟,使不出 [ 天外狂龙 ] 的绝招!\n"); extra = me->query_skill("kuangfeng-jian", 1); msg = HIY "$N" HIY "剑斜斜刺出,激起股股剑气,拔剑,收剑。在那一瞬间,天地变幻,人影竟似已缩小,\n" "但见剑夹杂着风,风里含着剑影!那剑气幻作无数条金黄色的龙铺天盖地袭向$n!\n" NOR; ap = ap_power(me, "sword"); dp = dp_power(target, "dodge"); if (ap / 2 + random(ap) > dp) { damage = da_power(me, "sword"); me->add("neili", -200); msg += COMBAT_D->do_damage(me, target, WEAPON_ATTACK, damage, 60, HIR "$n" HIR "只觉得脑中轰的一下," "身子往后倒飞出去,跌倒在地,不禁“哇”的吐了一口鲜血!n" NOR); me->start_busy(2); } else { me->add("neili", -100); msg += CYN "可是$p" CYN "看破了$P" CYN "的狠毒企图,向旁跳开数步,躲开了$P" CYN "的这一波可怕的攻击!\n" NOR; me->start_busy(3); } message_combatd(msg, me, target); return 1; }
int perform(object me, object target) { object weapon; string wn, msg; object sroom, room; int ap, dp, damage; if (! me->is_fighting()) return notify_fail(HUI "只能对战斗中的对手使用。\n"); target = me->select_opponent(); if (! target || ! target->is_character() || target->query("not_living")) return notify_fail("你打算对谁施展" HUI "?\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); if (! objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "sword") return notify_fail("你使用的武器不对,难以施展" HUI "。\n"); wn = weapon->name(); message_combatd(HIW "$N" HIW "面露拈花之意,祭起手中" + wn + HIW ",霎时碧波流转,华光万丈,说不尽的祥和。" "\n" NOR, me, target); // 记录下最初的房间 if (! objectp(sroom = environment(me))) return 1; ap = me->query_skill("martial-cognize", 1) + me->query_skill("jingyi-shengong", 1); dp = target->query_skill("martial-cognize", 1) + target->query_skill("jingyi-shengong", 1); damage = ap * 10 + random(ap * 10); // 六道轮回之人间道 room = find_object("/d/death/liudaolunhui/rendao"); if (! room) room = load_object("/d/death/liudaolunhui/rendao"); me->move(room); target->move(room); message_vision(HIY "\n$N" HIY "左手轻轻一拨,右手所持的" + wn + HIY "叮呤做响,剑姿说不出的潇洒妙曼。\n" NOR, me, target); if (ap + random(ap) > dp) { msg = COMBAT_D->do_damage(me, target, WEAPON_ATTACK, damage, 300, (: attack1, me, target, damage :)); } else
int perform(object me, object target) { object weapon; string msg; int ap, dp; int damage; if (userp(me) && ! me->query("can_perform/pichen-jian/ao")) return notify_fail("你所使用的外功中没有这种功能。\n"); if (! target) target = offensive_target(me); if (! target || ! me->is_fighting(target)) return notify_fail(AO "只能对战斗中的对手使用。\n"); if (! objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "sword") return notify_fail("你所使用的武器不对,难以施展" AO "。\n"); if ((int)me->query_skill("pichen-jian", 1) < 100) return notify_fail("你辟尘剑法不够娴熟,难以施展" AO "。\n"); if (me->query_skill_mapped("sword") != "pichen-jian") return notify_fail("你没有激发辟尘剑法,难以施展" AO "。\n"); if (me->query("neili") < 200) return notify_fail("你现在的真气不足,难以施展" AO "。\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIY "$N" HIY "一阵狂笑,激得周围尘砂飞扬,手中" + weapon->name() + HIY "携着排山倒海之势朝$n" HIY "劈去。\n" NOR; ap = me->query_skill("sword"); dp = target->query_skill("parry"); if (ap / 2 + random(ap) > dp) { damage = ap / 2 + random(ap / 2); me->add("neili", -150); me->start_busy(2); msg += COMBAT_D->do_damage(me, target, WEAPON_ATTACK, damage, 35, HIR "$n" HIR "招架不利,只觉剑光闪过," "随觉胸口一阵剧痛,喷出一口鲜血。\n" NOR); } else { me->add("neili", -50); me->start_busy(3); msg += CYN "可是" CYN "$n" CYN "早有防备,飞身一跃" "而起,避开了$N" CYN "的剑招。\n"NOR; } message_combatd(msg, me, target); return 1; }
int accept_fight(object me) { object weapon; if (me->query("opinion/" MY_OPINION) == ULTRA_OPINION) { message_vision(CYN "$N" CYN "对$n" CYN "道:“很" "好,你也算是宗师高手了,来吧!咱" "们比划一下!”\n" NOR, this_object(), me); return 1; } if (! me->query_temp("want_opinion/shenni")) { command("say 你干什么要和我动手?"); return 0; } command("look " + me->query("id")); COMBAT_D->do_attack(this_object(), me, 0); if (me->query("qi") <= 0) { message_vision(CYN "\n$N" CYN "摇摇头对$n" CYN "道:“你现在的武功还差得远,连" "我一招都接不住!”\n" NOR, this_object(), me); return notify_fail("看来要好好的修炼功夫了。\n"); } message_combatd(HIC "$N" HIC "右掌伸出,正和$n" HIC "手" "掌相对,两人同时运起内力,不一会儿只见" "二人头上生起腾腾雾气。\n忽然$N" HIC "手" "掌一撤、收回功力,没有一点阻滞,不禁让" "$n" HIC "大为愕然。\n" NOR, this_object(), me); if (me->query("neili") < 3000) { message_vision(CYN "\n$N" CYN "摇摇头对$n" CYN "道:“适才你内力不足,我难以衡" "量,待你将内力修炼好了再来吧!" "”\n" NOR, this_object(), me); return notify_fail("看来还是回去锻炼一下内力吧!\n"); } me->set("neili", 0); call_out("check_opinion", 2, me); set_temp("opinion", me); me->delete_temp("want_opinion"); message_vision(CYN "\n$N" CYN "一摆手道:“好了,待我想" "想。”\n" NOR, this_object(), me); return notify_fail("看来不能心急,还得等一会儿。\n"); }
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 perform(object me, object target) { object weapon; string msg; int i, skill; if (userp(me) && ! me->query("can_perform/liuyue-jian/sheng")) return notify_fail("你还没有受过高人指点,无法施展" SHENG "。\n"); if (! target) target = offensive_target(me); if (! target || ! me->is_fighting(target)) return notify_fail(SHENG "只能在战斗中对对手使用。\n"); if (! objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "sword") return notify_fail("你使用的武器不对,难以施展" SHENG "。\n"); if (me->query_skill("force") < 200) return notify_fail("你的内功的修为不够,难以施展" SHENG "。\n"); if (me->query_skill("liuyue-jian", 1) < 140) return notify_fail("你的流月剑舞修为不够,难以施展" SHENG "。\n"); if (me->query("neili") < 300) return notify_fail("你的真气不够,难以施展" SHENG "。\n"); if (me->query_skill_mapped("sword") != "liuyue-jian") return notify_fail("你没有激发流月剑舞,难以施展" SHENG "。\n"); if (! living(target)) return notify_fail("对方都已经这样了,用不着这么费力吧?\n"); msg = HIW "$N" HIW "手腕一阵疾抖,剑身微颤,剑作龙吟。刹那间剑芒陡涨," "如天河倒泻一般洒向$n" HIW "。\n" NOR; message_combatd(msg, me, target); me->add("neili", -100); skill = me->query_skill("liuyue-jian", 1); me->add("apply/attack", skill / 5); me->add("apply/defense", skill / 5); for (i = 0; i < 6; i++) { if (! me->is_fighting(target)) break; COMBAT_D->do_attack(me, target, weapon, 0); } me->add("apply/attack", -skill / 5); me->add("apply/defense", -skill / 5); me->start_busy(1 + random(6)); return 1; }