init: add workspace files

This commit is contained in:
2026-05-26 16:41:20 +08:00
commit f4f2393f72
1041 changed files with 67405 additions and 0 deletions

13
world/skill/base/bite.js Normal file
View File

@@ -0,0 +1,13 @@
this.inherits(SKILL);
this.type = SKILL_TYPES.BASE;
this.id = "bite";
this.name = "野兽扑咬";
this.grade = 0;
this.desc = "动物类技能";
this.family = FAMILIES.MONSTER;
this.attack_actions = [
"$N张嘴朝$n的$l咬去", "$N抬起前爪往$n的$l一抓", "$N往$n的$l狠狠的扑了过去",
"$N跳起来用前抓往$n的$l抓去", "$N猛的扑向$n的$l"
];
this.query_prop = lv => ({ gj: parseInt(lv / 5), mz: parseInt(lv / 5) });
this.set_default(this.id);

34
world/skill/base/blade.js Normal file
View File

@@ -0,0 +1,34 @@
this.inherits(SKILL);
this.id = "blade";
this.name = "基本刀法";
this.type = SKILL_TYPES.BASE;
this.grade = 0;
this.desc = "刀法类武功的基础功法,坚持锻炼会使你的技巧熟练,增加自身的命中";
this.attack_actions = [
"$N用$W往$n的$l刺去", "$N用$W往$n的$l砍去", "$N挥动$W,斩向$n的$l"
];
this.set_default(this.id);
this.set_pfm("zhan", {
name: "斩击",
distime: 5000,
mp: 5,
use: function (me, target, lv) {
var msg = "<hic>$N看$n露出破绽挥动$W斩向$n的$l</hic>";
var gj = 10 + lv;
me.do_attack({
target: target,
gj:me.gj + gj,
mz: me.mz,
attack_msg:msg
});
me.end_attack(target);
},
query_desc: function (me, lv) {
var gj = 10 + lv;
return "强力的一击,对敌人造成基本攻击附加" + gj + "的伤害。";
}
});
this.query_prop = function (lv) {
return { mz: lv };
}

13
world/skill/base/club.js Normal file
View File

@@ -0,0 +1,13 @@
this.inherits(SKILL);
this.id = "club";
this.name = "基本棍法";
this.grade = 0;
this.type = SKILL_TYPES.BASE;
this.attack_actions = [
"$N用$W往$n的$l捅去", "$N用$W往$n的$l敲去", "$N挥动$W,扫向$n的$l"
];
this.set_default(this.id);
this.desc = "棍法类技能的基础功法,坚持锻炼会增加你的招架能力";
this.query_prop = function (lv) {
return { zj: lv };
}

15
world/skill/base/dodge.js Normal file
View File

@@ -0,0 +1,15 @@
this.inherits(SKILL);
this.id = "dodge";
this.name = "基本轻功";
this.grade = 0;
this.desc = "轻功的基础功法坚持锻炼会身轻如燕。每10级增加1点后天身法";
this.type = SKILL_TYPES.BASE;
this.dodge_actions = ["但是和$p$l偏了几寸。",
"但是被$p机灵地躲开了。",
"但是$n身子一侧闪了开去。",
"但是被$p及时避开。",
"但是$n已有准备不慌不忙的躲开。"];
this.set_default(this.id);
this.query_prop = lv => ({ dex: parseInt(lv / 10) });

View File

@@ -0,0 +1,9 @@
this.inherits(SKILL);
this.name = "基本内功";
this.id = "force";
this.grade = 0;
this.type = SKILL_TYPES.BASE;
this.set_default(this.id);
this.desc = "内功的基础功法坚持锻炼会增强体质。每10级增加1点后天根骨增加内力上限";
this.query_prop = lv => ({ con: parseInt(lv / 10), limit_mp: 100 + lv * 5, desc: "唯一将你内力的10%转化为气血" });

24
world/skill/base/parry.js Normal file
View File

@@ -0,0 +1,24 @@
this.inherits(SKILL);
this.id = "parry";
this.name = "基本招架";
this.grade = 0;
this.type = SKILL_TYPES.BASE;
this. weapon_vs_weapon_actions = [
"只听见「锵」一声,被$p用手中$i格开了。",
"结果「当」地一声被$p挡开了。",
"但是被$n用手中$i架开。",
"但是$n身子一侧用手中$i格开。"
];
this.parry_actions = [
"但是被$p格开了。",
"结果被$p挡开了。"
];
this.unarmed_vs_weapon_actions =[
"但是被$p轻轻一推$w失了准头和$p的$l偏了几寸。",
"$p往$N的手腕轻轻一按结果$w偏向一边。"
];
this.desc = "招架类技能的基础功法,坚持锻炼会提高你的招架能力";
this.query_prop = lv => ({ zj: lv });
this.set_default(this.id);

13
world/skill/base/staff.js Normal file
View File

@@ -0,0 +1,13 @@
this.inherits(SKILL);
this.id = "staff";
this.name = "基本杖法";
this.grade = 0;
this.type = SKILL_TYPES.BASE;
this.attack_actions = [
"$N用$W往$n的$l捅去", "$N用$W往$n的$l敲去", "$N挥动$W,扫向$n的$l"
];
this.set_default(this.id);
this.desc = "杖法类技能的基础功法,坚持锻炼会增加你的招架能力";
this.query_prop = function (lv) {
return { zj: lv };
}

36
world/skill/base/sword.js Normal file
View File

@@ -0,0 +1,36 @@
this.inherits(SKILL);
this.id = "sword";
this.name = "基本剑法";
this.grade = 0;
this.type = SKILL_TYPES.BASE;
this.attack_actions = [
"$N用$W往$n的$l刺去", "$N用$W往$n的$l砍去", "$N挥动$W,斩向$n的$l"
];
this.set_default(this.id);
this.desc = "剑法类技能的基础功法,磨练你的技巧,坚持锻炼会增加你自身的命中";
this.set_pfm("lian", {
name: "连击",
distime: 5,
mp: 5,
weapon_type: WEAPON_TYPE.SWORD,
use: function (me, target, lv) {
var msg = "<hig>$N加快速度手中的$W快速向$n刺去</hig>";
me.send_room(msg, target);
me.do_attack({
target: target,
gj: me.gj,
mz: me.mz
});
me.do_attack({
target: target,
gj: me.gj,
mz: me.mz
});
me.end_attack(target);
}, query_desc: function (me, lv) {
return "快速对敌人攻击两次";
}
});
this.query_prop = function (lv) {
return { mz: lv };
}

View File

@@ -0,0 +1,13 @@
this.inherits(SKILL);
this.id = "throwing";
this.name = "基本暗器";
this.grade = 0;
this.type = SKILL_TYPES.BASE;
this.set_default(this.id);
this.desc = "暗器类技能的基础功法,磨练你的技巧,坚持锻炼会增加你自身的命中";
this.attack_actions = [
"$N用$T往$n的$l刺去", "一道$T射向$n的$l", "$T飞向$n的$l"
];
this.query_prop = function (lv) {
return { mz: lv };
}

View File

@@ -0,0 +1,35 @@
this.inherits(SKILL);
this.id = "unarmed";
this.name = "基本拳脚";
this.type = SKILL_TYPES.BASE;
this.grade = 0;
this.desc = "拳脚类武功的基础功法坚持锻炼必成大器。每10级会增加1点后天臂力";
this.attack_actions = [
"$N挥拳攻击$n的$l", "$N往$n的$l一抓", "$N往$n的$l狠狠地踢了一脚",
"$N提起拳头往$n的$l捶去", "$N对准$n的$l用力挥出一拳"
];
this.set_default(this.id);
this.set_pfm("zhong", {
name: "重击",
distime: 5000,
mp: 5,
release_time:0,
use: function(me, target, lv) {
var msg = "<hig>$N看准时机双拳蓄力对准$n的$l用力砸去</hig>";
var gj = 10 + lv;
me.do_attack({
target: target,
gj: me.gj + gj,
mz: me.mz,
attack_msg:msg,
no_weapon:true
});
me.end_attack(target);
},
query_desc: function (me, lv) {
var gj = 10 + lv;
return "强力的一击,对敌人造成基本攻击附加" + gj + "的伤害。";
}
});
this.query_prop = lv => ({ str: parseInt(lv / 10) });

14
world/skill/base/whip.js Normal file
View File

@@ -0,0 +1,14 @@
this.inherits(SKILL);
this.id = "whip";
this.name = "基本鞭法";
this.grade = 0;
this.type = SKILL_TYPES.BASE;
this.attack_actions = [
"$N用$W往$n的$l抽去", "$N甩动$W往$n的$l抽去", "$N挥动$W,扫向$n的$l"
];
this.set_default(this.id);
this.desc = "鞭法类技能的基础功法,坚持锻炼会磨练你的技巧增加命中";
this.query_prop = function (lv) {
return { mz: lv };
}

View File

@@ -0,0 +1,119 @@
this.inherits(SKILL);
this.name = "胡家刀法";
this.id = "hujiadaofa";
this.grade = 2;
this.attack_actions = [
"$N手中$w横推一招<HIM>「推波助澜」</HIM>,由上至下向$nl砍去",
"$N一招<HIC>「沙鸥掠波」</HIC>,刀锋自下而上划了个半弧,$w一提一收平刃挥向$n的颈部",
"$N使出一招<HIB>「天设牢笼」</HIB>,将$w舞得如白雾一般压向$n",
"$N一招<HIG>「闭门铁扇」</HIG>$w缓缓的斜着向$n推去",
"$N手拖$w转身跃起一招<RED>「翼德闯帐」</RED>,一道白光射向$n的胸口",
"$N挥舞$w使出一招<HIW>「白鹤舒翅」</HIW>,上劈下撩,左挡右开,齐齐罩向$n",
"$N一招<GRN>「春风送暖」</GRN>,左脚跃步落地,$w顺势往前挟风声劈向$n的$l",
"$N募的使一招<HIM>「八方藏刀」</HIM>,顿时剑光中无数朵刀花从四面八方涌向$n全身"
];
this.parry_actions = SKILL.get("parry").parry_actions;
this.desc = "关外胡家赖以成名的刀法,为胡家始祖飞天狐狸所创。胡斐据家传刀谱练成后与金面佛苗人凤的苗家剑齐名天下。";
//"\+(\w+)\+"(.+?)"\+NOR\+"
//<$1>$2</$1>
this.can_enables = ["blade", "parry"];
this.learn_condition = {
max_mp: 1000,
skill: {
blade: 300
}
};
this.on_parry_over = function (me, target, par) {
if (par.is_parry) {
if (!me.query_temp("sk/hu/parry")) {
me.do_attack({
target: target,
attack_msg: "<hic>$N化守为攻使出一招「大雪纷纷」$W发出万长白芒寒光四射直劈向$n</hic>",
}); me.end_attack(target);
me.set_temp("sk/hu/parry", 1, 5000);
}
}
}
this.query_enable_prop = function (lv) {
return {
blade: {
gj: lv * 1.5 + 10,
dex: parseInt(lv / 8)
}, parry: {
zj: lv * 1.5 + 4,
desc: "当你招架成功后立刻反击敌人5秒冷却"
}
};
}
this.slots = [
{
prop: 'hjdf_sf_per',
value: (lv) => 20,
format: (val) => {
return '八方藏刀绝招释放时间减少20%';
},
},
{
prop: 'hjdf_mz_per',
value: (lv) => 10,
format: (val) => {
return '八方藏刀命中增加10%';
}
},
{
prop: 'hjdf_sh_per',
value: (lv) => 10,
format: (val) => {
return '八方藏刀伤害增加10%';
}
}
];
this.pfm = {
chan:
{
name: "八方藏刀",
distime: 10000,
enable_skill: "blade",
release_time: 5000,
weapon_type: WEAPON_TYPE.BLADE,
releasetime_per_key: 'hjdf_sf_per',
mp: 20,
is_weapon_buff: true,
use: function (me, target, lv) {
me.send_room("<hiw>$N施出「八方藏刀式」手中的$W吞吞吐吐变化莫测笼罩了$n周身要害</hiw>", target);
let mz = me.mz * 1.1;
mz += me.mz * me.query_prop('hjdf_mz_per') / 100;
let gj = me.gj;
gj += me.gj * me.query_prop('hjdf_sh_per') / 100;
me.call_interval(
function () {
if (!me.can_attack()) return false;
target = me.query_enemy();
me.do_attack({
target: target,
gj: gj,
mz: mz,
attack_before: "<hiw>紧跟着</hiw>",
no_append: true
});
if (!me.end_attack(target)) {
return false;
}
},
625,
8
);
},
query_desc: function (me, lv) {
return "快速出刀释放成功后在5秒内出刀8次每刀命中增加10%";
}
}
};

View File

@@ -0,0 +1,89 @@
this.inherits(SKILL);
this.name = "五虎断门刀";
this.id = "wuhuduanmendao";
this.grade = 1;
this.attack_actions = [
"$N手中$w斜指一招「直来直去」反身一顿一刀向$n的$l撩去",
"$N一招「童子挂画」左右腿虚点$w一提一收平刃挥向$n的颈部",
"$N展身虚步提腰跃落一招「推窗望月」刀锋一卷拦腰斩向$n",
"$N一招「力劈华山」$w大开大阖自上而下划出一个闪电直劈向$n",
"$N手中$w一沉一招「临溪观鱼」双手持刃拦腰反切砍向$n的胸口",
"$N挥舞$w使出一招「张弓望的」上劈下撩左挡右开齐齐罩向$n",
"$N一招「风送轻舟」左脚跃步落地$w顺势往前挟风声劈向$n的$l",
"$N盘身驻地一招「川流不息」挥出一片流光般的刀影向$n的全身涌去",
"$N右手后撤手腕一翻一招「壮士断腕」顿时一道白光直斩向$n的手臂",
"$N高高跃起一招「人头落地」手中$w直劈向$n的颈部",
"$N贴地滑行一招「断子绝孙」手中$w直撩去$n的裆部"
];
this.desc = "江湖上挺常见的刀法武功,以招式狠辣出名。茅十八的成名绝技。";
//"\+(\w+)\+"(.+?)"\+NOR\+"
//<$1>$2</$1>
this.can_enables = ["blade"];
this.on_learn = function (me) {
if (me.max_mp < 10)
return me.notify_fail("你的内力不够。");
if (me.query_skill("blade", 1) < 10)
return me.notify_fail("你的基础不够,无法领会更高深的技巧。");
return true;
}
this.query_enable_prop = function (lv) {
return {
blade: {
gj: lv
}
};
}
this.slots = [
{
prop: 'whd_sh_max',
value: (lv) => 20,
format: (val) => {
return '断字诀附加的伤害上限增加20%';
}
}
, {
prop: "whd_mz",
value: lv => 100 + Math.floor(lv * lv / 1000),
format: (val) => {
return "断字诀的命中增加" + val;
}
}
];
this.pfm = {
chan:
{
name: "断字诀",
distime: 10000,
enable_skill: "blade",
weapon_type: WEAPON_TYPE.BLADE,
mp: 20,
use: function (me, target, lv) {
var gj = parseInt(50 + lv / 5);
let max = 300 + me.str + me.query_prop('whd_sh_max');
if (gj > max) gj = max;
gj = gj * me.gj / 100;
var mz = me.mz + me.query_prop('whd_mz');
me.send_room("<hiy>$N猛然伏地使出五虎断门刀断字决顿时一片白光直向前滚去</hiy>", target);
for (var i = 0; i < 3; i++) {
me.do_attack({
target: target,
gj: gj,
mz: mz,
attack_before: "紧跟着"
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var gj = parseInt(50 + lv / 5);
let max = 300 + me.str + me.query_prop('whd_sh_max');
if (gj > max) gj = max;
return "欺身伏地,瞬间劈出三刀,每刀造成" + gj + "%自身攻击力的伤害";
}
}
};

View File

@@ -0,0 +1,93 @@
this.inherits(SKILL);
this.name = "八卦棍法";
this.id = "baguagun";
this.grade = 2;
this.attack_actions = [
"$N脚踏八卦方位盘身驻地一招「削耳撩腮」手中$w由上至下向$n扫去",
"$N脚踏八卦方位反转棍尖一招「反身劈山」手中$w竟然用反身刺向$n的胸前",
"$N一提气劲贯$w“嗡嗡”做响一招「上歪门」自上而下直插$n的头顶",
"$N一招「上势抱棍」$w大开大阖自上而下划出一个大弧笔直劈向$n",
"$N蓦的使一招「八卦八阵」顿时无数棍影从四面八方涌向$n全身",
"$N腾空而起如山棍影疾疾压向$n",
"$N身形一转手中$w往后一拖就在这将退未退之际一招「峰回路转」向$n当头砸下"
];
this.desc = "温府的一套棍法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["club"];
this.learn_condition = {
max_mp: 800,
skill: {
club: 250
}
};
this.slots = [
{
prop: 'bgg_mz',
value: (lv) => 10,
count: 2,
format: (val) => {
return '八卦八打每棍命中增加10%';
},
},
{
prop: 'bgg_gj',
value: (lv) => 10 + parseInt(lv / 100),
count: 3,
format: (val) => {
return '八卦八打附加的伤害提高' + val + "%";
},
},
{
prop: 'bgg_cd',
value: (lv) => 5000,
count: 3,
format: (val) => {
return '八卦八打冷却减少5秒';
},
},
];
this.query_enable_prop = function (lv) {
return {
club: {
gj: parseInt(lv * 1.2) + 20,
mz: parseInt(lv * 1.2) + 20
}
};
}
this.pfm = {
wu:
{
name: "八卦八打",
distime: 20000,
enable_skill: "club",
distime_key: 'bgg_cd',
mp: 20,
use: function (me, target, lv) {
var p = 1 + Math.round((lv / 100));
if (p > 8) p = 8;
me.send_room("<hir>$N脚下踏着先天八卦的图式身随意转手随心动顿时无数棍影从四面八方涌向$n</hir>\n", target);
const mz_per = me.query_prop('bgg_mz');
let mz = me.mz;
let gj = me.gj + me.gj * me.query_prop('bgg_gj') / 100;
mz = mz + mz * mz_per / 100;
for (var i = 0; i < p; i++) {
me.do_attack({
target: target,
gj: gj,
mz: mz
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var p = 1 + Math.round((lv / 100));
if (p > 8) p = 8;
return "瞬间对敌人攻击" + p + "次";
}
}
};

View File

@@ -0,0 +1,83 @@
this.inherits(SKILL);
this.name = "绝门棍";
this.id = "juemengun";
this.grade = 1;
this.dodge_actions = [
"$n右脚轻轻一点跃开躲过了$N的攻击。",
"$n向旁边扑出顺势一滚闪到一边。",
"$n斜里冲前一步身法诡异$N这一招落到空处。",
"$n忽然直身飞入半空很久也不见人影半响后竟闪到了$N的背后。",
"$n突然一个急转身$N的这一招滑到了一边。",
];
this.attack_actions = [
"$N斜里冲前一步身法诡异手中$w横扫$n的$l",
"$N忽然直身飞入半空很久也不见人影$n正搜寻间$N已飞身扑下$w攻向$n的$l",
"$N原地一个后滚翻却在落地的一刹那身体向$n平飞过去手中$w指向$n的$l",
"$N突然一个急转身$w横扫一圈后挟着猛烈的劲道打向$n的$l",
"$N向前扑出顺势一滚接着翻身跳起手里$w斜向上击向$n的$l",
"$N手中$w上下翻飞舞成了一团杖花这杖花绕$n游走三圈后指向$n的$l"
];
this.desc = "据说曾经是少林七十二绝技中的一种棍法,流传至今不知还有几分精髓,可以装备为棍法和轻功";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["club", "dodge"];
this.learn_condition = {
max_mp: 800,
skill: {
club: 50
}
};
this.query_enable_prop = function (lv) {
return {
club: {
gj: lv + 5
},
dodge: {
ds: lv + 5
}
};
}
this.slots = [
{
prop: 'jm_mz',
value: (lv) => lv / 50,
format: (val) => {
return '绝棍闷打命中增加' + val + '%';
},
},
{
prop: 'jm_sh',
value: (lv) => lv / 50,
format: (val) => {
return '绝棍闷打伤害增加' + val + '%';
},
},
];
this.pfm = {
wu:
{
name: "绝棍闷打",
distime: 10000,
enable_skill: "club",
mp: 20,
use: function (me, target, lv) {
var p = 120 + Math.round((lv / 5));
var gj = me.gj * p / 100 + me.gj * me.query_prop('jm_sh') / 100;
var mz = me.mz + 20 + me.mz * me.query_prop('jm_mz') / 100;
me.do_attack({
target: target,
gj: gj,
mz: mz,
attack_msg: "<hiw>$N突然反身疾退$n正疑惑发愣间却见$N骤然转身施展出「<red>绝棍闷打</red>」,左右上下挥舞游走间,漫天棍影已压向傻不楞登的$n</hiw>"
});
me.end_attack(target);
},
query_desc: function (me, lv) {
var p = 120 + Math.round((lv / 5));
return "快速混乱的闷棍看似无章法却使敌人难以躲闪增加自身命中20造成" + p + "%攻击力的伤害。";
}
}
};

View File

@@ -0,0 +1,124 @@
this.inherits(SKILL);
this.name = "蒙古骑枪";
this.id = "mengguqiangfa";
this.grade = 3;
this.dodge_actions = [
"$n右脚轻轻一点跃开躲过了$N的攻击。",
"$n向旁边扑出顺势一滚闪到一边。",
"$n斜里冲前一步身法诡异$N这一招落到空处。",
"$n忽然直身飞入半空很久也不见人影半响后竟闪到了$N的背后。",
"$n突然一个急转身$N的这一招滑到了一边。",
];
this.attack_actions = [
"$N斜里冲前一步身法诡异手中$w横扫$n的$l",
"$N忽然直身飞入半空很久也不见人影$n正搜寻间$N已飞身扑下$w攻向$n的$l",
"$N原地一个后滚翻却在落地的一刹那身体向$n平飞过去手中$w指向$n的$l",
"$N突然一个急转身$w横扫一圈后挟着猛烈的劲道打向$n的$l",
"$N向前扑出顺势一滚接着翻身跳起手里$w斜向上击向$n的$l",
"$N手中$w上下翻飞舞成了一团枪花这枪花绕$n游走三圈后指向$n的$l"
];
this.desc = "蒙古士兵使用的枪法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["club", "parry"];
this.learn_condition = {
max_mp: 5000,
skill: {
club: 500
}
};
this.query_enable_prop = function (lv) {
return {
club: {
gj: parseInt(lv * 1.5) + 5,
mz: parseInt(lv * 1.5) + 5
},
parry: {
zj: parseInt(lv * 1.5) + 5,
fy: parseInt(lv * 1.5) + 5
}
};
}
this.slots = [
{
prop: "mgqq_cc",
value: lv => 1,
format: (val) => {
return "连刺次数+1";
}
}, {
prop: "mgqq_mz",
value: lv => 50,
format: (val) => {
return "回马枪触发的连刺命中增加" + val + "%";
}
}
];
this.pfm = {
lian:
{
name: "连刺",
distime: 20000,
enable_skill: "club",
mp: 20,
use: function (me, target, lv) {
var p = 1 + parseInt(lv / 100);
if (p > 7) p = 7;
p += me.query_prop('mgqq_cc');
me.send_room("<hiy>$N身形一转手中$W抖的笔直快速向$n刺去</hiy>\n", target);
for (var i = 0; i < p; i++) {
me.do_attack({
target: target,
gj: me.gj,
mz: me.mz,
attack_before: "紧跟着"
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var p = 1 + parseInt(lv / 100);
if (p > 7) p = 7;
return "对敌人快速攻击" + p + "次";
}
}, hui:
{
name: "回马枪",
distime: 20000,
enable_skill: "club",
mp: 20,
use: function (me, target, lv) {
var per = 150 + parseInt(lv / 20);
if (me.do_attack({
target: target,
gj: me.gj,
mz: me.mz * per / 100,
attack_msg: "<hir>$N突然反身疾退$n正疑惑发愣间却见$N骤然转身施展出「<red>回马枪</red>」刺向傻不楞登的$n</hir>"
})) {
var p = 1 + parseInt(lv / 100);
if (p > 7) p = 7;
p += me.query_prop('mgqq_cc');
let mz = me.mz + me.mz * me.query_prop('mgqq_mz') / 100;
me.send_room("<hiy>紧跟着$N身形一转手中$W抖的笔直快速向$n刺去</hiy>\n", target);
for (var i = 0; i < p; i++) {
me.do_attack({
target: target,
gj: me.gj,
mz: mz,
attack_before: "紧跟着"
});
}
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var per = 50 + parseInt(lv / 50);
return "攻击出其不意,增加你" + per + "的命中,对敌人快速攻击,如果命中则触发连刺。";
}
}
};

View File

@@ -0,0 +1,71 @@
this.inherits(SKILL);
this.name = "韦陀棍";
this.id = "weituogun";
this.grade = 1;
this.family = FAMILIES.SHAOLIN;
this.attack_actions = [
"$N一招<YEL>「黄石纳履」</YEL>,手中$w如蜻蜓点水般招招向$n的下盘要害点去",
"$N把$w平提胸口一拧身一招<BLU>「勒马停锋」</BLU>$w猛地撩向$n的颈部",
"$N一招<HIC>「平地龙飞」</HIC>,全身滴溜溜地在地上打个大转,举棍向$n的胸腹间戳去",
"$N伏地一个滚翻一招<HIB>「伏虎听风」</HIB>$w挟呼呼风声迅猛扫向$n的足胫",
"$N一招<HIW>「流星赶月」</HIW>,身棍合一,棍端逼成一条直线,流星般向顶向$n的$l",
"$N双手持棍划了个天地大圈一招<RED>「红霞贯日」</RED>,一棍从圆心正中击出,撞向$n的胸口",
"$N一招<YEL>「投鞭断流」</YEL>$w高举以雷霆万钧之势对准$n的天灵当头劈下",
"$N潜运真力一招<HIW>「苍龙归海」</HIW>$w顿时长了数丈矫龙般直射$n的胸口"
];
this.desc = "少林寺七十二绝技之韦陀棍";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["club"];
this.learn_condition = {
max_mp: 700,
skill: {
club: 50
}
};
this.query_enable_prop = function (lv) {
return {
club: {
gj: lv + 15
}
};
}
this.pfm = {
wu:
{
name: "韦陀伏魔",
distime: 20000,
enable_skill: "club",
mp: 20,
use: function (me, target, lv) {
var p = 120 + Math.round((lv / 50));
var t = (lv * 10 + 2000);
if (t > 12000) t = 12000;
if (me.do_attack({
target: target,
attack_msg: "<hiy>$N脸色柔和尽显一派慈祥之意手中的$W轻旋恍惚中显出佛家韦陀神像神光四射笼罩住$n<hiy>",
gj: me.gj * p / 100,
mz: me.mz
})) {
me.end_attack(target);
target.add_status({
id: "busy",
is_busy: true,
name: "忙乱",
duration: t,
downside: true,
desc:"你手忙脚乱无法招架,攻击"
});
}
},
query_desc: function (me, lv) {
var p = 120 + Math.round((lv / 50));
var t = (lv * 10 + 2000) / 1000;
if (t > 12) t = 12;
return "韦陀棍之韦陀伏魔,造成" + p + "%攻击力的伤害,命中后震慑敌人使敌人忙乱" + (t) + "秒。";
}
}
};

View File

@@ -0,0 +1,107 @@
this.inherits(SKILL);
this.name = "中平枪法";
this.id = "zhongpingqiang";
this.grade = 3;
this.attack_actions = [
"$N双手一别尽力前伸使出一招「中平无敌」手中$w平平直出刺向$n的$l",
"$N手中$w盘旋回转风响阵阵屈身下蹲反手一招「夜叉探海」自下向$n的$l刺去",
"$N举起$w抖出一朵枪花一招「灵蛇出洞」向$n分心扎去",
"$N一招「反身拿枪」手中$w划个小圈消去$n的后招而后$w微抬指向$n的$l"
];
this.desc = "";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["club", "parry"];
this.learn_condition = {
max_mp: 10000,
skill: {
club: 500
}
};
this.query_enable_prop = function (lv) {
return {
club: {
gj: parseInt(lv * 1.8) + 5,
mz: parseInt(lv * 1.7) + 5
},
parry: {
zj: parseInt(lv * 1.5) + 5,
fy: parseInt(lv * 1.5) + 5
}
};
}
this.slots = [
{
prop: "zpqf_cc",
value: lv => 10 + lv / 500,
format: (val) => {
return "突击命中后无视对方防御" + val + "%";
}
}, {
prop: "zpqf_mz",
value: lv => 1,
count: 1,
format: (val) => {
return "回马枪刺出后无法躲闪";
}
}
];
this.pfm = {
lian:
{
name: "突击",
distime: 10000,
enable_skill: "club",
mp: 20,
use: function (me, target, lv) {
var per = 100 + parseInt(lv / 10);
var diff_fy = me.query_prop('zpqf_cc');
me.do_attack({
target: target,
attack_msg: "<hiy>$N身形突进手中$W犹如灵蛇出洞快速向$n刺去</hiy>",
gj: me.gj * per / 100,
mz: me.mz,
diff_fy: diff_fy
});
me.end_attack(target);
},
query_desc: function (me, lv) {
var per = 200 + parseInt(lv / 5);
if (per > 500) per = 500;
return "对敌人造成" + per + "%攻击力的伤害";
}
}, hui:
{
name: "回马枪",
distime: 20000,
enable_skill: "club",
mp: 20,
use: function (me, target, lv) {
var per = 150 + parseInt(lv / 20);
if (per > 200) per = 200;
if (me.do_attack({
target: target,
gj: me.gj,
mz: me.mz * per / 100,
no_dodge: me.query_prop('zpqf_mz') > 0,
attack_msg: "<hir>$N突然反身疾退$n正疑惑发愣间却见$N骤然转身施展出「<red>回马枪</red>」刺向傻不楞登的$n</hir>"
})) {
per = 100 + parseInt(lv / 10);
me.do_attack({
target: target,
attack_msg: "<hiy>$N身形突进手中$W犹如灵蛇出洞快速向$n刺去</hiy>",
gj: me.gj * per / 100,
mz: me.mz
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var per = 50 + parseInt(lv / 50);
if (per > 100) per = 100;
return "攻击出其不意,增加你" + per + "%的命中,对敌人快速攻击,如果命中则对敌人再发起一次突击。";
}
}
};

View File

@@ -0,0 +1,31 @@
this.inherits(SKILL);
this.name = "蟾蜍步法";
this.id = "chanchubufa";
this.grade =2;
this.dodge_actions = [
"只见$n一招「<RED>蟾飞九天</RED>」,身体向上笔直地纵起丈余,躲过了$N这一招。",
"但是$n一个使出「<WHT>蛙鸣震天</WHT>」,身形飘忽,轻轻一纵,早已避开。",
"$n一招「<CYN>蛙入稻田</CYN>」,身行随意转,倏地往一旁挪开了三尺,避过了这一招。",
"可是$n一个「<YEL>蟾蜍扑虫</YEL>」,侧身一让,$N这一招扑了个空。",
"却见$n「<RED>蟾翻白肚</RED>」,足不点地,往旁窜开数尺,躲了开去。",
"$n身形一招「<GRN>金蟾归月</GRN>」,身形微晃,有惊无险地避开了$N这一招。"
];
this.desc = "白驼山的轻功步法。";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["dodge"];
this.learn_condition = {
max_mp: 1000,
skill: {
dodge: 200
}
};
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: parseInt(lv * 1.3) + 200,
str: parseInt(lv / 10)+10
}
};
}

View File

@@ -0,0 +1,28 @@
this.inherits(SKILL);
this.name = "飞檐走壁";
this.id = "feiyanzoubi";
this.grade = 1;
this.family = FAMILIES.GAIBANG;
this.dodge_actions = [
"$n身形急转避过了$N的攻势。",
"可是$n拔地而起躲过了$N这一招。。",
"$n作闪右避总算躲过了$N这一招。"
];
this.desc = "江湖中常见的轻功身法。";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["dodge"];
this.learn_condition = {
max_mp: 700,
skill: {
dodge:50
}
};
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: lv +5
}
};
}

View File

@@ -0,0 +1,31 @@
this.inherits(SKILL);
this.name = "青蝠身法";
this.id = "qingfushenfa";
this.grade =2;
this.dodge_actions = [
"只见$n一招「福满乾坤」身形陡然纵起躲过了$N这一招。",
"$n一式「五蝠献寿」身形晃动向一旁飘出避开了$N这一招。。",
"$n使出「洞天福地」一个空心筋斗向后翻出避开了$N的凌厉攻势。",
"$n一招「云龙百蝠」身随意转$N只觉眼前一花$n已绕至$N的身后。"
];
this.desc = "明教青翼蝠王成名绝技";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["dodge"];
this.query_enable_prop = function (lv) {
return {
dodge: {
ds:parseInt(lv * 1.8) + 100,
dex:parseInt(lv/10)
}
};
}
this.learn_condition = {
max_mp: 2000,
skill: {
dodge: 200
}
};

View File

@@ -0,0 +1,84 @@
this.inherits(SKILL);
this.name = "神形百变";
this.id = "shenxingbaibian";
this.grade = 2;
this.dodge_actions = [
"$n一式<HIC>「行云流水」</HIC>,身不倾,脚不移,身体如行云流水般直滑出丈余。",
"$n一式<BLU>「潜音夜行」</BLU>,忽然一弯腰,全身贴地而行,顿时闪过了$N的凌厉攻势。",
"$n一式<HIW>「移步换形」</HIW>,足不动,手不抬,一转眼间便绕到了$N的身后。",
"$n一式<MAG>「分身化影」</MAG>,一转身间,四面八方飘动着无数个$n的身影令$N手足无措。",
"$n一式<HIB>「凌波微步」</HIB>,左踏巽,右转乾,身行一晃,便到几丈远的地方。",
"$n一式<HIM>「更上层楼」</HIM>,身在空中,左脚在右足上一点,从$N头顶腾空而过。",
"$n一式<HIW>「仙子出水」</HIW>,长袖一拂,全身化为一道白影,幽幽地从$N头顶飘落。",
"$n一式<HIG>「峰回路转」</HIG>,身体如陀螺般急转,登时一股气流涌出,令$N难以动弹。",
"$n一式<GRN>「临行秋波」</GRN>,身行倏的从$N的眼前直绕到身后$N瞪大了两眼不明所以。",
"$n一式<HIY>「浪子回头」</HIY>,身行倏的从$N的眼前飘过长发一甩潇洒之极。"
];
this.desc = "神行百变是铁剑门木桑道长所传下来的轻功绝技,是逃命的高招";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["dodge"];
this.learn_condition = {
max_mp: 1000,
dex1: 20,
int1: 20,
skill: {
dodge: 200
}
};
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: Math.round(lv * 1.2 + 20),
dex: Math.round(lv / 10)
}
};
}
this.slots = [
{
prop: 'sxbb_cd',
value: (lv) => 5000,
format: (val) => {
return '神行冷却时间减少5秒';
},
},
{
prop: 'sxbb_cx',
value: (lv) => 1000,
format: (val) => {
return '神行持续时间增加1秒';
},
},
];
this.pfm = {
chan:
{
name: "神行",
distime: 50000,
enable_skill: "dodge",
distime_key: 'sxbb_cd',
mp: 20,
release_time: 0,
use: function (me, target, lv) {
var t = (5000 + lv * 3);
if (t > 10000) t = 10000;
t += me.query_prop('sxbb_cx');
me.send_room("<hic>$N施展神行百变神光离合一转身间四面八方飘动着无数个$n的身影</hic>", target);
me.add_status({
id: "dodge",
name: "神行",
desc: "把神行百变轻功运用到极致,使敌人难以捕捉到你的身影",
duration: t,
prop: {
ds_per: 100
}
});
},
query_desc: function (me, lv) {
var t = (5000 + lv * 3) / 1000;
if (t > 10) t = 10;
return "把神行百变轻功运用到极致,使敌人难以捕捉到你的身影," + t + "秒内增加你100%的躲闪";
}
}
};

View File

@@ -0,0 +1,80 @@
this.inherits(SKILL);
this.name = "四象步法";
this.id = "sixiangbu";
this.grade = 2;
this.dodge_actions = [
"只见$n一招「少阴步」身体向上笔直地纵起丈余躲过了$N这一招。",
"$n一个「乾兑步」向后纵出数丈之远避开了$N的凌厉攻势。",
"$n使出「离震步」向一旁飘然纵出轻轻着地。",
"但是$n身形飘忽使出「少阳步」轻轻一纵早已避开。",
"$n身随意转「太阴步」倏地往一旁挪开了三尺避过了这一招。",
"可是$n侧身一让一个「巽坎步」$N这一招扑了个空。",
];
this.desc = "关外胡家的轻功身法,胡斐就是凭借这个步法闯出个雪山飞狐的名号";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["dodge"];
this.learn_condition = {
max_mp: 1000,
dex1: 20,
skill: {
dodge: 200
}
};
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: lv + 10
}
};
}
this.slots = [
{
prop: 'sxbf_gjsd',
value: (lv) => 10,
count: 2,
format: (val) => {
return '四象步法攻击速度增加10%';
},
},
{
prop: 'sxbf_ds',
value: (lv) => 10,
format: (val) => {
return '四象步法躲闪增加10%';
},
},
];
this.pfm = {
chan:
{
name: "飞天狐狸",
distime: 40000,
enable_skill: "dodge",
mp: 20,
release_time: 0,
use: function (me, target, lv) {
var dex = 20 + Math.min(parseInt(lv / 500), 10);
me.send_room("<hiy>$N足尖轻点地面凌空跃起身形顿时变得飘忽不定难以捉摸。</hiy>", target);
me.add_status({
id: "dodge",
name: "飞天",
desc: "四象步法之飞天狐狸,增加你的躲闪和攻速",
finish_msg: "$N的飞天狐狸运功完毕将内力收回丹田。",
duration: Math.min(8000 + lv * 2, 20000),
prop: {
ds_per: dex + me.query_prop('sxbf_ds'),
gjsd_per: dex + me.query_prop('sxbf_gjsd')
}
});
},
query_desc: function (me, lv) {
var t = (8000 + lv * 2) / 1000;
if (t > 20) t = 20;
var dex = 20 + Math.min(parseInt(lv / 500), 10);
return "" + t + "秒内增加你" + dex + "%躲闪,攻击速度提高" + dex + "%";
}
}
};

View File

@@ -0,0 +1,76 @@
this.inherits(SKILL);
this.name = "五毒烟萝步";
this.id = "wuduyanluobu";
this.grade = 3;
this.dodge_actions = [
"$n不慌不忙一式「江水横流」身行倏的向一旁平移数尺,堪堪躲过了$N的功势。",
"$n身行如鬼魅般一晃刹那间已远去数丈之外$N顿时扑了个空。",
"$n身行忽的加快如一缕青烟般绕着$N飞快旋转看得$N一阵头晕眼花急忙收招跳开。",
"只见$n身子向后一翻一招「缥渺孤鸿影」后荡而起掠向一旁。",
"$n怪异的一笑身行忽的变得朦胧不清$N的凌厉招式竟然透体而过原来竟是一具幻影。",
"$n的身行顿时变得如蛇一般柔软随着$N的招式左右摆动竟使得$N招招落空。"
];
this.can_enables = ["dodge"];
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: parseInt(lv * 1.5) + 130,
dex: parseInt(lv / 7)
}
};
}
this.learn_condition = {
max_mp: 10000,
skill: {
dodge: 500
}
};
this.slots = [
{
prop: "wdylb_ds",
value: lv => 100,
format: (val) => {
return "金蛇游身判定时的有效等级增加" + val;
}
}, {
prop: "wdylb_tm",
value: lv => 1000,
format: (val) => {
return "金蛇游身成功后对方的忙乱时间+1秒";
}
}
];
this.pfm = {
snake:
{
name: "金蛇游身",
distime: 30000,
enable_skill: "dodge",
mp: 20,
use: function (me, target, lv) {
var time = 2000 + lv * 3;
if (time > 10000) time = 10000;
var msg = "<HIC>$N身行忽的一变使出「金蛇游身」的绝技身法越来越快。\n\n只见$N飞快的绕场游走瞻之在前望之在后一时间到处都是$N的身影。</HIC>\n";
if (me.random(lv / 2) + lv
+ me.query_prop('wdylb_ds') > target.query_skill(target.dodge_skill.id, 0)) {
msg += "<hiy>$n不由得一阵手足无措被$N连攻数招\n</hiy>";
target.add_status({
id: "busy",
is_busy: true,
duration: time + me.query_prop('wdylb_tm'),
name: "忙乱",
downside: true
}, me);
} else {
msg += "<hir>可是$n以静制动紧守门户丝毫不受$N的影响,$N自己倒累的满头大汗\n</hir>";
}
me.send_room(msg, target);
},
query_desc: function (me, lv) {
var time = 2000 + lv * 4;
if (time > 10000) time = 10000;
return "金蛇游身,如有万蛇缠身,成功后使敌人忙乱" + (time / 1000) + "秒。";
}
}
};

