init: add workspace files
This commit is contained in:
158
world/skill/xiaoyao/beimingshengong.js
Normal file
158
world/skill/xiaoyao/beimingshengong.js
Normal file
@@ -0,0 +1,158 @@
|
||||
this.inherits(SKILL);
|
||||
this.name = "北冥神功";
|
||||
this.id = "beimingshengong";
|
||||
this.grade = 3;
|
||||
this.force_rad = 0.75;
|
||||
this.family = FAMILIES.XIAOYAO;
|
||||
this.desc = "逍遥派镇派神功,可吸取他人内力以供己用,是迅速提升功力的捷径功法。";
|
||||
//"(\w+)"(.+?)"NOR"
|
||||
//<$1>$2</$1>
|
||||
this.can_enables = ["force", "parry"];
|
||||
this.learn_condition = {
|
||||
skill: {
|
||||
force: 300
|
||||
}
|
||||
};
|
||||
this.query_enable_prop = function (lv) {
|
||||
return {
|
||||
force: {
|
||||
con: parseInt(lv / 6) + 2,
|
||||
dex: parseInt(lv / 7) + 2,
|
||||
limit_mp: lv * 105,
|
||||
desc: "当你命中敌人后,会吸取对方内力增加自身最大内力\n唯一:将你内力的75%转化为气血"
|
||||
}, parry: {
|
||||
zj: parseInt(lv * 1.4) + 20,
|
||||
dex: parseInt(lv / 7) + 2,
|
||||
desc: "当你招架成功后会减少敌人" + (lv + 10) + "当前内力"
|
||||
}
|
||||
};
|
||||
}
|
||||
this.on_parry_over = function (me, target, par) {
|
||||
if (par.is_parry) {
|
||||
target.add_mp(-me.query_skill("beimingshengong", 0) - 10);
|
||||
//me.send_room("<hib>$n顿觉全身内力如水银般循孔飞泄而出!</hib>\n", target);
|
||||
}
|
||||
}
|
||||
this.do_force_attack = function (me, target) {
|
||||
|
||||
if (me.max_mp < me.limit_mp + me.query_prop("limit_mp")) {
|
||||
if (!me.query_temp("sk_beiming")) {
|
||||
me.set_temp("sk_beiming", 1, 8000);
|
||||
var gj = Math.round(me.query_skill("beimingshengong", 0) / 10);
|
||||
var mp = parseInt((gj * 120) / 100);
|
||||
if (target.max_mp > mp) {
|
||||
|
||||
if (target.mp > mp) {
|
||||
target.notify("<hir>你顿觉全身内力如水银般循孔飞泄而出!</hir>");
|
||||
me.notify("<hir>你觉得" + target.name + "的内力自手掌源源不绝地流了进来。</hir>", target);
|
||||
|
||||
target.mp -= mp;
|
||||
me.max_mp += gj;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
this.pfm = {
|
||||
//xi:
|
||||
//{
|
||||
// name: "<hir>冥字诀</hir>",
|
||||
// distime: 10000,
|
||||
// enable_skill: "force",
|
||||
// mp: 20,
|
||||
// release_time: 5000,
|
||||
// no_auto:true,
|
||||
// use: function (me, target, lv) {
|
||||
|
||||
// var gj = Math.round(lv / 10);
|
||||
// var mp = parseInt((gj * 120) / 100);
|
||||
|
||||
// me.send_room("<him>$N身法陡然加快,右掌直出,猛地对准$n的膻中大穴按了上去!</him>", target);
|
||||
// if (me.max_mp >= me.limit_mp) {
|
||||
// return me.notify("<hic>你觉得你的经脉充盈,已经没有办法再增加内力了。</hic>");
|
||||
// }
|
||||
// if (target.max_mp>mp&& me.mz / 2 + me.random(me.mz) > target.ds) {
|
||||
// target.notify("<hiy>你顿觉全身内力如水银般循孔飞泄而出!\n</hiy>");
|
||||
// me.notify("<hig>你觉得" + target.name + "的内力自手掌源源不绝地流了进来。\n</hig>", target);
|
||||
|
||||
// target.max_mp -=mp;
|
||||
// me.max_mp += gj;
|
||||
// } else if (target.max_mp < mp) {
|
||||
// me.notify("<hiy>" + target.name + "已经内力涣散,你已经无法从他体内吸取任何内力了!\n</hiy>");
|
||||
// } else {
|
||||
// me.send_room("<hiy>可是$p看破了$P的企图,机灵地闪了开去。\n</hiy>", target);
|
||||
// }
|
||||
// },
|
||||
// query_desc: function (me, lv) {
|
||||
// var gj = Math.round(lv / 10);
|
||||
// return "战斗中吸取别人的" + gj + "点最大内力,此招损人利己,慎用!";
|
||||
// }
|
||||
//},
|
||||
|
||||
huifu:
|
||||
{
|
||||
name: "鲲字诀",
|
||||
distime: 30000,
|
||||
enable_skill: "force",
|
||||
mp: 0,
|
||||
release_time: 0,
|
||||
no_auto: true,
|
||||
use: function (me, target, lv) {
|
||||
|
||||
var gj = lv * 5;
|
||||
me.send_room("<him>$N默运北冥神功,周身紫气环绕,转眼间已恢复活力!\n</him>", target);
|
||||
me.add_mp(gj);
|
||||
},
|
||||
query_desc: function (me, lv) {
|
||||
var gj = lv * 5;
|
||||
return "战斗中恢复自己" + gj + "点内力。";
|
||||
}
|
||||
}, power: {
|
||||
name: "凝神诀",
|
||||
distime: 30000,
|
||||
enable_skill: "force",
|
||||
mp: 20,
|
||||
release_time: 0,
|
||||
no_auto: true,
|
||||
use_type: 2,
|
||||
use: function (me, target, lv) {
|
||||
if (me.query_temp('bmsg_add'))
|
||||
return me.notify('你已经附加凝神诀的效果了。');
|
||||
me.send_room("<hig>$N神凝丹田,息游紫府,周围灵气如潮水般朝$P汇聚过来。</hig>");
|
||||
|
||||
var time = Math.round(lv * 100) + 60000;
|
||||
var nl = 100 + lv * 10;
|
||||
var ts = me.team || [me];
|
||||
for (var i = 0; i < ts.length; i++) {
|
||||
if (!ts[i].is_here(me)) continue;
|
||||
ts[i].add_status({
|
||||
id: "force",
|
||||
name: "北冥",
|
||||
desc: "北冥神功之凝神诀,增加你的最大内力",
|
||||
duration: time,
|
||||
prop: {
|
||||
desc: "增加" + nl + "最大内力"
|
||||
}, on_attach: function (p) {
|
||||
p.max_mp += nl;
|
||||
p.set_temp('bmsg_add', nl);
|
||||
p.recount();
|
||||
p.notify_hp();
|
||||
},
|
||||
on_expire: function (p) {
|
||||
p.max_mp -= nl;
|
||||
p.remove_temp('bmsg_add', nl);
|
||||
p.recount();
|
||||
p.notify_hp();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
query_desc: function (me, lv) {
|
||||
var gj = Math.round(lv * 100) + 60000;
|
||||
var nl = 100 + lv * 10;
|
||||
return "增加你和你附近队友的最大内力" + nl + ",持续" + (gj / 1000) + "秒";
|
||||
}
|
||||
}
|
||||
};
|
||||
72
world/skill/xiaoyao/lingboweibu.js
Normal file
72
world/skill/xiaoyao/lingboweibu.js
Normal file
@@ -0,0 +1,72 @@
|
||||
this.inherits(SKILL);
|
||||
this.name = "凌波微步";
|
||||
this.id = "lingboweibu";
|
||||
this.family = FAMILIES.XIAOYAO;
|
||||
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_prop = function (lv) {
|
||||
return {
|
||||
ds_per: 5 + parseInt(lv / 300)
|
||||
};
|
||||
}
|
||||
this.query_enable_prop = function (lv) {
|
||||
return {
|
||||
dodge: {
|
||||
dex: parseInt(lv / 5) + 1,
|
||||
ds: parseInt(lv * 1.5) + 100
|
||||
}
|
||||
};
|
||||
}
|
||||
this.learn_condition = {
|
||||
max_mp: 5000,
|
||||
skill: {
|
||||
dodge: 400
|
||||
}
|
||||
};
|
||||
this.pfm = {
|
||||
lingbo:
|
||||
{
|
||||
name: "凌波",
|
||||
distime: 40000,
|
||||
enable_skill: "dodge",
|
||||
release_time: 0,
|
||||
mp: 20,
|
||||
use: function (me, target, lv) {
|
||||
|
||||
var gj = lv * 10;
|
||||
if (gj < 3000) gj = 3000;
|
||||
else if (gj > 10000) gj = 10000;
|
||||
|
||||
me.add_status({
|
||||
id: "dodge",
|
||||
name: "凌波",
|
||||
start_msg: "<him>只见$N施展凌波微步,神光离合,乍阴乍阳,动无常则,进止难期。</him>",
|
||||
desc: "你施展了施展凌波微步,使敌人无法命中",
|
||||
duration: gj,
|
||||
on_attach: function (p) {
|
||||
p.change_prop({ ds: 999999 }, true);
|
||||
p.recount();
|
||||
},
|
||||
on_expire: function (p) {
|
||||
p.change_prop({ ds: 999999 }, false);
|
||||
p.recount();
|
||||
}
|
||||
});
|
||||
},
|
||||
query_desc: function (me, lv) {
|
||||
var gj = lv * 10;
|
||||
if (gj < 3000) gj = 3000;
|
||||
else if (gj > 10000) gj = 10000;
|
||||
return "全力施展凌波微步,在" + (gj / 1000) + "秒内绝对躲闪敌方攻击。";
|
||||
}
|
||||
}
|
||||
};
|
||||
157
world/skill/xiaoyao/liuyangzhang.js
Normal file
157
world/skill/xiaoyao/liuyangzhang.js
Normal file
@@ -0,0 +1,157 @@
|
||||
this.inherits(SKILL);
|
||||
this.name = "天山六阳掌";
|
||||
this.id = "liuyangzhang";
|
||||
this.grade = 3;
|
||||
|
||||
this.family = FAMILIES.XIAOYAO;
|
||||
this.attack_actions = [
|
||||
"$N一招「<YEL>落日熔金</YEL>」,左掌叠于右掌之上,劈向$n",
|
||||
"$N一招「<RED>安禅制毒龙</RED>」,面色凝重,双掌轻飘飘地拍向$n",
|
||||
"$N一招「<MAG>日斜归路晚霞明</MAG>」,双掌幻化一片掌影,将$n笼罩于内。",
|
||||
"$N一招「<HIC>阳关三叠</HIC>」,向$n的$l连击三掌",
|
||||
"$N一招「<WHT>阳春一曲和皆难</WHT>」,只见一片掌影攻向$n",
|
||||
"$N双掌平挥,一招「<HIW>云霞出海曙</HIW>」击向$n",
|
||||
"$N一招「<HIR>白日参辰现</HIR>」,只见一片掌影攻向$n",
|
||||
"$N左掌虚晃,右掌一记「<RED>云霞出薛帷</RED>」击向$n的头部",
|
||||
"$N施出「<HIC>青阳带岁除</HIC>」,右手横扫$n的$l,左手攻向$n的胸口",
|
||||
"$N施出「<YEL>阳歌天钧</YEL>」,双掌同时击向$n的$l"
|
||||
];
|
||||
this.desc = "逍遥派的天山六阳掌,绝招生死符让人谈虎色变。";
|
||||
//"(\w+)"(.+?)"NOR"
|
||||
//<$1>$2</$1>
|
||||
this.can_enables = ["unarmed"];
|
||||
this.learn_condition={
|
||||
max_mp: 5000,
|
||||
skill: {
|
||||
unarmed: 300,
|
||||
beimingshengong:300
|
||||
}
|
||||
};
|
||||
this.query_enable_prop = function (lv) {
|
||||
return {
|
||||
unarmed: {
|
||||
gj: parseInt(lv * 1.2),
|
||||
mz: parseInt(lv),
|
||||
}
|
||||
};
|
||||
}
|
||||
this.pfm = {
|
||||
zhong:
|
||||
{
|
||||
name: "生死符",
|
||||
distime: 30000,
|
||||
enable_skill: "unarmed",
|
||||
weapon_type: WEAPON_TYPE.UNARMED,
|
||||
mp: 20,
|
||||
release_time: 8000,
|
||||
use: function (me, target, lv) {
|
||||
|
||||
var time = 12000 - lv;
|
||||
if (time < 10000) time = 10000;
|
||||
var fu = 10 + parseInt(lv / 100);
|
||||
if (fu > 40) fu = 40;
|
||||
var sh = me.do_attack({
|
||||
target: target,
|
||||
attack_msg: "<red>$N化水为冰,凝于掌中,轻飘飘地拍向$n。</red>",
|
||||
miss_msg: "可是$p急忙闪在一旁,躲了开去。",
|
||||
no_parry:true,
|
||||
});
|
||||
if (sh) {
|
||||
// target.do_kill(me);
|
||||
target.add_status({
|
||||
id:"liuyang",
|
||||
duration: time,
|
||||
downside: true,
|
||||
name: "生死符",
|
||||
desc: "你被种了生死符,10秒后你的气血将减为1",
|
||||
no_clear:true,
|
||||
on_expire: function (p) {
|
||||
if (p.hp<=0) return;
|
||||
if (p.is_fighting(me)) {
|
||||
p.send_room("<hib>$N的生死符发作了,“哇”的一声,吐出一口殷红的<hir>鲜血</hir>。</hib>");
|
||||
if (p.hp > me.max_hp ) {
|
||||
p.damage(parseInt(me.hp * fu / 100),me);
|
||||
}
|
||||
else {
|
||||
p.add_hp(-p.hp + 1);
|
||||
}
|
||||
me.end_attack(p);
|
||||
|
||||
} else {
|
||||
p.notify("<hiw>由于失去" + me.name + "的真气牵引,你的生死符没有发作。</hiw>");
|
||||
}
|
||||
}
|
||||
});
|
||||
me.end_attack(target);
|
||||
}
|
||||
|
||||
},
|
||||
query_desc: function (me, lv) {
|
||||
var time = 12000 - lv;
|
||||
if (time < 10000) time = 10000;
|
||||
var fu = 10 + parseInt(lv / 300);
|
||||
if (fu > 40) fu = 40;
|
||||
return "逆运真气将阳刚之气转为阴柔,化水为冰,命中敌人后" + (time / 1000) + "秒后爆发,如果你的最大气血大于敌方当前气血,敌人气血将降为1,否则将受到你当前气血" + fu+"%的伤害。不可招架";
|
||||
}
|
||||
}, san: {
|
||||
name: "阳关三叠",
|
||||
distime: 12000,
|
||||
enable_skill: "unarmed",
|
||||
mp: 20,
|
||||
check: function (me, lv) {
|
||||
if (lv < 30) return false;
|
||||
return true;
|
||||
},
|
||||
use_condition: "需要天山六阳掌等级30",
|
||||
use: function (me, target, lv) {
|
||||
me.send_room("<hir>$N长笑一声,双掌快速拍向$n,竟如惊涛骇浪般汹涌而去!</hir>", target);
|
||||
var mz = me.mz;
|
||||
var gj = me.gj;
|
||||
var sp = 150 + parseInt(lv / 30);
|
||||
var before = "";
|
||||
for (var i = 0; i < 3; i++) {
|
||||
if (me.do_attack({
|
||||
target: target,
|
||||
gj: gj,
|
||||
mz: mz,
|
||||
attack_before: before, no_weapon: true
|
||||
})) {
|
||||
gj = gj *sp/100;
|
||||
before = "<hir>$N长笑一声,运掌如风,掌力更加迅猛\n</hir>";
|
||||
} else {
|
||||
mz = mz * sp / 100;
|
||||
before = "<hic>$N气随意转,掌风突变,化刚为柔,又如春风般无孔不入\n</hic>";
|
||||
}
|
||||
}
|
||||
me.end_attack(target);
|
||||
},
|
||||
query_desc: function (me, lv) {
|
||||
var sp = 50 + parseInt(lv / 30);
|
||||
return "以迅猛的掌力瞬间攻击对方三次,造成伤害后下次增加攻击" + sp + "%,否则增加" + sp +"%命中";
|
||||
}
|
||||
}, po: {
|
||||
name: "白虹掌力",
|
||||
distime: 10000,
|
||||
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: "<HIR>$n慌忙抵挡,可已然不及,$N掌劲如洪水般涌入体内,接连震断数根肋骨。</HIR>",
|
||||
mz: me.mz,
|
||||
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 + ")的伤害。";
|
||||
}
|
||||
}
|
||||
};
|
||||
66
world/skill/xiaoyao/ruyidao.js
Normal file
66
world/skill/xiaoyao/ruyidao.js
Normal file
@@ -0,0 +1,66 @@
|
||||
this.inherits(SKILL);
|
||||
this.name = "如意刀";
|
||||
this.id = "ruyidao";
|
||||
this.grade = 1;
|
||||
this.family = FAMILIES.XIAOYAO;
|
||||
this.attack_actions = [
|
||||
"$N一磕刀柄,一招「<WHT>若往若返</WHT>」,猛地一个转身,手中$w直向$n斩去",
|
||||
"$N把手中的$w一扬,一招「<YEL>峰回路转</YEL>」,手中的刀一个急转,直砍向$n的$l",
|
||||
"$N身形陡然滑出数尺,一招「<RED>御风而行</RED>」,刀势如风,手中$w斩向$n的$l",
|
||||
"$N一招「<HIW>云雾萦绕</HIW>」,身子骤然拔高数尺,手中$w一个平推向$n的$l砍去。",
|
||||
"$N纵身一跃,手中$w一招「<HIY>金光泻地</HIY>」轻飘飘地向$n的$l要害掠去",
|
||||
"$N手中$w向外一分,轻轻颤动,一招「<BOLD>柳暗花明</BOLD>」反手向$n$l掠去",
|
||||
"$N横刀上前,身形一转,手中$w使一招「<CYN>空谷秋虹</CYN>」画出一道光弧斩向$n的$l",
|
||||
"$n只觉眼前一花,$N一招「<HIM>紫气东来</HIM>」,$w挟呼呼风声迅猛砍向$n的$l",
|
||||
"$N把$w划了一圈,一招「<HIC>神光离合</HIC>」,$n只觉得全身被笼罩在一团刀气之中。",
|
||||
"$N身形一转,一招「<HIB>逍遥自在</HIB>」,$w刀光不定,招招砍向$n的$l要害"
|
||||
];
|
||||
|
||||
this.desc = "逍遥派刀法,如意随风,随心如意";
|
||||
//"(\w+)"(.+?)"NOR"
|
||||
//<$1>$2</$1>
|
||||
this.can_enables = ["blade"];
|
||||
this.learn_condition = {
|
||||
max_mp: 500,
|
||||
skill: {
|
||||
xiaoyaoxinfa: 50,
|
||||
blade: 50
|
||||
}
|
||||
};
|
||||
this.query_enable_prop = function (lv) {
|
||||
return {
|
||||
blade: {
|
||||
gj: lv * 1 + 10,
|
||||
dex: parseInt(lv / 10)
|
||||
}
|
||||
};
|
||||
}
|
||||
this.pfm = {
|
||||
suifeng:
|
||||
{
|
||||
name: "随风起舞式",
|
||||
distime: 10000,
|
||||
enable_skill: "blade",
|
||||
weapon_type: WEAPON_TYPE.BLADE,
|
||||
mp: 20,
|
||||
release_time:0,
|
||||
use: function (me, target, lv) {
|
||||
|
||||
me.send_room("<HIR>只见狂风突起,$N深吸一口气,舞动【随风起舞式】,四周飘起越来越多的树叶!</HIR>", target);
|
||||
me.add_status({
|
||||
id: "blade",
|
||||
name: "随风",
|
||||
desc: "如意刀之随风起舞,增加自身身法和臂力",
|
||||
duration:10000,
|
||||
prop: {
|
||||
str: parseInt(lv / 10) + 5,
|
||||
dex: parseInt(lv / 10) + 5
|
||||
},
|
||||
finish_msg: "<cyn>$N的【随风起舞式】舞动完毕,周围落叶撒满一地。</cyn>"
|
||||
});
|
||||
},
|
||||
query_desc: function (me, lv) {
|
||||
return "随风起舞,10秒内增加自身身法" + (parseInt(lv / 10) + 5) + ",臂力" + (parseInt(lv / 10) + 5);
|
||||
}
|
||||
}
|
||||
};
|
||||
200
world/skill/xiaoyao/xiaowuxiang.js
Normal file
200
world/skill/xiaoyao/xiaowuxiang.js
Normal file
@@ -0,0 +1,200 @@
|
||||
this.inherits(SKILL);
|
||||
this.name = "小无相功";
|
||||
this.id = "xiaowuxianggong";
|
||||
this.family = FAMILIES.XIAOYAO;
|
||||
this.grade = 4;
|
||||
this.attack_actions = [
|
||||
"$N挥拳攻击$n的$l", "$N往$n的$l一抓", "$N往$n的$l狠狠地踢了一脚",
|
||||
"$N提起拳头往$n的$l捶去", "$N对准$n的$l用力挥出一拳"
|
||||
];
|
||||
//this.query_attack_action = function (me,target) {
|
||||
// if (me.attack_skill == target.attack_skill) return this.attack_actions.random();
|
||||
// return target.attack_skill.query_attack_action(me, target);
|
||||
//}
|
||||
this.attack_actions2 = [
|
||||
"$N用$W往$n的$l刺去", "$N用$W往$n的$l砍去", "$N挥动$W,斩向$n的$l"
|
||||
];
|
||||
this.query_attack_action = function (me, target) {
|
||||
let type = me.query_weapon_type();
|
||||
if (type === WEAPON_TYPE.NONE)
|
||||
return this.attack_actions.random();
|
||||
return this.attack_actions2.random();
|
||||
}
|
||||
|
||||
this.desc = "逍遥派的一门奇特武功,其主要特点是不着形相,无迹可寻,可以模仿别人的绝学";
|
||||
//"(\w+)"(.+?)"NOR"
|
||||
//<$1>$2</$1>
|
||||
this.can_enables = ["unarmed", "sword"];//"blade",
|
||||
this.learn_condition = {
|
||||
max_mp: 1000,
|
||||
skill: {
|
||||
unarmed: 300,
|
||||
parry: 300
|
||||
}
|
||||
};
|
||||
|
||||
this.query_enable_prop = function (lv) {
|
||||
return {
|
||||
unarmed: {
|
||||
gj: parseInt(lv * 1.4) + 20,
|
||||
mz: parseInt(lv * 1.2) + 20
|
||||
},
|
||||
sword: {
|
||||
gj: parseInt(lv * 1.4) + 20,
|
||||
mz: parseInt(lv * 1.2) + 20
|
||||
}
|
||||
// ,
|
||||
// blade: {
|
||||
// gj: parseInt(lv * 1.4) + 20,
|
||||
// mz: parseInt(lv * 1.2) + 20
|
||||
// }
|
||||
};
|
||||
}
|
||||
const ALLOW_TYPES = {
|
||||
sword: "(剑法)",
|
||||
unarmed: "(拳脚)"
|
||||
};
|
||||
|
||||
const ALLOW_RECORD = {
|
||||
sword: true,
|
||||
unarmed: true
|
||||
};
|
||||
this.pfm = {
|
||||
duo:
|
||||
{
|
||||
name: "无相",
|
||||
distime: 20000,
|
||||
mp: 40,
|
||||
no_copy: true,
|
||||
allow_busy: true,
|
||||
release_time: 3000,
|
||||
query_releasetime: function (me, lv) {
|
||||
return this.release_time;
|
||||
},
|
||||
query_distime: function (me, lv) {
|
||||
return this.distime;
|
||||
},
|
||||
query_name: function (me, type) {
|
||||
if (!type) return this.name;
|
||||
return "无相" + ALLOW_TYPES[type];
|
||||
},
|
||||
use: function (me, target, lv, sk) {
|
||||
var prev = target.query_temp("used_pfm");
|
||||
if (!prev) return me.notify_fail("<cyn>" + target.name + "最近没有使用绝招,你无法模仿。</cyn>");
|
||||
var str = prev.split("/");
|
||||
var sp_skill = SKILL.get(str[0]);
|
||||
if (!sp_skill) {
|
||||
return me.notify_fail("没有这个技能。");
|
||||
}
|
||||
if (sp_skill.grade > 4)
|
||||
return me.notify_fail("对方使用的武功太高深,你无法模仿。");
|
||||
pfm = sp_skill.get_pfm(str[1]);
|
||||
if (!pfm) {
|
||||
return me.notify_fail(sp_skill.name + "没有这个绝招。");
|
||||
}
|
||||
if (pfm.no_copy) return me.notify_fail("这个绝招不能模仿。");
|
||||
if (me.is_busy && !pfm.allow_busy) return me.notify_fail("你现在正手忙脚乱,无法模仿别人的技能。");
|
||||
//if (pfm.enable_skill && !me.skills["xiaowuxianggong"][pfm.enable_skill]) {
|
||||
// return me.notify_fail("<cyn>你的小无相功需要装备为" + SKILL.get(pfm.enable_skill).name + "才可以使用【" + pfm.name + "】。</cyn>");
|
||||
//}
|
||||
var isEnable = false;
|
||||
if (pfm.enable_skill) {
|
||||
if (sk === pfm.enable_skill) {
|
||||
isEnable = true;
|
||||
} else {
|
||||
|
||||
return me.notify_fail(this.query_name(me, sk) + "不能模仿" + pfm.name + "。");
|
||||
// return me.notify_fail("<cyn>你的小无相功目前只可以模仿武器和拳脚技能。</cyn>");
|
||||
}
|
||||
// if (pfm.enable_skill === "force" ||
|
||||
// pfm.enable_skill === "parry" || pfm.enable_skill === "dodge") {
|
||||
// return me.notify_fail("<cyn>你的小无相功目前只可以模仿武器和拳脚技能。</cyn>");
|
||||
// }
|
||||
// isEnable = me.skills["xiaowuxianggong"][pfm.enable_skill];
|
||||
// if (pfm.enable_skill === "unarmed" && !isEnable) {
|
||||
// return me.notify_fail("<cyn>你的小无相功需要装备为拳脚技能才可以模仿拳脚。</cyn>");
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
var up = 80 + parseInt(lv / 40);
|
||||
if (up > 100) up = 100;
|
||||
me.use_pfm(target, pfm, parseInt(up * lv / 100));
|
||||
|
||||
this.distime = pfm.query_distime(me, lv);
|
||||
this.release_time = pfm.query_releasetime(me, lv);
|
||||
|
||||
if (sp_skill.grade <= 4 && isEnable && !me.is_in("yz/leitai/leitai") &&
|
||||
sp_skill.family !== FAMILIES.MONSTER) {
|
||||
me.notify("\n<hic>你学会了绝招【" + pfm.name + "】,可以使用【无我】释放。<hic>");
|
||||
me.remove_temp('copy_pfm');
|
||||
me.set_temp("copy_pfm_" + pfm.enable_skill, prev);
|
||||
}
|
||||
},
|
||||
query_desc: function (me, lv) {
|
||||
lv = 80 + parseInt(lv / 40);
|
||||
if (lv > 100) lv = 100;
|
||||
return "使用前一个攻击你的绝招攻击敌人,效果是你小无相功等级的" + lv + "%,如果你的小无相品阶不低于对方技能的品阶并且装备的基础武功相同,你将学会这个绝招";
|
||||
}
|
||||
}
|
||||
,
|
||||
wuwo:
|
||||
{
|
||||
name: "无我",
|
||||
distime: 20000,
|
||||
mp: 40,
|
||||
allow_busy: true,
|
||||
no_copy: true,
|
||||
release_time: 3000,
|
||||
query_releasetime: function (me, lv) {
|
||||
return this.release_time;
|
||||
},
|
||||
query_distime: function (me, lv) {
|
||||
return this.distime;
|
||||
},
|
||||
query_name: function (me, type) {
|
||||
if (!type) return this.name;
|
||||
return "无我" + ALLOW_TYPES[type];
|
||||
},
|
||||
use: function (me, target, lv, sk) {
|
||||
var prev = me.query_temp("copy_pfm_" + sk);
|
||||
var baseSkill = SKILL.get(sk);
|
||||
if (!baseSkill) return false;
|
||||
if (!prev) {
|
||||
return me.notify_fail("<cyn>你最近没有模仿并学会任何绝招,无法使用装备为【" + baseSkill.name + "】的无我。</cyn>");
|
||||
}
|
||||
var str = prev.split("/");
|
||||
var sp_skill = SKILL.get(str[0]);
|
||||
if (!sp_skill) {
|
||||
return me.notify_fail("没有这个技能。");
|
||||
}
|
||||
if (sp_skill.family === FAMILIES.MONSTER) return me.notify_fail("怪物专属技能无法模仿。");
|
||||
if (sp_skill.grade > 4) return me.notify_fail("对方使用的武功太高深,你无法模仿。");
|
||||
pfm = sp_skill.get_pfm(str[1]);
|
||||
if (!pfm) {
|
||||
return me.notify_fail(sp_skill.name + "没有这个绝招。");
|
||||
}
|
||||
if (pfm.no_copy) return me.notify_fail("这个绝招不能模仿。");
|
||||
|
||||
if (me.is_busy && !pfm.allow_busy) return me.notify_fail("你现在正手忙脚乱,无法模仿别人的技能。");
|
||||
if (sk == "sword" && me.query_weapon_type() != WEAPON_TYPE.SWORD) {
|
||||
return me.notify("你使用的武器不对。");
|
||||
} else if (sk == "blade" && me.query_weapon_type() != WEAPON_TYPE.BLADE) {
|
||||
return me.notify("你使用的武器不对。");
|
||||
}
|
||||
if (pfm.enable_skill == sk && !me.skills["xiaowuxianggong"][sk]) {
|
||||
return me.notify_fail("<cyn>你的小无相功需要装备为" + baseSkill.name + "才可以使用【" + pfm.name + "】。</cyn>");
|
||||
}
|
||||
var up = 70 + parseInt(lv / 100);
|
||||
if (up > 100) up = 100;
|
||||
me.use_pfm(target, pfm, parseInt(up * lv / 100));
|
||||
this.distime = pfm.query_distime(me, lv);
|
||||
this.release_time = pfm.query_releasetime(me, lv);
|
||||
},
|
||||
query_desc: function (me, lv) {
|
||||
lv = 70 + parseInt(lv / 100);
|
||||
if (lv > 100) lv = 100;
|
||||
return "使用你无相模仿并学会的绝招,效果是你小无相功等级的" + lv + "%,绝招需要和你的小无相装备的基本技能一样";
|
||||
}
|
||||
}
|
||||
};
|
||||
24
world/skill/xiaoyao/xiaoyaoxinfa.js
Normal file
24
world/skill/xiaoyao/xiaoyaoxinfa.js
Normal file
@@ -0,0 +1,24 @@
|
||||
this.inherits(SKILL);
|
||||
this.name = "逍遥心法";
|
||||
this.id = "xiaoyaoxinfa";
|
||||
this.grade = 1;
|
||||
this.force_rad = 0.6;
|
||||
this.desc = "逍遥派的入门心法";
|
||||
this.family = FAMILIES.XIAOYAO;
|
||||
//"(\w+)"(.+?)"NOR"
|
||||
//<$1>$2</$1>
|
||||
this.can_enables = ["force"];
|
||||
this.query_enable_prop = function (lv) {
|
||||
return {
|
||||
force: {
|
||||
max_hp: lv*3 +30,
|
||||
limit_mp: lv * 10,
|
||||
desc: "唯一:将你内力的60%转化为气血"
|
||||
}
|
||||
};
|
||||
}
|
||||
this.learn_condition = {
|
||||
skill: {
|
||||
force: 50
|
||||
}
|
||||
};
|
||||
70
world/skill/xiaoyao/zhemeishou.js
Normal file
70
world/skill/xiaoyao/zhemeishou.js
Normal file
@@ -0,0 +1,70 @@
|
||||
this.inherits(SKILL);
|
||||
this.name = "天山折梅手";
|
||||
this.id = "zhemeishou";
|
||||
this.family = FAMILIES.XIAOYAO;
|
||||
this.grade = 2;
|
||||
|
||||
this.attack_actions = [
|
||||
"$N一招「<RED>黄昏独自愁</RED>」,身子跃然而起,抓向$n的头部",
|
||||
"$N一招「<YEL>梅花雪落覆白苹</YEL>」,双手合击,$n只觉无处可避",
|
||||
"$N一招「<HIC>砌下落梅如雪乱</HIC>」,双手飘然抓向$n",
|
||||
"$N双手平举,一招「<HIW>云破月来花弄影</HIW>」击向$n",
|
||||
"$N左手虚晃,右手一记「<MAG>红颜未老恩先绝</MAG>」击向$n的头部",
|
||||
"$N施出「<RED>虚妄笑红</RED>」,右手横扫$n的$l,左手攻向$n的胸口"
|
||||
];
|
||||
this.parry_actions = [
|
||||
"$n一招「<GRN>寒山一带伤心碧</GRN>」,双手纷飞,$N只觉眼花缭乱,无处下手",
|
||||
"$n一招「<BLK>吹梅笛怨</BLK>」,双手横挥,扫开$N",
|
||||
"$n施出「<YEL>玉石俱焚</YEL>」,不顾一切扑向$N,$P急忙收招防护",
|
||||
"$n一招「<WHT>花开堪折直须折</WHT>」,拿向$N的$W,$P一见急忙收招",
|
||||
|
||||
];
|
||||
this.desc = "逍遥派手法,三路掌法,三路擒拿,号称可化解天下招数武功";
|
||||
//"(\w+)"(.+?)"NOR"
|
||||
//<$1>$2</$1>
|
||||
this.can_enables = ["unarmed", "parry"];
|
||||
this.learn_condition = {
|
||||
max_mp: 1000,
|
||||
skill: {
|
||||
unarmed: 100,
|
||||
parry: 100
|
||||
}
|
||||
};
|
||||
this.query_enable_prop = function (lv) {
|
||||
return {
|
||||
unarmed: {
|
||||
gj: lv * 1 + 10,
|
||||
mz: lv + 20
|
||||
},
|
||||
parry: {
|
||||
zj: parseInt(lv * 1.3 + 20),
|
||||
dex: parseInt(lv / 8) + 1
|
||||
}
|
||||
};
|
||||
}
|
||||
this.pfm = {
|
||||
duo:
|
||||
{
|
||||
name: "空手入白刃",
|
||||
distime: 16000,
|
||||
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("对方没有兵刃,你不用担心。");
|
||||
if (target.attack_skill && target.attack_skill.id === 'dugujiujian4') {
|
||||
return me.send_room("<hic>$N使出空手入白刃的绝招, $n手中如无一物,让$P无从下手!\n</hic>", target);
|
||||
}
|
||||
if (lv + me.random(me.mz) > target.ds) {
|
||||
me.send_room("<hic>$N使出空手入白刃的绝招, $n顿时觉得眼前一花,手腕一麻,手中兵刃脱手而出!\n</hic>", target);
|
||||
target.unequip(weap, true, 10000);
|
||||
} else {
|
||||
me.send_room("<cyn>$N使出空手入白刃的绝招, 可是$n的看破了$N的企图,立刻采取守势,使$N没能夺下兵刃。</cyn>", target);
|
||||
}
|
||||
},
|
||||
query_desc: function (me, lv) {
|
||||
|
||||
return "卸下对方兵刃,技能等级越高成功率越高。";
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user