this.inherits(COMMAND); this.command = "fight"; this.enter = function (me, argid) { if (argid == "none") { var items = me.environment.items; for (var i = 0; i < items.length; i++) { if (items[i].is_player && items[i].query_temp("fight") == me.id) { me.send_room("看起来$N并不想跟$n较量。", items[i], true); return me.notify("你拒绝了" + items[i].name + "的比试请求。"); } } return me.notify("这里没有人想要和你比试。"); } if (me.environment.no_fight) return me.notify("这里不允许战斗。"); var target = me.find_obj(argid, me.environment); if (!target) { return me.notify("你要攻击谁?"); } if (target.can_speek == false) return me.notify("看起来它并不想跟你较量。"); if (target == me) return me.notify("你不能和自己比试。"); if (target.hp < target.max_hp * 0.95) { return me.notify(target.name + "的状态不是很好,你想趁人之危吗?"); } if (me.hp < me.max_hp) { return me.notify("你先调整好自己的状态再来找别人比试吧。"); } if (me.is_fighting(target)) { return me.notify("加油,加油!!"); } if (me.is_fighting()) { return me.notify("等你打完再和别人比试吧!"); } if (target.is_fighting()) { return me.notify("对方正在切搓,等对方打完再来吧"); } me.send_room("\n$N对著$n说道:" + me.callme() + me.name + ",领教" + target.call() + "的高招!\n", target); if (target.no_fight || target.query_setting("off_fight")) { return me.send_room("看起来$n并不想跟$N较量。", target); } else { var ol_fight = me.query_temp("fight"); if (ol_fight) { if (ol_fight != target.id) { var ol_target = me.find_obj(ol_fight, me.environment); if (ol_target) { ol_target.notify("" + me.name + "取消了和你比试的念头。\n"); } me.remove_temp("fight"); } } if (target.is_player) { if (target.query_temp("fight") != me.id) { me.set_temp("fight", target.id, 10000); target.notify("" + me.name + "想和你比试,你是否同意:"); target.send_commands("fight " + me.id, "和" + me.name + "比试", "fight none", "不同意"); return me.notify("已发送比试请求,正在等待对方同意。"); } else { target.remove_temp("fight"); } } else { if (target.on_before_fight && target.on_before_fight(me) === false) return; } me.send_room("$n说道:既然" + me.call() + "赐教," + target.callme() + "只好奉陪。\n", target); me.begin_attack(target, 1); target.begin_attack(me, 1); } }