View File

@@ -0,0 +1,32 @@
this.inherits(SKILL);
this.name = "意形步法";
this.id = "yixingbufa";
this.grade = 1;
this.dodge_actions = [
"$n漫不经心的向左迈出一步刚好避过$N的凌厉攻势。",
"可是$n不紧不慢往右走了一步躲过了$N这一招。",
"但是$n身形飘忽轻轻一纵早已避开。",
"$n身随意转倏地往一旁挪开了三尺避过了这一招。",
"可是$n侧身一让$N这一招扑了个空。",
"却见$n足不点地往旁窜开数尺躲了开去。",
"$n身形微晃有惊无险地避开了$N这一招。",
"$n看似无心地信手一拂肩头微侧堪堪避过了$N这一招。"
];
this.desc = "神龙岛独门轻功身法,模仿毒蛇游走而得名";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["dodge"];
this.learn_condition = {
max_mp: 500,
skill: {
dodge: 50
}
};
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: lv + 5
}
};
}

View File

@@ -0,0 +1,34 @@
this.inherits(SKILL);
this.name = "云龙身法";
this.id = "yunlongshenfa";
this.grade = 1;
this.dodge_actions = [
"$n一式<HIY>「龙腾虎跃」</HIY>,身行一转,猛的跳向一旁,躲过了$N的功势。",
"$n一式<HIY>「沙场点兵」</HIY>,双臂置于身后,不急不缓,昂首从$N眼前跨过。",
"$n一式<HIG>「风雨同舟」</HIG>,不退反进,一下子绕到了$N的身后。",
"$n一式<HIG>「养精蓄锐」</HIG>,缓缓的向后一退,轻松让过了$N的凌厉攻势。",
"$n一式<GRN>「无心插柳」</GRN>,左手一扬,身行一晃,便向右飘出丈远。",
"$n一式<MAG>「苍鹰搏兔」</MAG>,身体如一只苍鹰,呼的一声从$N的眼前飞过。",
"$n一式<HIY>「九龙在天」</HIY>,忽的拔地而起,在半空中一转,已落到几丈远的地方。",
"$n一式<HIC>「瀑落九天」</HIC>,全身化为一道白影,忽的一个空翻,从左边飘到右边。",
"$n一式<HIC>「幻眼云烟」</HIC>,身形陡地变得飘忽不定,令$N无法看清。",
"$n一式<HIW>「九天揽月」</HIW>,宛若一条矫矢苍龙,倏的拔地而起,令$N不敢仰视。",
];
this.desc = "天地会的轻功身法,身似游龙,无影无随";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["dodge"];
this.learn_condition = {
max_mp: 600,
skill: {
dodge: 50
}
};
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: lv + 20
}
};
}

View File

@@ -0,0 +1,24 @@
this.inherits(SKILL);
this.name = "峨眉心法";
this.id = "emeixinfa";
this.grade = 1;
this.force_rad = 0.6;
this.desc = "峨眉派的入门心法";
this.family = FAMILIES.EMEI;
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.query_enable_prop = function (lv) {
return {
force: {
max_hp: lv * 2 + 10,
limit_mp: lv * 10,
desc: "唯一将你内力的60%转化为气血"
}
};
}
this.learn_condition = {
skill: {
force: 50
}
};

View File

@@ -0,0 +1,99 @@
this.inherits(SKILL);
this.name = "回风拂柳剑";
this.id = "huifengjian";
this.grade = 2;
this.family = FAMILIES.EMEI;
this.attack_actions = [
"$N剑尖剑芒暴长一招「清风袭月」手中$w自左下大开大阖一剑向右上向$n的$l",
"$N长剑圈转施一招「飘雪穿云」手中$w平展下刺一剑轻轻划过$n的$l",
"只见$N长剑轻灵跳动剑随身长右手$w猛地使出一式「千峰竞秀」刺向$n的$l",
"$N长剑下指剑意流转一招「万流归宗」直取$n的$l",
"$N剑芒吞吐幻若灵蛇手中$w使出一式「乌龙搅柱」剑势曼妙非凡刺向$n的$l",
"$N挥剑分击剑势自胸前跃出右手$w一式「进退龙游」毫无留恋之势刺向$n的$l",
"$N退步左手剑指划转腰部一扭右手$w一记「天地鹤翔」自下而上刺向$n的$l"
];
this.desc = "峨眉派的入门剑法,剑法轻灵,如回风拂柳";
//"\+(\w+)\+"(.+?)"\+NOR\+"
//<$1>$2</$1>
this.learn_condition = {
max_mp: 2000,
skill: {
sword: 200
}
};
this.can_enables = ["sword"];
this.query_enable_prop = function (lv) {
return {
sword: {
gj: 20 + parseInt(lv * 1.3),
mz: parseInt(lv * 1.3) + 20
}
};
}
this.pfm = {
mie:
{
name: "灭剑",
distime: 20000,
enable_skill: "sword",
weapon_type: WEAPON_TYPE.SWORD,
mp: 10,
release_time:0,
use: function (me, target, lv) {
var miss = "<cyn>可是$p轻轻一笑侧身右转闪了开去</cyn>";
if (me.do_attack({
attack_msg: "<hir>$N屈腕云剑剑光如彩碟纷飞幻出点点星光右手$w陡然使出一式「灭剑」跃跃洒洒飘向$n</hir>",
target: target,
gj: me.gj,
mz: me.mz,
miss_msg: miss,
parry_msg: miss
})) {
var sh = 10 + parseInt(lv / 100);
target.add_status({
id: "damage",
duration: 10000,
name: "灭剑",
downside: true,
prop: {
diff_sh_per: -sh
}
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var sh = 10 + parseInt(lv / 100);
return "对敌方造成伤害并使对方在之后10秒内受到的伤害增加" + sh + "%";
}
} , jue:
{
name: "绝剑",
distime: 20000,
enable_skill: "sword",
weapon_type: WEAPON_TYPE.SWORD,
mp: 10,
release_time: 5000,
use: function (me, target, lv) {
var per = 10 + parseInt(lv / 100);
var sh = 100 + parseInt(lv / 10);
var miss = "<hic>可是$p轻轻一笑侧身右转伸出两指正弹在$P的剑上长剑在$p身侧划过毫发无伤。</hic>";
me.do_attack({
attack_msg: "<hir>$N手中长剑剑芒跃动剑光暴长幻出死亡的色彩剑尖渐渐逼近$n$n看到漫天剑光抽身后跃只这一刹漫天剑影化为一剑直刺$n前胸快捷无伦</hir>",
target: target,
gj: me.gj * sh/100,
mz: me.mz ,
miss_msg: miss,
parry_msg: miss,
diff_fy:per
})
me.end_attack(target);
},
query_desc: function (me, lv) {
var sh = 100 + parseInt(lv / 10);
var per = 10 + parseInt(lv / 100);
return "对敌方造成" + sh +"%攻击力无视对方"+per+"%防御的伤害";
}
}
};

View File

@@ -0,0 +1,64 @@
this.inherits(SKILL);
this.name = "金顶绵掌";
this.id = "jindingzhang";
this.grade = 1;
this.family = FAMILIES.EMEI;
this.attack_actions = [
"$N身形微晃一招「三阳开泰」掌起风生$n只觉得一股暖气袭向$l",
"$N双手变幻五指轻弹一招「五气呈祥」力分五路招罩十方抓向$n的$l",
"$N左手前引右手倏出抢在头里一招「罡风推云」疾抓向$n的$l",
"$N左手圈转轻拂$n的左手反向推出一招「逆流捧沙」猛地击向$n的下巴",
"$N舌绽春雷一声娇喝在$n一愣间右手一招「雷洞霹雳」直捣$n的$l",
"$N双手平举握拳一招「金顶佛光」施出掌影重重难辨虚实掌风已经袭面",
"$N一幅宝像庄严使出「梵心降魔」掌势如虹绕着$n漂移不定",
"$N双臂疾舞化为点点掌影一招「法尊八荒」铺天盖地袭向$n全身各处大穴"
];
this.desc = "峨眉派拳脚功夫,掌风阴柔,犹如长江大河,汹涌不绝";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed", "parry"];
this.learn_condition = {
max_mp: 500,
skill: {
unarmed: 50
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: lv + 20,
mz:lv
}, parry: {
zj: parseInt(lv * 1.2) + 10,
max_hp: lv*3
}
};
}
this.pfm = {
po:
{
name: "佛光普照",
distime: 6000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
mp: 20,
use: function (me, target, lv) {
var sh = me.gj + (100 + lv * parseInt((lv / 500) + 1));
me.do_attack({
target: target,
gj: sh,
attack_msg: "<HIY>$N娇喝一声一招“佛光普照”平淡无奇的朝$n拍去可内力却如排山倒海一般袭来使$n挡无可挡避无可避。</HIY>",
no_dodge: true,
parry_msg: "<hic>可是$p奋力招架硬生生的挡开了$P这一招。</hic>"
});
me.end_attack(target);
},
query_desc: function (me, lv) {
var sh = (100 + lv * parseInt((lv / 500) + 1));
return "平淡无奇的招式,却如佛光普照般使敌人难以躲闪,对敌方造成你的攻击附加" + sh + "的伤害。";
}
}
};

View File

@@ -0,0 +1,98 @@
this.inherits(SKILL);
this.name = "九阴白骨爪";
this.id = "jiuyinbaiguzhao";
this.grade = 3;
this.family = FAMILIES.EMEI;
this.attack_actions = [
"$N左爪虚晃右爪蓄力一招「勾魂夺魄」直插向$n的$l",
"$N双手连环成爪爪爪钩向$n「九子连环」已向$n的$l抓出",
"$N双手使出「十指穿心」招招不离$n的$l",
"$N身形围$n一转使出「天罗地网」$n的$l已完全笼罩在爪影下",
"$N使一招「风卷残云」双爪幻出满天爪影抓向$n全身",
"$N吐气扬声一招「唯我独尊」双爪奋力向$n天灵戳下"
];
this.desc = "九阴真经里记载的外门功夫,阴狠毒辣";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed", "parry"];
this.learn_condition = {
max_mp:5000,
skill: {
unarmed: 300
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: parseInt(lv * 1.6) + 20,
mz: parseInt(lv*1.5 + 20)
},
parry: {
zj: parseInt(lv * 1.5) + 20,
fy: lv + 20
}
};
}
this.pfm = {
duo:
{
name: "夺命",
distime: 18000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
mp: 20,
use: function (me, target, lv) {
var gj = me.gj * (200 + lv / 10)/100;
if (me.do_attack({
target: target,
gj: gj,
mz: me.mz,
no_weapon: true,
attack_msg: "<hiy>$N冷笑数声手指微微弯曲成爪身形疾转飞向$n头顶抓下</hiy>",
damage_msg:"<hir>$n哪里料到$N竟有如此变招不及躲闪被$P抓了个鲜血淋漓头痛欲裂。</hir>"
})) {
target.add_status({
id: "miss",
name: "夺命",
desc: "你无法躲闪",
is_rash: true,
duration: 8000,
downside: true
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var gj = 200 + parseInt(lv / 10);
return "快速狠辣的攻击,命中后对敌人造成你攻击力" + gj + "%的伤害在8秒内使敌人无法闪避。";
}
}, juan:
{
name: "风卷残云",
distime: 18000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
mp: 20,
use: function (me, target, lv) {
lv = 30 - lv / 100;
if (lv < 10) lv = 10;
var count = parseInt((100 - target.hp * 100 / target.max_hp) / lv) + 3;
me.send_room("<hir>$N一声厉啸手指弯曲成爪身形疾转双爪化为一片残影飞向$n抓去</hir>\n", target);
for (var i = 0; i < count; i++) {
me.do_attack({
target: target,
gj: me.gj,
mz: me.mz,
no_weapon: true
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var lv = 30 - lv / 100;
if (lv < 10) lv = 10;
return "对敌人进行快速攻击3次对方的气血每降低" + lv + "%你的攻击次数增加1次";
}
}
};

View File

@@ -0,0 +1,126 @@
this.inherits(SKILL);
this.name = "临济十二庄";
this.id = "linjizhuang";
this.grade = 3;
this.force_rad = 0.7;
this.desc = "峨眉派内功心法";
this.family = FAMILIES.EMEI,
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.learn_condition = {
max_mp: 2000,
skill: {
force: 200
}
};
this.query_enable_prop = function (lv) {
return {
force: {
max_hp: lv * 11,
fy: lv,
fy_per: 3 + parseInt(lv / 300),
limit_mp: lv * 103,
desc: "唯一将你内力的70%转化为气血"
}
};
}
this.pfm = {
xi:
{
name: "鹤翔庄",
distime: 60000,
enable_skill: "force",
mp: 20,
use_type: 2,
release_time: 0,
use: function (me, target, lv) {
var gj = parseInt(lv / 300) + 10;
me.notify("<hiy>你暗运龙鹤两庄,启天门,闭地户,聚精成力,顿觉气力倍增。</hiy>");
me.add_status({
id: "force",
name: "鹤翔",
on_interval: function (me) {
if (me.hp > 0) {
hp = me.do_recover(me.max_hp * gj / 100);
if (hp > 0) me.notify("<hig>你恢复了" + hp + "点气血。</hig>");
}
},
duration_count: 5,
duration: 2000
});
},
query_desc: function (me, lv) {
var gj = parseInt(lv / 300) + 10;
return "每两秒内恢复你" + gj + "%气血持续5次";
}
}, huifu:
{
name: "游龙庄",
distime: 20000,
enable_skill: "force",
mp: 20,
release_time: 0,
allow_busy: true,
use: function (me, target, lv) {
var gj = parseInt(me.gj * (lv / 5 + 100) / 100) + 2000;
me.send_room("<hiy>$N宝相庄严双手合十天地间的真气如游龙般汇聚而来。</hiy>");
var ts = me.team || [me];
for (var i = 0; i < ts.length; i++) {
var x = ts[i];
if (x.hp > 0 && me.is_here(x)) {
gj = x.do_recover(gj);
if (gj > 0)
x.notify("<hig>你恢复了" + gj + "点气血。</hig>");
if (x.is_busy) {
x.remove_status("busy");
// me.reauto_attack();
x.send_room("<hig>梵音暮鼓,真气游龙,一时间$N心如明镜再无杂念。\n</hig>");
}
}
}
},
query_desc: function (me, lv) {
var gj = parseInt(me.gj * (lv / 5 + 100) / 100) + 2000;
return "战斗中恢复自己和附近队友" + gj + "点气血,并消除队友的忙乱状态。";
}
}
//, power: {
// name: "幽冥庄",
// distime: 300000,
// enable_skill: "force",
// mp: 20,
// release_time: 0,
// no_auto: true,
// use_type: 1,
// use: function (me, target, lv) {
// me.send_room("<mag>$N凝聚幽冥二气口宣佛号: 阿弥陀佛!如鬼神之音,贯通两界! </mag>");
// var items = me.environment.items;
// var hf = 30 + parseInt(lv / 15);
// if (hf > 100) hf = 100;
// for (var i = 0; i < items.length; i++) {
// if (items[i].otype == "corpse") {
// var player = items[i].from;
// if (player && player.hp <= 0) {
// player.hp = parseInt(player.max_hp*hf/100);
// player.mp = parseInt(player.max_mp * hf / 100);
// player.notify('{type:"die",relive:true}');
// player.moveto(me.environment, null, "<mag>" + player.name + "复活了。</mag>");
// items[i].from=null;
// }
// }
// }
// },
// query_desc: function (me, lv) {
// return "沟通幽冥之力,唤回游离在天地间的灵魂,使附近玩家复活(需剃度)。";
// }
// }
};

View File

@@ -0,0 +1,120 @@
this.inherits(SKILL);
this.name = "倚天剑法";
this.id = "yitianjianfa";
this.grade = 4;
this.first_title = "倚天传人";
this.family = FAMILIES.EMEI;
this.attack_actions = [
"$N剑尖剑芒暴长一招「倚天寒芒」手中$w大开大阖剑芒直刺$n的$l",
"$N剑芒吞吐单手$w一招「翻江倒海」剑势曼妙剑光直逼向$n的$l",
"$N一式「神剑佛威」屈腕云剑剑光如彩碟纷飞幻出点点星光飘向$n",
"$N挥剑分击剑势自胸前跃出$w一式「群邪辟易」毫无留恋之势刺向$n",
"$N左手剑指划转腰部一扭右手$w一记「荡妖除魔」自下而上刺向$n的$l",
"$N脸色凝重凝重缓缓举起$w突然跃起身剑合一使出一招“倚天不出”手中$w由下至上划出一条美丽的弧线刺向$n的$l",
"$N反身跃起双手握剑举至头顶使出倚天剑法奥义“谁与争锋”这看似简简单单的一剑而厚重的剑气直奔$n的$l而去"
];
this.desc = "峨眉派祖师郭襄在得到倚天剑后自创的一式剑法,招式狠辣,不留余地。";
//"\+(\w+)\+"(.+?)"\+NOR\+"
//<$1>$2</$1>
this.can_enables = ["sword"];
this.query_prop = function (lv) {
return {
diff_fy_per: 5 + parseInt(lv / 300)
};
}
this.learn_condition = {
max_mp: 10000,
skill: {
sword: 500
}
};
this.query_enable_prop = function (lv) {
return {
sword: {
gj: 30 + parseInt(lv * 1.8),
mz: parseInt(lv * 1.8) + 20,
desc: "命中敌人后会使敌方防御减少1%可叠加最高20层"
}
};
}
this.on_attack_over = function (me, target, par) {
if (!par.is_dodge && !par.is_parry) {
target.add_status({
id: "fumo",
name: "伏魔",
desc: "你的防御减少了",
max_count: 20,
prop: {
fy_per: -1
},
duration: 5000,
count: 1,
downside: true,
override: 1
});
}
}
this.pfm = {
yi:
{
name: "倚天剑决",
distime: 20000,
enable_skill: "sword",
weapon_type: WEAPON_TYPE.SWORD,
mp: 10,
use: function (me, target, lv) {
me.send_room("<HIY>$N长啸一声武林至尊、宝刀屠龙。号令天下莫敢不从。倚天不出谁与争锋 </hiy>\n <HIR>顿时风云变色,$N手中舞出漫天剑光........ \n<HIR>");
var str = ["<HIC>-----拔云见日!----- </HIC>\n", "<BLU>-----星河在天!-----</BLU> \n", "<HIY>-----倚天不出!----- </HIY>\n", "<HIR>-----谁与争锋!-----</HIR> \n"];
var gj = me.gj;
lv = parseInt(120 + (lv / 50));
// var max = 0;
for (var i = 0; i < 4; i++) {
if (me.do_attack({
target: target,
attack_before: str[i],
gj: gj
})) {
// max++;
gj = gj * lv / 100;
}
}
// me.send_room("<HIR>$N暗念倚天剑决身法陡然加快</HIR>");
me.end_attack(target);
},
query_desc: function (me, lv) {
lv = parseInt(20 + (lv / 50));
return "倚天剑决瞬间攻击4次当前一次攻击命中后下次攻击伤害增加" + lv + "%";
}
}, hao:
{
name: "号令天下",
distime: 30000,
enable_skill: "sword",
weapon_type: WEAPON_TYPE.SWORD,
mp: 10,
use: function (me, target, lv) {
var per = 10 + parseInt(lv / 50);
var count = target.query_status("fumo");
if (!count) count = 1;
per = 100 + per * count;
if (me.do_attack({
attack_msg: "<HIR>$N面容肃穆高举$W, 顿时剑光暴长,手中$W化作漫天剑光直射$n。<HIR>",
target: target,
mz: me.mz * per / 100,
gj: me.gj * per / 100
})) {
target.clear_downside(false);
}
if (count >= 1) target.remove_status("fumo", true);
// me.send_room("<HIR>$N暗念倚天剑决身法陡然加快</HIR>");
me.end_attack(target);
},
query_desc: function (me, lv) {
var per = 10 + parseInt(lv / 50);
return "对敌人造成伤害,每层伏魔增加" + per + "%伤害和命中,命中后伏魔重置,驱除对方的有益状态";
}
}
};

View File

@@ -0,0 +1,31 @@
this.inherits(SKILL);
this.name = "诸天化身步";
this.id = "zhutianbu";
this.grade = 1;
this.family = FAMILIES.EMEI;
this.dodge_actions = [
"只见$n一招「天地钩」身体腾空双足向上笔直地纵起丈余躲过了$N这一招。",
"$n身随意转一式「凤点头」头部前挺侧身收腹倏地往一旁挪开了三尺避过了这一招。",
"$n双足抓地身形微晃一招「鹰爪松」有惊无险地避开了$N这一招。\n",
"但是$n身形飘忽一式「风摆柳」轻轻一纵早已避开。",
"$n一个「阴阳箭」向后纵出数丈之远避开了$N的凌厉攻势立即又欺近$N身旁。",
"$n使出「日月扣」双手如钩向一旁飘然纵出轻轻着地。"
];
this.desc = "峨眉派轻功身法,如有千万化身。";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["dodge"];
this.learn_condition = {
max_mp: 600,
skill: {
dodge: 50
}
};
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: lv +10
}
};
}

View File

@@ -0,0 +1,93 @@
this.inherits(SKILL);
this.name = "白云心法";
this.id = "baiyunxinfa";
this.grade = 3;
this.force_rad = 0.75;
this.desc = "恒山派的内功心法。";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.learn_condition = {
max_mp: 50000,
skill: {
force: 300
}
};
this.query_enable_prop = function (lv) {
return {
force: {
gj: parseInt(lv * 1.3) + 10,
fy: parseInt(lv * 1.3) + 10,
max_hp: lv * 10,
limit_mp: lv * 100,
desc: "唯一将你内力的75%转化为气血"
},
};
}
this.slots = [
{
prop: "byxf_gj",
value: lv => 10,
format: (val) => {
return "白云诀额外增加10%攻击力";
}
},
{
prop: "byxf_fy",
value: lv => 10,
format: (val) => {
return "白云诀额外增加10%防御力";
}
},
{
prop: "limit_mp",
value: (lv, grade) => grade === 3 ? 60 * lv : 120 * lv,
query_needs: function (grade) {
return [{
path: "book/wudao",
count: grade === 3 ? 6 : 10
}, {
path: "book/bc#baiyunxinfa",
count: 25
}];
},
format: (val) => {
return "内力上限:+" + val;
}
}
];
this.pfm = {
power:
{
name: "白云",
distime: 60000,
enable_skill: "force",
mp: 20,
release_time: 0,
use_type: 2,
use: function (me, target, lv) {
var gj = 10 + parseInt(lv / 100);
var time = 20000 + lv * 10;
me.send_room("<hiw>$N微一凝神运起白云心法将全身潜能尽数提起宛如被云雾所笼罩</hiw>", target);
me.add_status({
id: "force",
name: "白云心法",
desc: "增加你的防御,攻击",
duration: time,
prop: {
gj_per: gj + me.query_prop('byxf_gj'),
fy_per: gj + me.query_prop('byxf_fy'),
},
finish_msg: "$N的白云心法运行完毕将内力收回丹田。",
});
},
query_desc: function (me, lv) {
var gj = 10 + parseInt(lv / 100);
var time = 20000 + lv * 10;
return "使用白云心法提升战力,增加你" + gj + "%的攻击,防御,持续" + (time / 1000) + "秒";
}
}
};

View File

@@ -0,0 +1,26 @@
this.inherits(SKILL);
this.name = "碧波神功";
this.id = "biboshengong";
this.grade = 2;
this.force_rad = 0.7;
this.desc = "桃花岛的内功心法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.query_enable_prop = function (lv) {
return {
force: {
max_hp: lv * 5,
mz:lv,
fy:lv,
limit_mp: lv * 60,
desc: "唯一将你内力的70%转化为气血"
}
};
}
this.learn_condition = {
max_mp: 2000,
skill: {
force: 200
}
};

View File

@@ -0,0 +1,98 @@
this.inherits(SKILL);
this.name = "黑龙心法";
this.id = "heilongxinfa";
this.grade = 1;
this.force_rad = 0.65;
this.desc = "黑龙会的内功心法,入会便能修炼";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.query_enable_prop = function (lv) {
return {
force: {
fy: lv,
limit_mp: lv * 10,
desc: "唯一将你内力的65%转化为气血"
}
};
}
this.learn_condition = {
skill: {
force: 30
}
};
this.slots = [
{
prop: 'hl_fy',
value: (lv) => lv,
format: (val) => {
return '黑龙护体受到伤害减少' + val + '点';
},
},
{
prop: 'hl_sh',
value: (lv) => lv,
format: (val) => {
return '黑龙护体被命中时对目标造成' + val + '点伤害';
},
},
];
this.on_force_parry = function (me, target) {
let sh = me.query_temp('sk_heilong');
if (sh > 0) {
me.send_combat(
'<blk>$n被$N的黑龙护体反弹了' + sh + '点伤害!!</blk>\n',
target
);
target.damage2(sh, me);
me.end_attack(target);
}
return 0;
}
this.pfm = {
power:
{
name: "黑龙护体",
distime: 30000,
enable_skill: "force",
mp: 20,
release_time: 0,
use_type: 2,
use: function (me, target, lv) {
me.send_room("<hic>$N喉间发出一声低沉吼叫内息如墨自丹田翻涌而上游走全身</hic>");
const time = 10000 + lv * 10;
const prop = {
fy: lv,
};
const is_fy = me.query_prop('hl_fy');
const is_sh = me.query_prop('hl_sh');
if (is_fy) {
prop.diff_sh = is_fy;
}
if (is_sh > 0) {
me.set_temp('sk_heilong', is_sh, time);
}
me.add_status({
id: "force",
name: "黑龙护体",
desc: "运用黑龙护体,提升自身防御力",
prop: prop,
duration: time,
finish_msg: "$N的黑龙护体运行完毕将内力收回丹田。"
});
},
query_desc: function (me, lv) {
var time = (10000 + lv * 10) / 1000;
var gj = lv;
return "提升全身潜力,在" + time + "秒内,提升自身防御力" + gj + "点。";
}
}
};

View File

@@ -0,0 +1,25 @@
this.inherits(SKILL);
this.name = "冷月神功";
this.id = "lengyueshengong";
this.grade = 1;
this.force_rad = 0.6;
this.desc = "关外胡家的内功心法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.learn_condition = {
max_mp:200,
skill: {
force: 50
}
};
this.query_enable_prop = function (lv) {
return {
force: {
max_hp: lv * 5,
limit_mp: lv * 20,
desc: "唯一将你内力的60%转化为气血"
}
};
}

View File

@@ -0,0 +1,138 @@
this.inherits(SKILL);
this.name = "龙象般若功";
this.id = "longxianggong";
this.grade = 5;
this.force_rad = 0.9;
this.desc = "密宗至高无上的护法神功,外功掌力强悍凶猛,抗击打能力强,内力亦刚亦柔";
this.attack_actions = [
"$N单掌一抖运聚龙象般若功功力呼啸着向$n的$l处拍去",
"$N右拳横移左掌运起龙象般若功的劲力猛地拍向$n的$l",
"$N吐气扬声双拳同时运满龙象般若功功力朝$n$l处贯去",
"$N运足龙象般若功双拳平推顿时一股凌厉的罡劲直袭$n"
];
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.learn_condition = {
max_mp: 50000,
skill: {
force: 300
}
};
this.query_enable_prop = function (lv) {
return {
force: {
gj: parseInt(lv * 1.9) + 10,
fy: parseInt(lv * 1.9) + 10,
hp_per: 10 + parseInt(lv / 300),
limit_mp: lv * 198,
desc: "唯一将你内力的90%转化为气血"
},
};
}
this.on_force_parry = function (me, target, sh) {
var lv = me.query_temp("xqs");
if (lv) {
var hp = me.do_recover(lv * sh / 100);
if (hp) {
me.send_room("<hiy>$N全身罡气流转似乎更加精神奕奕。</hiy>");
return hp;
}
}
return 0;
}
this.slots = [
{
prop: "lxg_lt",
value: lv => 20 + Math.min(60, lv / 200),
format: (val) => {
return "龙吞势同时增加" + val + "%忽视防御";
}
}, {
prop: "lxg_xq",
value: lv => 20 + Math.min(60, lv / 200),
format: (val) => {
return "龙吞势同时增加" + val + "%伤害减免";
}
}
];
this.pfm = {
power:
{
name: "龙吞势",
distime: 60000,
enable_skill: "force",
mp: 20,
release_time: 0,
use_type: 2,
use: function (me, target, lv) {
var gj = 50 + parseInt(lv / 100);
var time = 10000 + lv * 10;
if (time > 15000) time = 15000;
me.send_room("<hir>$N大喝一声全身骨骼节节暴响一股迅猛的罡气向四周扩散开来</hir>", target);
let prop = {
gj_per: gj
};
let per = me.query_prop('lxg_lt');
if (per > 0) prop['diff_fy_per2'] = per;
me.add_status({
id: 'force',
name: "龙吞势",
desc: "增加你的攻击",
duration: time,
prop: prop,
finish_msg: "$N的龙吞势运行完毕将内力收回丹田。"
});
me.remove_temp("xqs");
},
query_desc: function (me, lv) {
var gj = 50 + parseInt(lv / 100);
var time = 10000 + lv * 10;
if (time > 15000) time = 15000;
return "使用龙像般若功的龙吞势提升战力," + (time / 1000) + "秒内增加你" + gj + "%的攻击";
}
},
shield:
{
name: "象驱势",
distime: 60000,
enable_skill: "force",
mp: 20,
release_time: 0,
use_type: 2,
use: function (me, target, lv) {
var gj = 50 + parseInt(lv / 100);
if (gj > 80) gj = 80;
var time = 10000 + lv * 10;
if (time > 15000) time = 15000;
me.send_room("<hiy>$N大喝一声运起十象之力霎时金波流转罡气笼罩全身</hiy>", target);
let prop = {
fy_per: gj
};
let per = me.query_prop('lxg_xq');
if (per > 0) prop['diff_sh_per2'] = per;
me.add_status({
id: "force",
name: "象驱势",
desc: "增加你的防御,和吸收伤害",
duration: time,
prop: prop,
on_attach: p => p.set_temp('xqs', gj, time),
on_expire: function (p) {
p.remove_temp('xqs');
},
finish_msg: "$N的象驱势运行完毕将内力收回丹田。"
});
},
query_desc: function (me, lv) {
var gj = 50 + parseInt(lv / 100);
if (gj > 80) gj = 80;
var time = 10000 + lv * 10;
if (time > 15000) time = 15000;
return "使用龙像般若功的象驱势提升战力," + (time / 1000) + "秒内增加你" + gj + "%的防御,被命中后吸收" + (gj) + "%的伤害恢复自身气血,";
}
}
};

View File

@@ -0,0 +1,81 @@
this.inherits(SKILL);
this.name = "蒙古心法";
this.id = "mengguxinfa";
this.grade = 2;
this.force_rad = 0.8;
this.desc = "蒙古士兵常用的一种心法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.query_enable_prop = function (lv) {
return {
force: {
gj: lv,
fy: lv,
limit_mp: lv * 50,
desc: "唯一将你内力的80%转化为气血"
}
};
}
this.learn_condition = {
skill: {
force: 350
}
};
this.slots = [
{
prop: 'mgxf_cd',
value: (lv) => 10,
format: (val) => {
return '硬气功绝招冷却时间减少10%';
},
},
{
prop: 'mgxf_zj',
value: (lv) => 10 + lv / 100,
format: (val) => {
return '硬气功额外增加' + val + '%招架';
},
},
];
this.pfm = {
power:
{
name: "硬气功",
distime: 60000,
enable_skill: "force",
distime_per_key: 'mgxf_cd',
mp: 20,
release_time: 0,
// use_type: 1,
use: function (me, target, lv) {
var time = (10000 + lv * 10);
var gj = 10 + (lv / 100);
me.send_room("<HIy>$N大喝一声全身真气鼓动看似坚不可摧。</HIy>");
const prop = {
fy_per: gj,
gj_per: gj
};
const is_zj = me.query_prop('mgxf_zj');
if (is_zj > 0) prop.zj_per = is_zj;
me.add_status({
id: "force",
name: "硬气功",
desc: "增加防御和攻击",
prop: prop,
duration: time
});
},
query_desc: function (me, lv) {
var time = (10000 + lv * 10) / 1000;
var gj = parseInt(10 + (lv / 100));
return "增加自身防御" + time + "秒内,提升自身,攻击防御" + gj + "%。";
}
}
};

View File

@@ -0,0 +1,24 @@
this.inherits(SKILL);
this.name = "密宗心法";
this.id = "mizongxinfa";
this.grade = 1;
this.force_rad = 0.6;
this.desc = "密宗的入门心法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.learn_condition = {
max_mp: 200,
skill: {
force:100
}
};
this.query_enable_prop = function (lv) {
return {
force: {
max_hp: lv * 3,
limit_mp: lv * 10,
desc: "唯一将你内力的60%转化为气血"
}
};
}

