📄 never-defeated.c
字号:
// never-defeated.c 不败神功#include <ansi.h>inherit FORCE;string *dodge_msg = ({ "$n移开数步,恰好躲过了$N的攻击。\n", "$n忽然反击,直指$N的破绽,逼得$N只能回守。\n", "$n轻身闪避,将$N的实招全部躲过。\n", "$n脚下一个跄踉,似乎无意,却刚好躲过$N这一击。\n",});int query_neili_improve(object me){ int lvl; lvl = (int)me->query_skill("never-defeated", 1); return lvl * lvl * 20 * 15 / 100 / 200;}mapping *action_default = ({([ "action" : "$N攻势忽缓而不疏,似剑法又似刀法,捉摸不定向$n慢慢推去", "force" : 410, "attack": 150, "dodge" : 170, "parry" : 120, "damage": 395, "damage_type": "震伤"]),([ "action":"$N手中的$w突焕气象森严,便似千军万马奔驰而来,横扫$n", "force" : 410, "attack": 160, "dodge" : 185, "parry" : 110, "damage": 490, "damage_type": "擦伤"]),([ "action":"$N举起手中的$w,对着$n乱砍乱砸,没有半点章法", "force" : 430, "attack": 170, "dodge" : 170, "parry" : 130, "damage": 495, "damage_type": "割伤"]),([ "action":"$N运用$w幻化做一个一个圆圈,似乎要将$n包围", "force" : 425, "attack": 160, "dodge" : 165, "parry" : 125, "damage": 490, "damage_type": "内伤"]),([ "action":"$N含笑回转$w,伸手一指,颇得拈花指之意,点向$n的$l", "force" : 530, "attack": 176, "dodge" : 175, "parry" : 115, "damage": 490, "damage_type": "刺伤"]),([ "action":"$N长叹一声,将$w随手递出,连自己也不知道也攻向哪里", "force" : 440, "attack": 170, "dodge" : 180, "parry" : 325, "damage": 490, "damage_type": "割伤"]),([ "action":"$N神色凝重,$w上劈下切左右横扫,挟雷霆万钧之势逼往$n", "force" : 410, "attack": 160, "dodge" : 195, "parry" : 120, "damage": 490, "damage_type": "内伤"]),([ "action":"$N运起$w,就如狂风暴雨,霍霍亮光中反攻$n的$l,尝试逼$n自守", "force" : 420, "attack": 150, "dodge" : 195, "parry" : 135, "damage": 490, "damage_type": "内伤"]),([ "action":"$N突然如痴如狂,手中的$w猛然向$n周身乱刺乱削", "force" : 410, "attack": 165, "dodge" : 185, "parry" : 125, "damage": 495, "damage_type": "割伤"]),([ "action":"$N将$w随手一摆,$n反而自己向$w撞将上来,神兵之威,实人所难测", "force" : 430, "attack": 180, "dodge" : 175, "parry" : 110, "damage": 495, "damage_type": "瘀伤"]),([ "action":"$N手中的$w忽起剑势,却似或刀法,又夹杂棍杖之意,令$n眩目", "force" : 420, "attack": 175, "dodge" : 185, "parry" : 130, "damage": 490, "damage_type": "刺伤"]),});mapping *action_whip = ({([ "action" : "$N攻势忽缓而不疏,$w变化无常,捉摸不定向$n慢慢卷去", "force" : 430, "attack": 180, "dodge" : 175, "parry" : 115, "damage": 495, "damage_type": "擦伤"]),([ "action":"$N手中的$w突焕气象森严,便似千军万马奔驰而来,$w就如棍棒一般横扫$n", "force" : 410, "attack": 160, "dodge" : 185, "parry" : 125, "damage": 490, "damage_type": "擦伤"]),([ "action":"$N卷起手中的$w,就如铁锤一般对着$n乱砍乱砸,没有半点章法", "force" : 440, "attack": 175, "dodge" : 180, "parry" : 125, "damage": 495, "damage_type": "割伤"]),([ "action":"$N运用$w幻化做一个一个圆圈,似乎要将$n团团包围", "force" : 425, "attack": 160, "dodge" : 1065, "parry" : 125, "damage": 490, "damage_type": "内伤"]),([ "action":"$N含笑回转$w,伸手一指,颇得拈花指之意,点向$n的$l", "force" : 510, "attack": 180, "dodge" : 170, "parry" : 120, "damage": 490, "damage_type": "刺伤"]),});string *usage_skills = ({ "sword", "blade", "dagger", "staff", "hammer", "club", "whip", "dodge", "parry", "force", "throwing" });int valid_enable(string usage){ return (member_array(usage, usage_skills) != -1);}int valid_combo(string combo){ return combo == "never-defeated";}int valid_force(string force) { return 1; }int double_attack() { return 1; }mapping query_action(object me, object weapon){ switch (weapon ? weapon->query("skill_type") : "default") { case "whip": return action_whip[random(sizeof(action_whip))]; default: return action_default[random(sizeof(action_default))]; }}string query_dodge_msg(string limb){ return dodge_msg[random(sizeof(dodge_msg))];}int valid_learn(object me){ int level; int i;// if( !me->query("zhuanbest",1))// return notify_fail("你没有资格使用这项技能!\n"); if( !me->query("4zhuan") && !me->query("5zhuan")) return notify_fail("你没有资格使用这项技能!\n"); if( me->query("zhuanfinal/8",1) != 1) return notify_fail("你没有资格使用这项技能!\n"); if (me->query("int") < 38) return notify_fail("你觉得不败神功过于深奥,绝" "非自己的智力所能理解。\n"); if (me->query("gender") == "无性" && (int)me->query_skill("never-defeated", 1) > 239) return notify_fail("你无根无性,阴阳不调,难以领会高深的不败神功。\n"); level = me->query_skill("never-defeated", 1); if (me->query_skill("force", 1) < level) return notify_fail("你对基本内功的理解还不够,无法继续" "领会更高深的不败神功。\n"); if (me->query_skill("parry", 1) < level) return notify_fail("你对基本招架的理解还不够,无法继续" "领会更高深的不败神功。\n"); if (me->query_skill("dodge", 1) < level) return notify_fail("你对基本轻功的理解还不够,无法继续" "领会更高深的不败神功。\n"); if (me->query_skill("sword", 1) < level) return notify_fail("你对基本剑法的理解还不够,无法继续" "领会更高深的不败神功。\n"); if (me->query_skill("blade", 1) < level) return notify_fail("你对基本刀法的理解还不够,无法继续" "领会更高深的不败神功。\n"); if (me->query_skill("whip", 1) < level) return notify_fail("你对基本鞭法的理解还不够,无法继续" "领会更高深的不败神功。\n"); if (me->query_skill("throwing", 1) < level) return notify_fail("你对基本暗器的理解还不够,无法继续" "领会更高深的不败神功。\n"); return 1;}int practice_skill(object me){ return notify_fail("不败神功博大精深,无法简单的通过练习进步。\n");}int difficult_level(){ return 500;}string perform_action_file(string action){ return __DIR__"never-defeated/perform/" + action;}string exert_function_file(string action){ return __DIR__"never-defeated/exert/" + action;}mixed hit_ob(object me, object victim, int damage_bonus, int factor, string limb){ int level, jiali, time,level2; object weapon; weapon = me->query_temp("weapon"); level = (int) me->query_skill("never-defeated",1); level2= (int) me->query_skill("never-defeated",1); jiali = me->query("jiali");if (!me) return;if (!victim) return;if (!weapon) return;if( me->is_busy() && random(3)==0) return;//if (!level) return;if (!level2) return;if (!jiali) jiali=10;if (me->query("zhuanfinal/1") ==1 && random(3)==0){ if (userp(victim)) victim->receive_wound("qi", victim->query("qi")/8); if (!userp(victim)) victim->receive_wound("qi", 500); return RED"$N使用了斩仙决!!$n突然胸口一痛鲜血狂奔!\n"NOR;}elseif (me->query("zhuanfinal/2") ==1 && random(3)==0){ if (userp(victim)) victim->add("neili", -victim->query("neili")/8); if (!userp(victim)) victim->add("neili", -500); return HIY"$N使用了破仙决!!$n突然内力消失!\n"NOR;}elseif (me->query("zhuanfinal/3") ==1 && random(3)==0){ if (!victim->is_busy()) victim->start_busy(4); return HIY"$N使用了乱仙决!!$n突然手忙脚乱!\n"NOR;}else if( random(level2)>50 && random(3)==0 ) { victim->receive_wound("qi", (random(jiali)+150)); return RED"只见$n$l上鲜血狂奔,已被"+weapon->name()+HIR"斩出的无形气劲切了开来!\n"NOR; }} int ob_hit(object ob, object me, int damage){ object weapon = me->query_temp("weapon"); string msg,dodge_skill,*limbs; string result; int ap, dp; int i, j, level, p, q; limbs = ob->query("limbs"); level = me->query_skill("never-defeated", 1); if( !weapon) return damage;if (me->query_skill_mapped("parry") != "never-defeated") return damage; if( me->is_busy() && random(2)==0) return damage; if( damage < 100 ) return damage;if (me->query("zhuanfinal/4") ==1 && random(3)==0){ if (me->query("qi") < me->query("max_qi") ) me->add("qi", me->query("max_qi") / 8); if (me->query("eff_qi",1) < me->query("max_qi",1) ) me->add("eff_qi",me->query("max_qi")/8); if (me->query("qi") < me->query("max_qi") ) result = HIY"$N使用了妙仙决!!$N全身的伤好了很多!\n"NOR;}elseif (me->query("zhuanfinal/5") ==1 && random(3)==0){if (me->is_busy() )me->start_busy(1);if (!ob->is_busy() )ob->start_busy(2); result = HIY"$N使用了动仙决!!$N突然动作又快了!\n"NOR;}elseif (me->query("zhuanfinal/6") ==1 && random(3)==0){ if (me->query("neili") < me->query("max_neili") ) me->add("neili", me->query("max_neili") / 8); result = HIY"$N使用了银仙决!!$N突然内力恢复了!\n"NOR;}else if ( random(8)==1) { damage=30; switch (random(4)) { case 0: result = HIW "$n" HIW "面含微笑,轻轻一格,已将天" "下所有进攻招数全部封死。\n" NOR; break; case 1: result = HIW "$n" HIW "眉头微微一皱,动也不动,将" "$N" HIW "震到一边。\n" NOR; break; case 2: result = HIW "$n" HIW "身形微微一抖,已将$N" HIW "迫退至丈许开外。\n" NOR; break; default: result = HIW "$n" HIW "一声轻哼,身形微微一动,已" "飘然远去,使$N" HIW "的进攻全无用处。\n" NOR; break; }message_vision(result,ob,me); return damage; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -