// lonely-sword.c 独孤九剑
#include <ansi.h>
#include <combat.h>
#include "/kungfu/skill/eff_msg.h";
inherit SKILL;
string *order = ({""HIY"", ""HIG"", ""RED"", ""MAG"", ""YEL"", ""HIC"", ""HIW"", ""HIR"",""HIB"", ""CYN"",""WHT"",""HIM"",""BLU""});
string *parry_msg = ({
"却见$n踏前一步,剑式斜指你的右臂,想要使$P闪身而退。\n",
"$n以攻为守,以进为退,凝神运气向$P猛攻快打地挥出方位大异的泰山「快活三」三剑。\n",
"$n剑法突变,剑势伸缩不定,奔腾矫夭,逆使嵩山剑法的「天外玉龙」企图迫使$P变招。\n",
"$n突然一剑点向$P的$l,虽一剑却暗藏无数后着,$P手足无措,攻势不由自主停了下来。\n"
"$n不闪不避,举剑闪电般使出「叠翠浮青」反削$P的$l,想挡过你此招。\n",
"$n突然使出青城派松风剑法的「鸿飞冥冥」,长剑对着$P一绞,企图突破$P的攻势。\n"
"$n挺剑一招象是「白云出岫」回刺$P的$l,企图将$P的攻势化解。\n",
"只见$n不退反进,身如飘风,一式「天柱云气」动向无定,挡住了$P的\n进攻。\n",
"$n不退反进,使出恒山剑招「绵里藏针」,森森剑气充溢四周!架开了$P的这招\n",
});
mapping *action = ({
([ "action" : "但见$N挺身而上,$w一旋,一招仿佛泰山剑法的"+(order[random(13)])+"「来鹤清泉」"NOR"直刺$n
的$l!",
"force" : 110,
"dodge" : 65,
"damage": 250,
"lvl" : 0,
"damage_type" : "刺伤"
]),
([ "action" : "$N奇诡地向$n挥出"+(order[random(13)])+"「泉鸣芙蓉」"NOR"、"+(order[random(13)])+"「鹤翔紫盖」"NOR"、"+(order[random(13)])+"「石廪书声」"NOR"、"+(order[random(13)])+"「
天柱云气」"NOR"及"+(order[random(13)])+"「雁回祝融」"NOR"衡山五神剑!",
"force" : 110,
"dodge" : 60,
"damage": 250,
"lvl" : 7,
"damage_type" : "刺伤"
]),
([
"action" : "$N剑随身转,续而刺出十九剑,竟然是华山"+(order[random(13)])+"「玉女十九剑」"NOR",但奇的
是这十九剑便如一招,手法之快,直是匪夷所思!",
"force" : 110,
"dodge" : 65,
"damage": 250,
"lvl" : 14,
"damage_type" : "刺伤"
]),
([ "action" : ""+(order[random(13)])+"$N剑势忽缓而不疏,剑意有余而不尽,化恒山剑法为一剑,向$n慢慢
推去!",
"force" : 120,
"dodge" : 65,
"damage": 250,
"lvl" : 21,
"damage_type" : "刺伤"
]),
([ "action" : ""+(order[random(13)])+"$N剑意突焕气象森严,便似千军万马奔驰而来,长枪大戟,黄沙千里
,尽括嵩山剑势击向$n的$l!",
"force" : 120,
"dodge" : 80,
"damage": 250,
"lvl" : 28,
"damage_type" : "刺伤"
]),
([ "action" : "却见$N身随剑走,左边一拐,右边一弯,剑招也是越转越加狠辣,竟
化"+(order[random(13)])+"「泰山十八盘」"NOR"为一剑攻向$n!",
"force" : 130,
"dodge" : 100,
"damage": 255,
"lvl" : 35,
"damage_type" : "刺伤"
]),
([ "action" : "$N剑招突变,使出衡山的"+(order[random(13)])+"「一剑落九雁」"NOR",削向$n的$l,怎知剑到中
途,突然转向,大出$n意料之外!",
"force" : 140,
"dodge" : 100,
"damage": 260,
"lvl" : 42,
"damage_type" : "刺伤"
]),
([ "action" : "$N吐气开声,一招似是"+(order[random(13)])+"「独劈华山」"NOR",手中$w向下斩落,直劈向$n的
$l!",
"force" : 150,
"dodge" : 100,
"damage": 280,
"lvl" : 49,
"damage_type" : "刺伤"
]),
([ "action" : "$N手中$w越转越快,使的居然是衡山的"+(order[random(13)])+"「百变千幻云雾十三式」"NOR",剑
式有如云卷雾涌,旁观者不由得目为之眩!",
"force" : 160,
"dodge" : 100,
"damage": 290,
"lvl" : 56,
"damage_type" : "刺伤"
]),
([ "action" : "$N含笑抱剑,气势庄严,$w轻挥,尽融"+(order[random(13)])+"「达摩剑」"NOR"为一式,闲舒地刺
向$n!",
"force" : 170,
"dodge" : 100,
"damage": 300,
"lvl" : 63,
"damage_type" : "刺伤"
]),
([ "action" : "$N举起$w运使"+(order[random(13)])+"「太极剑」"NOR"剑意,划出大大小小无数个圆圈,无穷无尽
源源不绝地缠向$n!",
"force" : 280,
"dodge" : 100,
"damage": 320,
"lvl" : 70,
"damage_type" : "刺伤"
]),
([ "action" : "$N神声凝重,$w上劈下切左右横扫,挟雷霆万钧之势逼往$n,"+(order[random(13)])+"「伏摩
剑」"NOR"的剑意表露无遗!",
"force" : 290,
"dodge" : 105,
"damage": 330,
"lvl" : 77,
"damage_type" : "刺伤"
]),
([ "action" : "却见$N突然虚步提腰,使出酷似武当"+(order[random(13)])+"「蜻蜓点水」"NOR"的一招!",
"force" : 200,
"dodge" : 105,
"damage": 360,
"lvl" : 84,
"damage_type" : "刺伤"
]),
([ "action" : "$N运剑如风,剑光霍霍中反攻$n的$l,尝试逼$n自守,剑招似是"+(order[random(13)])+"「伏
魔剑」"NOR"的"+(order[random(13)])+"「龙吞式」"NOR"。",
"force" : 220,
"dodge" : 100,
"damage": 395,
"lvl" : 91,
"damage_type" : "刺伤"
]),
([ "action" : "$N突然运剑如狂,一手关外的"+(order[random(13)])+"「乱披风剑法」"NOR",猛然向$n周身乱刺乱
削!",
"force" : 240,
"dodge" : 100,
"damage": 320,
"lvl" : 98,
"damage_type" : "刺伤"
]),
([ "action" : "$N满场游走,东刺一剑,西刺一剑,令$n莫明其妙,分不出$N剑法的
虚实!",
"force" : 260,
"dodge" : 100,
"damage": 350,
"lvl" : 105,
"damage_type" : "刺伤"
]),
([ "action" : "$N抱剑旋身,转到$n身后,杂乱无章地向$n刺出一剑,不知使的是什
么剑法!",
"force" : 280,
"dodge" : 100,
"damage": 380,
"lvl" : 112,
"damage_type" : "刺伤"
]),
([ "action" : "$N突然一剑点向$n的$l,虽一剑却暗藏无数后着,$n手足无措,不知
如何是好!",
"force" : 200,
"dodge" : 100,
"damage": 485,
"lvl" : 119,
"damage_type" : "刺伤"
]),
([ "action" : "$N剑挟刀势,大开大阖地乱砍一通,但招招皆击在$n攻势的破绽,迫
得$n不得不守!",
"force" : 320,
"dodge" : 100,
"damage": 450,
"lvl" : 126,
"damage_type" : "刺伤"
]),
([ "action" : "$N反手横剑刺向$n的$l,这似有招似无招的一剑,威力竟然奇大,$n
难以看清剑招来势!",
"force" : 340,
"dodge" : 105,
"damage": 480,
"lvl" : 133,
"damage_type" : "刺伤"
]),
([ "action" : "$N举剑狂挥,迅速无比地点向$n的$l,却令人看不出其所用是什么招
式。",
"force" : 460,
"dodge" : 100,
"damage": 450,
"lvl" : 140,
"damage_type" : "刺伤"
]),
([ "action" : "$N随手一剑指向$n,落点正是$n的破绽所在,端的是神妙无伦,不可
思议!",
"force" : 480,
"dodge" : 100,
"damage": 450,
"lvl" : 147,
"damage_type" : "刺伤"
]),
([ "action" : "$N脸上突现笑容,似乎已看破$n的武功招式,胸有成竹地一剑刺向$n
的$l!",
"force" : 500,
"dodge" : 100,
"damage": 520,
"lvl" : 154,
"damage_type" : "刺伤"
]),
([
"action" : "$N将$w随手一摆,但见$n自己向$w撞将上来,神剑之威,实人所难测!",
"force" : 600,
"dodge" : 100,
"damage": 665,
"lvl" : 180,
"damage_type" : "刺伤"
]),
([ "action" : HIW "但见$N手中$w" HIW "破空长吟,平平一剑刺向$n,毫无招式可言",
"force" : 600,
"attack": 100,
"dodge" : 100,
"parry" : 300,
"damage": 560,
"lvl" : 250,
"damage_type" : "刺伤"
]),
([ "action" : HIW "$N揉身欺近,轻描淡写间随意刺出一剑,简单之极,无招无式",
"force" : 600,
"attack": 100,
"dodge" : 100,
"parry" : 300,
"damage": 560,
"lvl" : 300,
"damage_type" : "刺伤"
]),
([ "action" : HIW "$N身法飘逸,神态怡然,剑意藏于胸中,手中$w" HIW "随意挥洒而出,独孤"
"九剑已到了收发自如的境界",
"force" : 600,
"attack": 100,
"dodge" : 100,
"parry" : 300,
"damage": 560,
"lvl" : 350,
"damage_type" : "刺伤"
])
});
int valid_enable(string usage)
{
return usage=="sword" || usage=="parry";
}
mapping query_action(object me, object weapon)
{
return action[random(sizeof(action))];
}
string query_parry_msg(string limb)
{
return parry_msg[random(sizeof(parry_msg))];
}
int valid_learn(object me)
{
object ob;
mapping myfam;
myfam = (mapping)me->query("family");
if(!myfam || myfam["family_name"] != "华山派"|| myfam["master_id"] != "feng qingyang")
return notify_fail("独孤九剑只有向风清扬老前辈学习。\n");
if( (int)me->query("max_neili") < 600 )
return notify_fail("你的内力不够,没有办法练独孤九剑。\n");
if( (int)me->query_skill("zixia-shengong",1)<100)
return notify_fail("独孤九剑必须配合紫霞神功才能练习。\n");
if (((int)me->query_skill("huashan-sword", 1)+150) < (int)me->query_skill("lonely-sword", 1))
return notify_fail("你的剑宗华山剑法太低了。\n");
if (((int)me->query_skill("kuangfeng-jian", 1)+150) < (int)me->query_skill("lonely-sword", 1))
return notify_fail("你的气宗狂风快剑太低了。\n");
if (((int)me->query_skill("poyu-quan", 1)+200) < (int)me->query_skill("lonely-sword", 1))
return notify_fail("你的破玉拳太低了。\n");
if (((int)me->query_skill("hunyuan-zhang", 1)+200) < (int)me->query_skill("lonely-sword", 1))
return notify_fail("你的混元掌太低了。\n");
if (((int)me->query_skill("feiyan-huixiang", 1)+200) < (int)me->query_skill("lonely-sword", 1))
return notify_fail("你的飞燕回翔太低了。\n");
if (((int)me->query_skill("huashan-neigong", 1)+200) < (int)me->query_skill("lonely-sword", 1))
return notify_fail("你的剑宗内功太低了。\n");
if (((int)me->query_skill("zixia-shengong", 1)+200) < (int)me->query_skill("lonely-sword", 1))
return notify_fail("你的气宗内功太低了。\n");
if( !(ob = me->query_temp("weapon"))
|| (string)ob->query("skill_type") != "sword" )
return notify_fail("你必须先找一把剑才能练剑法。\n");
if ((int)me->query_skill("lonely-sword",1) > 120)
return notify_fail("这套剑法我就教到这儿,以后就要靠你自己练了。\n");
return 1;
}
int practice_skill(object me)
{
return notify_fail("独孤九剑只能通过"+(order[random(13)])+"「总诀式」"NOR"来演练。\n");
}
int valid_effect(object me, object weapon, string name, int skill)
{
}
|