View File

@@ -0,0 +1,87 @@
this.inherits(SKILL);
this.name = "磐石神功";
this.id = "panshishengong";
this.grade = 3;
this.force_rad = 0.75;
this.desc = "泰山派的内功心法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.query_enable_prop = function (lv) {
return {
force: {
fy: parseInt(lv * 1.7) + 20,
max_hp: lv * 8 + 100,
con: parseInt(lv / 7) + 2,
limit_mp: lv * 100,
desc: "唯一将你内力的75%转化为气血"
}
};
}
this.learn_condition = {
skill: {
force: 400
}
};
this.slots = [
{
prop: "pssg_fy",
value: lv => 20,
format: (val) => {
return "磐石决额外增加20%伤害减免";
}
},
{
prop: "limit_mp",
value: (lv, grade) => grade === 3 ? 60 * lv : 120 * lv,
query_needs: function (grade) {
return [{
path: "book/wudao",
count: grade === 3 ? 6 : 10
}, {
path: "book/bc#panshishengong",
count: 25
}];
},
format: (val) => {
return "内力上限:+" + val;
}
}
];
this.pfm = {
power:
{
name: "磐石决",
distime: 60000,
enable_skill: "force",
mp: 20,
release_time: 0,
use_type: 2,
use: function (me, target, lv) {
let par = {
fy_per: 100
};
let fy = me.query_prop('pssg_fy');
if (fy > 0) par.diff_sh_per = fy;
me.send_room("<hiy>$N大喝一声全身劲气涌动仿若磐石护体坚不可摧</hiy>\n");
me.add_status({
id: "force",
name: "磐石",
desc: "提高你的防御力",
prop: par,
duration: 5000 + lv * 10
});
},
query_desc: function (me, lv) {
var time = Math.floor((5000 + lv * 10) / 1000);
if (time > 60) time = 60;
return "在" + time + "秒内提升自身防御100%。";
}
}
};

View File

@@ -0,0 +1,78 @@
this.inherits(SKILL);
this.name = "神龙心法";
this.id = "shenlongxinfa";
this.grade = 2;
this.force_rad = 0.7;
this.desc = "神龙教的心法,诡异无比";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.learn_condition = {
skill: {
force: 200
},
max_mp: 2000
};
this.query_enable_prop = function (lv) {
return {
force: {
max_hp: lv * 10,
limit_mp: lv * 70,
desc: "唯一将你内力的70%转化为气血"
}
};
}
this.slots = [
{
prop: 'slxf_fy',
value: (lv) => lv,
format: (val) => {
return '不死神龙额外提升自身防御' + val + '点';
},
},
{
prop: 'slxf_hf',
value: (lv) => 100 + parseInt(lv * lv / 100),
format: (val) => {
return '不死神龙恢复自身气血' + val;
},
},
];
this.pfm = {
power:
{
name: "不死神龙",
distime: 30000,
enable_skill: "force",
mp: 20,
release_time: 0,
use: function (me, target, lv) {
me.send_room("<HIR>$N双目赤红纵声大呼洪教主神通护佑众弟子勇气百倍以一当百以百当万</hir>");
me.add_status({
id: "force",
name: "不死神龙",
desc: "虔诚高呼洪教主万岁,获得教主庇护",
prop: {
fy: lv + me.query_prop('slxf_fy')
},
duration: 10000 + lv * 10,
finish_msg: "$N的不死神龙大法运行完毕汗如泉涌呼呼喘气。"
});
const is_hf = me.query_prop('slxf_hf');
if (is_hf > 0) {
const hp = me.do_recover(is_hf);
if (hp > 0)
me.notify('你恢复了' + hp + '气血。');
}
},
query_desc: function (me, lv) {
var time = (10000 + lv * 10) / 1000;
var gj = lv;
return "呼唤洪教主的法力,增加自身防御" + time + "秒内,提升自身防御" + gj + "点。";
}
}
};

View File

@@ -0,0 +1,92 @@
this.inherits(SKILL);
this.name = "云龙心法";
this.id = "yunlongxinfa";
this.grade = 1;
this.force_rad = 0.55;
this.desc = "天地会的内功心法,入会便能修炼";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.on_learn = function (me) {
if (me.query_skill("force", 1) < 30)
return me.notify_fail("你的基础内功级别不够,无法学习云龙心法。");
return true;
}
this.query_enable_prop = function (lv) {
return {
force: {
gj: lv,
limit_mp: lv * 10,
desc: "唯一将你内力的55%转化为气血"
}
};
}
this.learn_condition = {
skill: {
force: 50
}
};
this.slots = [
{
prop: 'ylxf_mz',
value: (lv) => lv > 1500 ? 4510 + lv - 1500 :
10 + Math.floor(lv * lv / 500),
count: 3,
format: (val) => {
return '云龙决额外提升自身命中' + val + '点';
},
},
{
prop: 'ylxf_gj',
value: (lv) => lv > 1500 ? 4510 + lv - 1500 :
10 + Math.floor(lv * lv / 500),
count: 3,
format: (val) => {
return '云龙决额外提升自身攻击' + val + '点';
},
},
];
this.pfm = {
power:
{
name: "云龙决",
distime: 30000,
enable_skill: "force",
mp: 20,
release_time: 0,
use_type: 2,
use: function (me, target, lv) {
me.send_room("<hir>$N长吸一口气运起云龙神功已将全身潜力尽数提起</hir>");
const prop = {
gj: lv,
};
const is_mz = me.query_prop('ylxf_mz');
const is_gj = me.query_prop('ylxf_gj');
if (is_mz > 0) {
prop.mz = is_mz;
}
if (is_gj > 0) {
prop.gj += is_gj;
}
me.add_status({
id: "force",
name: "云龙决",
desc: "运用云龙心法,提升自身战斗力",
prop: prop,
duration: 10000 + lv * 10,
finish_msg: "$N的云龙神功运行完毕将内力收回丹田。"
});
},
query_desc: function (me, lv) {
var time = (10000 + lv * 10) / 1000;
var gj = lv;
return "提升全身潜力,在" + time + "秒内,提升自身攻击力" + gj + "点。";
}
}
};

View File

@@ -0,0 +1,102 @@
this.inherits(SKILL);
this.name = "打狗棒";
this.id = "dagoubang";
this.grade = 3;
this.attack_actions = [
"$N使出一招「棒打双犬」手中$w化作两道青光砸向$n的$l",
"$N手中$w左右晃动一招「拨草寻蛇」向$n的$l攻去",
"$N举起$w居高临下使一招「打草惊蛇」敲向$n的$l",
"$N施出「拨狗朝天」$w由下往上向$n撩去"
];
this.desc = "丐帮的打狗棒法";
this.family = FAMILIES.GAIBANG;
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["club"];
this.learn_condition = {
max_mp: 5000,
skill: {
club: 300
}
};
this.query_enable_prop = function (lv) {
return {
club: {
gj: parseInt(lv * 1.5) + 100,
str: parseInt(lv / 8),
mz: parseInt(lv * 1.6)
}
};
}
this.pfm = {
chan:
{
name: "绊字决",
distime: 20000,
enable_skill: "club",
mp: 20,
release_time: 1800,
use: function (me, target, lv) {
var time = 3000 + lv * 5;
var ds = 10 + parseInt(lv / 100);
if (me.do_attack({
target: target,
gj: me.gj,
mz: me.mz,
attack_msg: "<hiw>$N使出打狗棒法「绊」字诀棒头在地下连点连绵不绝地挑向$n的小腿和脚踝。</hiw>"
})) {
var time = parseInt((6000 + lv * 2));
if (time > 10000) time = 10000;
target.add_status({
id: "busy",
duration: time,
name: "绊字诀",
is_busy: true,
downside: true
}, me);
me.end_attack(target);
}
},
query_desc: function (me, lv) {
var time = parseInt((6000 + lv * 2) / 1000);
if (time > 10) time = 10;
var ds = 10 + parseInt(lv / 100);
return "攻击敌方下路,命中后使对方忙乱" + time + "秒。";
}
}, wu: {
name: "天下无狗",
distime: 20000,
enable_skill: "club",
mp: 20,
attack_msgs: [
"<hiw>$N使出一招「棒打双犬」手中$w化作两道青光砸向$n的$l</hiw>",
"<hiw>$N手中$w左右晃动一招「拨草寻蛇」向$n的$l攻去</hiw>",
"<hiw>$N举起$w居高临下使一招「打草惊蛇」敲向$n的$l</hiw>",
"<hiw>$N施出「拨狗朝天」$w由下往上向$n撩去</hiw>"
],
use: function (me, target, lv) {
var count = 3 + parseInt(lv / 100);
if (count > 10) count = 10;
this.suc_count = 0;
me.send_room("<hiw>$N手中青光一闪响起阵阵风声手中$W犹若千百根相似层层叠叠将$n笼罩。</hiw>\n", target);
for (var i = 0; i < count; i++) {
me.do_attack({
target: target,
gj: me.gj,
mz: me.mz,
attack_msg: this.attack_msgs.random()
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var count = 3 + parseInt(lv / 100);
if (count > 10) count = 10;
return "快速对敌人攻击" + count + "次";
}
}
};

View File

@@ -0,0 +1,24 @@
this.inherits(SKILL);
this.name = "丐帮心法";
this.id = "gaibangxinfa";
this.grade = 1;
this.force_rad = 0.5;
this.desc = "丐帮的入门心法";
this.family = FAMILIES.GAIBANG;
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.query_enable_prop = function (lv) {
return {
force: {
fy: lv+10,
limit_mp: lv * 10,
desc: "唯一将你内力的50%转化为气血"
}
};
}
this.learn_condition = {
skill: {
force: 50
}
};

View File

@@ -0,0 +1,60 @@
this.inherits(SKILL);
this.name = "混天气功";
this.id = "huntianqigong";
this.grade = 3;
this.force_rad = 0.7;
this.desc = "丐帮的高级心法";
this.family = FAMILIES.GAIBANG;
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.query_enable_prop = function (lv) {
return {
force: {
gj: parseInt(lv * 1.2) + 10,
con: parseInt(lv / 6) + 4,
limit_mp: lv * 102,
desc: "唯一将你内力的70%转化为气血"
}
};
}
this.learn_condition = {
skill: {
force: 250
}
};
this.pfm = {
power:
{
name: "混元天罡",
distime: 60000,
enable_skill: "force",
mp: 20,
release_time: 0,
use_type: 2,
use: function (me, target, lv) {
var time = 25000 + lv;
if (time > 30000) time = 30000;
var gj = 600 + lv * 2;
me.send_room("<HIy>$N使出混天气功绝学「混元天罡」大喝一声全身真气鼓动看似坚不可摧。</HIy>");
me.add_status({
id: "force",
name: "天罡",
desc: "增加防御和攻击",
prop: {
fy: gj,
gj: gj
},
duration: time
});
},
query_desc: function (me, lv) {
var time = (25000 + lv) / 1000;
if (time > 30) time = 30;
var gj = 600 + lv * 2;
return time + "秒内,提升自身,攻击防御" + gj + "。";
}
}
};

View File

@@ -0,0 +1,69 @@
this.inherits(SKILL);
this.name = "叫花棒法";
this.id = "jiaohuabangfa";
this.grade = 1;
this.family = FAMILIES.GAIBANG;
this.attack_actions = [
"$N斜里冲前一步身法诡异手中$w急速横扫$n的$l",
"$N忽然直身飞入半空又忽的飞身扑下$w攻向$n的$l",
"$N原地一个后滚翻身体向$n平飞过去手中$w指向$n的$l",
"$N突然一个急转身$w横扫一圈后挟着猛烈的劲道打向$n而去",
"$N向前顺势一滚接着翻身跳起手里$w斜向上击向$n的$l"
];
this.desc = "丐帮的入门棒法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["club", "parry"];
this.learn_condition = {
max_mp:500,
skill: {
club: 50
}
};
this.query_enable_prop = function (lv) {
return {
club: {
gj: lv + 10
},
parry: {
zj: lv + 10
}
};
}
this.pfm = {
wu:
{
name: "绊字决",
distime: 10000,
enable_skill: "club",
mp: 20,
use: function (me, target, lv) {
var p = 50 + lv;
if (me.do_attack({
target: target,
attack_msg: "<hic>$N向前顺势一滚手中$W乱挥轮出一片棒影横扫$n的下三路<hic>",
gj: me.gj ,
mz: me.mz
})) {
me.end_attack(target);
target.add_status({
id: "ban",
name: "绊倒",
duration: lv * 10 + 2000,
prop: {
ds:-p
},
downside: true,
desc:"你的躲闪降低了"
});
}
},
query_desc: function (me, lv) {
var p = 50+lv;
return "攻击敌方下三路,命中后减少对方"+p+"躲闪。";
}
}
};

View File

@@ -0,0 +1,173 @@
this.inherits(SKILL);
this.name = "降龙十八掌";
this.id = "xianglongzhang";
this.grade = 4;
this.family = FAMILIES.GAIBANG;
this.first_title = "丐帮副帮主";
this.attack_actions = [
"$N双掌平平提到胸前神色沉重的缓缓施出「亢龙有悔」推向$n",
"$N突然身形飞起双掌居高临下一招「飞龙在天」拍向$n的$l",
"$N右掌一招「见龙在田」迅捷无比地劈向$n的$l",
"$N双掌施出一招「鸿渐于陆」隐隐带着风声拍向$n的$l",
"$N左掌聚成拳状右掌一招「潜龙勿用」缓缓推向$n的$l",
"$N施出一招「利涉大川」右掌插腰左掌劈向$n的$l",
"$N使出「突如其来」右掌从不可能的角度向$n的$l推出",
"$N大吼一声双掌使出「震惊百里」不顾一切般击向$n",
"$N使出降龙十八掌之「或跃在渊」向$n的$l连续拍出数掌",
"$N身形滑动双掌使一招「双龙取水」一前一后按向$n的$l",
"$N使出「鱼跃于渊」身形飞起双掌并在一起向$n的$l劈下",
"$N双掌立起使出降龙十八掌中的「时乘六龙」向$n连砍六下",
"$N使出「密云不雨」左掌封住$n的退路右掌斜斜地劈向$l",
"$N使出降龙十八掌一势「损则有孚」双掌软绵绵地拍向$n的$l",
"$N脚下一转突然欺到$n身前一招「龙战于野」拍向$n的$l",
"却见$N门户大开蓦地施出一招「履霜冰至」向$n的$l劈去",
"$N嗔目大喝使出「羝羊触蕃」双掌由下往上击向$n的$l",
"$N左掌护胸右掌使一招「神龙摆尾」上下晃动着击向$n的$l"
];
this.desc = "丐帮的降龙十八掌,至刚至猛,威震天下";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed", "parry"];
this.learn_condition = {
max_mp: 20000,
skill: {
unarmed: 500
}
};
this.query_prop = function (lv) {
return {
gj_per: 5 + parseInt(lv / 300)
};
}
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: lv * 2 + 5,
str: parseInt(lv / 6) + 20,
mz: parseInt(lv * 1.2) + 20
},
parry: {
zj: lv * 2 + 5,
fy: lv * 2 + 100
}
};
}
this.pfm = {
qi:
{
name: "降龙",
distime: 30000,
enable_skill: "unarmed",
mp: 30,
release_time: 0,
use: function (me, target, lv) {
var time = 2000 + lv * 5;
if (time > 8000) time = 8000;
var is_parry = false;
var sh = me.do_attack({
target: target,
gj: me.gj,
mz: me.mz, no_weapon: true,
attack_msg: "<hiy>$N大喝一声双掌齐出如怒潮般汹涌般向$p当胸猛击过去。</hiy>",
damage_msg: "<hir>只听砰的一声,$N已经重重打中$p胸口跟着喀喇喇几声肋骨好像断了几根</hir>",
on_parry: function (t, ispa) {
is_parry = ispa;
if (ispa)
this.damage_msg = "<hir>$n慌乱中匆忙招架后续掌力却如怒潮狂涌而至$p心口一甜喷出一口鲜血。</hir>";
return false;
},
miss_msg: "<hic>$n大惊之下$i连划三个半圆护住身前同时足尖着力飘身后退避开了$N的一掌。</hic>"
});
if (sh && !is_parry) {
target.add_status({
id: "unarmed",
duration: time,
name: "降龙",
downside: true,
is_rash: true,
desc: "你无法躲闪"
}, me);
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var time = 2000 + lv * 5;
if (time > 8000) time = 8000;
return " 以强劲的掌力猛击敌人,如果敌人招架失败,将在" + (time / 1000) + "秒内无法躲闪。";
}
}, shiba: {
name: "十八掌",
distime: 30000,
enable_skill: "unarmed",
mp: 30,
msgs: [
"<hig>-----亢龙有悔-----</hig>\n$N双掌平平提到胸前神色沉重的缓缓施出「亢龙有悔」推向$n",
"<hig>-----飞龙在天-----</hig>\n$N突然身形飞起双掌居高临下一招「飞龙在天」拍向$n的$l",
"<hig>-----见龙在田-----</hig>\n$N右掌一招「见龙在田」迅捷无比地劈向$n的$l",
"<hic>-----鸿渐于陆-----</hic>\n$N双掌施出一招「鸿渐于陆」隐隐带着风声拍向$n的$l",
"<hic>-----潜龙勿用-----</hic>\n$N左掌聚成拳状右掌一招「潜龙勿用」缓缓推向$n的$l",
"<hic>-----利涉大川-----</hic>\n$N施出一招「利涉大川」右掌插腰左掌劈向$n的$l",
"<hiy>-----突如其来-----</hiy>\n$N使出「突如其来」右掌从不可能的角度向$n的$l推出",
"<hiy>-----震惊百里-----</hiy>\n$N大吼一声双掌使出「震惊百里」不顾一切般击向$n",
"<hiy>-----或跃在渊-----</hiy>\n$N使出降龙十八掌之「或跃在渊」向$n的$l连续拍出数掌",
"<hiz>-----双龙取水-----</hiz>\n$N身形滑动双掌使一招「双龙取水」一前一后按向$n的$l",
"<hiz>-----鱼跃于渊-----</hiz>\n$N使出「鱼跃于渊」身形飞起双掌并在一起向$n的$l劈下",
"<hiz>-----时乘六龙-----</hiz>\n$N双掌立起使出降龙十八掌中的「时乘六龙」向$n连砍六下",
"<hio>-----密云不雨-----</hio>\n$N使出「密云不雨」左掌封住$n的退路右掌斜斜地劈向$l",
"<hio>-----损则有孚-----</hio>\n$N使出降龙十八掌一势「损则有孚」双掌软绵绵地拍向$n的$l",
"<hio>-----龙战于野-----</hio>\n$N脚下一转突然欺到$n身前一招「龙战于野」拍向$n的$l",
"<hir>-----履霜冰至-----</hir>\n却见$N门户大开蓦地施出一招「履霜冰至」向$n的$l劈去",
"<hir>-----羝羊触蕃-----</hir>\n$N嗔目大喝使出「羝羊触蕃」双掌由下往上击向$n的$l",
"<hir>-----神龙摆尾-----</hir>\n$N左掌护胸右掌使一招「神龙摆尾」上下晃动着击向$n的$l"
], query_releasetime: function (me, lv) {
lv = lv || me.query_skill("xianglongzhang", 0);
var t = 12000 - lv * 2;
if (t <= 8000) return 8000;
return t;
},
use: function (me, target, lv) {
me.send_room("<hiy>$N凝神聚气神态淡然左手虚划右手回转聚气于胸前双掌猛地推出蕴含着降龙十八掌的十八般变化<hiy>\n");
me.is_rash = 12000 - lv * 2;
if (me.is_rash < 8000) me.is_rash = 8000;
var time = parseInt(me.is_rash / 18);
var gj = me.gj;
lv = 105 + parseInt(lv / 500);
if (lv > 109) lv = 109;
var $this = this;
me.call_interval(
function (i) {
target = me.query_enemy();
if (!target) {
me.is_rash = 0;
return false;
}
if (me.do_attack({
target: target,
gj: gj,
mz: me.mz,
attack_msg: $this.msgs[i],
no_weapon: true
})) {
gj = gj * lv / 100;
}
me.end_attack(target);
if (!me.enemy.length) {
me.is_rash = 0;
return false;
}
if (i >= 17) me.is_rash = 0;
},
time,
18
);
},
query_desc: function (me, lv) {
var lv1 = 5 + parseInt(lv / 500);
if (lv1 > 9) lv1 = 9;
var time = (12000 - lv * 2) / 1000;
if (time < 8) time = 8;
return time + "秒内将十八掌全部打出,掌力会越来越凶猛,每命中一掌增加伤害" + lv1 + "%,攻击中自身无法躲闪";
}
}
};

View File

@@ -0,0 +1,56 @@
this.inherits(SKILL);
this.name = "逍遥游";
this.id = "xiaoyaoyou";
this.grade = 2;
this.family = FAMILIES.GAIBANG;
this.dodge_actions = [
"$n一个「蜻蜓点水」躲过了$N这一招。",
"$n身形向后一纵使出一招「细胸巧翻云」避过了$N的攻击。",
"$n使出「虚怀若谷」恰好躲过了$N的攻势。",
"但是$n身形飘忽轻轻一纵早已避开。",
"$n身形微晃有惊无险地避开了$N这一招。"
];
this.can_enables = ["dodge"];
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: parseInt(lv * 1.5) + 30,
mz: lv + 3
}
};
}
this.learn_condition = {
max_mp: 1000,
skill: {
dodge: 200
}
};
this.pfm = {
lingbo:
{
name: "仙游",
distime: 30000,
enable_skill: "dodge",
mp: 20,
release_time:0,
use: function (me, target, lv) {
var gj = lv * 10 + 10000;
me.add_status({
id: "dodge",
name: "仙游",
start_msg: "<hiw>$N身子微晃施出「<hig>仙游诀</hig>」满场游走,步法洋洋洒洒,甚为飘逸。</hiw>",
desc: "逍遥游之仙游决,增加你的命中",
duration: gj,
prop: {
mz: lv
}
});
},
query_desc: function (me, lv) {
var gj = lv * 10 + 10000;
return "" + (gj / 1000) + "秒内增加你" + lv + "命中。";
}
}
};

View File

@@ -0,0 +1,196 @@
this.inherits(SKILL);
this.name = "独孤九剑";
this.id = "dugujiujian";
this.grade = 4;
this.first_title = "九剑传人";
this.family = FAMILIES.HUASHAN;
this.attack_actions = [
"但见$N挺身而上$w一旋一招仿佛泰山剑法的「<HIC>来鹤清泉</HIC>」直刺$n的$l",
"$N奇诡地向$n挥出「<RED>泉鸣芙蓉</RED>」、「<YEL>鹤翔紫盖</YEL>」、「<BLU>石廪书声</BLU>」、「<MAG>天柱云气</MAG>」及「<YEL>雁回祝融</YEL>」衡山五神剑!",
"$N剑随身转续而刺出十九剑竟然是华山「<MAG>玉女十九剑</MAG>」,但奇的是这十九剑便如一招,手法之快,直是匪夷所思!",
"$N剑势忽缓而不疏剑意有余而不尽化恒山剑法为一剑向$n慢慢推去",
"$N剑意突焕气象森严便似千军万马奔驰而来长枪大戟黄沙千里尽括嵩山剑势击向$n的$l",
"却见$N身随剑走左边一拐右边一弯剑招也是越转越加狠辣竟化「<HIG>泰山十八盘</HIG>」为一剑攻向$n",
"$N剑招突变使出衡山的「<HIC>一剑落九雁</HIC>」,削向$n的$l怎知剑到中途突然转向大出$n意料之外",
"$N吐气开声一招似是「<WHT>独劈华山</WHT>」,手中$w向下斩落直劈向$n的$l",
"$N手中$w越转越快使的居然是衡山的「<MAG>百变千幻云雾十三式</MAG>」,剑式有如云卷雾涌,旁观者不由得目为之眩!",
"$N含笑抱剑气势庄严$w轻挥尽融「达摩剑」为一式闲舒地刺向$n",
"$N举起$w运使「太极剑」剑意划出大大小小无数个圆圈无穷无尽源源不绝地缠向$n",
"$N神声凝重$w上劈下切左右横扫挟雷霆万钧之势逼往$n「伏摩剑」的剑意表露无遗",
"却见$N突然虚步提腰使出酷似武当「<BLU>蜻蜓点水</BLU>」的一招!",
"$N运剑如风剑光霍霍中反攻$n的$l尝试逼$n自守剑招似是伏魔剑的「<RED>龙吞式</RED>」。",
"$N突然运剑如狂一手关外的「<YEL>乱披风剑法</YEL>」,猛然向$n周身乱刺乱削",
"$N突然一剑点向$n的$l虽一剑却暗藏无数后着$n手足无措不知如何是好",
"$N剑挟刀势大开大阖地乱砍一通但招招皆击在$n攻势的破绽迫得$n不得不守",
"$N反手横剑刺向$n的$l这似有招似无招的一剑威力竟然奇大$n难以看清剑招来势",
"$N举剑狂挥迅速无比地点向$n的$l却令人看不出其所用是什么招式。",
"$N随手一剑指向$n落点正是$n的破绽所在端的是神妙无伦不可思议",
"$N脸上突现笑容似乎已看破$n的武功招式胸有成竹地一剑刺向$n的$l",
"$N将$w随手一摆但见$n自己向$w撞将上来神剑之威实人所难测"
];
this.parry_actions = [
"$n以攻为守以进为退凝神运气向$P猛攻快打地挥出方位大异的泰山「<MAG>快活三</MAG>」三剑。",
"$n剑法突变剑势伸缩不定奔腾矫夭逆使嵩山剑法的「<YEL>天外玉龙</YEL>」企图迫使$P变招。",
"$n突然使出青城派松风剑法的「<RED>鸿飞冥冥</RED>」,可是方位却有所偏差,长剑对着$P一绞企图突破$P的攻势",
"只见$n不退反进身如飘风诡异地一式「<HIW>天柱云气</HIW>」,动向无定不可捉摸地挡住了$P的进攻。",
"$n不退反进使出恒山剑招「<HIR>绵里藏针</HIR>」,森森剑气充溢四周!架开了$P的这招",
"$n不闪不避举剑闪电般使出「<BLU>叠翠浮青</BLU>」反削$P的$l。",
"却见$n踏前一步剑式斜指$N的右臂想要使$N闪身而退。",
"$n突然一剑点向$P的$l虽一剑却暗藏无数后着$P手足无措慌忙撤手回防",
"$n挺剑一招象是「<HIW>白云出岫</HIW>」回刺$P的$l企图将$P的攻势化解。"
];
this.desc = "为独孤求败所创,以无招胜有招的宗旨胜破天下武功。";
this.attack_actions2 = [
"<hiw>但见$N手中$w破空长吟平平一剑刺向$n毫无招式可言</hiw>",
"<hiw>$N揉身欺近轻描淡写间随意刺出一剑简单之极无招无式</hiw>",
"<hiw>$N身法飘逸神态怡然剑意藏于胸中手中$w随意挥洒而出独孤九剑已到了收发自如的境界</hiw>",
"<hiw>$N满场游走东刺一剑西刺一剑令$n莫明其妙分不出$N剑法的虚实</hiw>",
"<hiw>$N抱剑旋身转到$n身后杂乱无章地向$n刺出一剑不知使的是什么剑法</hiw>"
];
this.query_attack_action = function (me) {
if (me.query_temp("weapon")) {
return this.attack_actions2.random();
}
return this.attack_actions.random();
}
//"\s?\+\s?(\w+)\s?\+\s?"(.+?)"\s?\+\s?NOR\s?\+\s?"
//<$1>$2</$1>
this.can_enables = ["sword", "parry"];
this.learn_condition = {
max_mp: 10000,
skill: {
sword: 400
}
};
this.query_prop = function (lv) {
return {
add_sh_per: 5 + parseInt(lv / 300)
};
}
this.query_enable_prop = function (lv) {
return {
sword: {
gj: lv * 2 + 10,
gjsd: 200,
bj_per: parseInt(lv / 500) + 2,
mz: lv + 10
},
parry: {
zj: lv * 2 + 10,
fy: lv,
desc: "招架敌人招式后立刻反击敌人"
}
};
}
this.parry_msg2 = [
"<hir>$N趁机向前一剑刺向$n的$l端的是神妙无伦不可思议</hir>",
"<hir>$n见招式被破一时慌乱被$N趁虚欺上随手一剑刺向$p</hir>",
"<hir>$N以攻为守以进为退挺剑一招象是「白云出岫」回刺$p的$l</hir>"
];
this.on_parry_over = function (me, target, par) {
if (par.is_parry) {
if (!me.query_temp("sk_dugu_parry")) {
me.do_attack({
target: target,
attack_msg: this.parry_msg2.random(),
gj: me.gj / 3 + me.random(me.gj / 3),
mz: me.mz
});
me.end_attack(target);
me.set_temp("sk_dugu_parry", 1, 7000);
}
}
}
this.pfm = {
wu:
{
name: "无招",
distime: 20000,
enable_skill: "sword",
mp: 20,
release_time: 0,
use: function (me, target, lv) {
var time = lv * 10 + 5000;
if (time > 15000) time = 15000;
me.send_room("<him>$N凝神聚气挥洒手中兵器进入无招无我剑心通明境界\n</him>", target);
me.add_status({
id: "weapon",
name: "无招",
duration: time,
prop: {
gjsd_per: 100,
gj: lv,
mz: lv
}
});
me.set_temp("weapon", 1, time);
me.reauto_attack();
},
query_desc: function (me, lv) {
var time = lv * 10 + 5000;
if (time > 15000) time = 15000;
return "独孤九剑之无招胜有招," + (time / 1000) + "秒内你的招式无迹可寻使敌人难以破解,出招速度加快到极限,增加" + lv + "攻击," + lv + "命中。";
}
}, pojian:
{
name: "破字诀",
distime: 10000,
enable_skill: "parry",
mp: 20,
use: function (me, target, lv) {
var weap = target.query_weapon();
if (!weap || weap.weapon_type === WEAPON_TYPE.NONE) return me.notify("对方没有兵刃,你不用担心。");
me.send_room("<HIC>$N举剑画弧默潜独孤九剑之「破字诀」, 绵绵剑意,漫天铺地袭向$n</HIC>", target);
if (lv * 2 + me.random(me.mz) > target.ds && (!target.attack_skill || target.attack_skill.id !== 'dugujiujian4')) {
me.send_room("<hir>$n顿时觉得眼前一花手腕一麻手中$i脱手而出\n</hir>", target);
target.unequip(weap, true, 12000);
} else {
me.send_room("<cyn>可是$n看破了$N的剑路抽身后退使$N的「破字诀」没有起到作用。\n</cyn>", target);
}
},
query_desc: function (me, lv) {
return "独孤九剑之破字诀,卸下对方兵刃,技能等级越高成功率越高。";
}
}, poqi:
{
name: "破气诀",
distime: 30000,
enable_skill: "sword",
mp: 20,
use: function (me, target, lv) {
var sh = me.do_attack({
target: target,
attack_msg: "<hib>$N施出独孤九剑「破气式」手中$W中攻直进遥指$n的气海要穴。</hib>",
miss_msg: "<CYN>可$n深知$N这招的厉害当即向后横移数尺躲闪开来。</CYN>",
no_parry: true,
damaga_msg: "<hir>$n被$N一剑划过气门登感一阵锥心的刺痛全身真气源源而泻</hir>"
});
if (sh) {
target.add_mp(-lv * 10);
var time = 3000 + lv * 5;
if (time > 10000) time = 10000;
target.add_status({
id: "busy",
is_busy: true,
name: "忙乱",
downside: true,
desc: "你处于忙乱状态,无法攻击,招架",
duration: time
}, me);
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var time = 3000 + lv * 5;
if (time > 10000) time = 10000;
return "独孤九剑之破气式,精准攻击敌方气海要穴,无法招架,命中后减少敌人" + (lv * 10) + "的内力,并使敌人忙乱" + (time / 1000) + "秒。";
}
}
};

View File

@@ -0,0 +1,30 @@
this.inherits(SKILL);
this.name = "飞燕回翔";
this.id = "feiyanhuixiang";
this.grade = 1;
this.family = FAMILIES.HUASHAN;
this.dodge_actions = [
"但是$n身形飘忽轻轻一纵一招「乳燕投林」举重若轻的避开这一击。",
"$n身随意转一式「雪花飞舞」倏地往一旁飘开数尺避过了这一招。",
"可是$n侧身一让使出「柳絮轻飘」$N这一招扑了个空。",
"却见$n足不点地一招「腾云驾雾」身形滴溜溜一转往旁闪开数尺躲了开去。",
"$n左脚一点右脚背身形往上一拔一招「一鹤冲天」轻轻巧巧地避开了这一招。"
];
this.desc = "华山派轻功身法,招式如飞燕般灵动不可捉摸。";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["dodge"];
this.learn_condition = {
max_mp: 500,
skill: {
dodge: 60
}
};
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: lv + 5
}
};
}

View File

@@ -0,0 +1,59 @@
this.inherits(SKILL);
this.name = "华山剑法";
this.id = "huashanjianfa";
this.grade = 1;
this.is_public=true;
this.family = FAMILIES.HUASHAN;
this.attack_actions = [
"$N一招「白云出岫」手中$w点向$n的$l",
"$N使出「有凤来仪」$w闪烁不定刺向$n的$l",
"$N一招「天绅倒悬」$w自上而下划出一个大弧向$n劈砍下去",
"$N向前跨上一步手中$w使出「白虹贯日」直刺$n的$l",
"$N手中的$w一晃使出「苍松迎客」直刺$n的$l"
];
this.desc = "华山派的基础剑法";
//<$1>$2</$1>
//<$1>$2</$1>
this.can_enables = ["sword"];
this.learn_condition = {
max_mp: 1000,
skill: {
sword: 50
}
};
this.query_enable_prop = function(lv) {
return {
sword: {
gj: lv + 10
}
};
}
this.pfm = {
jiang:
{
name: "剑掌五连环",
distime: 10000,
enable_skill: "sword",
mp: 20,
release_time:10000,
use: function(me, target, lv) {
me.send_room("<CYN>$N使出华山派绝技「剑掌五连环」身法陡然加快</CYN>", target);
var count = 5;
for (var i = 0; i < count; i++) {
me.do_attack({
target: target,
gj: me.gj,
mz: me.mz,
attack_before: "紧跟着"
});
}
me.end_attack(target);
},
query_desc: function(me, lv) {
return "华山剑法之剑掌五连环瞬间出招5次收招较慢。";
}
}
};

View File

@@ -0,0 +1,29 @@
this.inherits(SKILL);
this.name = "华山拳法";
this.id = "huashanquanfa";
this.grade = 1;
this.family = FAMILIES.HUASHAN;
this.attack_actions = [
"$N使一招「云里乾坤」左拳击出不等招式使老右拳已从左拳之底穿出对准$n的$l「呼」地一拳",
"$N左拳突然张开拳开变掌直击化为横扫一招「雾里看花」便往$n的$l招呼过去",
"$N步履一沉左拳虚晃一招右拳使出「梅花弄影」击向$n$l",
"$N两手虎口相对往内一圈一招「金鼓齐鸣」往$n的$l击出"
];
this.desc = "华山派的入门拳法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed"];
this.learn_condition = {
max_mp: 500,
skill: {
unarmed: 50
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: parseInt(lv * 1.1 + 20)
}
};
}

View File

@@ -0,0 +1,24 @@
this.inherits(SKILL);
this.name = "华山心法";
this.id = "huashanxinfa";
this.grade = 1;
this.force_rad = 0.5;
this.desc = "华山派的入门心法";
this.family = FAMILIES.HUASHAN;
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.query_enable_prop = function (lv) {
return {
force: {
max_hp: lv,
limit_mp: lv * 10,
desc: "唯一将你内力的50%转化为气血"
}
};
}
this.learn_condition = {
skill: {
force: 50
}
};

View File

@@ -0,0 +1,115 @@
this.inherits(SKILL);
this.name = "狂风快剑";
this.id = "kuangfengkuaijian";
this.grade = 3;
this.family = FAMILIES.HUASHAN;
this.attack_actions = [
"$N纵身跃起手中$w轻挥斩向$n后颈",
"$N手中$w连话三个弧形向$n的右臂齐肩斩落",
"$N轻吁一声刷刷刷刷四剑向$n胸肩四处连刺",
"$N仰天一声清啸斜行向前$w横削直击迅捷无比击向$n的$l"
];
this.dodge_actions = [
"$n一式<HIY>「巨鹏亮翅」</HIY>,两臂鹏举如翼,在剌剌风声中,从$N头顶横跃而过。",
"$n一式<HIC>「风送紫霞」</HIC>,如一阵清风,舒缓地闪过了$N的凌厉攻势。",
"$n一式<HIB>「燕回朝阳」</HIB>,轻盈地一跃,一转眼间便绕到了$N的身后。",
"$n一式<HIY>「却别苍松」</HIY>,一转身间,向后飘出近一丈远",
"$n一式<HIM>「旭日初升」</HIM>,全身笔直,拔地而起,在半空中一转,已落到几丈远的地方。",
"$n一式<HIY>「金雁横空」</HIY>,身体如一只金雁般行云流水地滑出丈余。",
"$n一式<HIW>「晚月朗星」</HIW>,双脚点地,全身化为一道白影,急速绕着$N打了几转。",
"$n一式<GRN>「幻眼云湮」</GRN>,身形陡地变得飘忽不定,令$N无法看清。",
"$n一式<HIM>「苍龙盘岭」</HIM>,宛若一条矫矢苍龙,围着$N急速地盘旋了几圈。"
];
this.desc = "华山派的剑宗的立宗剑法,以快闻名";
//<$1>$2</$1>
//<$1>$2</$1>
this.can_enables = ["sword", "dodge"];
this.learn_condition = {
max_mp: 3000,
skill: {
sword: 300
}
};
this.query_enable_prop = function (lv) {
return {
sword: {
gj: parseInt(lv * 1.5 + 10),
gjsd: 250,
mz: parseInt(lv * 1.5 + 10)
}, dodge: {
ds: parseInt(lv * 1.4 + 6),
gjsd: 250
}
};
}
this.on_attack_over = function (me, target, par) {
let kf_count = me.query_temp("kuangfeng");
if (kf_count) {
me.send_room("<hir>$N一击奏效手中快剑如狂风般继续攻来</hir>\n");
var isMIss = false;
var per = 10 - parseInt(me.query_skill('kuangfengkuaijian', 0) / 100);
if (per < 3) per = 3;
let mz = me.mz;
mz = parseInt(mz - mz * (kf_count - 1) * per / 100);
if (mz < 0) mz = 0;
for (var i = 0; i < 3; i++) {
if (!me.do_attack({
target: target,
gj: me.gj,
mz: mz,
no_append: true
})) {
isMIss = true;
}
}
if (isMIss) {
me.send_room("<hic>$N一击未能奏效收招后退</hic>");
me.remove_temp("kuangfeng");
} else {
me.set_temp("kuangfeng", kf_count + 1, 5000);
}
if (par.is_dodge || par.is_parry) me.end_attack(target);
}
}
this.pfm = {
duoming:
{
name: "夺命连环",
distime: 20000,
enable_skill: "sword",
mp: 20,
use: function (me, target, lv) {
if (me.query_temp('kuangfeng')) return me.notify("你的夺命连环还没释放完。");
me.send_room("<hir>$N一声清啸手中$W犹如狂风般劈头向$n刺去。</hir>\n", target);
var isMIss = false;
for (var i = 0; i < 3; i++) {
if (!me.do_attack({
target: target,
gj: me.gj,
mz: me.mz,
no_append: true
})) {
isMIss = true;
}
}
if (isMIss) {
me.send_room("<hic>$N一击未能奏效收招后退</hic>");
} else {
me.set_temp("kuangfeng", 1, 5000);
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var per = 10 - parseInt(lv / 100);
if (per < 3) per = 3;
return "夺命连环三仙剑是剑宗狂风剑法的精髓,瞬间攻出三剑,如果三剑全部命中" + (me.gjsd / 1000) + "秒后会继续触发夺命连环但是命中会降低" + per + "%";
}
}
};

View File

@@ -0,0 +1,104 @@
this.inherits(SKILL);
this.name = "劈石破玉拳";
this.id = "poyuquan";
this.grade = 1;
this.family = FAMILIES.HUASHAN;
this.attack_actions = [
"$N右脚立定、左脚虚点一式「起手式」左右手一高一低击向$n的$l",
"$N左脚虚踏全身右转一招「石破天惊」右拳猛地击向$n的$l",
"$N双手大开大阖宽打高举使一招「铁闩横门」双拳向$n的$l打去",
"$N左掌圈花扬起屈肘当胸右手虎口朝上一招「千斤坠地」打向$n的$l",
"$N使一招「傍花拂柳」上身前探双拳划了个半圈击向$n的$l",
"$N双拳划弧一记「金刚挚尾」掌出如电一下子切到$n的手上",
"$N施出「封闭手」双拳拳出如风同时打向$n头腹三处要害",
"$N左脚内扣右腿曲坐一式「粉石碎玉」双拳齐齐捶向$n的胸口"
];
this.desc = "华山派拳脚功夫,原为劈石及破玉两路拳法绝学";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed", "parry"];
this.learn_condition = {
max_mp: 700,
skill: {
unarmed: 50
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: lv + 20
},
parry: {
zj: lv + 20
}
};
}
this.pfm = {
po:
{
name: "破玉",
distime: 16000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
mp: 20,
use: function (me, target, lv) {
me.do_attack({
target: target,
gj: me.gj,
no_weapon: true,
attack_msg: "<HIY>$N大喝一声握紧的拳头蒙上一层淡淡的紫色雾气闪电般重重的击向$n</HIY>",
damage_msg: "<hir>只见$P的紫拳如同硬玉般砸得$p飞了出去重重的摔在地上吐血不止</hir>",
miss_msg: "<hic>可是$p奋力闪避硬生生的躲开了$P这一招。</hic>",
parry_msg: "<hic>可是$p奋力招架硬生生的挡开了$P这一招。</hic>"
});
me.end_attack(target);
},
query_desc: function (me, lv) {
return "凝聚真气奋力一击,造成" + me.gj + "<hir>(+" + lv + ")</hir><mag>(+" + (me.query_skill("zixiashengong", 0) * 2) + ")</mag>点伤害。";
}
},
pi: {
name: "劈石",
distime: 38000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
mp: 25,
use: function (me, target, lv) {
let par = {
gj: me.gj,
mz: me.mz,
attack_msg: "<HIR>$N沉腰立马双拳凝聚千斤之力一声怒喝使出「劈石」绝招带着裂石之势砸向$n</HIR>\n",
miss_msg: "<hic>$n见势不妙纵身急退险险避开了$P势大力沉的劈石一击。</hic>",
parry_msg: "<hic>$n拼尽全力格挡虽挡住了这一击却被震得双臂发麻气血翻涌。</hic>",
no_weapon: true
};
me.do_attack(par);
if (!par.is_dodge) {
let time = 5000 + parseInt(lv / 2);
if (time > 15000) time = 15000;
let fy = lv * 2 + 600;
target.add_status({
id: "pishi",
name: "劈石",
desc: "降低防御和招架",
downside: true,
prop: {
fy: -fy
},
duration: time
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
let time = Math.floor(5 + lv / 500);
if (time > 15) time = 15;
let fy = lv + 600;
return `劈石一击,命中后可降低目标${fy}点防御,持续${time}秒。`;
}
}
};

View File

@@ -0,0 +1,63 @@
this.inherits(SKILL);
this.name = "紫霞神功";
this.id = "zixiashengong";
this.grade = 3;
this.force_rad = 0.6;
this.family = FAMILIES.HUASHAN;
this.desc = "华山派的内功心法,气宗的立派根本,以修炼时身上紫气环绕而得名";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.learn_condition = {
max_mp: 300,
skill: {
force: 300
}
};
this.query_enable_prop = function (lv) {
return {
force: {
gj: parseInt(lv * 1.3) + 10,
mz: parseInt(lv * 1.2) + 10,
limit_mp: lv * 100,
desc: "唯一将你内力的60%转化为气血"
}
};
}
this.pfm = {
xi:
{
name: "紫气东来",
distime: 60000,
enable_skill: "force",
mp: 20,
release_time: 0,
use_type: 2,
use: function (me, target, lv) {
var gj = 10 + parseInt(lv / 100);
var time = 20000 + lv * 10;
var mz = lv + 30;
me.send_room("<mag>$N微一凝神运起紫霞神功周身紫气萦绕。</mag>", target);
me.add_status({
id: "force",
name: "紫气东来",
desc: "使用紫霞神功提升战力,增加你的伤害",
duration: time,
prop: {
add_sh_per: gj,
mz: mz
},
finish_msg: "$N的紫霞神功运行完毕将内力收回丹田。",
});
},
query_desc: function (me, lv) {
var gj = 10 + parseInt(lv / 100);
var mz = lv + 30;
var time = 20000 + lv * 10;
return "使用紫霞神功提升战力,增加你的伤害" + gj + "%,命中增加" + mz + ",持续" + (time / 1000) + "秒";
}
}
};

View File

@@ -0,0 +1,60 @@
this.inherits(SKILL);
this.id = "lianyao";
this.name = "炼药术";
this.grade = 0;
this.desc = "使用药草制作各种丹药的技能,提高你的炼药成功率";
this.type = SKILL_TYPES.KNOWLEDGE;
this.query_prop = lv => ({ lianyao1: Math.floor(lv / 200) });
this.slots = [
{
prop: "ly_wd",
name: "炼药武道",
value: lv => 1,
count: 1,
query_needs: function (grade) {
return [{
path: "book/gj",
count: 1
}];
},
format: (val) => {
return "采药或炼药期间也可以获得武道残页(仅玩家共享闭关)";
}
}, {
prop: "ly_qn",
name: "潜能增加",
value: lv => 1 + Math.min(lv / 200),
count: 3,
query_needs: function (grade) {
return [{
path: "book/gj",
count: 1
}];
},
format: (val) => {
return "采药或炼药时获得的潜能+" + val;
}
}, {
prop: "ly_ks",
name: "等级加速",
value: lv => 1 + Math.min(lv / 100),
count: 3,
query_needs: function (grade) {
return [{
path: "book/gj",
count: 1
}];
},
format: (val) => {
return "炼药术提升的速度+" + val;
}
}
];

View File

@@ -0,0 +1,127 @@
this.inherits(SKILL);
this.id = "literate";
this.name = "读书写字";
this.grade = 0;
this.desc = "书中自有黄金屋,书中自有颜如玉,多读书会提高自己的悟性,减少技能的学习时间";
this.type = SKILL_TYPES.KNOWLEDGE;
this.query_prop = function (lv, me) {
let grade = 0;
if (me && me.is_player) {
grade = this.query_grade(me);
}
return { int: parseInt(lv / (10 - grade)) }
}
this.slots = [
{
prop: "fenjie",
name: "机关术",
value: lv => Math.pow(lv, 1 / 3),
count: 1,
query_needs: function (grade) {
return [{
path: "book/lt#GAIBANG",
count: 1
}];
},
format: (val) => {
return "机关术:基础悟性提升,分解装备获得额外" + val + "玄晶";
}
},
{
prop: "obs",
name: "观气术",
value: lv => lv,
count: 1,
query_needs: function () {
return [{
path: "book/lt#WUDANG",
count: 1
}];
},
format: (val) => {
return "观气术:基础悟性提升,查看他人可获得额外信息";
}
},
{
prop: "haoranqi",
value: lv => 10,
count: 3,
name: "浩然气",
query_needs: function () {
return [{
path: "book/lt#HUASHAN",
count: 1
}];
},
format: (val) => {
return "浩然气基础悟性提升学习知识类技能的消耗降低10%";
}
},
{
prop: "recover_per",
value: lv => 10,
count: 3,
name: "普渡",
query_needs: function () {
return [{
path: "book/lt#EMEI",
count: 1
}];
},
format: (val) => {
return "普渡基础悟性提升疗伤效率增加10%";
}
},
{
prop: "shashou",
value: lv => Math.min(1 + lv / 20, 200),
count: 3,
name: "赏罚论",
query_needs: function () {
return [{
path: "book/lt#SHASHOU",
count: 1
}];
},
format: (val) => {
return "赏罚论:基础悟性提升,门派战中获得额外" + val + "功绩";
}
},
{
prop: "shaolin",
value: (lv, grade) => 1 + lv / 10 / (10 - grade),
name: "见禅心",
query_needs: function () {
return [{
path: "book/lt#SHAOLIN",
count: 1
}];
},
format: (val) => {
return "见禅心:基础悟性提升,打坐中会持续增加效率,最高额外+" + val;
}
},
{
prop: "shuangxiu",
value: (lv, grade) => 1 + lv / 10 / (10 - grade),
count: 1,
name: "齐逍遥",
query_needs: function () {
return [{
path: "book/lt#XIAOYAO",
count: 1
}];
},
format: (val) => {
return "齐逍遥:基础悟性提升,双修的基础效率增加" + val + "点";
}
}
];

View File

@@ -0,0 +1,45 @@
this.inherits(SKILL);
this.type = SKILL_TYPES.SKILL;
this.id = "bite2";
this.name = "野兽扑咬";
this.grade = 3;
this.family = FAMILIES.MONSTER;
this.desc = "高级动物类技能";
this.attack_actions = [
"$N张嘴朝$n的$l咬去", "$N抬起前爪往$n的$l一抓", "$N往$n的$l狠狠的扑了过去",
"$N跳起来用前抓往$n的$l抓去", "$N猛的扑向$n的$l"
];
this.query_prop = lv => ({ gj: lv * 2, mz: lv * 2, fy: lv * 2, zj: lv * 2, ds: lv * 2 });
this.can_enables = ["bite"];
this.pfm = {
puyao:
{
name: "撕咬",
distime: 7000,
enable_skill: "bite",
weapon_type: WEAPON_TYPE.UNARMED,
release_time: 3000,
mp: 10,
attacks: [
"<hir>$N张嘴朝$n的$l咬去</hir>", "<hir>$N抬起前爪往$n的$l一抓</hir>", "<hir>$N往$n的$l狠狠的扑了过去</hir>",
"<hir>$N跳起来用前抓往$n的$l抓去</hir>", "<hir>$N猛的扑向$n的$l</hir>"
],
use: function (me, target,lv) {
var count = 5;
me.send_room("<red>$N目露凶光猛的朝$n扑了过去</red>", target);
for (var i = 0; i < count; i++) {
me.do_attack({
target: target,
gj: me.gj,
mz: me.mz * 2,
attack_msg: this.attacks[i]
});
}
me.end_attack(target);
},
query_desc: function (me,lv) {
return "野兽类撕咬";
}
}
};

View File

@@ -0,0 +1,45 @@
this.inherits(SKILL);
this.name = "毒蛇攻击";
this.id = "dushegongji";
this.grade = 1;
this.family = FAMILIES.MONSTER;
this.attack_actions = [
"$N张嘴朝$n的$l咬去", "$N往$n的$l狠狠的扑了过去",
"$N猛的扑向$n的$l", "$N扑上来张嘴往$n的$l咬去"
];
this.desc = "毒蛇攻击方式,会中毒";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["bite"];
this.query_enable_prop = function (lv) {
return {
bite: {
gj: lv,
mz: lv,
ds: lv,
desc: "你的攻击有可能让对方中毒"
}
};
}
this.on_attack_over = function (me, target, par) {
if (!par.is_dodge && !par.is_parry) {
var lv = me.query_skill("dushegongji", 0);
var sh = parseInt((lv / 10) + 10);
if (this.random(lv) > 100) {
target.add_status({
id: "shedu",
name: "蛇毒",
desc: "你中了蛇毒,每三秒减少" + sh + "气血",
duration: 3000,
duration_count: 4,
on_interval: function (me, count) {
me.from_attack(sh * count, 999999, null, "<hir>$N觉得被蛇咬中的地方一阵发麻。</hir>");
},
downside: true,
override: 1
});
}
}
}

View File

@@ -0,0 +1,62 @@
this.inherits(SKILL);
this.name = "达摩剑";
this.id = "damojian";
this.grade = 2;
this.family = FAMILIES.SHAOLIN;
this.attack_actions = [
"$N使一式<MAG>「万事随缘往」</MAG>,手中$w嗡嗡微振幻成一条疾光刺向$n的$l",
"$N错步上前使出<HIC>「来去若梦行」</HIC>,剑意若有若无,$w淡淡地向$n的$l挥去",
"$N一式<YEL>「浮世沧桑远」</YEL>,纵身飘开数尺,运发剑气,手中$w遥摇指向$n的$l",
"$N纵身轻轻跃起一式<BLU>「轮回法舟轻」</BLU>,剑光如轮疾转,霍霍斩向$n的$l",
"$N手中$w中宫直进一式<HIW>「水月通禅寂」</HIW>,无声无息地对准$n的$l刺出一剑",
"$N手中$w斜指苍天剑芒吞吐一式<HIM>「鱼龙听梵音」</HIM>,对准$n的$l斜斜击出",
"$N左指凌空虚点右手$w逼出丈许雪亮剑芒一式<GRN>「千里一苇去」</GRN>刺向$n的$l",
"$N合掌跌坐一式<HIG>「禅心顿自明」</HIG>$w自怀中跃出如疾电般射向$n的胸口"
];
this.desc = "少林寺七十二绝技之达摩剑";
//<$1>$2</$1>
//<$1>$2</$1>
this.can_enables = ["sword"];
this.learn_condition = {
max_mp: 2000,
skill: {
sword: 200
}
};
this.query_enable_prop = function (lv) {
return {
sword: {
gj: lv + 10,
str: parseInt(lv / 10) + 2,
mz: lv+10,
}
};
}
this.pfm = {
jiang:
{
name: "三绝剑",
distime: 10000,
enable_skill: "sword",
mp: 20,
use: function (me, target, lv) {
me.send_room("<hic>$N使出达摩剑的绝技「达摩三绝剑」身法陡然加快</hic>", target);
var count = 3;
for (var i = 0; i < count; i++) {
me.do_attack({
target: target,
gj: me.gj,
mz: me.mz
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
return "达摩剑之三绝剑瞬间出招3次。";
}
}
};

View File

@@ -0,0 +1,26 @@
this.inherits(SKILL);
this.name = "混元一气";
this.id = "hunyuanyiqi";
this.grade = 1;
this.force_rad = 0.55;
this.desc = "少林寺的内功心法";
this.family = FAMILIES.SHAOLIN;
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.learn_condition = {
skill: {
force: 50
}
};
this.query_enable_prop = function (lv) {
return {
force: {
max_hp: lv ,
fy: lv + 5,
limit_mp: lv * 20,
desc: "唯一将你内力的55%转化为气血"
}
};
}

View File

@@ -0,0 +1,109 @@
this.inherits(SKILL);
this.name = "燃木刀法";
this.id = "ranmudao";
this.grade = 3;
this.family = FAMILIES.SHAOLIN;
this.attack_actions = [
"$N面带微笑一招<HIR>「烈火烧身」</HIR>,举$w对着$n连砍了八八六十四刀刀气纵横迅雷不可挡",
"$N运起内功一招<GRN>「点木生火」</GRN>$w上带着无比劲气划了一个大弧从上而下劈向$n的$l",
"$N手臂一沉一招<HIM>「张弓望月」</HIM>,双手持$w划出一道雪亮刀光接着拦腰反切砍向$n的$l",
"$N挥舞$w上劈下撩左挡右开使出一招<RED>「烈火腾云」</RED>,卷起阵阵刀风,齐齐罩向$n",
"$N一招<MAG>「火中取栗」</MAG>,左脚跃步落地,手中$w单刀往前挟着炙热的风声劈向$n的$l",
"$N腾空而起半空中一招<HIW>「玉石俱焚」</HIW>,手中$w挥出满天流光般的刀影向$n的全身卷去"
];
this.desc = "少林寺七十二绝技之燃木刀法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["blade", "parry"];
this.learn_condition = {
max_mp: 1000,
skill: {
blade: 300
}
};
this.query_enable_prop = function (lv) {
return {
blade: {
gj: parseInt(lv * 1.4 + 10),
str: parseInt(lv / 5),
mz: parseInt(lv * 0.9 + 10),
desc: "燃木真焰:你的攻击会附加你的防御力数值的伤害"
},
parry: {
zj: parseInt(lv * 1.3 + 10),
fy: parseInt(lv * 1.3 + 10),
max_hp: 1000 + lv * 5,
}
};
}
this.on_attack = function (me, target) {
me.send_combat("<red>$n被烈焰划过身上一道焦黑</red>", target);
return me.fy;
}
this.on_parry_over = function (me, target, par) {
let sh = me.query_temp("sk_ranmu");
if (sh) {
if (par.is_parry) sh = sh * 2;
target.send_combat("<HIR>$n的护体真气灼伤了$N的真元</HIR>", me);
target.damage2(sh, me);
me.end_attack(target);
}
}
this.pfm = {
hu:
{
name: "护体真焰",
distime: 30000,
// enable_skill: "parry",
mp: 20,
release_time: 0,
use: function (me, target, lv) {
me.send_room("<HIR>$N仰天怒吼全身登时腾起滔天烈焰。\n</HIR>", target);
var time = 8000 + lv * 5;
if (time > 200000) time = 200000;
let add_fy = lv * 2 + 500;
me.set_temp("sk_ranmu", add_fy, time);
me.add_status({
id: "weapon",
name: "真焰",
desc: "增加你的防御",
duration: time,
prop: {
fy: add_fy
}
});
},
query_desc: function (me, lv) {
var time = 8000 + lv * 5;
if (time > 200000) time = 200000;
let add_fy = (lv * 2 + 500);
return "真焰护体,增加你" + add_fy + "的防御,被敌人命中后对敌人造成" + add_fy + "的伤害。";
}
}, fen: {
name: "焚尽八荒",
distime: 20000,
enable_skill: "blade",
weapon_type: WEAPON_TYPE.BLADE,
mp: 20,
use: function (me, target, lv) {
lv = 50 + parseInt(lv / 20);
me.send_room("<HIy>$N双手持刀对天咆哮所施正是燃木刀法绝学「焚尽八荒」。霎时呼啸声大作但见一股澎湃无比的罡劲至$N刀间涌出云贯向$n而去</HIy>", target);
var count = 8;
for (var i = 0; i < count; i++) {
me.do_attack({
target: target,
gj: me.gj * lv / 100,
mz: me.mz,
attack_msg: "<hir>一道罡气燃烧着熊熊烈焰向$n呼啸而去</hir>"
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
lv = 50 + parseInt(lv / 20);
return "燃木刀法绝学「焚尽八荒」瞬间用罡气攻击敌方8次每次攻击造成" + lv + "%伤害";
}
}
};

View File

@@ -0,0 +1,58 @@
this.inherits(SKILL);
this.name = "少林身法";
this.id = "shaolinshenfa";
this.family = FAMILIES.SHAOLIN;
this.grade = 1;
this.dodge_actions = [
"$n一式「<HIG>一苇渡江</HIG>」,前后脚脚尖脚跟相靠,身体如行云流水般滑出丈余。",
"$n一式「<WHT>雨燕掠波</WHT>」,双臂前伸,全身贴地平飞,顿时闪过了$N的凌厉攻势。",
"$n一式「<CYN>移步换形</CYN>」,足不动,手不抬,一转眼间便绕到了$N的身后。",
"$n一式「<MAG>分身化影</MAG>」,一转身间,四面八方飘动着无数个$n的身影令$N手无足措。",
"$n一式「<HIY>孤骛落日</HIY>」,全身笔直,拔地而起,在半空中一转,已落到几丈远的地方",
"$n一式「<BLU>鸿雁双飞</BLU>」,两臂鹏举如翼,在剌剌风声中,从$N头顶横跃而过。",
"$n一式「<RED>苍龙出水</RED>」,双脚点地,全身化为一道白影,急速绕着$N打了几转。",
"$n一式「<HIR>稚凤归巢</HIR>」,身体如陀螺般急转,气流形成一个个漩涡,令$N陷身其间动弹不得。",
];
this.can_enables = ["dodge"];
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: lv + 30
}
};
}
this.learn_condition = {
max_mp: 800,
skill: {
dodge:50
}
};
this.pfm = {
lingbo:
{
name: "一苇渡江",
distime: 30000,
enable_skill: "dodge",
mp: 20,
use: function (me, target, lv) {
var gj = lv * 10+10000;
me.add_status({
id: "dodge",
name: "一苇渡江",
start_msg: "<hiy>$N足尖轻点地面施展一苇渡江凌空跃起身形顿时变得轻松自如。</hiy>",
desc: "少林身法之一苇渡江,增加你身法",
duration: gj,
prop: {
dex: parseInt(lv / 10 + 5)
}
});
},
query_desc: function (me, lv) {
var gj = lv * 10 + 10000;
var dex = parseInt(lv / 10 + 5);
return "少林身法之一苇渡江," + (gj / 1000) + "秒内增加你" + dex + "身法。";
}
}
};

View File

@@ -0,0 +1,135 @@
this.inherits(SKILL);
this.name = "易筋经";
this.id = "yijinjing";
this.grade = 4;
this.force_rad = 0.75;
this.family = FAMILIES.SHAOLIN;
this.desc = "少林寺的高级内功心法,为少林寺镇寺之宝";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.learn_condition = {
max_mp: 1000,
skill: {
force: 500
}
};
this.query_prop = function (lv) {
return {
diff_sh_per: 5 + parseInt(lv / 300),
};
}
this.query_enable_prop = function (lv) {
return {
force: {
max_hp: lv * 20,
fy: parseInt(lv * 2 + 5),
limit_mp: lv * 150,
desc: "唯一将你内力的75%转化为气血"
}
};
}
this.pfm = {
foguang:
{
name: "佛光守护",
distime: 30000,
enable_skill: "force",
mp: 20,
use_type: 2,
release_time: 0,
use: function (me, target, lv) {
me.send_room("<hiy>只听$N高呼佛号运起佛光普照霎那间全身竟犹如镀金一般发出灿灿金光。</hiy>");
var tm = me.team || [me];
for (var i = 0; i < tm.length; i++) {
if (tm[i].hp > 0 && tm[i].is_here(me)) {
tm[i].add_status({
id: "foguang",
name: "佛光普照",
desc: "易筋经之佛光普照增加你的气血,防御",
duration: lv + 10000,
prop: {
max_hp: lv * 10,
fy: lv
}
});
tm[i].do_recover(lv * 10);
}
}
},
query_desc: function (me, lv) {
return "召唤佛光守护,增加你和你队友的气血" + (lv * 10) + ",防御" + lv + "。";
}
},
roar:
{
name: "狮子吼",
distime: 30000,
enable_skill: "force",
mp: 20,
use_type: 2,
release_time: 1000,
use: function (me, target, lv) {
me.send_room("<hiy>$N深深地吸一囗气真力迸发发出一声惊天动地的巨吼。</hiy>");
if (!me.enemy) return false;
var list = [];
var time = lv * 10 + 2000;
if (time > 7000) time = 7000;
for (let x of me.enemy) {
if (x.hp > 0) {
list.push(x);
}
}
if (!list.length) return false;
for (var i = 0; i < list.length; i++) {
var x = list[i];
x.notify("你觉得眼前一阵金星乱冒,耳朵痛得像是要裂开一样。");
x.damage(me.max_mp / 10);
if (x.max_mp < me.max_mp) {
x.add_status({
id: "faint",
is_faint: true,
duration: time,
name: "昏迷", downside: true,
finish_msg: "<hiy>慢慢的$N又恢复了知觉...</hiy>\n",
start_msg: "<hir>$N只觉得眼前一黑接着什么都不知道了...</hir>\n"
});
}
me.end_attack(x);
}
},
query_desc: function (me, lv) {
var time = lv * 10 + 2000;
if (time > 7000) time = 7000;
return "深深地吸一囗气真力迸发发出一声惊天动地的巨吼对附近敌人造成你最大内力10%(" + (me.max_mp / 10) + ")的伤害,如果敌人最大内力小于你的内力将昏迷" + (time / 1000) + "秒。";
}
}, zhao:
{
name: "金刚罩",
distime: 40000,
enable_skill: "force",
mp: 20,
use_type: 2,
release_time: 0,
use: function (me, target, lv) {
var lv = 30 + parseInt(lv / 100);
me.send_room("<hiy>$N高呼佛号全身真气鼓动犹如金铸之钟坚不可摧。</hiy>");
me.add_status({
id: "force",
name: "金刚罩",
desc: "大幅减少你受到的伤害",
duration: 10000,
prop: {
diff_sh_per2: lv
}
});
},
query_desc: function (me, lv) {
var lv = 30 + parseInt(lv / 100);
return "减少你受到的伤害10秒内增加" + lv + "%伤害减免。";
}
}
};

View File

@@ -0,0 +1,70 @@
this.inherits(SKILL);
this.name = "一指禅";
this.id = "yizhichan";
this.grade = 3;
this.family = FAMILIES.SHAOLIN;
this.attack_actions = [
"$N双指并拢一式<HIY>「佛恩济世」</HIY>,和身而上,左右手一前一后戳向$n的胸腹间",
"$N左掌护胸一式<HIY>「佛光普照」</HIY>,右手中指前后划了个半弧,猛地一甩,疾点$n的$l",
"$N身形闪动一式<HIY>「佛门广渡」</HIY>,双手食指端部各射出一道青气,射向$n的全身要穴",
"$N盘膝跌坐一式<HIY>「佛法无边」</HIY>,左手握拳托肘,右手拇指直立,遥遥对着$n一捺"
];
this.desc = "少林寺七十二绝技之一指禅";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed"];
this.learn_condition = {
max_mp: 8000,
skill: {
unarmed: 300
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: parseInt(lv * 1.5) + 20,
str: parseInt(lv / 5) + 1,
mz: parseInt(lv * 0.8 + 3)
}
};
}
this.pfm = {
zhen:
{
name: "惊魔一指",
distime: 30000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
mp: 20,
use: function (me, target, lv) {
var time = (lv * 5 + 2000);
if (time > 10000) time = 10000;
var sh = me.do_attack({
target: target,
gj: me.gj,
mz: me.mz, no_weapon: true,
attack_msg: "<hiy>$N大喝一声中指按出一股锐利的杀气攻向$n气势恢宏之极</hiy>",
damage_msg: "<hir>只见$p躲闪不及被$P这一指正戳在胸前不由得连声惨叫胸口鲜血直流</hir>",
miss_msg: "<cyn>可是$p身法颇为灵活轻轻一退将这道剑气化解于无形。</cyn>"
});
if (sh ) {
target.add_status({
id: "faint",
is_faint: true,
duration: time,
name: "昏迷", downside: true,
finish_msg: "<hiy>慢慢的$N又恢复了知觉...</hiy>\n",
start_msg: "<hir>$N只觉得眼前一黑接着什么都不知道了...</hir>\n"
}, me);
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var time = (lv * 5 + 2000);
if (time > 10000) time = 10000;
return "一指禅之惊魔一指,运用无形剑气攻击敌人,命中后昏迷" + time/1000+"秒。";
}
}
};

View File

@@ -0,0 +1,81 @@
this.inherits(SKILL);
this.name = "穿心掌";
this.id = "chuanxinzhang";
this.grade = 2;
this.family = FAMILIES.SHASHOU;
this.attack_actions = [
"$N使出一招「破山刀」运掌如飞招招直打$n的$l",
"$N使出一招「碎石手」双掌急运内力带着凛冽的掌风直拍$n的$l",
"$N惨然一声长啸一招「摄魄掌」双掌猛然击下直扑$n的要脉",
"$N骨骼暴响双臂忽然暴长数尺一招「追魂掌」直直攻向$n的$l",
"$N施展出一招「撩阴掌」双掌缤纷拍出陡然间双掌已至$n跟前"
];
this.desc = "杀手楼的拳脚功夫,出招阴狠毒辣";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed", "parry"];
this.learn_condition = {
max_mp: 2000,
skill: {
unarmed: 100
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: parseInt(lv * 1.2) + 20,
bj_per: 1 + parseInt(lv / 300)
}, parry: {
zj: parseInt(lv * 1.2) + 20,
dex: parseInt(lv / 7) + 2
}
};
}
this.pfm = {
chuan:
{
name: "掌心雷",
distime: 30000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
mp: 20,
release_time: 0,
use: function (me, target, lv) {
var p = 100 + parseInt(lv / 100);
var t = 6000 + lv;
if (t > 10000) t = 10000;
var iscirt = false;
me.do_attack({
target: target,
gj: me.gj * p / 100,
attack_msg: "<hir>$N暗藏真气于掌心一招「掌心雷」闪烁着雷光直贯$n</hir>",
mz: me.mz,
cirt: function (t, part) {
iscirt = me.crit(t, part, me.bj);
return iscirt;
},
no_weapon: true
});
if (iscirt) {
target.add_status({
id: "faint",
is_faint: true,
duration: t,
no_weapon: true,
name: "昏迷", downside: true,
finish_msg: "<hiy>慢慢的$N又恢复了知觉...</hiy>\n",
start_msg: "<hir>$N只觉得眼前一黑接着什么都不知道了。</hir>\n"
}, me);
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var p = 100 + parseInt(lv / 100);
var t = 6 + parseInt(lv / 1000);
if (t > 10) t = 10;
return "对敌人造成" + p + "%攻击力的伤害,如果暴击则昏迷对方" + t + "秒";
}
}
};

View File

@@ -0,0 +1,53 @@
this.inherits(SKILL);
this.name = "飞刀";
this.id = "feidao";
this.grade = 1;
this.family = FAMILIES.SHASHOU;
this.desc = "杀手楼的入门暗器武功";
//<$1>$2</$1>
//<$1>$2</$1>
this.can_enables = ["throwing"];
this.learn_condition = {
max_mp: 200,
skill: {
throwing: 100
}
};
this.query_enable_prop = function (lv) {
return {
throwing: {
gj: parseInt(lv * 1.1) + 4
}
};
}
this.pfm = {
jiang:
{
name: "又见飞刀",
distime: 4500,
enable_skill: "throwing",
release_time: 1000,
mp: 20,
use: function (me, target, lv) {
var msg = "<hic>$N手中$T寒光一闪幻化出一道重影射向$n</hic>";
me.send_room(msg, target);
for (var i = 0; i < 2; i++) {
me.do_attack({
target: target,
attack_msg: "",
gj: me.gj,
mz: me.mz,
no_append: true,
is_throwing: true
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
return "使用连续两把飞刀攻击敌人";
}
}
};

View File

@@ -0,0 +1,111 @@
this.inherits(SKILL);
this.name = "漫天花雨";
this.id = "mantianhuayu";
this.grade = 4;
this.family = FAMILIES.SHASHOU;
this.attack_actions = [
"$N双手一晃一招「千变万化」手中的$w幻出万道金光如一条金龙般飞向$n的$l",
"$N右手一抖一道金光冒出正是一招「奇诡莫测」抢先飞向$n的$l",
"$N突然旋身$w在旋转中化作「银轮割风」边缘泛着锐光既封退路又取$l",
"$N掌心一翻$w悄然滑出一招「无声夺命」不见破空之声却已抵近$n$l",
"$N手腕轻抖$w骤然化作「飞星追影」一道冷光划破虚空直取$n$l要害",
"$N指尖一弹$w化作「流光穿云」破风之声忽强忽弱轨迹飘忽难测地缠向$n$l"
];
this.desc = "杀手楼的暗器武功,使用的时候如漫天星光而得名";
//<$1>$2</$1>
//<$1>$2</$1>
this.can_enables = ["throwing", "sword"];
this.learn_condition = {
max_mp: 200,
skill: {
throwing: 300
}
};
this.query_prop = function (lv) {
return {
bj_per: 5 + parseInt(lv / 300)
};
}
this.query_enable_prop = function (lv) {
return {
throwing: {
gj: parseInt(lv * 1.4) + 4,
mz: parseInt(lv * 1.4) + 4,
mz_per: parseInt(lv / 500) + 1
},
sword: {
gj: parseInt(lv * 1.4) + 4,
mz: parseInt(lv * 1.4) + 4,
bj_per: 8,
}
};
}
this.pfm = {
luo:
{
name: "落花",
distime: 18000,
// enable_skill: "throwing",
mp: 20,
use: function (me, target, lv, type) {
let is_throwing = type !== 'sword';
if (is_throwing)
me.send_room("<hiy>$N手中$T一抖幻出万点星光如朵朵落花般撒向$n</hiy>", target);
else
me.send_room("<hiy>$N手中$W一抖幻出万点星光如朵朵落花般撒向$n</hiy>", target);
var count = 1 + parseInt(me.bj / 5);
if (count > 10) count = 10;
for (var i = 0; i < count; i++) {
me.do_attack({
target: target,
attack_msg: "",
gj: me.gj,
mz: me.mz,
no_append: true,
is_throwing: is_throwing
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
return "漫天暗器攻击敌人每5%暴击增加一次攻击最多10次";
}
},
wu:
{
name: "定影",
distime: 30000,
enable_skill: "throwing",
mp: 20,
release_time: 0,
use: function (me, target, lv) {
var time = 5000 + parseInt(lv * 10 / 3);
if (time > 15000) time = 15000;
me.do_attack({
target: target,
gj: me.gj,
mz: me.mz,
attack_msg: "<hiy>$N手中青光冒出一瞬间$T已飞向$n化作点点星光笼罩$p周身大穴</hiy>"
})
var ds = 10 + parseInt(lv / 100);
target.add_status({
id: "rash",
name: "定影",
duration: time,
is_rash: true,
downside: true
}, me);
me.end_attack(target);
},
query_desc: function (me, lv) {
var time = 5 + parseInt(lv / 300);
if (time > 15) time = 15;
return "使用暗器攻击敌人,如果命中则使敌人定身" + time + "秒";
}
}
};

View File

@@ -0,0 +1,110 @@
this.inherits(SKILL);
this.name = "杀生决";
this.id = "shashengjue";
this.grade = 3;
this.force_rad = 0.55;
this.family = FAMILIES.SHASHOU;
this.desc = "杀手楼的高级内功";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.learn_condition = {
skill: {
force: 300
}
};
this.query_enable_prop = function (lv) {
return {
force: {
gj: lv * 1.5 + 2,
bj_per: parseInt(lv / 300) + 1,
limit_mp: lv * 105,
desc: "唯一将你内力的55%转化为气血"
}
};
}
this.pfm = {
power:
{
name: "斩杀",
distime: 30000,
enable_skill: "force",
mp: 20,
release_time: 0,
use: function (me, target, lv) {
var time = 10000 + lv * 5;
if (time > 20000) time = 20000;
var gj = 10 + parseInt(lv / 100);
me.send_room("<hir>$N默运杀生决全身黑气笼罩仅剩双眼一片血红有如杀神降世\n</hir>", target);
me.add_status({
id: "force",
name: "杀神",
desc: "你的攻击增加",
duration: time,
prop: {
gj_per: gj
}
});
},
query_desc: function (me, lv) {
var gj = 10 + parseInt(lv / 100);
var time = 10000 + lv * 5;
if (time > 20000) time = 20000;
return "全力战斗," + (time / 1000) + "秒内增加自己" + gj + "%攻击力";
}
}, tuoli: {
name: "隐杀",
distime: 45000,
enable_skill: "force",
mp: 0,
release_time: 0,
no_auto: true,
allow_busy: true,
use: function (me, target, lv) {
if (me.is_rash) return me.notify('你现在无法使用轻功身法。');
if (!me.environment.exits)
return me.notify('这里无法逃脱。');
var list = Object.keys(me.environment.exits);
// for (var dir in me.environment.exits) {
// list.push(dir);
// }
if (!list.length) return me.notify('这里无法逃脱。');
let func = YS_ROOMS[me.environment.path];
if (func && func(me, list) === false) return;
me.send_room("\n<blk>$N的身形一闪渐渐模糊不见了。<blk>\n");
me.end_fight();
me.do_command("go", list.random());
// if (!me.is_in("yz/leitai/leitai") && !me.is_in("yz/leitai/biwu")) {
// me.end_fight();
// }
},
query_desc: function (me, lv) {
var gj = 10 + parseInt(lv / 300);
var nl = 3000 + lv * 4;
if (nl > 15000) nl = 15000;
return "脱离战斗,迅速隐入其他房间";
}
}
};
const YS_ROOMS = {
"yz/leitai/leitai": function (me) {
me.send_room("\n<blk>$N的身形一闪渐渐模糊不见了。<blk>\n");
},
'wudao/ta': function (me, list) {
let lv = me.query_temp('wd_level', 0);
if (lv >= 89) {
list.length = 1;
list[0] = 'out';
}
}
};

View File

@@ -0,0 +1,31 @@
this.inherits(SKILL);
this.name = "杀手步法";
this.id = "shashoubufa";
this.grade = 1;
this.family = FAMILIES.SHASHOU;
this.dodge_actions = [
"只见$n一招「蟾飞九天」身体向上笔直地纵起丈余躲过了$N这一招",
"但是$n一个使出「蛙鸣震天」身形飘忽轻轻一纵早已避开",
"$n一招「蛙入稻田」身行随意转倏地往一旁挪开了三尺避过了这一招",
"可是$n一个「蟾蜍扑虫」侧身一让$N这一招扑了个空",
"却见$n「蟾翻白肚」足不点地往旁窜开数尺躲了开去",
"$n身形一招「金蟾归月」身形微晃有惊无险地避开了$N这一招"
];
this.desc = "杀手楼的入门轻功身法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["dodge"];
this.learn_condition = {
max_mp: 200,
skill: {
dodge: 50
}
};
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: parseInt(lv ) + 100
}
};
}

View File

@@ -0,0 +1,24 @@
this.inherits(SKILL);
this.name = "杀手心法";
this.id = "shashouxinfa";
this.grade = 1;
this.force_rad = 0.55;
this.desc = "杀手楼的入门心法";
this.family = FAMILIES.SHASHOU;
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["force"];
this.query_enable_prop = function (lv) {
return {
force: {
gj: 1 + lv,
limit_mp: lv * 10,
desc: "唯一将你内力的55%转化为气血"
}
};
}
this.learn_condition = {
skill: {
force: 50
}
};

View File

@@ -0,0 +1,59 @@
this.inherits(SKILL);
this.name = "踏雪寻梅";
this.id = "taxuexunmei";
this.grade = 3;
this.family = FAMILIES.SHASHOU;
this.dodge_actions = [
"$n一式「华发寻春喜见梅」身子掣忽一转$N只觉的眼前一花失去了目标。",
"$n一式「一株临路雪倍堆」双脚点地身子突然拔高了丈许缓缓飘落在$N身后。",
"$n一式「凤城南陌他年忆」身行一晃顿时无数条身影一下子出现在$N的面前。",
"$n一式「香杳难随驿使来」飘然向后一退躲开$N的凌厉攻势。"
];
this.desc = "踏雪寻梅是杀手楼一种特别厉害的上乘轻功,即使穿着铁鞋踩在雪上,也不会留下一点脚印。";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["dodge"];
this.learn_condition = {
max_mp: 1000,
skill: {
dodge: 200
}
};
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: parseInt(lv * 1.4) + 200,
mz: parseInt(lv * 1.4) + 200
}
};
}
this.pfm = {
power:
{
name: "无痕",
distime: 45000,
enable_skill: "dodge",
mp: 30,
release_time: 0,
no_auto: true,
use: function (me, target, lv) {
var gj = 3000 + lv*5;
if (gj > 10000) gj = 10000;
me.send_room("<hiw>$N身体急转化为一道白光虚幻不定的出现在$N的周围\n</hiw>", target);
me.add_status({
id: "dodge",
name: "无痕",
desc: "你无法被控制",
duration: gj,
ig_control: gj
});
},
query_desc: function (me, lv) {
var gj = 3 + parseInt(lv / 200);
if (gj > 10) gj = 10;
return gj+"秒内免疫控制";
}
}
};

View File

@@ -0,0 +1,94 @@
this.inherits(SKILL);
this.name = "伏魔杖";
this.id = "fumozhang";
this.grade = 5;
this.attack_actions = [
"$N使一招「<YEL>黄牛转角</YEL>」,手中$w自下而上沉猛无比地向$n的小腹挑去",
"$N快步跨出一招「<RED>野马追风</RED>」,左手平托$w右掌猛推杖端顶向$n的胸口",
"$N高举$w一招「<BLK>猛虎跳涧</BLK>」,全身跃起,手中$w搂头盖顶地向$n击去。",
"$N一招「<HIY>狮子摇头</HIY>」,双手持杖如橹,对准$n猛地一搅如同平地刮起一阵旋风",
"$N全身滚倒$w盘地横飞突出一招「<HIC>大蟒翻身</HIC>」,杖影把$n裹了起来",
"$N双手和十躬身一招「<GRN>胡僧托钵</GRN>」,$w自肘弯飞出拦腰向$n撞去",
"$N一招「<RED>慈</red><YEL>航</yel><MAG>普<BLU>渡</blu>」,$w如飞龙般自掌中跃出直向$n的胸口穿入"
];
this.desc = "净念禅宗的杖法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.learn_condition = {
max_mp: 300,
skill: {
staff: 900,
}
}
this.can_enables = ["staff"];
this.query_enable_prop = function (lv) {
return {
staff: {
gj: parseInt(lv * 1.8) + 10,
mz: parseInt(lv * 1.8) + 10,
str: parseInt(lv / 3) + 10,
con: parseInt(lv / 3) + 10,
desc: "当你命中敌人后会降低敌人战斗属性1%,可叠加"
}
};
}
this.on_attack_over = function (me, target, par) {
if (!par.is_dodge && !par.is_parry) {
var lv = me.query_skill("fumozhang", 0);
lv = 5 + parseInt(lv / 100);
target.add_status({
id: "fmz",
name: "伏魔",
desc: "减少战斗属性",
duration: 6000,
downside: true,
count: 1,
prop: {
gj_per: -1,
mz_per: -1,
ds_per: -1,
zj_per: -1,
fy_per: -1
},
override: 1,
max_count: lv
});
}
}
this.pfm = {
fumo:
{
name: "罗汉伏魔",
distime: 20000,
enable_skill: "staff",
weapon_type: WEAPON_TYPE.STAFF,
mp: 20,
use: function (me, target, lv) {
me.send_room("<hiy>$N大喝一声手中$W杖端化出无数个圆圈凝滞沉重劈头盖脸向$n砸去</hiy>\n", target);
var count = target.query_status("fmz");
if (!count) count = 1;
if (count > 15) count = 15;
if (me.do_attack({
target: target,
gj: me.gj + me.gj * 0.8 * count,
mz: me.mz
})) {
me.end_attack(target);
if (count > 5) {
}
}
target.remove_status("fmz", true);
},
query_desc: function (me, lv) {
return "罗汉伏魔每层BUFF增加80%伤害";
}
}
};

View File

@@ -0,0 +1,121 @@
this.inherits(SKILL);
this.name = "蛇岛奇功";
this.id = "shedaoqigong";
this.grade = 2
this.attack_actions = [
"$N使一招「<HIC>仙鹤梳翎</HIC>」手中$w一提插向$n的$l",
"$N使出「<HIY>灵蛇出洞</HIY>」,身形微弓,手中$w倏的向$n的$l戳去",
"$N身子微曲,左足反踢,乘势转身,使一招「<HIM>贵妃回眸</HIM>」,右手$w已戳向$n$l",
"$N使一式「<HIY>飞燕回翔</HIY>」,背对着$n,右足一勾,顺势在$w上一点,$w陡然向自己咽喉疾射.接着$N身子往下一缩,$w掠过其咽喉,急奔$n急射而来",
"$N忽的在地上一个筋斗,使一招「<HIW>小怜横陈</HIW>」,从$n胯下钻过,手中$w直击$n"
];
this.parry_actions = [
"$n大吼一声使一招「<HIR>子胥举鼎</HIR>」,反手擒拿$N极泉要穴,使$P这招落空",
"$n双腿一缩,似欲跪拜,一招「<HIB>鲁达拨柳</HIB>」,$P的劲力登时落空",
"$n突然一个倒翻筋斗,一招「<HIC>狄青降龙</HIC>」,双腿一分,跨在肩头,双掌直击$N将$P的力道尽行碰了回去"
];
this.desc = "神龙岛绝技,论威力不在化骨绵掌之下,可做为杖法,招架使用";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.learn_condition = {
max_mp: 300,
skill: {
force: 200,
shenlongxinfa: 200
}
}
this.can_enables = ["staff", "parry"];
this.query_enable_prop = function (lv) {
return {
staff: {
gj: lv + 10,
str: Math.round(lv / 6)
},
parry: {
zj: lv + 10,
mz: lv + 10
}
};
}
this.slots = [
{
prop: 'sdqg_hxf',
value: (lv) => 10,
count: 2,
format: (val) => {
return '吼仙法每层附加10%攻击力的伤害';
},
},
{
prop: 'sdqg_count',
value: (lv) => 1,
count: 3,
format: (val) => {
return '唱仙法可叠加层数+1';
},
},
];
this.pfm = {
chang:
{
name: "唱仙法",
distime: 3000,
enable_skill: "parry",
mp: 10,
use: function (me, target, lv) {
var add = parseInt(lv / 10) + 1;
var time = 5000 + lv * 10;
if (time > 20000) time = 20000;
me.send_room("<hir>只听$N口中念念有词顷刻之间内力大涨</hir>");
me.add_status({
id: "parry",
name: "唱仙法",
duration: time,
prop: {
gj: add,
fy: add,
mz: add,
ds: add,
zj: add
},
override: 1,
max_count: 10 + me.query_prop('sdqg_count')
});
},
query_desc: function (me, lv) {
var add = parseInt(lv / 10) + 1;
var time = 5000 + lv * 10;
return "蛇岛奇功之唱仙法" + (time / 1000) + "秒增加你的攻击,防御,命中,躲闪,招架" + add + "可叠加最多10层";
}
},
hou:
{
name: "吼仙法",
distime: 20000,
enable_skill: "parry",
mp: 10,
use: function (me, target, lv) {
var count = me.query_status("parry");
if (!count) return me.notify_fail("<hic>你深深地吸一囗气,想吼一嗓子,结果又憋了回去。</hic>");
let gj = me.gj * me.query_prop('sdqg_hxf') / 100;
me.do_attack({
target: target,
gj: lv * count + gj,
attack_msg: "<hiy>$N深深地吸一囗气忽然仰天长啸高声狂叫不死神龙唯我不败</hiy>",
damage_msg: "<hir>$n只觉脑中一阵剧痛金星乱冒犹如有万条金龙在眼前舞动。</hir>",
dodge_msg: "<cyn>$n哈哈一笑飘身跃开让$N这一吼全然落空。</cyn>",
no_parry: true
});
me.remove_status("parry", true);
me.end_attack(target);
},
query_desc: function (me, lv) {
return "蛇岛奇功之吼仙法,将你的唱仙法积累的力量一次性释放出去,每层造成" + lv + "伤害,无法招架";
}
}
};

View File

@@ -0,0 +1,80 @@
this.inherits(SKILL);
this.name = "无常杖";
this.id = "wuchangzhang";
this.grade = 2
this.attack_actions = [
"$N微一躬身一招<HIG>「庸人自扰」</HIG>$w带着刺耳的吱吱声擦地扫向$n的脚踝",
"$N一招<HIM>「想入非非」</HIM>,右手托住杖端,左掌居中一击,令其凭惯性倒向$n的肩头",
"$N一招<HIR>「六神不安」</HIR>,举起$w乒乒乓乓地满地乱敲让$n左闪右避狼狈不堪",
"$N一招<HIY>「面无人色」</HIY>,举起$w呆呆地盯了一会突然猛地一杖打向$n的$l",
"$N将$w顶住自己的胸膛一端指向$n一招<HIB>「心惊肉跳」</HIB>,大声叫喊着冲向$n",
"$N一招<HIC>「行尸走肉」</HIC>,全身僵直,蹦跳着持杖前行,冷不防举杖拦腰向$n劈去",
"$N面带戚色一招<HIM>「饮恨吞声」</HIM>,趁$n说话间一杖向$n张大的嘴巴捅了过去",
"$N一招<HIW>「力不从心」</HIW>,假意将$w摔落地上待$n行来一脚勾起击向$n的$l",
"$N伏地装死一招<HIG>「穷途没路」</HIG>,一个翻滚,身下$w往横里打出挥向$n的裆部",
"$N一招<HIR>「呆若木鸡」</HIR>,身不动,脚不移,$w却直飞半空不偏不倚地砸向$n的$l",
"$N高举$w一招<HIG>「人鬼殊途」</HIG>,身形如鬼魅般飘出,对准$n的天灵盖一杖打下",
"$N一招<HIB>「我入地狱」</HIB>,单腿独立,$w舞成千百根相似根根砸向$n全身各处要害"
];
this.desc = "少林寺七十二绝技之无常杖";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.learn_condition = {
max_mp: 3000,
skill: {
staff: 200
}
}
this.can_enables = ["staff", "parry"];
this.query_enable_prop = function (lv) {
return {
staff: {
gj: lv + 10,
str: Math.round(lv / 6)
},
parry: {
zj: lv + 5,
fy: lv + 10
}
};
}
this.slots = [
{
prop: 'wcz_gcd',
value: (lv) => 2000,
format: (val) => {
return '无常五化绝招释放时间减少2秒';
},
}
];
this.pfm = {
chang:
{
name: "无常五化",
distime: 6000,
enable_skill: "staff",
weapon_type: WEAPON_TYPE.STAFF,
releasetime_key: 'wcz_gcd',
mp: 20,
release_time: 10000,
use: function (me, target, lv) {
me.send_room("<hiy>$N将手中的$W一荡化作无数杖影扫向$n</hiy>", target);
var count = 5;
for (var i = 0; i < count; i++) {
me.do_attack({
target: target,
gj: me.gj,
mz: me.mz,
attack_before: "紧跟着"
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
return "无常杖之无常五化瞬间出招5次收招较慢。";
}
}
};

View File

@@ -0,0 +1,97 @@
this.inherits(SKILL);
this.name = "神龙剑";
this.id = "shenlongjian";
this.grade = 1;
this.attack_actions = [
"$N使一式「<BLK>潮泛银海</BLK>」,手中$w疾挽漫天寒光隐夹风雷之声闪电般狂涌向$n的$l",
"$N错步上前使出「<RED>银雨飞花</RED>」,手中$w登时剑芒暴射宛如漫天瑞雪飞洒向$n的$l",
"$N手中$w一抖一招「<GRN>花影滨飞</GRN>」,$w犹如狂风扫落叶般急攻向$n的$l",
"$N手中$w锵啷啷长吟一声一式「<BLU>神龙寻食</BLU>」,$w头上脚下洒攻而下攻势之疾无以伦比向$n的$l",
"$N一式「<MAG>西风倒卷</MAG>」,手中$w将剑自下拖上端的无比毒辣使$n难断虚实无可躲避",
"$N手中$w,一式「<BLU>天罗地网</BLU>」,仿佛一面无形的黑网向$n的$l斜斜击出",
"$N一式「<HIR>日月失色</HIR>」,$w银光万道如江河倒泻剑芒绵绵无尽向$n的胸口递去",
"$N一式「<YEL>金针渡劫</YEL>」,$w形神合一把全部真气贯注剑身之上快如天光乍闪向$n刺去"
];
this.desc = "神龙教的剑法";
//<$1>$2</$1>
//<$1>$2</$1>
this.can_enables = ["sword"];
this.learn_condition = {
max_mp: 100,
skill: {
sword: 100
}
};
this.query_enable_prop = function (lv) {
return {
sword: {
gj: parseInt(lv + 10)
}
};
}
this.slots = [
{
prop: 'slj_busy',
value: (lv) => 1000,
format: (val) => {
return '神龙天降忙乱时间增加1秒';
},
},
{
prop: 'slj_hit',
value: (lv) => 1,
format: (val) => {
return '神龙天降攻击次数+1';
},
},
];
this.pfm = {
jiang:
{
name: "神龙天降",
distime: 10000,
enable_skill: "sword",
mp: 20,
use: function (me, target, lv) {
me.send_room("<CYN>$N后跃一步手捏剑决口中念念有词突然大喝一声「神龙天降」</CYN>", target);
var sh = me.do_attack({
target: target,
gj: me.gj,
mz: me.mz,
attack_msg: "<hiy>$N的剑法顿时变得诡异十分幻出朵朵剑花犹如数条金龙迅速向$n飞去</hiy>",
damage_msg: "<hir>$n试图避开剑招可全身僵硬不能动弹疑惑中已经身中数剑精神愈加恍惚起来</hir>",
miss_msg: "<CYN>$n顿感身体被制情知不妙立刻摄守神元终于突破对方控制。</CYN>",
parry_msg: "<CYN>$n顿感身体被制情知不妙立刻摄守神元终于突破对方控制。</CYN>"
});
let count = me.query_prop('slj_hit');
for (let i = 0; i < count; i++) {
me.do_attack({
target: target,
gj: me.gj,
mz: me.mz,
attack_before: "<hiw>紧跟着</hiw>",
});
}
me.end_attack(target);
if (sh > 0) {
target.add_status({
id: "busy",
name: "忙乱",
duration: 3000 + lv + me.query_prop('slj_busy'),
is_busy: true,
downside: true
});
}
},
query_desc: function (me, lv) {
var t = 3000 + lv;
return "诡异的剑法迷惑敌人,命中后对敌人造成伤害,并且使敌人忙乱" + t / 1000 + "秒。";
}
}
};

View File

@@ -0,0 +1,104 @@
this.inherits(SKILL);
this.name = "泰山剑法";
this.id = "taishanjianfa";
this.grade = 3;
this.attack_actions = [
"$N手中$w一晃向右滑出三步一招<HIB>「朗月无云」</HIB>,转过身来,身子微矮,$w向$n斜斜刺去",
"$N手中$w圈转一招<HIC>「峻岭横空」</HIC>去势奇疾,无数剑光刺向$n的$l",
"$N突然腰一弯挺$w向$n刺去这一剑力劲剑疾正是一招<HIC>「来鹤清泉」</HIC>",
"$N手中$w刷的一声反手砍向$n剑势圆润如意<HIY>「石关回马」</HIY>",
"$N展开剑势身随剑走左边一拐右边一弯越转越急。猛地$w剑光暴长一招<HIM>「泰山十八盘」</HIM>往$n$l刺去",
"$N手臂暴长手中$w豁豁展开刷刷两剑指向$n正是<GRN>「快活三里」</GRN>"
];
this.desc = "泰山派的剑法";
//<$1>$2</$1>
//<$1>$2</$1>
this.can_enables = ["sword"];
this.learn_condition = {
max_mp: 2000,
skill: {
sword: 200
}
};
this.query_enable_prop = function (lv) {
return {
sword: {
gj: parseInt(lv * 1.5) + 10,
mz: parseInt(lv * 1.3) + 10,
fy: parseInt(lv * 1.5) + 10,
}
};
}
this.slots = [
{
prop: "con",
value: lv => 1 + parseInt(lv / 10),
format: (val) => {
return "根骨:+" + val;
}
},
{
prop: "tsjf_st",
value: lv => 1,
count: 1,
format: (val) => {
return "七星落长空任意命中后将使对方昏迷7秒";
}
}
];
this.pfm = {
jiang:
{
name: "七星落长空",
distime: 22000,
enable_skill: "sword",
mp: 20,
use: function (me, target, lv) {
me.send_room("<hir>$N一招「七星落长空」挺$w向$n当胸刺去剑光闪烁$w发出嗡嗡之声罩住了$n胸口“膻中”、“神藏”、“灵墟”、“神封”、“步廊”、“幽门”、“通谷”七处大穴</hir>", target);
var count = 7;
var per = 50 + parseInt(lv / 50);
var p2 = 3 + parseInt(lv / 500);
var mz = 0;
for (var i = 0; i < count; i++) {
if (me.do_attack({
target: target,
gj: me.gj * per / 100,
mz: me.mz
})) mz++;
}
me.end_attack(target);
if (mz) {
if (me.query_prop('tsjf_st')) {
target.add_status({
id: "faint",
is_faint: true,
duration: 7000,
name: "昏迷", downside: true,
finish_msg: "<hiy>慢慢的$N又恢复了知觉...</hiy>\n",
start_msg: "<hir>$N只觉得眼前一黑接着什么都不知道了。</hir>\n"
}, me);
} else {
var name = "零一二三四五六七"[mz] + "落";
target.add_status({
id: "sword",
name: name,
desc: "降低你的躲闪和防御",
duration: 10000,
prop: {
ds_per: -mz * p2,
fy_per: -mz * p2
}, downside: true
}, me);
}
}
},
query_desc: function (me, lv) {
var per = 50 + parseInt(lv / 50);
var p2 = 3 + parseInt(lv / 500);
return "瞬间七剑攻击敌方要穴,每剑造成" + per + "%伤害,每命中一剑减少敌人" + p2 + "%的躲闪和防御。";
}
}
};

View File

@@ -0,0 +1,93 @@
this.inherits(SKILL);
this.name = "唐诗剑法";
this.id = "tangshijianfa";
this.grade = 1;
this.attack_actions = [
"$N手中$w自左上方斜劈向下跟着向后挺剑刺出一招<HIC>「孤鸿海上来,池潢不敢顾」</HIC>,手中$w更不回头一剑剑点向$n的$l。",
"$N退了两步$w大开大阖一声吆喝横削三剑一招<HIB>「哥翁喊上来,是横不敢过」</HIB>直刺$n的$l",
"突然间嗤嗤嗤三声,$N向$n连刺三剑一式<HIG>「俯听闻惊风,连山若波涛」</HIG>,剑刃在$n的$l边堪堪掠过$n只觉$l凉飕飕地大吃一惊急忙倒退。",
"$N手中$w递出一个虚招指向$n的左肩反手却使出一式<HIY>「落日照大旗,马鸣风萧萧」</HIY>,由下而上$w疾刺$n的$l",
"$N一招<HIW>「举头望明月,低头思故乡」</HIW>,身子前倾,忽地回剑斜削,手中$w平平地向$n的$l挥去",
"$N上身往左侧一拧一招<BLU>「长安一片月,万户捣衣声」</BLU>,右手$w反手向$n的$l挥去",
"$N左一招<MAG>「万国仰宗周」</MAG>,右一招<HIM>「衣冠拜冕旒」</HIM>,剑锋平指,一气呵成横扫$n的$l"
];
this.desc = "一招一诗句,据传共三十六首唐诗三十六路剑法套路,目前只留残缺版本";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["sword"];
this.on_learn = function (me) {
if (me.max_mp < 100)
return me.notify_fail("你的内力不够。");
if (me.query_skill("sword", 1) < 30)
return me.notify_fail("你的基础不够,无法领会更高深的技巧。");
return true;
}
this.query_enable_prop = function (lv) {
return {
sword: {
ds: lv * 1 + 5
}
};
}
this.learn_condition = {
max_mp: 100,
skill: {
sword: 100
}
};
this.slots = [
{
prop: 'tsjf_cz',
value: (lv) => 2000,
format: (val) => {
return '躺尸出招时间减少2秒';
}
},
{
prop: 'tsjf_cd',
value: (lv) => 2000,
format: (val) => {
return '躺尸躺地时间减少2秒';
}
}
];
this.pfm = {
wu:
{
name: "躺尸",
distime: 20000,
enable_skill: "sword",
mp: 20,
release_time: 8000,
releasetime_key: 'tsjf_cz',
no_auto: true,
use: function (me, target, lv) {
me.send_room("\n$N大叫一声倒在地上挣扎了几下<HIR>死了</HIR>\n");
var exp = (me.exp || 0);
exp = exp * lv / 1000;
if (target.level > 5 || exp < (target.exp || 0)) {
return me.notify("<cyn>可惜" + target.name + "看破了你的企图。</cyn>\n");
}
if (me.environment && me.environment.path) {
me.end_fight();
}
let time = 8000 - me.query_prop('tsjf_cd');
if (time < 2000) time = 2000;
me.clear_status();
me.add_status({
id: "busy",
is_busy: true,
name: "装死",
desc: "你处于忙乱状态,无法攻击,招架",
duration: time
}, me);
},
query_desc: function (me, lv) {
return "躺下装死,敌人将放弃对你的进攻";
}
}
}

View File

@@ -0,0 +1,104 @@
this.inherits(SKILL);
this.name = "云龙剑";
this.id = "yunlongjian";
this.grade = 2;
this.attack_actions = [
"$N使一式<GRN>「悠悠顺自然」</GRN>,手中$w嗡嗡微振幻成一条白光刺向$n的$l",
"$N错步上前使出<HIC>「来去若梦行」</HIC>,剑意若有若无,$w淡淡地向$n的$l挥去",
"$N一式<HIB>「志当存高远」</HIB>,纵身飘开数尺,运发剑气,手中$w遥摇指向$n的$l",
"$N纵身轻轻跃起一式<HIW>「表里俱澄澈」</HIW>,剑光如水,一泻千里,洒向$n全身",
"$N手中$w中宫直进一式<BLU>「随风潜入夜」</BLU>,无声无息地对准$n的$l刺出一剑",
"$N手中$w一沉一式<HIG>「润物细无声」</HIG>,无声无息地滑向$n的$l",
"$N手中$w斜指苍天剑芒吞吐一式<HIY>「云龙听梵音」</HIY>,对准$n的$l斜斜击出",
"$N左指凌空虚点右手$w逼出丈许雪亮剑芒一式<RED>「万里一点红」</RED>刺向$n的咽喉",
"$N合掌跌坐一式<MAG>「我心化云龙」</MAG>$w自怀中跃出如疾电般射向$n的胸口",
"$N呼的一声拔地而起一式<HIY>「日月与同辉」</HIY>$w幻出万道光影将$n团团围住",
"$N随风轻轻飘落一式<GRN>「清风知我意」</GRN>,手中$w平指缓缓拍向$n脸颊"
];
this.desc = "天地会看家本领,其特殊攻击法威力奇大,堪称武林一绝。学习需要云龙心法支持。";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["sword"];
//this.on_learn = function (me) {
// if (me.max_mp < 100)
// return me.notify_fail("你的内力不够。");
// if (me.query_skill("sword", 1) < 60)
// return me.notify_fail("你的基础不够,无法领会更高深的技巧。");
// if (me.query_skill("yunlongxinfa", 1) < 60)
// return me.notify_fail("你的云龙心法等级不够,无法学习云龙剑。");
// return true;
//}
this.learn_condition = {
max_mp: 1000,
skill: {
sword: 200
}
};
this.query_enable_prop = function (lv) {
return {
sword: {
gj: parseInt(lv * 1.1 + 10),
mz: lv
}
};
}
this.slots = [
{
prop: "ylj_sh",
value: lv => 30 + lv / 100,
count: 2,
format: (val) => {
return "云龙三现的伤害增加" + val + "%";
}
}, {
prop: "ylj_mz",
value: lv => 30 + lv / 100,
count: 2,
format: (val) => {
return "云龙三现增加命中" + val + "%";
}
}
];
this.pfm = {
wu:
{
name: "云龙三现",
distime: 10000,
enable_skill: "sword",
mp: 20,
check: function (me, lv) {
if (lv < 30) return false;
return true;
},
use: function (me, target, lv) {
var per = 50 + parseInt(lv / 10);
var mz = 100 + parseInt(per / 3);
if (mz > 150) mz = 150;
per += me.query_prop('ylj_sh');
mz += me.query_prop('ylj_mz');
me.send_room("<hir>$N长笑一声随手一抖$W竟嗡嗡作响宛若龙吟一般。\n突然间剑光一闪旁人只听“哧哧”几声轻响 $N已在一瞬间向$n刺了三剑快的异乎寻常</hir>", target);
for (var i = 0; i < 3; i++) {
me.do_attack({
target: target,
gj: me.gj * per / 100,
mz: me.mz * mz / 100,
attack_before: "紧跟着"
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var per = 50 + parseInt(lv / 10);
var mz = parseInt(per / 3);
if (mz > 150) mz = 150;
per += me.query_prop('ylj_sh');
mz += me.query_prop('ylj_mz');
return "快速出剑攻击敌人出其不意,配合云龙心法如龙吟般声响减少敌人躲闪几率,每次攻击增加命中" + mz + "%,对敌人造成自身攻击力" + per + "%的伤害。";
}
}
};

View File

@@ -0,0 +1,83 @@
this.inherits(SKILL);
this.name = "八卦拳";
this.id = "baguaquan";
this.grade = 2;
this.attack_actions = [
"$N双掌一错使出「乾字决」双拳一上一下对准$n的$l连拍三招",
"$N绕着$n一转满场游走拳出如风连绵不绝地击向$n正是八卦拳中的「坤字决」",
"$N使出一招「巽字决」左拳虚击$n的前胸一错身右拳迅速横扫$n的太阳穴",
"$N使一招「坎字决」左拳击出不等招式使老右拳已从左拳之底穿出对准$n的$l「呼」地一拳",
"$N使出一招「震字决」身形一低左手护顶右手已迅雷不及掩耳的一拳击向$n的裆部",
"$N左拳突然张开拳开变掌直击化为横扫一招「兑字决」便往$n的$l招呼过去",
"$N一招「离字决」顿时幻出重重拳影气势如虹铺天盖地袭向$n全身",
"$N微微一笑手捏「艮字决」飞身跃起半空中一脚踢向$n面门却是个虚招。说时迟那时快只见$N一个倒翻双拳已到了$n的$l"
];
this.desc = "以阴阳八卦为基础创造出来的一式拳法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed"];
this.learn_condition = {
max_mp: 200,
skill: {
unarmed: 300
}
};
this.slots = [
{
prop: 'bgq_mz',
value: (lv) => 10,
format: (val) => {
return '震字诀命中增加10%';
},
},
{
prop: 'bgq_nl',
value: (lv) => 5,
format: (val) => {
return '震字诀附加的内力增加5%';
},
}
];
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: parseInt(lv * 1.2) + 20,
mz: parseInt(lv * 1.2) + 20
}
};
}
this.pfm = {
zhen:
{
name: "震字诀",
distime: 20000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
mp: 20,
use: function (me, target, lv) {
var t = 10 + parseInt(lv / 100);
if (t > 20) t = 20;
let mz = me.mz + me.mz * me.query_prop("bgq_mz") / 100;
let add_mp = me.max_mp * t / 100;
let is_nl = me.query_prop("bgq_nl");
if (is_nl > 0) add_mp += me.max_mp * is_nl / 100;
me.do_attack({
target: target,
gj: 1,
attack_msg: "<hiy>只见$N跨立马步双拳蓄力大喝一声向$n的胸前击去。</hiy>",
damage_msg: "<hir>只听砰的一声,$N已经重重打中$p胸口跟着喀喇喇几声肋骨好像断了几根</hir>",
mz: mz,
no_weapon: true,
power_gj: add_mp
});
me.end_attack(target);
},
query_desc: function (me, lv) {
var t = 10 + parseInt(lv / 100);
if (t > 20) t = 20;
return "对敌人造成你" + t + "%最大内力的伤害。";
}
}
};

View File

@@ -0,0 +1,135 @@
this.inherits(SKILL);
this.name = "太祖长拳";
this.id = "taizuchangquan";
this.grade = 1;
this.is_public = true;
this.family = FAMILIES.GAIBANG;
this.attack_actions = [
"只见$N身形一矮大喝声中一个『冲天炮』对准$n的鼻子呼地砸了过去",
"$N左手一分右拳运气一招『拔草寻蛇』便往$n的$l招呼过去",
"$N右拳在$n面门一晃左掌使了个『叶底偷桃』往$n的$l狠命一抓",
"$N步履一沉左拳拉开右拳带风一招『黑虎掏心』势不可挡地击向$n$l",
"只见$N拉开架式一招『双风贯耳』使得虎虎有风。底下却飞起一脚踢向$n$l",
"$N打得兴起大喝一声看我这招『龙虎相交』 \n左手往$n身后一抄右拳便往$n面门砸了过去",
"$N拉开后弓步双掌使了个『如封似闭』往$n的$l一推",
"只见$N运足气力一连三拳击向$n$l力道一拳高过一拳 \n这一招的名字还相当高雅叫作『阳关三叠』",
"$N往后一纵就势使了个『老树盘根』右腿扫向$n的$l",
"$N一个转身左掌护胸右掌反手使了个『独劈华山』往$n当头一劈",
"$N一招『双抄封天』下半身右脚撇步上前双手化掌向前双抄上击$n的$l",
"$N身体向前冲出一式『冲步双掌』双手先抱回腰际後再向前以双撑掌直推而出",
"$N全身原步右转右手向右刁出左手顺势护肩『回首双刁』抓向$n的$l",
"$N提起左腿伸直右腿成独立步站定『魁星踢斗』左腿顺势向前直蹬而出",
"$N一招『进步冲捶』上右步至左脚旁双手以双冲拳向$n直击而出",
"$N出一式『弓步冲打』左脚向左跨出身体尽量压低拉回左手右拳向前直击而出",
"$N一式『拍案齐掌』全身微向下坐产生後拉之势收左手右手化掌向前直压而出",
"$N保持原弓箭步站定不动『燕子抄水』右掌原地翻掌左手以反掌由右掌上方直穿而出",
"$N出『扭步断肘』右步跟前成玉环步蹲定顺势收回左手右手向前以平肘直扣而出",
"$N步法先右後左连续上步一式『双采冲捶』右拳向$n的$l直击而出",
"$N拉回右手左手化拳向前直击而出同时『左冲右踢』右腿向前平踢而出",
"$N右脚向前落步成马步坐定『马式挑打』在左手收回腰际右拳向右直击而出",
"$N一式『英雄独立』右拳原地翻掌左掌化刁手斜刁身后全式一气呵成瞬间完成",
"$N一招『猛虎伏案』右腿向前直铲而出成伏虎步坐定双手以反刁手刁定$n",
"$N一招『魁星独立』伸直右腿将重心坐於左脚上随著拔起之势右掌向$n直挑而出",
"$N原势不动一招『窜步偷心』快速窜前提起右腿向前快踢同时左掌向前平推而出",
"$N向前一招『双龙探爪』双手变掌为爪先右後左连续向$n的$l击出",
"$N向前一窜『猛虎出洞』将左刁手向後回勾与右刁手同置身后再刁撇而出"
];
this.desc = "相传为宋太祖赵匡胤所创,以攻击迅猛直来直去为其特征,在江湖中颇有声誉";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed"];
this.learn_condition = {
max_mp: 200,
skill: {
unarmed: 100
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: lv * 1 + 20
}
};
}
this.slots = [
{
prop: "tzcq_sh",
value: lv => lv / 100,
format: (val) => {
return "太祖八式的伤害增加" + val + "%";
}
}, {
prop: "tzcq_rt",
value: lv => 25,
format: (val) => {
return "太祖八式的释放时间减少" + val + "%";
}
}
];
this.pfm = {
zhen:
{
name: "太祖八式",
distime: 16000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
mp: 20,
release_time: 8000,
use: function (me, target, lv) {
me.send_room("<hiy>只见$N跨立马步稳定下盘双拳有章有法的依次击向$n全身各处。</hiy>", target);
target = null;
var count = 0;
var txt = ["一", "二", "三", "四", "五", "六", "七", "八"];
let gj = me.gj + me.gj * me.query_prop('tzcq_sh') / 100;
var time = this.query_releasetime(me, lv);
time -= time * me.query_prop('tzcq_rt') / 100;
if (time > 80) {
me.is_rash = time;
me.call_interval(
function () {
if (!me.is_fighting()) return false;
target = me.query_enemy();
me.do_attack({
target: target,
gj: gj,
mz: me.mz,
attack_before: "<hiy>第" + txt[count] + "式</hiy>\n",
no_weapon: true
});
count++;
if (!me.end_attack(target)) {
return false;
}
},
time / 8,
8,
function () {
me.is_rash = 0;
}
);
} else {
target = me.query_enemy();
for (let i = 0; i < 8; i++) {
me.do_attack({
target: target,
gj: gj,
mz: me.mz,
attack_before: "<hiy>第" + txt[i] + "式</hiy>\n",
no_weapon: true
});
}
me.end_attack(target);
}
},
query_desc: function (me, lv) {
var t = this.query_releasetime(me, lv);
return "跨立马步,稳定下盘,放弃防御专注进攻," + Math.floor(t / 100) / 10 + "秒内快速出拳8次攻击期间你无法躲闪";
}
}
};

View File

@@ -0,0 +1,91 @@
this.inherits(SKILL);
this.name = "密宗大手印";
this.id = "dashouyin";
this.grade = 1;
this.attack_actions = [
"$N使出一招<HIC>「莲花合掌印」</HIC>,双掌合十,直直撞向$n的前胸",
"$N使出一招<HIW>「合掌观音印」</HIW>,飞身跃起,双手如勾,抓向$n的$l",
"$N使出一招<HIY>「准提佛母印」</HIY>,运力于指,直取$n的$l",
"$N使出一招<HIR>「红阎婆罗印」</HIR>,怒吼一声,一掌当头拍向$n的$l",
"$N使出一招<HIG>「药师佛根本印」</HIG>,猛冲向前,掌如游龙般攻向$n",
"$N使出一招<HIM>「威德金刚印」</HIM>,伏身疾进,双掌自下扫向$n的$l",
"$N使出一招<HIB>「上乐金刚印」</HIB>,飞身横跃,双掌前后击出,抓向$n的咽喉",
"$N使出一招<HIW>「六臂智慧印」</HIW>,顿时劲气弥漫,天空中出现无数掌影打向$n的$l"
];
this.desc = "密宗大手印,需要密宗心法支持。";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed"];
this.learn_condition = {
max_mp: 500,
skill: {
unarmed: 50
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: lv * 1 + 20
}
};
}
this.slots = [
{
prop: 'dsy_sh1',
value: (lv) => 1,
count: 2,
format: (val) => {
return '金刚印每10级密宗大手印附加1%攻击力伤害';
},
},
{
prop: 'dsy_sh2',
value: (lv) => 1,
count: 2,
format: (val) => {
return '金刚印每10级密宗心法附加1%攻击力伤害';
},
},
];
this.pfm = {
zhen:
{
name: "金刚印",
distime: 16000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
mp: 20,
use: function (me, target, lv) {
var lv2 = me.query_skill("mizongxinfa", 0);
var gj = lv + lv2;
let per = me.query_prop('dsy_sh1');
if (per > 0) {
if (per > 2) per = 2;
gj = gj + me.gj * lv * per / 1000;
}
per = me.query_prop('dsy_sh2');
if (per > 0) {
if (per > 2) per = 2;
gj = gj + me.gj * lv2 * per / 1000;
}
me.do_attack({
target: target,
gj: me.gj + gj,
mz: me.mz,
attack_msg: "<HIY>面容庄重,单手携着劲风朝$n猛然拍出正是密宗绝学「金刚印」</hiy>",
damage_msg: "<HIR>结果$p招架不及被$P这一下打得七窍生烟吐血连连。</hir>",
miss_msg: "<cyn>可是$p不慌不忙一闪身躲开了$P的金刚印。</cyn>",
parry_msg: "<cyn>可是$p不慌不忙巧妙的架开了$P的金刚印。</cyn>",
no_weapon: true
});
me.end_attack(target);
},
query_desc: function (me, lv) {
var gj = lv + me.query_skill("mizongxinfa", 0);
return "默运密宗心法,双手结印,对敌人造成自身攻击力附加" + gj + "(密宗大手印等级+密宗心法等级)的伤害。";
}
}
};

View File

@@ -0,0 +1,60 @@
this.inherits(SKILL);
this.name = "伏虎拳";
this.id = "fuhuquan";
this.grade = 1;
this.is_public=true;
this.family = FAMILIES.SHAOLIN;
this.attack_actions = [
"$N并举双拳使出一招「灌顶」当头砸向$n的$l",
"$N使出一招「解苦」身形一低左手护顶右手一拳击向$n的裆部",
"$N使出一招「颦眉」左拳虚击$n的前胸一错身右拳横扫$n的太阳穴 ",
"$N神形怪异使一招「嗔恚」双拳上下击向$n的$l",
"$N使出一招「静寂」双拳交错缓缓击出劲气直指$n的$l ",
"$N微微一笑使出一式「妙音」双拳前后击出直取$n的左胸 ",
"$N使出一招「明心」全身疾转双拳横扫$n的$l",
"$N飞身一跃使出一招「制胜」一拳猛击$n咽喉"
];
this.desc = "少林七十二绝技之一,拳法威猛,非臂力高强不可练习";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed"];
this.learn_condition = {
max_mp: 500,
skill: {
unarmed: 50
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: lv * 1 + 10,
max_hp: lv + 100
}
};
}
this.pfm = {
zhen:
{
name: "罗汉伏虎",
distime: 10000,
enable_skill: "unarmed",
mp: 20,
use: function (me, target, lv) {
var t = parseInt(me.str * 5 + lv / 30);
me.do_attack({
target: target,
gj: me.gj * t / 100,
attack_msg: "<hiw>$N步成弓形大喝一声施出绝招「<hig>伏虎式</hig>」,一拳猛地击向$n。</hiw>",
mz: me.mz,
no_weapon: true
});
me.end_attack(target);
},
query_desc: function (me, lv) {
var t = parseInt(me.str * 5 + lv / 20);
return "使出全身力气迅猛一击造成"+t+"%攻击力的伤害,先天臂力越高,造成的伤害越大,";
}
}
};

View File

@@ -0,0 +1,71 @@
this.inherits(SKILL);
this.name = "猴拳";
this.id = "houquan";
this.grade = 1;
this.attack_actions = [
"$N单腿微曲忽的向前扑出一式「仙猴摘桃」二爪直出抓向$n的双眼",
"$N左手虚晃一式「灵猴攀枝」右手直击反扣$n的肩井大穴",
"$N忽然缩成一团使一式「八方幻影」双掌无形无定一爪抓向$n的胸口",
"$N猛吸一口气一弯腰使一式「水中揽月」双爪疾扣向$n的小腹",
"$N猛的向上高高跃起一式「落地摘星」居高临下一爪罩向$n的头骨"
];
this.desc = "拳术中象形拳的一种,因模仿猴子的各种动作而得名。";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed"];
this.learn_condition = {
max_mp: 500,
skill: {
unarmed: 50
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: lv * 1 + 5
}
};
}
this.slots = [
{
prop: 'hq_sh',
value: (lv) => 10 + Math.floor(lv / 50),
format: (val) => {
return '寸劲附加攻击力增加' + val + "%";
},
},
{
prop: 'hq_rt',
value: (lv) => 1000,
format: (val) => {
return '寸劲的释放时间减少1秒';
},
}
];
this.pfm = {
chan:
{
name: "寸劲",
distime: 7000,
enable_skill: "unarmed",
releasetime_key: "hq_rt",
mp: 20,
use: function (me, target, lv) {
var gj = me.gj + lv + 100;
gj = gj + me.query_prop('hq_sh') * me.gj / 100;
me.do_attack({
target: target,
gj: gj,
mz: me.mz,
attck_msg: "<hiy>$N默运内力积蓄力量企图在攻击的瞬间以内力震伤$n</hiy>"
});
me.end_attack(target);
},
query_desc: function (me, lv) {
var gj = lv + 100;
return "在近距离攻击即将完成的瞬间,突然爆发,造成基本攻击附加" + gj + "的伤害。";
}
}
};

View File

@@ -0,0 +1,112 @@
this.inherits(SKILL);
this.name = "化骨绵掌";
this.id = "huagumianzhang";
this.grade = 2;
this.attack_actions = [
"身形微晃,一招<HIB>「长恨深入骨」</HIB>,十指如戟,插向$n的双肩锁骨",
"$N出手如风十指微微抖动一招<HIB>「素手裂红裳」</HIB>抓向$n的前胸",
"$N双手忽隐忽现一招<HIB>「长风吹落尘」</HIB>,鬼魅般地抓向$n的肩头",
"$N左手当胸画弧右手疾出一招<HIB>「明月映流沙」</HIB>,猛地抓向$n的额头",
"$N使一招<HIB>「森然动四方」</HIB>,激起漫天的劲风,撞向$n",
"$N面无表情双臂忽左忽右地疾挥使出<HIB>「黯黯侵骨寒」</HIB>,十指忽伸忽缩,迅猛无比地袭向$n全身各处大穴",
"$N使出<HIB>「黄沙飘惊雨」</HIB>,蓦然游身而上,绕着$n疾转数圈$n正眼花缭乱间$N已悄然停在$n身后右手划出一道光圈接着右手冲出光圈猛抓$n的后背",
"$N突然双手平举$n一呆正在猜测间便见$N嗖的一下将双手收回胸前接着一招<HIB>「白骨无限寒」</HIB>,五指如钩,直抓向$n的腰间"
];
this.desc = "蛇岛神龙教绝技,以掌为主,运转舒展,动作连绵不断,劲力阴毒无比";
this.can_enables = ["unarmed"];
this.learn_condition = {
max_mp: 1000,
skill: {
unarmed: 100
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: lv + 5,
desc: "暴击后使敌人中毒每3秒损失" + (lv + 10) + "气血"
}
};
}
this.on_attack_over = function (me, target, par) {
if (!par.is_dodge && !par.is_parry && par.iscirt) {
me.send_room("<hib>一股阴寒的掌力顺着$N的手掌侵入$n$p不由得打了个冷颤。</hib>", target);
var lv = me.query_skill("huagumianzhang", 0) + 10;
lv += me.gj * me.query_prop('hgmz_ds') / 100;
var count = 4 + me.query_prop('hgmz_ds2');
target.add_status({
id: "miandu",
name: "绵毒",
desc: "你被化骨绵掌击中,劲气侵入体内,每三秒减少气血" + lv,
duration: 3000,
duration_count: count,
on_interval: function (p) {
if (p.hp > 0) {
p.send_room("<blu>$N的化骨绵掌发作了脸色发青。</blu>");
p.damage(lv, me);
if (p.hp < 0) p.hp = 1;
}
},
downside: true,
override: 2
});
}
}
this.slots = [
{
prop: 'hgmz_ds',
value: (lv) => 30,
format: (val) => {
return '使敌人中毒的伤害附加30%攻击力的伤害';
},
},
{
prop: 'hgmz_ds2',
value: (lv) => 1,
format: (val) => {
return '暴击后使敌人中毒的持续次数+1';
},
},
];
this.pfm = {
hua:
{
name: "化骨",
distime: 7000,
enable_skill: "unarmed",
mp: 20,
use: function (me, target, lv) {
var sh = me.do_attack({
attack_msg: "<mag>$N掌出如风轻轻拍向$n的肩头。</mag>",
target: target,
gj: me.gj,
no_append: true,
damage_msg: "<hir>结果只听扑的一声,$p被$P一掌拍中只觉得全身暖洋洋的感到有点轻飘无力。</hir>"
});
if (sh > 0) {
var str = 10 + Math.round(lv / 5);
target.add_status({
id: "huagu",
name: "化骨",
desc: "你被化骨绵掌击中了",
prop: {
str: -str
},
duration: 10000 + lv * 10,
downside: true,
override: 1
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var gj = 10 + Math.round(lv / 5);
var t = 10000 + lv * 10;
return "使用化骨绵掌的阴柔掌力,使敌人骨骼其软如绵,浑身无力,在" + (t / 1000) + "秒内减少" + gj + "点臂力。";
}
}
};

View File

@@ -0,0 +1,67 @@
this.inherits(SKILL);
this.name = "大力金刚拳";
this.id = "jingangquan";
this.grade = 2;
this.family = FAMILIES.SHAOLIN;
this.attack_actions = [
"$N盘膝而坐二手合十一式<HIC>「莲花座」</HIC>,双拳蓄势而发,击向$n的$l",
"$N一式<HIR>「烈火锥」</HIR>,双掌轮流下击,拳势如焰,吡啪爆响",
"$N腾空飞起一式<HIG>「八方雨」</HIG>,双手双腿齐出,令$n无可躲藏",
"$N双掌虚含掌缘下沉一式<HIM>「掌心雷」</HIM>,缓缓向$n推出",
"$N一臂前伸一臂后指一式<HIB>「五指山」</HIB>,攻向$n的身前身后",
"$N一式<HIW>「观音渡」</HIW>,两手十指虚点$n的全身三十六道要穴",
"$N两目内视双手内笼一式<HIY>「天龙唱」</HIY>,四面八方响起震人心魄的龙吟",
"$N似笑非笑双拳无形无定一式「如来笑」骤然击向$n的前胸"
];
this.desc = "少林寺七十二绝技之大力金刚拳";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed","parry"];
this.learn_condition = {
max_mp: 1000,
skill: {
unarmed: 140
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: lv * 1 + 20,
str:parseInt(lv/8)+1
},
parry: {
zj: parseInt(lv * 1.2) + 20,
fy: lv + 4
}
};
}
this.pfm = {
zhen:
{
name: "怒目金刚",
distime: 30000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
mp: 20,
use: function (me, target, lv) {
var gj = lv * 10 + 10000;
me.add_status({
id: "unarmed",
name: "金刚",
start_msg: "<hiy>$N大喝一声全身肌肉鼓起犹如怒目金刚臂力陡然增加</hiy>",
desc: "大力金刚拳之怒目金刚,增加你的臂力",
duration: gj,
prop: {
str: parseInt(lv / 10 + 5)
}
});
},
query_desc: function (me, lv) {
var gj = (lv * 10 + 10000)/1000;
var dex = parseInt(lv / 10 + 5);
return "大力金刚拳之怒目金刚,在"+gj+"秒内增加你"+dex+"臂力。";
}
}
};

View File

@@ -0,0 +1,94 @@
this.inherits(SKILL);
this.name = "金蛇游身掌";
this.id = "jinshezhang";
this.grade = 3;
this.attack_actions = [
"$N双掌一错一招「千蛇出洞」幻出漫天掌影拢向$n的$l",
"$N暴喝一声双掌连环推出一招「大沼龙蛇」强劲的掌风直扑$n的$l",
"$N双掌纷飞一招「双蛇抢珠」直取$n的$l",
"$N提气缠身游走一招「游走式」森森掌风无孔不入般地击向$n的$l",
"$N盘身错步双掌平推凝神聚气一招「盘身式」拍向$n的$l",
"$N左掌立于胸前右掌推出一招「金蛇吐衅」击向$n$l",
"$N使出「金蛇翻身咬」身形凌空飞起从空中当头向$n的$l出掌攻击",
"$N使出一招「杯弓蛇影」左掌化虚为实击向$n的$l",
"$N左掌画了个圈圈右掌推出一招「金蛇缠丝手」击向$n$l",
"$N使出「灵蛇游八方」身形散作八处同时向$n的$l出掌攻击",
"$N使出金蛇游身掌法「金蛇探头」如鬼魅般欺至$n身前一掌拍向$n的$l"
];
this.desc = "金蛇郎君所创的一门掌法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed"];
this.learn_condition = {
max_mp: 10000,
skill: {
unarmed: 400
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: parseInt(lv * 1.3) + 20,
mz: parseInt(lv * 1.3) + 20,
dex: parseInt(lv / 6)
}
};
}
this.slots = [
{
prop: 'jsys_ds',
value: (lv) => 1,
count: 1,
format: (val) => {
return '金龙升天命中后会解除对方的轻功增益';
}
},
{
prop: 'jsys_sh',
value: (lv) => 5 + Math.floor(lv / 10),
format: (val) => {
return '金龙升天伤害增加' + val + "%";
}
},
];
this.pfm = {
qian:
{
name: "金龙升天",
distime: 26000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
mp: 20,
use: function (me, target, lv) {
var per = 100 + parseInt(lv / 100) + me.query_prop('jsys_sh');
var gj = me.gj * per / 100;
me.send_room("<hiy>$N内气上提全身拔起一招「金龙升天」双掌凌空朝$n拍下\n</hiy>", target);
if (me.do_attack({
target: target,
gj: gj,
mz: me.mz,
damage_msg: "<hir>$n全身都被笼罩在掌力之下避无可避一掌被拍了个正着只觉四肢无力动弹不得</hir>",
no_weapon: true
})) {
if (me.query_prop('jsys_ds'))
target.remove_status('dodge');
target.add_status({
id: "rash",
name: "定身",
desc: "你无法躲闪",
duration: 8000,
is_rash: true,
downside: true
}, me);
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var per = 100 + parseInt(lv / 100);
return "对敌人造成你攻击力" + per + "%的伤害命中后使敌人在8秒内无法闪避";
}
}
};

View File

@@ -0,0 +1,88 @@
this.inherits(SKILL);
this.name = "流云掌";
this.id = "liuyunzhang";
this.grade = 2;
this.attack_actions = [
"$N使一招「天马行空」右掌一翻向$n的$l拍去",
"$N使一招「探手截流」右手斜出劈向$n的$l",
"$N双手带风一式「风吹云散」掌力浑厚击向$n的$l",
"$N双手微抬左右齐出一招「云深雾锁」已将$n$l笼罩",
"$N双掌翻腾掌风凌厉一式「云雾缭绕」飘然不定击向$n$l",
"$N双掌拍出一式「顺流逆流」掌法一快一慢向$n的$l打去",
"$N快步向前身法陡快一招「行云流水」掌风已到$n$l",
"$N双掌下垂似是无力但又猛然加快似攻非攻一式「流水无情」使出双掌已到$n$l"
];
this.desc = "流云掌法的绝招,乃是以快速的身法及掌法连出虚招将对手困住";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed"];
this.learn_condition = {
max_mp: 500,
skill: {
unarmed: 50
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: parseInt(lv * 1.2) + 5,
gjsd: 200,
mz: parseInt(lv * 1.3) + 5
}
};
}
this.slots = [
{
prop: 'lyz_sh',
value: (lv) => 10,
count: 2,
format: (val) => {
return '排山倒海附加的伤害增加10%';
}
},
{
prop: 'lyz_gs',
value: (lv) => 10,
format: (val) => {
return '排云附加的攻速提高10%';
}
},
];
this.pfm = {
chan:
{
name: "排山倒海",
distime: 18000,
enable_skill: "unarmed",
mp: 20,
use: function (me, target, lv) {
var gj = 200 + parseInt(lv / 10) + me.query_prop('lyz_sh');
if (me.do_attack({
target: target,
gj: me.gj * gj / 100,
mz: me.mz,
no_weapon: true,
attck_msg: "<hiy>$N运转真气将内力注于掌风之中双掌猛然拍向$n气势宏大犹如排山倒海。</hiy>"
})) {
me.add_status({
id: "unarmed",
name: "排云",
desc: "增加你的攻速",
duration: 8000 + lv * 2,
prop: {
gjsd_per: 25 + me.query_prop('lyz_gs')
}
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var gj = 200 + parseInt(lv / 10);
return "将体内雄浑的内力运于掌风,攻向敌人,对敌人造成" + gj
+ "%的伤害命中后提高自己的攻击速度25%。";
}
}
};

View File

@@ -0,0 +1,150 @@
this.inherits(SKILL);
this.name = "千蛛万毒手";
this.id = "qianzhuwandushou";
this.grade = 3;
this.attack_actions = [
"$N身形一晃而至一招「小鬼勾魂」双掌带着一缕腥风拍向$n的前心",
"$N身形化做一缕轻烟绕着$n急转一招「天网恢恢」双掌幻出无数掌影罩向$n",
"$N大喝一声一招「恶鬼推门」单掌如巨斧开山带着一股腥风猛劈向$n的面门",
"$N一声冷笑一招「灵蛇九转」身形一闪而至一掌轻轻拍出手臂宛若无骨掌到中途竟连变九变如鬼魅般印向$n的$l",
"$N侧身向前一招「地府阴风」双掌连环拍出一缕缕彻骨的寒气从掌心透出将$n周围的空气都凝结了",
"$N厉叫一声身形忽的蜷缩如球飞身撞向$n一招「黄蜂吐刺」单掌如剑直刺$n的心窝",
"$N一个急旋飞身纵起半空中一式「毒龙摆尾」反手击向$n的$l",
"$N大喝一声运起五毒神功一招「毒火焚身」刹那间全身毛发尽绿一对碧绿的双爪闪电般的朝$n的$l抓去"
];
this.desc = "五毒教的千蛛万毒手";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed", "parry"];
this.learn_condition = {
max_mp: 8000,
skill: {
unarmed: 300,
wudushengong: 300,
}
};
this.query_prop = function (lv) {
return {
per: (-parseInt(lv / 300) - 1)
};
}
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: parseInt(lv * 1.5 + 20),
mz: lv,
str: parseInt(lv / 8),
}, parry: {
zj: parseInt(lv * 1.5 + 20),
fy: lv,
}
};
}
this.slots = [
{
prop: 'qzwds_cc',
value: (lv, grade) => grade,
format: (val) => {
return '千蛛万毒毒发次数增加' + val + "次数";
}
},
{
prop: 'qzwds_sh',
value: (lv) => 100 + Math.floor(lv / 10),
format: (val) => {
return '万蛊噬天在招架成功后使敌人受到的毒伤增加' + val + "%";
}
},
];
this.on_parry_over = function (me, target, par) {
if (me.query_temp("wangu")) {
var lv = me.query_skill("wudushengong", 0) + me.query_skill("qianzhuwandushou", 0);
var gj = 200 + parseInt(lv * (lv / 1000 + 1));
if (par.is_parry) {
let val = me.query_prop('qzwds_sh');
if (val > 0) {
gj = gj * val / 100;
}
}
target.send_combat("<red>毒气顺着$W侵入$N体内$P感到全身一阵发麻。</red>\n");
target.damage2(gj, me);
me.end_attack(target);
}
}
this.on_disenable = function (me, type) {
if (type === "parry") {
me.remove_status("wangu", true);
}
}
this.pfm = {
qian:
{
name: "千蛛万毒",
distime: 36000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
mp: 20,
use: function (me, target, lv) {
if (me.do_attack({
target: target,
gj: me.gj,
attack_msg: "<HIr>$N一声狞笑飞身纵起凌空一指向$n的眉心点去。</HIr>",
damage_msg: "<hir>只见一缕黑气从$N的指尖透出只一闪就没入$n的眉心</hir>",
miss_msg: "<hig>可是$n早有准备一个懒驴打滚堪堪躲过了这一招。</hig>",
parry_msg: "<hig>可是$n早有准备一个懒驴打滚堪堪躲过了这一招。</hig>"
})) {
var gj = parseInt(me.gj * (lv / 300) / 3);
target.add_status({
id: "unarmed",
name: "千蛛万毒",
desc: "你中了千蛛万毒手,每三秒减少" + gj + "气血",
duration: 3000,
duration_count: 4 + me.query_prop('qzwds_cc'),
on_interval: function (player, count) {
if (player.hp > 0) {
player.damage2(gj, me);
player.send_room("<hir>$N的千蛛万毒手发作了全身一阵发麻。</hir>");
if (player.fight_type)
me.end_attack(player);
else if (player.hp <= 0)
player.hp = 1;
}
},
downside: true
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var gj = parseInt(me.gj * (lv / 300));
return "将全身毒力集中在一点刺向敌人命中后使敌人在12秒内持续受到" + gj + "点伤害。";
}
}, wan: {
name: "万蛊噬天",
distime: 60000,
enable_skill: "parry",
mp: 80,
use: function (me, target, lv) {
var msg = "<red>$N仰天一声长啸强催内劲全身竟浮现出隐隐碧绿之色。喝道“万蛊噬天”。毒气弥漫瞬间笼罩$P全身</red>\n";
me.send_room(msg);
var time = 10000 + lv * 10;
me.set_temp("wangu", 1, time);
me.add_status({
id: "wangu",
name: "万蛊噬天",
duration: time
});
},
query_desc: function (me, lv) {
var gj = lv + me.query_skill('wudushengong', 0);
gj = 200 + parseInt(gj * (gj / 1000 + 1));
var time = 10000 + lv * 10;
return "毒气弥漫,笼罩全身," + (time / 1000) + "秒内在被敌人命中时候使敌人受到" + gj + "点伤害。";
}
}
};

View File

@@ -0,0 +1,118 @@
this.inherits(SKILL);
this.name = "擒龙手";
this.id = "qinlong";
this.attack_actions = [
"$N五指成爪真气凝聚指尖一招「龙爪探渊」直取$n的$l",
"$N身形一闪左爪虚晃右爪「擒龙拿珠」猛扣$n的双目",
"$N爪风呼啸一式「锁龙缠腕」缠向$n的手腕势要扣住脉门",
"$N脚下踏动方位双爪如影随形「游龙戏爪」分袭$n双肩",
"$N猛然欺近爪尖泛着寒光「猛龙探爪」直插$n的胸口",
"$N爪势陡然加快一招「惊龙回首」反撩$n的后心",
"$N双臂交错爪影层层叠叠「群龙乱舞」罩向$n全身",
"$N深吸一口气单爪蓄力后猛地弹出「飞龙出洞」击向$n的$l",
"$N爪势陡沉一式「龙爪捞月」反扣$n的脚踝 ",
"$N身形跃起双爪自上而下「降龙攫顶」抓向$n的头颅 ",
"$N爪风带着破空之声「怒龙裂石」猛劈$n的l",
"$N手腕翻转爪尖转向内侧「灵龙绕指」缠向$n的臂膀",
"$N突然变招爪势由刚转柔「缠龙锁喉」扣向$n的脖颈",
"$N双爪交替出击一招「双龙夺宝」分取$n的左右$l",
"$N爪力暗藏螺旋劲「绞龙碎骨」抓向$n的关节 ",
"$N虚踏一步爪势如电「捷龙追影」直追$n的$l",
"$N收爪蓄力猛地爆发「擒龙归位」锁向$n的要害 "
];
this.desc = "曾经的少林绝技,在前朝覆灭后就随之消失了";
this.grade = 2;
this.can_enables = ["unarmed"];
this.learn_condition = {
max_mp: 10000,
skill: {
unarmed: 500
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
mz: parseInt(lv * 1.5) + 20,
dex: parseInt(lv / 8) + 3
}
};
}
this.slots = [
{
prop: 'qlz_sh',
value: (lv) => 100,
format: (val) => {
return '锁龙伤害增加100%';
},
},
{
prop: 'qlz_cd',
value: (lv) => Math.min(50, lv / 200),
format: (val) => {
return '锁龙绝招冷却时间减少' + val + '%';
},
},
{
prop: 'qlz_hm',
value: (lv) => 1,
grade: 4,
format: (val) => {
return '锁龙触发后将使对方昏迷';
},
},
];
this.pfm = {
suo:
{
name: "锁龙",
distime: 32000,
enable_skill: "unarmed",
weapon_type: WEAPON_TYPE.UNARMED,
distime_per_key: 'qlz_cd',
mp: 30,
use: function (me, target, lv) {
var time = 8000;
let gj = me.gj * (100 + lv / 10 + me.query_prop('qlz_sh')) / 100;
me.do_attack({
target: target,
attack_msg: "<hic>$N双手如铁钳扣住$n的肩骨真气顺势侵入$p经脉</hic>",
gj: gj,
mz: me.mz,
no_weapon: true
});
me.end_attack(target);
let dex1 = me.dex ?? 20;
let dex2 = target.dex ?? 20;
let is_add = dex1 + dex2 * me.query_prop('dex') >
dex2 + dex2 * target.query_prop('dex');
if (is_add) {
if (me.query_prop('qlz_hm')) {
target.add_status({
id: "faint",
is_faint: true,
duration: time,
name: "昏迷", downside: true,
finish_msg: "<hiy>慢慢的$N又恢复了知觉...</hiy>\n",
start_msg: "<hir>$N只觉得眼前一黑接着什么都不知道了。</hir>\n"
}, me);
}
else {
target.add_status({
id: "busy",
name: "忙乱",
duration: time,
downside: true,
is_busy: true
}, me);
}
}
},
query_desc: function (me, lv) {
let sh = 100 + lv / 10;
return "对敌人造成" + sh + "%攻击力的伤害如果身法出色则忙乱对方8秒";
}
}
};

View File

@@ -0,0 +1,78 @@
this.inherits(SKILL);
this.name = "天长掌法";
this.id = "tianchangzhang";
this.grade = 3;
this.attack_actions = [
"$N使一招<GRN>「青山隐隐」</GRN>,双手划了个半圈,按向$n的$l",
"$N使一招<MAG>「云霞出海」</MAG>,左手轻轻一挥,劈向$n的$l",
"$N右手掌心向外由右向左使一招<CYN>「星河鹭起」</CYN>,向$n的$l打去",
"$N使一招<HIM>「彩舟云淡」</HIM>,分击$n的胸口和$l",
"$N使一招<HIB>「月照幽林」</HIB>,左右掌同时击出,在空中突然左右掌方向互变",
"$N左手不住晃动右掌一招<HIW>「白日参辰」</HIW>,向$n的$l打去",
"$N左手变掌为啄右掌立掌如刀一招<HIY>「鹤舞白沙」</HIY>,劈向$n的$l",
"$N左脚退后半步右掌使一招<HIC>「水天一色」</HIC>,横挥向$n",
"$N一招<CYN>「月华流照」</CYN>,左掌先发而后至,右掌后发而先至",
"$N双掌缩入袖中双袖飞起扫向$n的$l却是一招<HIR>「嫦娥奔月」</HIR>,仪态潇洒",
];
this.desc = "恒山派绝学掌法";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed"];
this.learn_condition = {
max_mp: 10000,
skill: {
unarmed: 450
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: parseInt(lv * 1.2) + 20,
fy: parseInt(lv * 1.3) + 20,
max_hp: lv * 10
}
};
}
this.slots = [
{
prop: 'str',
value: (lv) => 1 + Math.floor(lv / 10),
format: (val) => {
return '臂力:+' + val;
}
},
{
prop: 'tcz_sh',
value: (lv) => 1 + Math.floor(lv / 20),
format: (val) => {
return '天长叠掌附加的伤害增加' + val + "%";
}
},
];
this.pfm = {
chan:
{
name: "天长叠掌",
distime: 20000,
enable_skill: "unarmed",
mp: 20,
use: function (me, target, lv) {
var per = 100 + parseInt(lv / 5) + me.query_prop('tcz_sh');
var per2 = 100 + parseInt(lv / 50);
me.do_attack({
target: target,
gj: me.gj * per / 100,
mz: me.mz * per2 / 100,
attack_msg: "<hic>$N施展天长叠掌左右双掌忽前忽后掌影重重向$n拍去</hic>",
no_weapon: true
});
me.end_attack(target);
},
query_desc: function (me, lv) {
var per = 100 + parseInt(lv / 5);
return "攻击敌人造成" + per + "%的伤害,等级越高命中越高";
}
}
};

View File

@@ -0,0 +1,81 @@
this.inherits(SKILL);
this.name = "鹰爪功";
this.id = "yingzhuagong";
this.grade = 2;
this.attack_actions = [
"$N全身拔地而起半空中一个筋斗一式「苍鹰袭兔」迅猛地抓向$n的$l",
"$N单腿直立双臂平伸一式「雄鹰展翅」双爪一前一后拢向$n的$l",
"$N一式「拔翅横飞」全身向斜里平飞右腿一绷双爪搭向$n的肩头",
"$N双爪交错上举使一式「迎风振翼」一拔身分别袭向$n左右腋空门",
"$N全身滚动上前一式「飞龙献爪」右爪突出鬼魅般抓向$n的胸口",
"$N伏地滑行一式「拨云瞻日」上手袭向膻中大穴下手反抓$n的裆部",
"$N左右手掌爪互逆一式「搏击长空」无数道劲气破空而出迅疾无比地击向$n",
"$N腾空高飞三丈一式「鹰扬万里」天空中顿时显出一个巨灵爪影缓缓罩向$n"
];
this.desc = "明教的拳脚功夫";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["unarmed", "parry"];
this.learn_condition = {
max_mp: 1000,
skill: {
unarmed: 100
}
};
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: lv * 1 + 10,
mz: lv + 100
},
parry: {
zj: lv + 10,
max_hp: lv * 8 + 100
}
};
}
this.slots = [
{
prop: 'yzg_sh',
value: (lv) => 10 + Math.floor(lv / 50),
format: (val) => {
return '赤血爪附加的伤害增加' + val + '%';
},
},
{
prop: 'yzg_mz',
value: (lv) => 10 + Math.floor(lv / 50),
format: (val) => {
return '赤血爪附加的命中增加' + val + '%';
},
},
];
this.pfm = {
zhen:
{
name: "赤血爪",
distime: 10000,
enable_skill: "unarmed",
mp: 20,
use: function (me, target, lv) {
var t = 100 + parseInt(lv / 20) + me.query_prop('yzg_sh')
me.do_attack({
target: target,
gj: me.gj * t / 100,
attack_msg: "<hiy>$N运转真气双手忽成爪行施出绝招「<HIR>赤血爪</HIR>」,迅猛无比地抓向$n<hiy>",
mz: me.mz * (200 + me.query_prop('yzg_mz')) / 100,
damage_msg: "<HIR>但见$N双爪划过$n已闪避不及胸口被$N抓出十条血痕。</hir>",
no_weapon: true
});
me.end_attack(target);
},
query_desc: function (me, lv) {
var t = 100 + parseInt(lv / 20);
return "使出全身力气迅猛一击造成" + t + "%攻击力的伤害命中增加100%";
}
}
};

View File

@@ -0,0 +1,94 @@
this.inherits(SKILL);
this.name = "秋风拂尘";
this.id = "qiufengfuchen";
this.grade = 1;
this.attack_actions = [
"$N端坐不动一招<HIC>「秋风拂叶」</HIC>,手中$w带着一股劲风击向$n的脸颊",
"$N单臂一挥一招<HIW>「玉带围腰」</HIW>,手中$w直绕向$n的身后",
"$N身形一转一招<HIB>「流云断川」</HIB>,手中$w如矫龙般腾空一卷猛地向$n劈头打下",
"$N力贯尘梢一招<HIG>「春风化雨」</HIG>,手中$w舞出满天幻影排山倒海般扫向$n全身",
"$N忽的向前一跃一招<HIY>「野马分鬃」</HIY>,手中$w分击$n左右",
"$N慢步上前一招<GRN>「竹影扫阶」</GRN>,手中$w缓缓罩向$n前胸"
];
this.desc = "古墓派李莫愁扬名天下的武功。";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["whip"];
//this.on_learn = function (me) {
// if (me.max_mp < 100)
// return me.notify_fail("你的内力不够。");
// if (me.query_skill("sword", 1) < 60)
// return me.notify_fail("你的基础不够,无法领会更高深的技巧。");
// if (me.query_skill("yunlongxinfa", 1) < 60)
// return me.notify_fail("你的云龙心法等级不够,无法学习云龙剑。");
// return true;
//}
this.learn_condition = {
max_mp: 100,
skill: {
whip: 100
}
};
this.slots = [
{
prop: 'qffc_ml',
value: (lv) => 1000,
format: (val) => {
return '缠字诀忙乱时间增加1秒';
},
},
{
prop: 'qffc_mz',
value: (lv) => 20,
format: (val) => {
return '缠字诀命中判定下限增加20%';
},
},
];
this.query_enable_prop = function (lv) {
return {
whip: {
gj: parseInt(lv * 1 + 10),
mz: lv
}
};
}
this.pfm = {
chan:
{
name: "缠字诀",
distime: 30000,
enable_skill: "whip",
mp: 20,
use: function (me, target, lv) {
var time = Math.round(lv * 100 / 5);
if (time < 2000) time == 2000;
else if (time > 10000) time = 10000;
time += me.query_prop('qffc_ml');
var msg = "<hic>$N使出秋风尘法「缠」字诀拂尘连挥企图把$n的全身缠住。</hic>";
let mz = me.mz + me.mz * me.query_prop('qffc_mz') / 100;
if (me.random(mz) > target.ds / 2) {
msg += "结果$p被$P攻了个措手不及!\n";
target.add_status({
id: "busy",
is_busy: true,
duration: time,
name: "忙乱",
downside: true
}, me);
} else {
msg += "可是$p看破了$P的企图并没有上当。\n";
}
me.send_room(msg, target);
},
query_desc: function (me, lv) {
var time = Math.round(lv / 50);
if (time < 2) time == 2;
else if (time > 10) time = 10;
return "如秋风扫叶般,快速挥动佛尘牵制敌人,使敌人" + time + "秒内处于忙乱状态。";
}
}
};

View File

@@ -0,0 +1,96 @@
this.inherits(SKILL);
this.name = "云龙鞭法";
this.id = "yunlongbian";
this.grade = 1;
this.attack_actions = [
"$N单手一扬一招「开天辟地」手中$w抖得笔直对准$n当头罩下",
"$N身形一转一招「龙腾四海」手中$w如矫龙般腾空一卷猛地击向$n太阳穴",
"$N唰的一抖长鞭一招「矫龙出水」手中$w抖得笔直刺向$n双眼",
"$N力贯鞭梢一招「破云见日」手中$w舞出满天鞭影排山倒海般扫向$n全身",
"$N运气于腕一招「开山裂石」手中$w象一根铜棍般直击向$n",
"$N单臂一挥一招「玉带围腰」手中$w直击向$n腰肋",
"$N高高跃起一招「大漠孤烟」手中$w笔直向$n当头罩下"
];
this.desc = "云龙门";
//"(\w+)"(.+?)"NOR"
//<$1>$2</$1>
this.can_enables = ["whip"];
//this.on_learn = function (me) {
// if (me.max_mp < 100)
// return me.notify_fail("你的内力不够。");
// if (me.query_skill("sword", 1) < 60)
// return me.notify_fail("你的基础不够,无法领会更高深的技巧。");
// if (me.query_skill("yunlongxinfa", 1) < 60)
// return me.notify_fail("你的云龙心法等级不够,无法学习云龙剑。");
// return true;
//}
this.learn_condition = {
max_mp: 100,
skill: {
whip: 50
}
};
this.query_enable_prop = function (lv) {
return {
whip: {
gj: parseInt(lv * 1 + 10),
mz: lv
}
};
}
this.slots = [
{
prop: 'ylbf_ml',
value: (lv) => 1000,
format: (val) => {
return '缠字诀忙乱时间增加1秒';
},
},
{
prop: 'ylbf_mz',
value: (lv) => 20,
format: (val) => {
return '缠字诀命中判定下限增加20%';
},
}
];
this.pfm = {
chan:
{
name: "缠字诀",
distime: 30000,
enable_skill: "whip",
mp: 20,
use: function (me, target, lv) {
var time = Math.round(lv * 100 / 5)
if (time < 2000) time = 2000;
else if (time > 10000) time = 10000;
time += me.query_prop('ylbf_ml');
let add = me.mz * me.query_prop('ylbf_mz') / 100;
let rad_mz = me.mz - add;
var msg = "<hic>$N使出云龙鞭法「缠」字诀连挥长鞭企图把$n的全身缠住</hic>\n";
if (add + me.random(rad_mz) > target.ds / 2) {
msg += "结果$p被$P攻了个措手不及!\n";
target.add_status({
id: "busy",
is_busy: true,
duration: time,
name: "忙乱",
downside: true
}, me);
} else {
msg += "可是$p看破了$P的企图并没有上当。\n";
}
me.send_room(msg, target);
},
query_desc: function (me, lv) {
var time = Math.round(lv / 50);
if (time < 2) time == 2;
else if (time > 10) time = 10;
return "以诡异刁钻的鞭法缠住敌人,使敌人" + time + "秒内处于忙乱状态,期间无法攻击,招架";
}
}
};

View File

@@ -0,0 +1,185 @@
this.inherits(SKILL);
this.name = "太极剑法";
this.id = "taijijian";
this.grade = 4;
this.first_title = "太极传人";
this.family = FAMILIES.WUDANG;
this.attack_actions = [
"$N虚步提腰一招「<HIM>蜻蜓点水</HIM>」,手中$w轻轻颤动一剑剑点向$n的$l",
"$N向前跨上一步左手剑诀右手$w使出一式「<YEL>指南针</YEL>」直刺$n的$l",
"$N身形往右一挫左手剑诀右手$w使出一式「<WHT>大魁星</WHT>」刺向$n的$l",
"$N双膝下沉右手$w使出一式「<BLU>探海式</BLU>」,由下而上疾刺$n的$l",
"$N一招「<HIW>燕子掠波</HIW>」,$w自上而下划出一个大弧平平地向$n的$l挥去",
"$N上身往左侧一拧一招「<BLK>乌龙摆尾</BLK>」,右手$w反手向$n的$l挥去",
"$N一招「<RED>右</RED>拦扫」,一招「<RED>左</RED>拦扫」,剑锋平指,一气呵成横扫$n的$l",
"$N左腿提膝手中$w斜指一招「<HIC>宿鸟投林</HIC>」刺向$n的$l",
"$N一招「<CYN>青龙出水</CYN>」,$w自下而上划出一个大弧平平地挥向$n的$l",
"$N使出「<RED>三</RED>环套<HIW>月</HIW>」,$w划出三个圆圈剑锋直出绵绵不断划向$n的$l",
"$N一招「<MAG>风卷荷叶</MAG>」,$w轻灵地划出几个圆弧迅速地向$n的$l挥去",
"$N一招「<YEL>虎抱头</YEL>」,$w划出一个左低右高的大弧斜斜地斩向$n的$l",
"$N使出「<HIR>狮子摇头</HIR>」,$w由右向左划出一个大将$n圈在其中",
"$N左脚踏实右脚虚点一招「<HIW>仙人指路</HIW>」,右手$w带着一团剑花逼向$n的$l",
"$N轻轻跃起一招「<CYN>野马跳涧</CYN>」,$w在半空中化为一圈银芒落向$n的$l",
"$N两腿前箭后弓一招「<HIR>射雁式</HIR>」,右手$w直刺$n的$l",
"$N一招「<WHT>小魁星</WHT>」,身形往左一挫,左手剑诀,右手$w平平地向$n的$l挥去",
"$N猱身扑上一招「<HIW>白猿献果</HIW>」,手中$w斜斜地向$n的$l挥去",
"$N一招「<RED>迎风掸尘</RED>」,$w看似随意地一挥$n却陡觉一股劲气迎面袭来。",
"$N一招「<YEL>顺水推舟</YEL>」,$w自上而下划出一个大弧平平地向$n的$l挥去。",
"$N一招「<WHT>流星赶月</WHT>」,$w疾刺$n的$l",
"$N突然盘蹲下身来一招「<BLU>海底捞月</BLU>」,$w自下而上地向$n的$l挥去",
"$N一招「<HIG>挑帘式</HIG>」,$w自下而上徐徐划出一个大弧平平地向$n的$l挥去",
"$N一招「<YEL>黄蜂入洞</YEL>」,$w自上而下划出一个大弧平平地向$n的$l挥去",
"$N一招「<WHT>大鹏展翅</WHT>」,身形跃起,右手$w刺向$n的$l",
"$N一招「<BLK>车轮剑</BLK>」,$w化作一片银盘平平地向$n的$l卷去",
"$N左脚轻点地面身形往前一扑一招「<BLU>天马行空</BLU>」,$w向$n的$l挥去",
"$N一招「<WHT>风扫梅花</WHT>」,身体跃在半空,手中$w扫向$n的$l",
"$N一招「<HIC>却步抽剑</HIC>」,左脚跃步落地,$w回抽反手勾向$n的$l",
"$N右腿半屈般蹲一招「<WHT>如封似闭</WHT>」,剑尖虚指,转身撩向$n的$l",
"$N回身拧腰右手虚抱一招「<HIY>拨云瞻日</HIY>」,$w中宫直进刺向$n的$l"
];
this.desc = "由武当祖师张三丰所创,武当派不传之秘,太极三绝技之一";
//"\+(\w+)\+"(.+?)"\+NOR\+"
//<$1>$2</$1>
this.learn_condition = {
max_mp: 8900,
skill: {
sword: 300,
taijishengong: 300
}
};
this.can_enables = ["sword"];
this.query_prop = function (lv) {
return {
int: 10 + parseInt(lv / 10),
zj_per: parseInt(lv / 300) + 5
};
}
this.query_enable_prop = function (lv) {
return {
sword: {
gj: 20 + parseInt(lv * 1.3),
mz: 20 + parseInt(lv * 1.2),
zj: 20 + parseInt(lv * 0.8),
desc: "攻击命中后会使敌方忙乱2秒冷却10秒"
}
};
}
//当一次攻击结束后
this.on_attack_over = function (me, target, par) {
if (!par.is_dodge && !par.is_parry) {
if (!me.query_temp("sk/taijijian/sword")) {
me.send_room("<cyn>$n一招失势被$N的剑招所乱</cyn>", target);
target.add_status({
id: "busy",
is_busy: true,
name: "忙乱",
desc: "你处于忙乱状态,无法攻击,招架",
duration: 2000,
downside: true
});
me.set_temp("sk/taijijian/sword", 1, 10000);
}
}
}
this.pfm = {
chan:
{
name: "缠字诀",
distime: 20000,
enable_skill: "sword",
weapon_type: WEAPON_TYPE.SWORD,
release_time: 0,
mp: 10,
use: function (me, target, lv) {
var time = lv * 10 + 3000;
if (time > 15000) time = 15000;
me.send_room("<mag>$N使出太极剑【缠字决】$n一时之间手忙脚乱无法攻击</mag>", target);
target.add_status({
id: "busy",
name: "忙乱",
duration: time,
downside: true,
is_busy: true
}, me);
},
query_desc: function (me, lv) {
var time = lv * 10 + 3000;
if (time > 15000) time = 15000;
return "以连绵不绝的攻势迷惑敌人,使之无法脱身," + (time / 1000) + "秒内处于忙乱状态。";
}
},
lian:
{
name: "连字诀",
distime: 15000,
enable_skill: "sword",
weapon_type: WEAPON_TYPE.SWORD,
mp: 10,
use: function (me, target, lv) {
var per = parseInt(lv / 10) + 110;
if (per > 200) per = 200;
me.send_room("<mag>$N使出太极剑【连字决】身法突然加快</mag>", target);
for (var i = 0; i < 7; i++) {
me.do_attack({
target: target,
gj: me.gj,
mz: me.mz * per / 100,
attack_before: "紧跟着"
});
}
me.end_attack(target);
},
query_desc: function (me, lv) {
var count = parseInt(lv / 10) + 10;
if (count > 100) count = 100;
return "快速出剑瞬间对敌人快速攻击7次攻击中命中增加" + count + "%";
}
},
sui:
{
name: "随字决",
distime: 20000,
enable_skill: "sword",
weapon_type: WEAPON_TYPE.SWORD,
mp: 10,
release_time: 1000,
use: function (me, target, lv) {
var time = 3000 + lv * 10;
var gj = 100 + parseInt(lv / 5);
var per = 10 + parseInt(lv / 200);
if (me.do_attack({
target: target,
gj: me.gj * gj / 100,
mz: me.mz,
attack_msg: "<him>$N快速挥动$W四周真气涌动化为数个大小太极向$n刺去</him>",
damage_msg: "<hir>只见$n被剑气击中真气紊乱感觉眼前的景物似幻似真几乎要站立不住</hir>"
})) {
target.add_status({
id: "sui",
name: "太极",
downside: true,
desc: "你的命中和躲闪降低了",
duration: time,
prop: {
mz_per: -per,
ds_per: -per
},
finish_msg: "<cyn>$N从太极剑的影响中恢复过来。</cyn>",
}, me);
me.end_attack(target);
}
},
query_desc: function (me, lv) {
var time = 3000 + lv * 10;
var gj = 100 + parseInt(lv / 5);
var per = 10 + parseInt(lv / 200);
return "造成" + gj + "%攻击力的伤害,命中后使对方在" + (time / 1000) + "秒内降低" + per + "%命中和躲闪";
}
}
};

View File

@@ -0,0 +1,118 @@
this.inherits(SKILL);
this.name = "太极拳";
this.id = "taijiquan";
this.family = FAMILIES.WUDANG;
this.grade = 3;
this.attack_actions = ["$N使一招「<YEL>揽雀尾</YEL>」,双手划了个半圈,按向$n的$l",
"$N使一招「<RED>单鞭</RED>」,右手收置肋下,左手向外挥出,劈向$n的$l",
"$N左手回收右手由钩变掌由右向左使一招「<HIB>提手上式</HIB>」,向$n的$l打去",
"$N双手划弧右手向上左手向下使一招「<WHT>白鹤亮翅</WHT>」,分击$n的面门和$l",
"$N左手由胸前向下身体微转划了一个大圈使一招「<HIR>搂膝拗步</HIR>」,击向$n的$l",
"$N左手由下上挑右手内合使一招「<HIG>手挥琵琶</HIG>」,向$n的$l打去",
"$N左手变掌横于胸前右拳由肘下穿出一招「<HIY>肘底看锤</HIY>」,锤向$n的$l",
"$N左脚前踏半步右手使一招「<HIB>海底针</HIB>」,指由下向$n的$l戳去",
"$N一招「<HIM>闪通臂</HIM>」,左脚一个弓箭步,右手上举向外撇出,向$n的$l挥去",
"$N两手由相对转而向左上右下分别挥出右手使一招「<HIC>斜飞式</HIC>」,挥向$n的$l",
"$N左手虚按右手使一招「<HIW>白蛇吐信</HIW>」,向$n的$l插去",
"$N双手握拳向前向后划弧一招「<BLK>双峰贯耳</BLK>」打向$n的$l",
"$N左手虚划右手一记「<RED>勾裆锤</RED>」击向$n的裆部",
"$N施出「<GRN>伏虎式</GRN>」,右手击向$n的$l左手攻向$n的裆部",
"$N由臂带手在面前缓缓划过使一招「<YEL>云手</YEL>」,挥向$n的$l",
"$N左腿收起右手使一招「<BLU>金鸡独立</BLU>」,向$n的$l击去",
"$N右手由钩变掌双手掌心向上右掌向前推出一招「<MAG>高探马</MAG>」",
"$N右手使一式招「<CYN>玉女穿梭</CYN>」,扑身向$n的$l插去",
"$N右手经腹前经左肋向前撇出使一招「<WHT>反身撇锤</WHT>」,向$n的$l锤去",
"$N左手虚按右腿使一招「<HIR>转身蹬腿</HIR>」,向$n的$l踢去",
"$N左手向上划弧拦出右手使一招「<HIG>搬拦锤</HIG>」,向$n的$l锤去",
"$N使一招「<HIY>栽锤</HIY>」,左手搂左膝,右手向下锤向$n的$l",
"$N双手先抱成球状忽地分开右手上左手下一招「<HIB>野马分鬃</HIB>」,向$n的$l和面门打去",
"$N左手由胸前向下右臂微曲使一招「<HIM>抱虎归山</HIM>」,向$n的$l推去",
"$N双手经下腹划弧交于胸前成十字状一式「<HIC>十字手</HIC>」,向$n的$l打去",
"$N左脚踏一个虚步双手交叉成十字拳一招「<HIW>进步七星</HIW>」,向$n的$l锤去",
"$N身体向后腾出左手略直右臂微曲使一招「<BLK>倒撵猴</BLK>」,向$n的$l和面门打去",
"$N双手伸开以腰为轴整个上身划出一个大圆弧\n一招「<RED>转身摆莲</RED>」,将$n浑身上下都笼罩在重重掌影之中",
"$N双手握拳右手缓缓收至耳际左手缓缓向前推出\n拳意如箭一招「<GRN>弯弓射虎</GRN>」,直奔$n心窝而去",
"$N双手在胸前翻掌由腹部向前向上推出一招「<YEL>如封似闭</YEL>」,一股劲风直逼$n"
];
this.parry_actions = [
"$p眼见$P$w攻到当即使出一招「揽雀尾」右脚实左脚虚运起“挤”字诀粘连粘随右掌已搭住$P左腕横劲发出。$N身不由主的向前一冲跨出两步方始站定。",
"不料$p双手一圈如抱太极一股雄浑无比的力道组成了一个旋涡只带得$P在原地急转七八下。",
"$p「双风贯耳」连消带打双手成圆形击出随即左圈右圈一个圆圈跟着一个圆圈大圈、小圈、平圈、立圈、正圈、斜圈一个个太极圆圈发出登时便套得$P跌跌撞撞身不由主的立足不稳。",
"$p使出一招「云手」左手高右手低一个圆圈已将$P$w套住。",
"$p觉气息微窒当下一招「斜飞势」将$P$w引偏。",
"$p吸一口气体内真气流转右掌挥出一拒一迎将$P的力道尽行碰了回去。",
"$p双掌一翻使出一招「云手」双掌柔到了极处空明若虚将$P$w的急劲尽数化去。",
"$p当即双掌一扬迎着$w接去待得手掌与$P$w将触未触之际施出「揽雀尾式」将$w轻轻拢住脚下“金鸡独立式”左足关地右足悬空全身急转宛似一枚陀螺。",
"就在这电光石火的一瞬之间,$p身子一弓正是「白鹤亮翅」的前半招$P的劲力登时落空。",
];
this.can_enables = ["unarmed", "parry"];
this.query_enable_prop = function (lv) {
return {
unarmed: {
gj: parseInt(lv * 1.3 + 5),
mz: parseInt(lv * 1.3 + 5),
str: parseInt(lv / 8)
}, parry: {
zj: parseInt(lv * 1.6 + 20),
fy: lv * 2 + 10,
max_hp: lv * 10,
desc: "当你成功招架后立刻反击敌人8秒冷却"
}
};
}
this.learn_condition = {
max_mp: 1000,
skill: {
unarmed: 300,
taijishengong: 100
}
};
this.on_parry_over = function (me, target, par) {
if (par.is_parry) {
if (!me.query_temp("sk_taijiquan")) {
me.do_attack({
target: target,
attack_msg: "<hiy>$N化守为攻双手一推一放顺着$n的攻击把劲气引向$p</hiy>",
no_append: true,
no_append_target: true,
no_weapon: true
});
me.end_attack(target);
me.set_temp("sk_taijiquan", 1, 8000);
}
}
}
this.pfm = {
zhen:
{
name: "震字决",
distime: 15000,
weapon_type: WEAPON_TYPE.UNARMED,
enable_skill: "unarmed",
mp: 20,
use: function (me, target, lv) {
lv = 10 + parseInt(lv / 100);
if (lv > 20) lv = 20;
me.do_attack({
attack_msg: "<hiy>$N默运神功使出太极拳「震」字诀企图以内力震伤$n。</hiy>",
target: target,
gj: me.gj,
damage_msg: "<red>结果$n被$N以内力一震胸口有如受到一记重锤连退了五六步</red>",
mz: me.mz,
no_weapon: true,
power_gj: me.max_mp * lv / 100
})
me.end_attack(target);
},
query_desc: function (me, lv) {
lv = 10 + parseInt(lv / 100);
if (lv > 20) lv = 20;
var gj = parseInt(me.max_mp * lv / 100);
return "以内力震伤敌人,造成你攻击力附加你最大内力" + lv + "%(" + gj + ")的伤害。";
}
}
};

View File

@@ -0,0 +1,67 @@
this.inherits(SKILL);
this.name = "太极神功";
this.id = "taijishengong";
this.family = "武当派";
this.can_enables = ["force"];
this.family = FAMILIES.WUDANG;
this.grade = 3;
this.force_rad = 0.8;
this.learn_condition = {
max_mp: 500,
skill: {
force: 300
}
};
this.query_enable_prop = function (lv) {
return {
force: {
max_hp: lv * 10,
limit_mp: lv *104,
desc: "唯一将你内力的80%转化为气血"
}
};
}
this.pfm = {
tu:
{
name: "真武除邪",
distime: 60000,
enable_skill: "force",
mp: 20,
use_type: 2,
release_time: 0,
use: function (me, target, lv) {
me.send_room("<hiy>$N闭目凝神心如点转双手抱环划破虚空周身灵气如指引般汇聚在$P周身一阴一阳仿若真灵护体。</hiy>");
var diff = 30 + parseInt(lv / 300);
var time = lv * 10 + 20000;
if (time > 30000) time = 30000;
me.add_status({
id: "force",
name: "真武除邪",
desc: "太极神功之真武除邪增加你的气血,招架和伤害减免",
duration: time,
prop: {
diff_sh_per2: diff,
zj_per: diff,
max_hp: lv * 10
}, on_expire: function (p) {
if (p.hp > p.max_hp) {
p.hp = p.max_hp;
p.notify_hp();
}
}
});
me.hp += lv * 10;
me.notify_hp();
},
query_desc: function (me, lv) {
var diff = 30 + parseInt(lv /300);
var qx = lv * 10;
var time = lv * 10 + 20000;
if (time > 30000) time = 30000;
return "将太极真气运转周身,"+(time/1000)+"秒内增加你" + qx + "气血,招架增加" + diff + "%,受到的伤害减少" + diff + "%";
}
}
};

View File

@@ -0,0 +1,49 @@
this.inherits(SKILL);
this.name = "梯云纵";
this.id = "tiyunzong";
this.family = FAMILIES.WUDANG;
this.grade = 2;
this.dodge_actions = [
"只见$n一招「<WHT>白鹤冲天</wht>」,身体向上笔直地纵起丈余,躲过了$N这一招。",
"$n一个「<RED>鹞子翻身</RED>」,向后纵出数丈之远,避开了$N的凌厉攻势。",
"$n使出「<MAG>大鹏展翅</MAG>」,向一旁飘然纵出,轻轻着地。",
"但是$n一招「<WHT>白鹤冲天</wht>」身形飘忽,轻轻一纵,早已避开。",
"$n身随意转一招「<RED>鹞子翻身</RED>」倏地往一旁挪开了三尺,避过了这一招。",
"可是$n一招「<MAG>大鹏展翅</MAG>」侧身一让,$N这一招扑了个空。",
"却见$n足不点地一招「<MAG>大鹏展翅</MAG>」,往旁窜开数尺,躲了开去。",
"$n身形微晃一招「<RED>鹞子翻身</RED>」有惊无险地避开了$N这一招。",
];
//"\s?\+\s?(\w+)\s?\+\s?"(.+?)"\s?\+\s?NOR\s?\+\s?"
this.learn_condition = {
max_mp: 1000,
skill: {
dodge: 200
}
};
this.can_enables = ["dodge"];
this.query_enable_prop = function (lv) {
return {
dodge: {
ds: parseInt(lv * 1.5 + 5),
desc: "当成功躲闪对方攻击时增加" + lv + "躲闪,可叠加"
}
};
}
this.on_dodge_over = function (me, target, par) {
if (par.is_dodge && !me.query_temp("tiyunzong")) {
var lv = me.query_skill("tiyunzong", 0);
me.add_status({
id: "dodge",
name: "梯云纵",
desc: "梯云纵之纵字诀,增加你的躲闪",
prop: {
ds: lv
},
duration: 5000,
override: 1,
max_count: 10
});
me.set_temp("tiyunzong", 1, me.random(8000) + lv);
}
}

Some files were not shown because too many files have changed in this diff Show More