init: add workspace files
This commit is contained in:
59
world/npc/bj/ao/aobai.js
Normal file
59
world/npc/bj/ao/aobai.js
Normal file
@@ -0,0 +1,59 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "鳌拜",
|
||||
desc: "他就是满洲第一勇士,身穿一袭金边锦缎。他身材魁梧,相貌狰狞,太阳穴高高鼓起,似乎身怀绝世武功。",
|
||||
title: "满洲第一勇士",
|
||||
gender: 1,
|
||||
age: 50,
|
||||
per: 22,
|
||||
mp: 400,
|
||||
str: 30,
|
||||
max_mp: 1000,
|
||||
hp: 3000,
|
||||
max_hp: 3000,
|
||||
score: 30,
|
||||
prop: {
|
||||
gj: 100
|
||||
}
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv2/ao_jia", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 200],
|
||||
["feiyanzoubi", 200, "dodge"],
|
||||
["parry", 200],
|
||||
["force", 200],
|
||||
["unarmed", 200],
|
||||
["sword", 300],
|
||||
["blade", 300],
|
||||
["fuhuquan", 200, "unarmed"],
|
||||
["hunyuanyiqi", 200, "force"]);
|
||||
this.on_die = function () {
|
||||
this.send_message("\n鳌拜狂叫道:想不到我一世威名竟然毁于你手!\n鳌拜顿了一顿,叹道:唉,只可惜我的那么多宝贝啊!\n");
|
||||
}
|
||||
this.on_enter = function (me) {
|
||||
me.notify("鳌拜怒道:你敢不让我睡觉,老子宰了你 !");
|
||||
this.do_kill(me);
|
||||
}
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 15
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/mugun", "eq/lv0/jian", "sp/bj/laofangkey"],
|
||||
odds: 8000
|
||||
},
|
||||
{
|
||||
obj: ["book/bc#hunyuanyiqi", "book/bc#feiyanzoubi", "book/bc#fuhuquan"],
|
||||
odds: 5000
|
||||
}, {
|
||||
obj: ["eq/lv2/ao_jia", "eq/lv2/ao_bishou"],
|
||||
odds: 1000
|
||||
}, {
|
||||
obj: "sp/npc#aobai",
|
||||
odds: 30
|
||||
}, {
|
||||
obj: "sp/fb/tiao",
|
||||
odds: 1000
|
||||
});
|
||||
20
world/npc/bj/ao/chushi.js
Normal file
20
world/npc/bj/ao/chushi.js
Normal file
@@ -0,0 +1,20 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "厨师",
|
||||
desc: "他原是归安县的知县,因贪赃枉法,百姓恨之切齿,终被告发革职。他长得尖嘴猴腮,一看就知不是好人 。",
|
||||
gender: 1,
|
||||
age: 45,
|
||||
per: 19,
|
||||
mp: 100,
|
||||
max_mp: 200,
|
||||
hp: 200,
|
||||
max_hp: 200,
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 100],
|
||||
["parry", 100],
|
||||
["force", 100],
|
||||
["unarmed", 100]);
|
||||
34
world/npc/bj/ao/guanjia.js
Normal file
34
world/npc/bj/ao/guanjia.js
Normal file
@@ -0,0 +1,34 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "女管家",
|
||||
desc: "她是鳌拜府上的管家,精明干练",
|
||||
gender: 2,
|
||||
age: 44,
|
||||
per: 34,
|
||||
mp: 100,
|
||||
max_mp: 100,
|
||||
hp: 400,
|
||||
max_hp: 400,
|
||||
score: 10
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 100],
|
||||
["parry", 100],
|
||||
["force", 100],
|
||||
["unarmed", 100]);
|
||||
|
||||
this.on_kill = function (me) {
|
||||
this.send_room("$N喊道:还愣着干嘛,快给我上!", me);
|
||||
this.each_item(item => {
|
||||
if ( item.path == "bj/ao/jiading") {
|
||||
item.do_kill(me);
|
||||
}
|
||||
}, this.environment);
|
||||
}
|
||||
this.on_leave = function (me, dir) {
|
||||
if (dir == "south" || dir == "north")
|
||||
return me.notify_fail("女官家挡住了你。");
|
||||
}
|
||||
37
world/npc/bj/ao/jiading.js
Normal file
37
world/npc/bj/ao/jiading.js
Normal file
@@ -0,0 +1,37 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "家将",
|
||||
desc: "鳌拜府上的家将,看上去有两下子",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: 15,
|
||||
mp: 100,
|
||||
max_mp: 500,
|
||||
hp: 500,
|
||||
max_hp: 500,
|
||||
score: 10
|
||||
});
|
||||
this.skill_map(
|
||||
["club", 150],
|
||||
["dodge", 150],
|
||||
["sword", 150],
|
||||
["parry", 150],
|
||||
["juemengun", 150,["club","dodge"]]);
|
||||
this.set_objects(
|
||||
["eq/lv1/guanfu", 1, 1],
|
||||
["eq/lv0/tiegun", 1, 1]
|
||||
);
|
||||
this.set_drop({
|
||||
obj: "money/coin",
|
||||
min: 10,
|
||||
max: 30
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/tiegun", "eq/lv0/shoes"],
|
||||
odds: 3000
|
||||
}, {
|
||||
obj: ["eq/lv0/jd_cloth", "eq/lv0/jd_shoes", "eq/lv1/guanfu"],
|
||||
odds: 3000
|
||||
}, {
|
||||
obj: ["book/bc#juemengun"],
|
||||
odds: 3000
|
||||
});
|
||||
36
world/npc/bj/ao/wu.js
Normal file
36
world/npc/bj/ao/wu.js
Normal file
@@ -0,0 +1,36 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "吴之荣",
|
||||
desc: "他原是归安县的知县,因贪赃枉法,百姓恨之切齿,终被告发革职。他长得尖嘴猴腮,一看就知不是好人 。",
|
||||
gender: 1,
|
||||
age: 44,
|
||||
per: 12,
|
||||
mp: 100,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400,
|
||||
score: 10
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 100],
|
||||
["parry", 100],
|
||||
["force", 100],
|
||||
["unarmed", 100]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 15
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["sp/bj/wu"],
|
||||
odds: 1000
|
||||
});
|
||||
this.on_die = function (killer) {
|
||||
killer.set_temp("fb/ao/wu", 1);
|
||||
}
|
||||
52
world/npc/bj/ao/zhuangyu.js
Normal file
52
world/npc/bj/ao/zhuangyu.js
Normal file
@@ -0,0 +1,52 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "庄允城",
|
||||
desc: "这是个饱读诗书,却手无搏鸡之力的书生。因编辑‘明史辑略’,被吴之荣告发,全家逮入京中。",
|
||||
gender: 1,
|
||||
age: 40,
|
||||
per: 33,
|
||||
mp: 100,
|
||||
max_mp: 100,
|
||||
hp: 10,
|
||||
max_hp: 100
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
]);
|
||||
this.set_chat_msg([
|
||||
"庄允城说道:只怪我当初好心,在书中夹了金叶送与他,谁想这狼心狗肺的家伙竟然就去告发了我。唉...",
|
||||
"庄允城说道:谁要把吴之荣抓到庄府就好了。",
|
||||
"庄允城叹了口气说道:谁要救了我,我一定把我知道的都告诉他。"
|
||||
]);
|
||||
this.set_ask("明史辑略", function (me) {
|
||||
|
||||
me.notify("庄允城叹了口气说道:谁能想到这本书惹来这么大的祸。");
|
||||
|
||||
});
|
||||
this.set_ask("密室", function (me) {
|
||||
|
||||
me.notify("庄允城说道:我曾见过鳌拜进密室,把书房的画卷移动一下就行了。");
|
||||
|
||||
});
|
||||
this.set_ask("吴之荣", function (me) {
|
||||
|
||||
me.notify("庄允城说道:只怪我当初好心,在书中夹了金叶送与他,谁想这狼心狗肺的家伙竟然就去告发了我。唉...");
|
||||
if (me.query_temp("fb/ao/wu")) {
|
||||
var obj = OBJ.create_by_odds([
|
||||
{
|
||||
obj: ["sp/bj/jing#5", "sp/bj/jing#6", "sp/bj/jing#7", "sp/bj/jing#8"]
|
||||
}
|
||||
])[0];
|
||||
me.remove_temp("fb/ao/wu");
|
||||
obj = me.add_obj(obj);
|
||||
if (obj) {
|
||||
me.notify("顿了顿,庄允城对你说道:多谢这位" + me.call() + "替我报了大仇,这里有一本鳌拜不小心丢在这里的经书就送给你了。");
|
||||
me.notify("庄允城给了你" + obj.unit_name(1) + "。");
|
||||
|
||||
}
|
||||
} else {
|
||||
me.notify("顿了顿,庄允城叹了口气说道:替我把吴之荣这厮杀掉吧,我不行了。");
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
45
world/npc/bj/guanwai/asi.js
Normal file
45
world/npc/bj/guanwai/asi.js
Normal file
@@ -0,0 +1,45 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "平四",
|
||||
desc: "他是胡家忠心耿耿的仆役。",
|
||||
title: "胡家仆佣",
|
||||
gender: 1,
|
||||
age: 45,
|
||||
per: 26,
|
||||
mp: 1400,
|
||||
max_mp: 4400,
|
||||
hp: 5500,
|
||||
max_hp: 5500
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/dao", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 300],
|
||||
["parry", 300],
|
||||
["force", 300],
|
||||
["unarmed", 300],
|
||||
["blade", 300],
|
||||
["sixiangbu", 300, "dodge"],
|
||||
["hujiadaofa", 300, "blade"],
|
||||
["lengyueshengong", 300, "force"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 20
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["book/bc#hujiadaofa", "book/bc#sixiangbu", "book/bc#lengyueshengong"],
|
||||
odds: 3000
|
||||
});
|
||||
this.on_leave = function (me, dir) {
|
||||
if (dir == "north") {
|
||||
me.notify("平四拦住你恭敬的说道:" + me.call() + ",有什么事情吗?");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
38
world/npc/bj/guanwai/chuanfu.js
Normal file
38
world/npc/bj/guanwai/chuanfu.js
Normal file
@@ -0,0 +1,38 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "船夫",
|
||||
desc: "这是一个松花江上的船夫。饱经风霜的脸上透出东北人的豪爽。",
|
||||
gender: 1,
|
||||
age: 45,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 500,
|
||||
max_hp: 500
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
]);
|
||||
this.set_drop({
|
||||
obj: "sp/tool/diao#1",
|
||||
odds:500
|
||||
}, {
|
||||
obj: "sp/tool/diao#2",
|
||||
odds: 50
|
||||
});
|
||||
this.on_leave = function (me, dir) {
|
||||
if (dir == "east" || dir == "west") {
|
||||
me.notify("船夫对你说道:坐船到江对面1两黄金。");
|
||||
me.set_temp("fb/guanwai/jiang", dir);
|
||||
me.send_commands("give " + this.id + " 10000 money", "交钱坐船");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
this.on_accept = function (me, obj, count) {
|
||||
if (obj == "money" && count == 10000) {
|
||||
if (me.moveto("bj/guanwai/jiang") != false) {
|
||||
me.send_room("船夫和$N上了船,一声「起锚」船就张帆离岸了......");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
25
world/npc/bj/guanwai/diao.js
Normal file
25
world/npc/bj/guanwai/diao.js
Normal file
@@ -0,0 +1,25 @@
|
||||
this.inherits(MONSTER);
|
||||
this.set({
|
||||
name: "金雕",
|
||||
desc: "一只大金雕,正立在树枝上仰视长天。",
|
||||
gender: 1,
|
||||
mp: 100,
|
||||
max_mp: 100,
|
||||
hp: 4500,
|
||||
max_hp: 4500,
|
||||
score: 10
|
||||
});
|
||||
|
||||
this.skill_map(
|
||||
["bite", 200],
|
||||
["bite2", 200, "bite"]);
|
||||
//drop path,min,max,per
|
||||
this.set_drop({
|
||||
obj: "res/pimao2",
|
||||
min: 1,
|
||||
max: 4
|
||||
});
|
||||
this.on_enter = function (me) {
|
||||
me.notify("一只迅猛的金雕朝你俯冲过来。");
|
||||
this.do_kill(me);
|
||||
}
|
||||
24
world/npc/bj/guanwai/hu.js
Normal file
24
world/npc/bj/guanwai/hu.js
Normal file
@@ -0,0 +1,24 @@
|
||||
this.inherits(MONSTER);
|
||||
this.set({
|
||||
name: "东北虎",
|
||||
desc:"一只矫捷的斑斓猛虎,形体巨大,状极威猛,雄伟极了",
|
||||
gender: 1,
|
||||
mp: 100,
|
||||
max_mp: 100,
|
||||
hp: 6500,
|
||||
max_hp: 6500,
|
||||
score: 10
|
||||
});
|
||||
this.skill_map(
|
||||
["bite", 270],
|
||||
["bite2", 270,"bite"]);
|
||||
//drop path,min,max,per
|
||||
this.set_drop({
|
||||
obj: "res/pimao2",
|
||||
min: 1,
|
||||
max: 4
|
||||
});
|
||||
this.on_enter = function(me) {
|
||||
me.notify("一只凶猛的东北虎朝你扑了过来。");
|
||||
this.do_kill(me);
|
||||
}
|
||||
81
world/npc/bj/guanwai/hufei.js
Normal file
81
world/npc/bj/guanwai/hufei.js
Normal file
@@ -0,0 +1,81 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "胡斐",
|
||||
desc: "他就是胡一刀之子胡斐,因其武功高强神出鬼没。在江湖上人送外号「雪山飞狐」。他身穿一件白色长衫,腰间别着一把看起来很旧的刀。 ",
|
||||
title: "雪山飞狐",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: 26,
|
||||
mp: 9500,
|
||||
max_mp: 9500,
|
||||
hp: 13500,
|
||||
max_hp: 18500,
|
||||
prop: {
|
||||
gj: 600,
|
||||
mz: 800,
|
||||
ds: 800,
|
||||
fy: 900
|
||||
}
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/dao", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 400],
|
||||
["parry", 400],
|
||||
["force", 400],
|
||||
["unarmed", 400],
|
||||
["staff", 300],
|
||||
["blade", 400],
|
||||
["throwing", 400],
|
||||
["sixiangbu", 400, "dodge"],
|
||||
["hujiadaofa", 400, "blade"],
|
||||
["lengyueshengong", 400, "force"],
|
||||
["mantianxing", 400, "throwing"]);
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 30
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian"],
|
||||
odds: 8000
|
||||
});
|
||||
this.on_accept = function (me, obj, count) {
|
||||
if (!obj || !obj.path) return;
|
||||
if (obj.is("sp/bj/yanji")) {
|
||||
me.notify("\n<HIC>胡斐大喜道:狗贼!想不到你也有今天!!手起刀落,将阎基的头颅剁为两段。</hic>");
|
||||
me.notify("<HIC>胡斐说道:这位" + me.call() + ",如此大恩大德,在下实不知何以为报。</hic>");
|
||||
me.set_temp("fb/guanwai/hu", 1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
this.set_ask("阎基", function (me) {
|
||||
var obj = me.find_obj_bypath("sp/bj/yanji");
|
||||
if (obj) {
|
||||
me.notify("胡斐说道:阎基是我的杀父仇人,如果你把他杀掉,在下必有重谢。");
|
||||
me.send_commands("give " + this.id + " " + obj.id, "把阎基的头颅给胡斐");
|
||||
} else {
|
||||
me.notify("胡斐说道:阎基是我的杀父仇人。");
|
||||
}
|
||||
});
|
||||
this.set_ask("闯王宝刀", function (me) {
|
||||
|
||||
if (me.query_temp("fb/guanwai/hu")) {
|
||||
me.notify("胡斐说道:这把宝刀是我家祖上当闯王护卫时候,闯王亲手赐予的,其中隐藏着关于闯王宝藏的秘密。");
|
||||
} else {
|
||||
me.notify("胡斐说道:这把宝刀是我家祖上当闯王护卫时候,被闯王亲手赐予的。");
|
||||
}
|
||||
});
|
||||
this.set_ask("胡家刀谱", function (me) {
|
||||
|
||||
if (me.query_temp("fb/guanwai/hu") == 1) {
|
||||
me.notify("胡斐说道:既然" + me.call() + "有兴趣,这几份残篇就给你参悟吧。");
|
||||
var obj = me.add_obj("book/bc#hujiadaofa");
|
||||
if (obj) me.notify("胡斐给你一" + obj.unit + obj.color_name + "。");
|
||||
me.set_temp("fb/guanwai/hu", 2);
|
||||
} else {
|
||||
me.notify("胡斐说道:胡家刀法是我祖上飞天狐狸所创,可惜刀谱丢了几页。");
|
||||
}
|
||||
});
|
||||
35
world/npc/bj/guanwai/xiong.js
Normal file
35
world/npc/bj/guanwai/xiong.js
Normal file
@@ -0,0 +1,35 @@
|
||||
this.inherits(MONSTER);
|
||||
this.set({
|
||||
name: "<blk>黑熊</blk>",
|
||||
desc: "一只凶猛的黑熊,形体硕大,人立而行。",
|
||||
gender: 1,
|
||||
mp: 100,
|
||||
max_mp: 9000,
|
||||
hp:18500,
|
||||
max_hp: 18500,
|
||||
score: 20,
|
||||
prop: {
|
||||
gj: 300,
|
||||
mz: 400,
|
||||
ds: 600,
|
||||
fy: 900
|
||||
}
|
||||
});
|
||||
this.skill_map(
|
||||
["bite", 400],
|
||||
["bite2", 400, "bite"]);
|
||||
//drop path,min,max,per
|
||||
this.set_drop({
|
||||
obj: "res/pimao2",
|
||||
min: 1,
|
||||
max: 4
|
||||
}, {
|
||||
obj: "st/xuanjing"
|
||||
}, {
|
||||
obj: "drug/xiongdan",
|
||||
odds:1000
|
||||
});
|
||||
this.on_enter = function(me) {
|
||||
me.notify("一只凶猛的黑熊朝你扑了过来。");
|
||||
this.do_kill(me);
|
||||
}
|
||||
47
world/npc/bj/guanwai/yanji.js
Normal file
47
world/npc/bj/guanwai/yanji.js
Normal file
@@ -0,0 +1,47 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "阎基",
|
||||
desc: "他是一个没落江湖医生。自从得了胡家刀谱几页残篇后,武功大进。",
|
||||
title:"江湖医生",
|
||||
gender: 1,
|
||||
age: 45,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
max_mp: 4000,
|
||||
hp: 12500,
|
||||
max_hp: 15500,
|
||||
score: 20,
|
||||
prop: {
|
||||
gj: 500,
|
||||
mz: 600,
|
||||
ds: 600,
|
||||
fy: 900
|
||||
}
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/dao", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 500],
|
||||
["parry", 400],
|
||||
["force", 400],
|
||||
["unarmed", 400],
|
||||
["parry", 300],
|
||||
["blade", 400],
|
||||
["sixiangbu", 400, "dodge"],
|
||||
["hujiadaofa", 400, "blade"],
|
||||
["lengyueshengong", 400, "force"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 30
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["book/bc#hujiadaofa", "sp/bj/yanji"],
|
||||
odds: 3000
|
||||
});
|
||||
134
world/npc/bj/lm/heilong.js
Normal file
134
world/npc/bj/lm/heilong.js
Normal file
@@ -0,0 +1,134 @@
|
||||
this.inherits(MONSTER);
|
||||
|
||||
|
||||
this.name = "黑龙";
|
||||
this.desc = "它被玄铁锁链捆在盘龙柱上,鳞甲黯淡,挣扎时锁链摩擦作响,发出低哑悲鸣";
|
||||
this.gender = 0;
|
||||
|
||||
this.age = 200;
|
||||
this.per = 20;
|
||||
|
||||
this.mp = 500000;
|
||||
this.max_mp = 500000;
|
||||
this.hp = 55000;
|
||||
this.max_hp = 5000000;
|
||||
this.score = 29;
|
||||
this.prop = {
|
||||
gj: 4900,
|
||||
mz: 4900,
|
||||
ds: 1900,
|
||||
fy: 4900,
|
||||
zj: 1900
|
||||
};
|
||||
this.on_create = function () {
|
||||
this.hp = 55000;
|
||||
}
|
||||
this.set_drop({
|
||||
obj: "st/xuanjing",
|
||||
min: 1,
|
||||
max: 10
|
||||
}, {
|
||||
obj: ['eq/lv2/lm_jian', 'sp/bj/zhu', 'book/bc#qinlong'],
|
||||
odds: 300
|
||||
});
|
||||
this.skill_map(
|
||||
["dodge", 380],
|
||||
["parry", 380],
|
||||
["force", 380],
|
||||
["bite", 380],
|
||||
["heilong", 380, ["bite", "dodge", "parry"]]);
|
||||
this.on_kill = function (me) {
|
||||
if (this.is_free) return false;
|
||||
if (!this.fight_type) {
|
||||
this.environment.set_temp(me, 'kill_hl', 1);
|
||||
me.send(this.name + "轻蔑道:找死!\n");
|
||||
this.do_kill(me);
|
||||
}
|
||||
}
|
||||
|
||||
this.is_free = false;
|
||||
this.fight_time = 0;
|
||||
this.heart_beat = function (dt) {
|
||||
if (this.fight_type > 0) {
|
||||
this.fight_time++;
|
||||
if (this.fight_time > 60) {
|
||||
this.destroy("\n<yel>" + this.name + "身躯腾空而起,随即遁入深潭。</yel>");
|
||||
}
|
||||
} else {
|
||||
this.mp = this.max_mp;
|
||||
this.hp = this.is_free ? 5000000 : 55000;
|
||||
}
|
||||
}
|
||||
|
||||
this.on_enter = function (me) {
|
||||
let room = this.environment;
|
||||
if (room.query_temp(me, 'kill_hl')) {
|
||||
this.do_kill(me);
|
||||
} else {
|
||||
me.send(this.name + '虚弱的抬起脑袋看着你:人类,你想做什么?');
|
||||
me.send_commands('kill ' + this.id, '击杀它', 'free ' + this.id, '放了它');
|
||||
}
|
||||
}
|
||||
this.add_action('free', '放了它', function (me) {
|
||||
me.send(this.name + '挣扎双翼连接的锁链哗啦作响:狡猾的人类,又想骗我什么?这根柱子灵纹封印,单靠蛮力无法破坏。');
|
||||
|
||||
});
|
||||
|
||||
this.on_free = function (me) {
|
||||
this.is_free = true;
|
||||
this.send_room('$N猛地昂起头颅,修长的龙身顺着石柱盘旋,玄铁锁链在龙爪的撕扯接连崩裂。');
|
||||
|
||||
me.add_fbscore(100);
|
||||
this.call_out(this.to_next, 3000, me);
|
||||
|
||||
}
|
||||
this.to_next = function (me) {
|
||||
this.full();
|
||||
this.send_room('$N身躯如墨色闪电般绷直,借反冲之力腾空而起,修长的身躯在空中蜿蜒盘旋,低沉的龙吟响彻锁龙井。');
|
||||
|
||||
this.call_out(this.to_next2, 3000, me);
|
||||
}
|
||||
this.to_next2 = function (me) {
|
||||
if (!this.is_here(me))
|
||||
return this.destroy(this.name + '飞走了。');
|
||||
this.send_room('$N悬在半空低头审视着$n,最终什么也没说,庞大身躯骤然腾空,转瞬间便消失在锁龙井深处。', me);
|
||||
this.send_room('布满裂痕的柱体在巨力撕扯下迸出蛛网般的碎纹,"咔嚓" 声中裂成无数碎石裂片,混着玄铁锁链的残片砸落满地,扬起的烟尘里再无半分龙脉气息。', me);
|
||||
this.destroy();
|
||||
|
||||
let items = me.team || [me];
|
||||
let index = me.environment.parent.fb_index;
|
||||
const eqs = ['eq/lv2/lm_cloth',
|
||||
'eq/lv2/lm_tou',
|
||||
'eq/lv2/lm_shoes',
|
||||
'eq/lv2/lm_pifeng',
|
||||
'eq/lv2/lm_pei'];
|
||||
for (let item of items) {
|
||||
if (item.environment !== me.environment)
|
||||
continue;
|
||||
if (!item.is_player) continue;
|
||||
if (!item.query_temp('fb_sao' + index, 0)) {
|
||||
item.notify("你释放了被锁禁的黑龙,获得称号【黑龙使】。");
|
||||
item.add_title('黑龙使', 'lm');
|
||||
item.notify("<hic>单人(普通)模式扫荡解锁。</hic>");
|
||||
item.set_temp("fb_sao" + index, 1);
|
||||
let obj = item.add_obj(eqs.random());
|
||||
if (obj) {
|
||||
item.send('你从碎裂的锁龙柱下找到' + obj.unit_name(1) + "。");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!WORLD.DATA.query_temp('longmai')) {
|
||||
WORLD.DATA.set_temp('longmai', 1, UTIL.diff_time(20));
|
||||
WORLD.DATA.set_temp("study_per", 50, 3600000 * 2);
|
||||
COMMAND.DO("rumor",
|
||||
"听说" + me.name + "解锁了龙脉,所有人的学习效率增加了。");
|
||||
EVENTS.add({
|
||||
id: "longmai",
|
||||
name: "龙脉解锁",
|
||||
desc: me.name + '解锁了龙脉,接下来的两小时所有人的学习效率+50%。',
|
||||
time: Date.now() + 3600000 * 2,
|
||||
grade: 1
|
||||
});
|
||||
}
|
||||
}
|
||||
40
world/npc/bj/lm/xiezi.js
Normal file
40
world/npc/bj/lm/xiezi.js
Normal file
@@ -0,0 +1,40 @@
|
||||
this.inherits(MONSTER);
|
||||
this.name = "石甲蝎";
|
||||
this.desc = "通体青黑如岩石,甲壳上布满尖刺,尾钩泛着幽蓝毒光。";
|
||||
this.gender = 0;
|
||||
|
||||
this.age = 200;
|
||||
this.per = 20;
|
||||
|
||||
this.mp = 5000;
|
||||
this.max_mp = 5000;
|
||||
this.hp = 14000;
|
||||
this.max_hp = 14000;
|
||||
this.score = 10;
|
||||
this.prop = {
|
||||
gj: 900,
|
||||
mz: 1100,
|
||||
ds: 900,
|
||||
fy: 900,
|
||||
zj: 900,
|
||||
gjsd: 2000
|
||||
};
|
||||
|
||||
this.skill_map(
|
||||
["dodge", 200],
|
||||
["parry", 250],
|
||||
["force", 300],
|
||||
["bite", 300],
|
||||
["xiezigongji", 280, "bite"]);
|
||||
this.set_drop({
|
||||
obj: "st/xuanjing",
|
||||
min: 1,
|
||||
max: 3
|
||||
});
|
||||
|
||||
|
||||
this.on_enter = function (me) {
|
||||
if (me.is_player && !this.fight_type) {
|
||||
this.do_kill(me);
|
||||
}
|
||||
}
|
||||
41
world/npc/bj/lm/yongwei.js
Normal file
41
world/npc/bj/lm/yongwei.js
Normal file
@@ -0,0 +1,41 @@
|
||||
this.inherits(NPC);
|
||||
this.name = "披甲俑卫";
|
||||
this.desc = "身着残破铁甲,头盔遮住大半面容,仅露一双空洞眼窝。手持锈迹斑斑的长刀。";
|
||||
this.gender = 1;
|
||||
|
||||
this.age = 200;
|
||||
this.per = 20;
|
||||
|
||||
this.mp = 5000;
|
||||
this.max_mp = 5000;
|
||||
this.hp = 22000;
|
||||
this.max_hp = 22000;
|
||||
|
||||
this.score = 20;
|
||||
this.prop = {
|
||||
gj: 1000,
|
||||
mz: 1500,
|
||||
fy: 2000,
|
||||
ds: 1000,
|
||||
zj: 1000,
|
||||
gjsd: 1500
|
||||
};
|
||||
this.skill_map(
|
||||
["dodge", 200],
|
||||
["parry", 250],
|
||||
["unarmed", 300],
|
||||
["force", 300],
|
||||
["daidaokuilei", 380,
|
||||
["unarmed", "parry", "force", "dodge"]]);
|
||||
this.set_drop({
|
||||
obj: "st/xuanjing",
|
||||
min: 1,
|
||||
max: 3
|
||||
}, {
|
||||
obj: ['eq/lv2/lm_cloth',
|
||||
'eq/lv2/lm_tou',
|
||||
'eq/lv2/lm_shoes',
|
||||
'eq/lv2/lm_pifeng',
|
||||
'eq/lv2/lm_pei'],
|
||||
odds: 500
|
||||
});
|
||||
47
world/npc/bj/shenlong/dizi.js
Normal file
47
world/npc/bj/shenlong/dizi.js
Normal file
@@ -0,0 +1,47 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "神龙教弟子",
|
||||
desc: "这是一个神龙教弟子,一袭黑衣,混身透着一股邪气。",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 1500,
|
||||
max_hp: 1500,
|
||||
score: 1
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/jian", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 150],
|
||||
["parry", 150],
|
||||
["force", 150],
|
||||
["unarmed", 150],
|
||||
["sword", 150],
|
||||
["staff", 150],
|
||||
["shenlongjian", 150, "sword"],
|
||||
["yixingbufa", 150, "dodge"],
|
||||
["shenlongxinfa", 150, "force"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 15
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian", "eq/lv0/tiezhang"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["book/bc#shenlongxinfa", "book/bc#yixingbufa", "book/bc#shenlongjian"],
|
||||
odds: 3000
|
||||
});
|
||||
this.set_chat_msg([
|
||||
"年轻弟子忽然高声叫道:教主宝训,时刻在心,建功克敌,无事不成!",
|
||||
"年轻弟子忽然齐声叫道:众志齐心可成城,威震天下无比伦!",
|
||||
"年轻弟子忽然齐声叫道:神龙飞天齐仰望,教主声威盖八方!",
|
||||
"年轻弟子忽然齐声叫道:乘风破浪逞英豪,教主如同日月光!",
|
||||
"年轻弟子齐声叫道:教主永享仙福,寿与天齐!"
|
||||
]);
|
||||
23
world/npc/bj/shenlong/dushe.js
Normal file
23
world/npc/bj/shenlong/dushe.js
Normal file
@@ -0,0 +1,23 @@
|
||||
this.inherits(MONSTER);
|
||||
this.set({
|
||||
name: "毒蛇",
|
||||
desc: "一只昂首挺胸,吐着信子的毒蛇正盯着你。",
|
||||
gender: 1,
|
||||
mp: 180,
|
||||
max_mp: 180,
|
||||
hp: 380,
|
||||
max_hp: 380,
|
||||
score: 5
|
||||
});
|
||||
this.skill_map(
|
||||
["bite", 200],
|
||||
["dushegongji", 200,"bite"]);
|
||||
//drop path,min,max,per
|
||||
this.set_drop({
|
||||
obj: "res/pimao1",
|
||||
min: 1,
|
||||
max: 4
|
||||
});
|
||||
this.on_enter = function (me) {
|
||||
this.do_kill(me);
|
||||
}
|
||||
58
world/npc/bj/shenlong/hong.js
Normal file
58
world/npc/bj/shenlong/hong.js
Normal file
@@ -0,0 +1,58 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "洪安通",
|
||||
desc: "他就是武功盖世、令江湖人等谈之色变的神龙教教主洪安通。",
|
||||
title: "神龙教教主",
|
||||
gender: 1,
|
||||
age: 50,
|
||||
per: 26,
|
||||
mp: 1400,
|
||||
max_mp: 7400,
|
||||
hp: 10500,
|
||||
max_hp: 10500,
|
||||
pfm_rate: 1,
|
||||
score: 40,
|
||||
prop: {
|
||||
zj: -300,
|
||||
gj: 400
|
||||
}
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv2/sl_zhang", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 350],
|
||||
["parry", 350],
|
||||
["force", 350],
|
||||
["unarmed", 350],
|
||||
["sword", 350],
|
||||
["staff", 350],
|
||||
["huagumianzhang", 450],
|
||||
["yixingbufa", 350, "dodge"],
|
||||
["shenlongxinfa", 350, "force"],
|
||||
["shedaoqigong", 350, ["parry", "staff"]]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 1,
|
||||
max: 5
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian", "eq/lv0/tiezhang"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["eq/lv2/sl_cloth", "eq/lv2/sl_tou", "eq/lv2/sl_shoes", "eq/lv2/sl_shou", "eq/lv2/sl_yao", "eq/lv2/sl_zhang", "eq/lv2/sl_ling"],
|
||||
odds: 3000
|
||||
}, {
|
||||
obj: ["book/bc#shenlongxinfa", "book/bc#yixingbufa", "book/bc#shedaoqigong", "book/bc#shenlongjian", "book/bc#huagumianzhang"],
|
||||
odds: 5000
|
||||
});
|
||||
this.on_kill = function (me) {
|
||||
this.send_room("洪安通喝到:来我们神龙教撒野?给我上!");
|
||||
this.each_item(item => {
|
||||
if (!item.is_player && item.hp > 0 && !item.master) {
|
||||
item.do_kill(me);
|
||||
}
|
||||
}, this.environment);
|
||||
}
|
||||
50
world/npc/bj/shenlong/lu.js
Normal file
50
world/npc/bj/shenlong/lu.js
Normal file
@@ -0,0 +1,50 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "陆高轩",
|
||||
desc: "他天庭饱满,地阔方圆,容貌颇为英俊.然而满面愁容,恰似顷刻间便有杀身之祸一般.",
|
||||
title: "神龙教军师",
|
||||
gender: 1,
|
||||
age: 37,
|
||||
per: 26,
|
||||
mp: 1400,
|
||||
max_mp: 4400,
|
||||
hp: 8500,
|
||||
max_hp: 8500,
|
||||
score: 10,
|
||||
prop: {
|
||||
zj: 100,
|
||||
gj: 300
|
||||
}
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/jian", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 250],
|
||||
["parry", 250],
|
||||
["force", 250],
|
||||
["unarmed", 250],
|
||||
["sword", 250],
|
||||
["staff", 250],
|
||||
["huagumianzhang", 250, "unarmed"],
|
||||
["shenlongjian", 250, "sword"],
|
||||
["yixingbufa", 250, "dodge"],
|
||||
["shenlongxinfa", 250, "force"],
|
||||
["shedaoqigong", 250, "parry"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 1,
|
||||
max: 5
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian", "eq/lv0/tiezhang"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["eq/lv2/sl_cloth", "eq/lv2/sl_tou", "eq/lv2/sl_shoes", "eq/lv2/sl_shou", "eq/lv2/sl_yao"],
|
||||
odds: 2000
|
||||
}, {
|
||||
obj: ["book/bc#shenlongxinfa", "book/bc#yixingbufa", "book/bc#shedaoqigong", "book/bc#shenlongjian", "book/bc#huagumianzhang"],
|
||||
odds: 5000
|
||||
});
|
||||
47
world/npc/bj/shenlong/nvdizi.js
Normal file
47
world/npc/bj/shenlong/nvdizi.js
Normal file
@@ -0,0 +1,47 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "神龙教女弟子",
|
||||
desc: "这是一个神龙教女弟子,一袭红衣,长得颇为可爱。",
|
||||
gender: 2,
|
||||
age: 25,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 1500,
|
||||
max_hp: 1500,
|
||||
score: 1
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/jian", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 150],
|
||||
["parry", 150],
|
||||
["force", 150],
|
||||
["unarmed", 150],
|
||||
["sword", 150],
|
||||
["staff", 150],
|
||||
["shenlongjian", 150, "sword"],
|
||||
["yixingbufa", 150, "dodge"],
|
||||
["shenlongxinfa", 150, "force"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 1,
|
||||
max: 5
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian", "eq/lv0/tiezhang"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["book/bc#shenlongxinfa", "book/bc#yixingbufa", "book/bc#shenlongjian"],
|
||||
odds: 3000
|
||||
});
|
||||
this.set_chat_msg([
|
||||
"年轻弟子忽然高声叫道:教主宝训,时刻在心,建功克敌,无事不成!",
|
||||
"年轻弟子忽然齐声叫道:众志齐心可成城,威震天下无比伦!",
|
||||
"年轻弟子忽然齐声叫道:神龙飞天齐仰望,教主声威盖八方!",
|
||||
"年轻弟子忽然齐声叫道:乘风破浪逞英豪,教主如同日月光!",
|
||||
"年轻弟子齐声叫道:教主永享仙福,寿与天齐!"
|
||||
]);
|
||||
58
world/npc/bj/shenlong/wugen.js
Normal file
58
world/npc/bj/shenlong/wugen.js
Normal file
@@ -0,0 +1,58 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "无根道长",
|
||||
desc: "这是个五十来岁的黑须道长,相貌威武,眼中略带杀气。",
|
||||
title: "神龙教赤龙使",
|
||||
gender: 1,
|
||||
age: 55,
|
||||
per: 26,
|
||||
mp: 1400,
|
||||
max_mp: 4400,
|
||||
hp: 8500,
|
||||
max_hp: 8500,
|
||||
score: 10,
|
||||
prop: {
|
||||
zj: 100,
|
||||
gj: 300
|
||||
}
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/jian", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 250],
|
||||
["parry", 250],
|
||||
["force", 250],
|
||||
["unarmed", 250],
|
||||
["sword", 250],
|
||||
["staff", 250],
|
||||
["huagumianzhang", 250, "unarmed"],
|
||||
["shenlongjian", 250, "sword"],
|
||||
["yixingbufa", 250, "dodge"],
|
||||
["shenlongxinfa", 250, "force"],
|
||||
["shedaoqigong", 250, "parry"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 20
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian", "eq/lv0/tiezhang"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["eq/lv2/sl_cloth", "eq/lv2/sl_tou", "eq/lv2/sl_shoes", "eq/lv2/sl_shou", "eq/lv2/sl_yao"],
|
||||
odds: 2000
|
||||
}, {
|
||||
obj: ["book/bc#shenlongxinfa", "book/bc#yixingbufa", "book/bc#shedaoqigong", "book/bc#shenlongjian", "book/bc#huagumianzhang"],
|
||||
odds: 5000
|
||||
});
|
||||
this.on_kill = function (me) {
|
||||
this.send_room("洪安通喝到:来我们神龙教撒野?给我上!");
|
||||
this.each_item(item => {
|
||||
if (!item.is_player && item.hp > 0 && !item.master) {
|
||||
item.do_kill(me);
|
||||
}
|
||||
}, this.environment);
|
||||
}
|
||||
55
world/npc/bj/shenlong/xu.js
Normal file
55
world/npc/bj/shenlong/xu.js
Normal file
@@ -0,0 +1,55 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "许雪亭",
|
||||
desc: "这是个五十来岁的高瘦汉子,着一袭青衣,昂然挺立。",
|
||||
title: "神龙教青龙使",
|
||||
gender: 1,
|
||||
age: 55,
|
||||
per: 26,
|
||||
mp: 1400,
|
||||
max_mp: 4400,
|
||||
hp: 8500,
|
||||
max_hp: 8500,
|
||||
score: 10,
|
||||
prop: {
|
||||
zj: 100,
|
||||
gj: 300
|
||||
}
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/jian", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 250],
|
||||
["parry", 250],
|
||||
["force", 250],
|
||||
["unarmed", 250],
|
||||
["sword", 250],
|
||||
["staff", 250],
|
||||
["huagumianzhang", 250, "unarmed"],
|
||||
["shenlongjian", 250, "sword"],
|
||||
["yixingbufa", 250, "dodge"],
|
||||
["shenlongxinfa", 250, "force"],
|
||||
["shedaoqigong", 250, "parry"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 20
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian", "eq/lv0/tiezhang"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["eq/lv2/sl_cloth", "eq/lv2/sl_tou", "eq/lv2/sl_shoes", "eq/lv2/sl_shou", "eq/lv2/sl_yao"],
|
||||
odds: 2000
|
||||
}, {
|
||||
obj: ["book/bc#shenlongxinfa", "book/bc#yixingbufa", "book/bc#shedaoqigong", "book/bc#shenlongjian"],
|
||||
odds: 5000
|
||||
});
|
||||
this.set_chat_msg([
|
||||
"许雪亭忽然一怕脑袋,说:对了,可以用百花腹蛇膏!",
|
||||
"许雪亭怒道:唉,偌大一个神龙教,都毁在一个娘么手里了!",
|
||||
"许雪亭叹口气,说道:唉,不杀了洪安通,谁也活不了。"
|
||||
]);
|
||||
58
world/npc/bj/shenlong/zhang.js
Normal file
58
world/npc/bj/shenlong/zhang.js
Normal file
@@ -0,0 +1,58 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "张淡月",
|
||||
desc: "这是一个黑衣大汉,脸色大变,身子发颤,似乎恐惧已极",
|
||||
title: "神龙教黑龙使",
|
||||
gender: 1,
|
||||
age: 55,
|
||||
per: 26,
|
||||
mp: 1400,
|
||||
max_mp: 4400,
|
||||
hp: 8500,
|
||||
max_hp: 8500,
|
||||
score: 10,
|
||||
prop: {
|
||||
zj: 100,
|
||||
gj: 300
|
||||
}
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/jian", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 250],
|
||||
["parry", 250],
|
||||
["force", 250],
|
||||
["unarmed", 250],
|
||||
["sword", 250],
|
||||
["staff", 250],
|
||||
["huagumianzhang", 250, "unarmed"],
|
||||
["shenlongjian", 250, "sword"],
|
||||
["yixingbufa", 250, "dodge"],
|
||||
["shenlongxinfa", 250, "force"],
|
||||
["shedaoqigong", 250, "parry"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 20
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian", "eq/lv0/tiezhang"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["eq/lv2/sl_cloth", "eq/lv2/sl_tou", "eq/lv2/sl_shoes", "eq/lv2/sl_shou", "eq/lv2/sl_yao"],
|
||||
odds: 2000
|
||||
}, {
|
||||
obj: ["book/bc#shenlongxinfa", "book/bc#yixingbufa", "book/bc#shedaoqigong", "book/bc#shenlongjian"],
|
||||
odds: 5000
|
||||
});
|
||||
this.on_kill = function (me) {
|
||||
this.send_room("洪安通喝到:来我们神龙教撒野?给我上!");
|
||||
this.each_item(item => {
|
||||
if (!item.is_player && item.hp > 0 && !item.master) {
|
||||
item.do_kill(me);
|
||||
}
|
||||
}, this.environment);
|
||||
}
|
||||
23
world/npc/bj/shenlong/zyshe.js
Normal file
23
world/npc/bj/shenlong/zyshe.js
Normal file
@@ -0,0 +1,23 @@
|
||||
this.inherits(MONSTER);
|
||||
this.set({
|
||||
name: "竹叶青",
|
||||
desc: "一只昂首挺胸,吐着信子的毒蛇正盯着你。",
|
||||
gender: 1,
|
||||
mp: 180,
|
||||
max_mp: 180,
|
||||
hp: 380,
|
||||
max_hp: 380,
|
||||
score: 5
|
||||
});
|
||||
this.skill_map(
|
||||
["bite", 200],
|
||||
["dushegongji", 200, "bite"]);
|
||||
//drop path,min,max,per
|
||||
this.set_drop({
|
||||
obj: "res/pimao1",
|
||||
min: 1,
|
||||
max: 4
|
||||
});
|
||||
this.on_enter = function (me) {
|
||||
this.do_kill(me);
|
||||
}
|
||||
42
world/npc/bj/tdh/chen.js
Normal file
42
world/npc/bj/tdh/chen.js
Normal file
@@ -0,0 +1,42 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "陈近南",
|
||||
desc: "这是一个文士打扮的中年书生,神色和蔼。他就是天下闻名的天地会总舵主陈近南,据说十八般武艺,样样精通。偶尔向这边看过来,顿觉他目光如电,英气逼人。",
|
||||
title: "<hiw>天地会总舵主</hiw>",
|
||||
gender: 1,
|
||||
age: 45,
|
||||
per: 22,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 5000,
|
||||
max_hp: 5000,
|
||||
score: 55
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], ["eq/lv0/jian", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 300],
|
||||
["parry", 300],
|
||||
["force", 300],
|
||||
["unarmed", 300],
|
||||
["sword", 300],
|
||||
["yunlongjian", 300, "sword"],
|
||||
["yunlongshenfa", 300, "dodge"],
|
||||
["yunlongxinfa", 300, "force"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 20
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian"],
|
||||
odds: 8000
|
||||
},
|
||||
{
|
||||
obj: ["book/bc#yunlongjian", "book/bc#yunlongshenfa", "book/bc#yunlongxinfa"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["eq/lv2/yunlongjian"],
|
||||
odds: 1000
|
||||
});
|
||||
55
world/npc/bj/tdh/dubi.js
Normal file
55
world/npc/bj/tdh/dubi.js
Normal file
@@ -0,0 +1,55 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "独臂神尼",
|
||||
desc: "这是一位白衣女尼,手握拂尘,目视前方。一只长袖空空如也,显是断了一臂,尽管如此,仍然掩不住她迷人的风采。",
|
||||
gender: 2,
|
||||
age: 37,
|
||||
per: 38,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 2500,
|
||||
max_hp: 2500,
|
||||
score: 10
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1,
|
||||
"eq/lv1/fuchen", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 300],
|
||||
["parry", 300],
|
||||
["force", 300],
|
||||
["unarmed", 300],
|
||||
["whip", 300],
|
||||
["shenxingbaibian", 300, "dodge"],
|
||||
["qiufengfuchen", 300, "whip"]);
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 30
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian", "eq/lv1/fuchen"],
|
||||
odds: 8000
|
||||
},
|
||||
{
|
||||
obj: ["book/bc#shenxingbaibian", "book/bc#qiufengfuchen"],
|
||||
odds: 5000
|
||||
});
|
||||
this.on_checkskill = function (me) {
|
||||
if (me.query_temp("fb/tdh/dubi") == 2) {
|
||||
if (me.query_temp("fb/tdh/shenxing")) return me.notify_fail("独臂神尼说道:虽然不完整,也是秘籍,还请" + me.call() + "不要嫌弃。");
|
||||
|
||||
me.notify("独臂神尼说道:这位" + me.call() + ",如果你想学的话,我这里有份神行百变的秘籍残页,你可以拿去参悟。");
|
||||
var obj = me.add_obj("book/bc#shenxingbaibian");
|
||||
me.set_temp("fb/tdh/shenxing", 1);
|
||||
if (obj) {
|
||||
me.notify("独臂神尼给了你" + obj.unit + obj.color_name + "。");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return me.query_temp("fb/tdh/dubi") == 1;
|
||||
}
|
||||
this.on_teach = function (me, sk) {
|
||||
if (sk != "shenxingbaibian") return me.notify_fail("独臂神尼说道:贫尼只能教你神行百变。");
|
||||
return true;
|
||||
}
|
||||
38
world/npc/bj/tdh/guan.js
Normal file
38
world/npc/bj/tdh/guan.js
Normal file
@@ -0,0 +1,38 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "关安基",
|
||||
desc: "只见他长长的胡子飘在胸前,模样甚是威严。因此人称关夫子。",
|
||||
title: "关夫子",
|
||||
gender: 1,
|
||||
age: 35,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 1000,
|
||||
max_hp: 1000,
|
||||
score: 10
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 200],
|
||||
["parry", 200],
|
||||
["force", 200],
|
||||
["unarmed", 200],
|
||||
["houquan", 200, "unarmed"],
|
||||
["yunlongshenfa", 200, "dodge"],
|
||||
["yunlongxinfa", 200, "force"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 20
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian"],
|
||||
odds: 8000
|
||||
});
|
||||
this.set_chat_msg([
|
||||
"关安基忽然说:唉,我的脾气不大好,大家可要小心了。",
|
||||
"关安基忽然说:本堂的香主谁来当,还轮不到我说话。"
|
||||
]);
|
||||
31
world/npc/bj/tdh/huoji.js
Normal file
31
world/npc/bj/tdh/huoji.js
Normal file
@@ -0,0 +1,31 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "药铺伙计",
|
||||
desc: "他十分强壮,看上去会几分武功,对药铺生意似乎并不在乎。",
|
||||
gender: 1,
|
||||
age: 28,
|
||||
per: 22,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp:500,
|
||||
max_hp: 500,
|
||||
score: 5
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 100],
|
||||
["parry", 100],
|
||||
["force", 100],
|
||||
["unarmed", 100],
|
||||
["houquan", 100,"unarmed"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 20
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian"],
|
||||
odds: 8000
|
||||
});
|
||||
68
world/npc/bj/tdh/lama.js
Normal file
68
world/npc/bj/tdh/lama.js
Normal file
@@ -0,0 +1,68 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "喇嘛",
|
||||
desc: "这是一个高大喇嘛,两臂粗壮,膀阔腰圆,似乎不是中土人士。",
|
||||
gender: 1,
|
||||
age: 37,
|
||||
per: 22,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 1500,
|
||||
max_hp: 1500,
|
||||
score: 10
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1,
|
||||
"eq/lv0/dao", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 200],
|
||||
["parry", 200],
|
||||
["force", 200],
|
||||
["unarmed", 200],
|
||||
["blade", 200],
|
||||
["mizongxinfa", 200, "force"],
|
||||
["dashouyin", 200, "unarmed"]);
|
||||
this.on_enter = function (me) {
|
||||
if (this.is_fighting()) return;
|
||||
me.notify("喇嘛说道:你是谁,居然敢破坏大爷的好事,不想活了是不是?!");
|
||||
this.each_item(item => {
|
||||
if (item.path == this.path) {
|
||||
item.do_kill(me);
|
||||
}
|
||||
}, this.environment);
|
||||
}
|
||||
this.on_die = function (killer) {
|
||||
var ishas = false;
|
||||
var dubi = null;
|
||||
this.each_item(item => {
|
||||
if (item != this && item.path == this.path) {
|
||||
ishas = true;
|
||||
} else if (item.path == "bj/tdh/dubi") {
|
||||
dubi = item;
|
||||
}
|
||||
}, this.environment);
|
||||
if (!ishas && dubi && killer) {
|
||||
var rd = this.random(killer.kar / 2) + killer.kar / 2 > 20;
|
||||
if (rd) {
|
||||
|
||||
killer.notify("白衣女尼对你说道:“多谢这位" + killer.call() + "拔刀相助,贫尼感激不尽,无以为报。这里有一套神行百变身法,你若愿学,贫尼定倾囊以授。");
|
||||
killer.set_temp("fb/tdh/dubi", 1);
|
||||
} else {
|
||||
killer.set_temp("fb/tdh/dubi", 2);
|
||||
killer.notify("白衣女尼对你说道:“多谢这位" + killer.call() + "拔刀相助,贫尼感激不尽。");
|
||||
}
|
||||
}
|
||||
}
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 5,
|
||||
max: 12
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian"],
|
||||
odds: 8000
|
||||
},
|
||||
{
|
||||
obj: ["book/bc#mizongxinfa", "book/bc#dashouyin"],
|
||||
odds: 3000
|
||||
});
|
||||
40
world/npc/bj/tdh/li.js
Normal file
40
world/npc/bj/tdh/li.js
Normal file
@@ -0,0 +1,40 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "李力世",
|
||||
desc: "这是一个身材矮小,满连胡须的中年人,身上的衣服又脏又破,脸上满是皱纹,看上去饱经风霜。",
|
||||
gender: 1,
|
||||
age: 55,
|
||||
per: 22,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 1500,
|
||||
max_hp: 1500,
|
||||
score: 10
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1,
|
||||
"eq/lv0/dao", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 200],
|
||||
["parry", 200],
|
||||
["force", 200],
|
||||
["unarmed", 200],
|
||||
["blade", 200],
|
||||
["houquan", 200, "unarmed"],
|
||||
["yunlongshenfa", 200, "dodge"],
|
||||
["yunlongxinfa", 200, "force"],
|
||||
["wuhuduanmendao", 200, "blade"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 14
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian"],
|
||||
odds: 8000
|
||||
},
|
||||
{
|
||||
obj: ["book/bc#wuhuduanmendao"],
|
||||
odds: 5000
|
||||
});
|
||||
42
world/npc/bj/tdh/wu.js
Normal file
42
world/npc/bj/tdh/wu.js
Normal file
@@ -0,0 +1,42 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "吴六奇",
|
||||
desc: "这个老叫花,便是天下闻名的“铁丐”吴六奇,向来嫉恶如仇。他在官居广东提督之时,手握一省重兵,受了查伊璜的劝导,心存反清复明之志,暗入天地会,任职洪顺堂香主。",
|
||||
title: "铁丐",
|
||||
gender: 1,
|
||||
age: 55,
|
||||
per: 22,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 1500,
|
||||
max_hp: 1500,
|
||||
score: 10
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 200],
|
||||
["parry", 200],
|
||||
["force", 200],
|
||||
["unarmed", 200],
|
||||
["houquan", 250, "unarmed"],
|
||||
["yunlongshenfa", 200, "dodge"],
|
||||
["yunlongxinfa", 200, "force"]);
|
||||
|
||||
this.on_enter = function (me) {
|
||||
me.notify("吴六奇对你喝到:你不是我天地会的人,来这里做什么?");
|
||||
this.do_kill(me);
|
||||
}
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 20
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian"],
|
||||
odds: 8000
|
||||
},
|
||||
{
|
||||
obj: ["book/bc#houquan"],
|
||||
odds: 5000
|
||||
});
|
||||
38
world/npc/bj/tdh/xu.js
Normal file
38
world/npc/bj/tdh/xu.js
Normal file
@@ -0,0 +1,38 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "徐天川",
|
||||
desc: "他是青木堂数一数二的好手,手上功夫十分了得,尤其擅使一套猴拳。",
|
||||
title: "天地会青木堂护法",
|
||||
gender: 1,
|
||||
age: 55,
|
||||
per: 22,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 1000,
|
||||
max_hp: 1000,
|
||||
score: 10
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 200],
|
||||
["parry", 200],
|
||||
["force", 200],
|
||||
["unarmed", 200],
|
||||
["houquan", 200, "unarmed"],
|
||||
["yunlongshenfa", 200, "dodge"],
|
||||
["yunlongxinfa", 200, "force"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 20
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian"],
|
||||
odds: 8000
|
||||
},
|
||||
{
|
||||
obj: ["book/bc#houquan"],
|
||||
odds: 5000
|
||||
});
|
||||
44
world/npc/bj/tdh/xuan.js
Normal file
44
world/npc/bj/tdh/xuan.js
Normal file
@@ -0,0 +1,44 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "玄真道长",
|
||||
desc: "这位沉默寡言的道人,便是天地会青木堂护法。他是青木堂数一数二的好手,一柄长剑使得出神入化。",
|
||||
title: "天地会青木堂护法",
|
||||
gender: 1,
|
||||
age: 55,
|
||||
per: 22,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 2000,
|
||||
max_hp: 2000,
|
||||
score: 10
|
||||
});
|
||||
this.on_enter = function (me) {
|
||||
me.notify("玄真道长对你喝到:你不是我天地会的人,来这里做什么?");
|
||||
this.do_kill(me);
|
||||
}
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], ["eq/lv0/jian", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 200],
|
||||
["parry", 200],
|
||||
["force", 200],
|
||||
["unarmed", 200],
|
||||
["sword", 200],
|
||||
["houquan", 200, "unarmed"],
|
||||
["yunlongjian", 200, "sword"],
|
||||
["yunlongshenfa", 200, "dodge"],
|
||||
["yunlongxinfa", 200, "force"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 20
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian"],
|
||||
odds: 8000
|
||||
},
|
||||
{
|
||||
obj: ["book/bc#yunlongjian"],
|
||||
odds: 1000
|
||||
});
|
||||
63
world/npc/bj/zhuang/furen.js
Normal file
63
world/npc/bj/zhuang/furen.js
Normal file
@@ -0,0 +1,63 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "庄夫人",
|
||||
desc: "只见她约莫二十六七年纪,全身缟素,不施脂粉,脸色苍白",
|
||||
title: "庄家三少奶奶",
|
||||
gender: 2,
|
||||
age: 26,
|
||||
per: 32,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 1500,
|
||||
max_hp: 1500
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/dao", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 150],
|
||||
["parry", 150],
|
||||
["force", 150],
|
||||
["unarmed", 150],
|
||||
["sword", 150],
|
||||
["huashanjianfa", 150, "sword"],
|
||||
["shenxingbaibian", 150, "dodge"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 20
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian", "eq/lv0/tiezhang"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["book/bc#shenxingbaibian", "book/bc#huashanjianfa", "book/bc#shenlongjian"],
|
||||
odds: 3000
|
||||
});
|
||||
this.set_ask("吴之荣", function (me) {
|
||||
if (me.query_temp("fb/zhuang/shuang")) return me.notify("庄夫人说道:多谢恩公代妾身手刃了次贼。");
|
||||
me.notify("庄夫人说道:这个狗贼害的我家破人亡,我一定要手刃了这个奸贼。");
|
||||
var obj = me.find_obj_bypath("sp/bj/wu");
|
||||
if (obj)
|
||||
me.send_commands("give " + this.id + " 1 " + obj.id, "给她吴之荣的头颅");
|
||||
});
|
||||
this.on_accept = function (me, obj, count) {
|
||||
if (!obj || !obj.path || me.query_temp("fb/zhuang/shuang")) return;
|
||||
if (obj.is("sp/bj/wu")) {
|
||||
me.notify("庄夫人看着吴之荣的头颅,或许是想到了已经阴阳两隔的家人,清丽的脸上有几分愤怒,更多的是悲伤。\n半晌后庄夫人擦了擦眼角对你说道:这位" +
|
||||
me.call() + ",如此大恩大德,妾身实不知何以为报。");
|
||||
if (me.per + me.query_prop("per") > 36) {
|
||||
me.notify("庄夫人拉着双儿对你说道:这小丫头跟随妾身多年,做事也还妥当,就送与恩公代为照料。");
|
||||
me.set_temp("fb/zhuang/shuang", 1);
|
||||
} else {
|
||||
me.notify("庄夫人看了你一会,对你说道:这本书是救妾身这群人的恩公给我的,今日就送与恩公。");
|
||||
var obj = me.add_obj("book/bc#huashanjianfa");
|
||||
if (obj) {
|
||||
me.notify("庄夫人给了你" + obj.unit_name(1) + "。");
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
53
world/npc/bj/zhuang/shuanger.js
Normal file
53
world/npc/bj/zhuang/shuanger.js
Normal file
@@ -0,0 +1,53 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "双儿",
|
||||
desc: "她是一个十分清秀的少女,大约十四五岁年纪,一张雪白的脸庞,眉弯嘴小,笑靥如花,正笑嘻嘻地看着你。",
|
||||
title: "<hiw>天下无双</hiw>",
|
||||
gender: 2,
|
||||
age: 14,
|
||||
per: 39,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 1500,
|
||||
max_hp: 1500
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/dao", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 150],
|
||||
["parry", 150],
|
||||
["force", 150],
|
||||
["unarmed", 150],
|
||||
["sword", 150],
|
||||
["huashanjianfa", 150, "sword"],
|
||||
["shenxingbaibian", 150, "dodge"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 10,
|
||||
max: 20
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian", "eq/lv0/tiezhang"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["book/bc#shenxingbaibian", "book/bc#huashanjianfa", "book/bc#shenlongjian"],
|
||||
odds: 3000
|
||||
});
|
||||
|
||||
this.set_ask("跟我走吧", function (me) {
|
||||
if (me.query_temp("fb/zhuang/shuang")) {
|
||||
me.notify("<hiy>双儿道:夫人待我恩重如山,主人对我庄家又有大恩。夫人要我服侍主人,我一定尽心。</hiy>");
|
||||
var obj = me.add_obj("sp/npc#shuang");
|
||||
if (obj) {
|
||||
me.notify("你获得了" + obj.unit_name(1) + "。");
|
||||
|
||||
}
|
||||
me.remove_temp("fb/zhuang/shuang");
|
||||
this.destroy();
|
||||
} else {
|
||||
me.notify("双儿睁大眼睛看着你说道:不行的,夫人没有同意。");
|
||||
}
|
||||
});
|
||||
41
world/npc/bj/zhuang/tufei.js
Normal file
41
world/npc/bj/zhuang/tufei.js
Normal file
@@ -0,0 +1,41 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "土匪",
|
||||
desc: "这家伙满脸横肉一付凶神恶煞的模样,令人望而生畏。",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 1500,
|
||||
max_hp: 1500,
|
||||
score: 30
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/dao", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 150],
|
||||
["parry", 150],
|
||||
["force", 150],
|
||||
["unarmed", 150],
|
||||
["blade", 150],
|
||||
["wuhuduanmendao", 250, "blade"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 1,
|
||||
max: 20
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian", "eq/lv0/tiezhang"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["book/bc#shenlongxinfa", "book/bc#yixingbufa", "book/bc#shenlongjian"],
|
||||
odds: 3000
|
||||
});
|
||||
this.on_enter = function (me) {
|
||||
me.notify("土匪一声大喊: 此山是我开,此树是我栽,若要从此过,留下买路财 !");
|
||||
this.do_kill(me);
|
||||
}
|
||||
40
world/npc/bj/zhuang/zhang.js
Normal file
40
world/npc/bj/zhuang/zhang.js
Normal file
@@ -0,0 +1,40 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "章老三",
|
||||
desc: "这是一个神龙教弟子,一袭黑衣,混身透着一股邪气。",
|
||||
title: "神龙教小头目",
|
||||
gender: 1,
|
||||
age: 44,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
max_mp: 1400,
|
||||
hp: 2500,
|
||||
max_hp: 2500,
|
||||
score: 70
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/jian", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 250],
|
||||
["force", 250],
|
||||
["unarmed", 250],
|
||||
["sword", 250],
|
||||
["staff", 200],
|
||||
["shenlongjian", 250, "sword"],
|
||||
["yixingbufa", 150, "dodge"],
|
||||
["shenlongxinfa", 150, "force"]);
|
||||
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 1,
|
||||
max: 10
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/dao", "eq/lv0/jian", "eq/lv0/tiezhang"],
|
||||
odds: 8000
|
||||
}, {
|
||||
obj: ["book/bc#shenlongxinfa", "book/bc#yixingbufa", "book/bc#shenlongjian"],
|
||||
odds: 3000
|
||||
});
|
||||
39
world/npc/emei/jingxin.js
Normal file
39
world/npc/emei/jingxin.js
Normal file
@@ -0,0 +1,39 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "静心",
|
||||
desc: "她一位中年出家道姑,道冠高拢,慈眉善目",
|
||||
title: "峨眉派第四代弟子",
|
||||
gender: 2,
|
||||
age: 48,
|
||||
per: 33,
|
||||
max_mp: 100000,
|
||||
max_hp: 100000,
|
||||
family: FAMILIES.EMEI,
|
||||
family_level: 4,
|
||||
level: 2,
|
||||
prop: {
|
||||
gj: 2000,
|
||||
mz: 2000,
|
||||
ds: 2000
|
||||
}
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/jian", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 300],
|
||||
["parry", 300],
|
||||
["force", 300],
|
||||
["unarmed", 300],
|
||||
["sword", 300],
|
||||
["literate", 300],
|
||||
["emeixinfa", 300],
|
||||
["linjizhuang", 300, "force"],
|
||||
["zhutianbu", 300, "dodge"],
|
||||
["huifengjian", 300, "sword"],
|
||||
["jindingzhang", 300, "unarmed"]);
|
||||
|
||||
this.on_master = function (me) {
|
||||
if (me.gender != 2) return me.notify_fail("静心对你说道:这位" + me.call() + ",我们峨眉派不收男弟子的。");
|
||||
if (me.query_skill("emeixinfa", 0) < 100) return me.notify_fail("静心说道:你的峨眉心法掌握程度还不够,需要多加练习。");
|
||||
if (me.query_skill("jindingzhang", 0) < 100) return me.notify_fail("静心说道:你的金顶绵掌掌握程度还不够,需要多加练习。");
|
||||
return true;
|
||||
}
|
||||
42
world/npc/emei/miejue.js
Normal file
42
world/npc/emei/miejue.js
Normal file
@@ -0,0 +1,42 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "灭绝",
|
||||
desc: "她是一位白发苍苍的老尼,是峨眉派第三代掌门,她脸上冷冰冰,毫无表情。",
|
||||
title: "峨眉派掌门",
|
||||
gender: 2,
|
||||
age: 60,
|
||||
per: 31,
|
||||
dex: 30,
|
||||
str: 30,
|
||||
max_mp: 827400,
|
||||
max_hp: 891500,
|
||||
family: FAMILIES.EMEI,
|
||||
family_level: 3,
|
||||
level:3,
|
||||
prop: {
|
||||
gj: 8000,
|
||||
mz: 8000,
|
||||
ds: 8000
|
||||
}
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/jian", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 800],
|
||||
["parry", 800],
|
||||
["force", 800],
|
||||
["unarmed", 800],
|
||||
["sword", 800],
|
||||
["literate", 800],
|
||||
["emeixinfa", 800],
|
||||
["linjizhuang", 800, "force"],
|
||||
["zhutianbu", 800, "dodge"],
|
||||
["huifengjian", 800],
|
||||
["yitianjianfa", 800, "sword"],
|
||||
["jindingzhang", 800, "unarmed"]);
|
||||
|
||||
this.on_master = function (me) {
|
||||
if (me.gender != 2) return me.notify_fail("灭绝对你哼了道:再不走小心杀了你!");
|
||||
if (me.query_skill("linjizhuang", 0) < 500 && me.query_skill("linjizhuang2", 0) < 500) return me.notify_fail("灭绝说道:你的临济十二庄掌握程度还不够,需要多加练习。");
|
||||
if (me.query_skill("huifengjian", 0) < 300) return me.notify_fail("灭绝说道:你的回风拂柳剑掌握程度还不够,需要多加练习。");
|
||||
return true;
|
||||
}
|
||||
36
world/npc/emei/sumengqing.js
Normal file
36
world/npc/emei/sumengqing.js
Normal file
@@ -0,0 +1,36 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "苏梦清",
|
||||
desc: "她是峨眉派俗家弟子,一位面容清瘦,身材娇小的女子",
|
||||
title: "峨眉派第五代弟子",
|
||||
gender: 2,
|
||||
age: 28,
|
||||
per: 38,
|
||||
max_mp: 1400,
|
||||
family: FAMILIES.EMEI,
|
||||
family_level: 5,
|
||||
level: 2,
|
||||
max_mp: 51400,
|
||||
max_hp: 51400,
|
||||
prop: {
|
||||
gj: 500,
|
||||
mz: 500,
|
||||
ds: 500
|
||||
}
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/jian", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 100],
|
||||
["parry", 100],
|
||||
["force", 100],
|
||||
["unarmed", 100],
|
||||
["sword", 100],
|
||||
["literate", 100],
|
||||
["emeixinfa", 100, "force"],
|
||||
["zhutianbu", 100, "dodge"],
|
||||
["jindingzhang", 100,"unarmed"]);
|
||||
|
||||
this.on_master = function (me) {
|
||||
if (me.gender != 2) return me.notify_fail("苏梦清对你说道:这位"+me.call()+",我们峨眉派不收男弟子的。");
|
||||
return true;
|
||||
}
|
||||
43
world/npc/emei/zhouzhiruo.js
Normal file
43
world/npc/emei/zhouzhiruo.js
Normal file
@@ -0,0 +1,43 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "周芷若",
|
||||
desc: "她是一位容貌美丽,端庄可爱的姑娘。虽然年纪很轻,但在峨眉派中是出类拔萃的人物。",
|
||||
title: "峨眉派第四代弟子",
|
||||
gender: 2,
|
||||
age: 20,
|
||||
per: 37,
|
||||
dex: 30,
|
||||
str: 30,
|
||||
max_mp:32400,
|
||||
max_hp: 32400,
|
||||
family: FAMILIES.EMEI,
|
||||
family_level: 3,
|
||||
level: 3,
|
||||
prop: {
|
||||
gj: 4000,
|
||||
mz: 4000,
|
||||
ds:4000
|
||||
}
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/jian", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 500],
|
||||
["parry", 500],
|
||||
["force", 500],
|
||||
["unarmed", 500],
|
||||
["sword", 500],
|
||||
["literate", 500],
|
||||
["emeixinfa", 500],
|
||||
["linjizhuang", 500, "force"],
|
||||
["zhutianbu", 500, "dodge"],
|
||||
["huifengjian", 500],
|
||||
["jiuyinbaiguzhao", 500, ["parry", "unarmed"]],
|
||||
["huifengjian", 500, "sword"],
|
||||
["jindingzhang", 500]);
|
||||
|
||||
this.on_master = function (me) {
|
||||
if (me.gender != 2) return me.notify_fail("周芷若对你哼了道:再不走小心杀了你!");
|
||||
if (me.query_skill("linjizhuang", 0) < 300 && me.query_skill("linjizhuang2", 0) < 300) return me.notify_fail("周芷若说道:你的临济十二庄掌握程度还不够,需要多加练习。");
|
||||
if (me.query_skill("huifengjian", 0) < 300) return me.notify_fail("周芷若说道:你的回风拂柳剑掌握程度还不够,需要多加练习。");
|
||||
return true;
|
||||
}
|
||||
22
world/npc/follower/azi.js
Normal file
22
world/npc/follower/azi.js
Normal file
@@ -0,0 +1,22 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "阿紫",
|
||||
desc: "她容颜俏丽,可眼神中总是透出一股邪气。",
|
||||
title: "星宿派小师妹",
|
||||
gender: 2,
|
||||
age: 16,
|
||||
per: 34,
|
||||
str: 27,
|
||||
con: 27,
|
||||
dex: 27,
|
||||
int: 27,
|
||||
max_mp: 11500,
|
||||
max_hp: 11500
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 500],
|
||||
["parry", 500],
|
||||
["force", 500],
|
||||
["unarmed", 500],
|
||||
["throwing", 500]);
|
||||
28
world/npc/follower/cheng.js
Normal file
28
world/npc/follower/cheng.js
Normal file
@@ -0,0 +1,28 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "程灵素",
|
||||
desc: "她相貌似乎已有十六七岁,身形却如是个十四五岁的幼女,一双眼睛黑如点漆,朗似秋水",
|
||||
title: "<hic>药王</hic>",
|
||||
gender: 2,
|
||||
age: 16,
|
||||
per: 36,
|
||||
str: 15,
|
||||
con: 30,
|
||||
dex: 15,
|
||||
int: 40,
|
||||
mp: 100,
|
||||
exp: 5000000,
|
||||
pot: 5000000,
|
||||
max_mp: 100,
|
||||
hp: 100,
|
||||
max_hp: 100,
|
||||
level: 3
|
||||
|
||||
});
|
||||
this.skill_map(
|
||||
["lianyao", 3000]);
|
||||
this.on_master_enter = function (me) {
|
||||
if (this.random(3) == 1) {
|
||||
me.notify("程灵素看你进来,对你羞赧一笑,苍白的小脸上笑容如春花初绽,竟似越看越美。");
|
||||
}
|
||||
}
|
||||
25
world/npc/follower/huang.js
Normal file
25
world/npc/follower/huang.js
Normal file
@@ -0,0 +1,25 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "黄蓉",
|
||||
desc: "这便是桃花岛岛主的独生女儿。她生性跳脱飞扬,喜欢四处乱跑。",
|
||||
title: "桃花岛主之女",
|
||||
gender: 2,
|
||||
age: 18,
|
||||
per: 38,
|
||||
int: 40,
|
||||
dex: 40,
|
||||
str: 15,
|
||||
con:15,
|
||||
max_mp: 100000,
|
||||
max_hp: 100000,
|
||||
pfm_rate: 1
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 500],
|
||||
["parry", 500],
|
||||
["force", 500],
|
||||
["unarmed", 500],
|
||||
["sword", 500],
|
||||
["literate", 1500]);
|
||||
|
||||
26
world/npc/follower/lang.js
Normal file
26
world/npc/follower/lang.js
Normal file
@@ -0,0 +1,26 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "<wht>浪翻云</wht>",
|
||||
desc: "他身形雄伟,面貌粗犷豪雄,脸目丑陋,一对黄睛似醒还醉",
|
||||
gender: 1,
|
||||
age: 38,
|
||||
per: 14,
|
||||
max_mp: 6000000,
|
||||
max_hp: 6000000,
|
||||
exp: 2300000000,
|
||||
level: 6,
|
||||
prop: {
|
||||
gj: 2000,
|
||||
mz: 2000,
|
||||
ds: 2000
|
||||
}
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/jian", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 5000],
|
||||
["parry", 5000],
|
||||
["force", 5000],
|
||||
["unarmed", 5000],
|
||||
["sword", 5000],
|
||||
["literate", 5000]
|
||||
);
|
||||
24
world/npc/follower/qing.js
Normal file
24
world/npc/follower/qing.js
Normal file
@@ -0,0 +1,24 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "青青",
|
||||
desc: "她是一个梳着高髻,身着羽衣的绝色美人,如同壁画上的仙子。",
|
||||
title: "<hiw>狐女</hiw>",
|
||||
gender: 2,
|
||||
age: 20,
|
||||
per: 38,
|
||||
dex: 40,
|
||||
str: 15,
|
||||
int: 40,
|
||||
con: 15,
|
||||
exp: 5000000,
|
||||
pot: 5000000,
|
||||
max_mp: 2000,
|
||||
max_hp: 2000
|
||||
});
|
||||
this.skill_map(
|
||||
["dodge", 300],
|
||||
["parry", 300],
|
||||
["force", 300],
|
||||
["unarmed", 300],
|
||||
["sword", 300],
|
||||
["literate", 3000]);
|
||||
34
world/npc/follower/shimei.js
Normal file
34
world/npc/follower/shimei.js
Normal file
@@ -0,0 +1,34 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "小师妹",
|
||||
desc: "她是宗门里最小的师妹,长得是娇柔可爱",
|
||||
gender: 2,
|
||||
age: 19,
|
||||
per: 37,
|
||||
dex: 20,
|
||||
str: 15,
|
||||
int: 40,
|
||||
con: 15,
|
||||
exp: 15000000,
|
||||
pot: 15000000,
|
||||
max_mp: 600000,
|
||||
max_hp: 600000,
|
||||
level: 3
|
||||
});
|
||||
this.set_objects(["eq/lv0/jian", 1, 1], ["res/cao#18", 1], ["res/cao#22", 1], ["res/cao#19", 1], ["res/cao#20", 1], ["res/cao#21", 1]);
|
||||
this.skill_map(
|
||||
["dodge", 1500],
|
||||
["parry", 1500],
|
||||
["force", 1500],
|
||||
["unarmed", 1500],
|
||||
["throwing", 1500],
|
||||
["sword", 1500],
|
||||
["literate", 1500],
|
||||
["lianyao", 1500]);
|
||||
|
||||
|
||||
this.on_master_enter = function (me) {
|
||||
if (this.random(3) == 1) {
|
||||
me.notify("小师妹朝你微微一笑。");
|
||||
}
|
||||
}
|
||||
37
world/npc/follower/shuang.js
Normal file
37
world/npc/follower/shuang.js
Normal file
@@ -0,0 +1,37 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "双儿",
|
||||
desc: "她是一个十分清秀的少女,大约十四五岁年纪,一张雪白的脸庞,眉弯嘴小,笑靥如花,正笑嘻嘻地看着你。",
|
||||
title: "<hiw>天下无双</hiw>",
|
||||
gender: 2,
|
||||
age: 20,
|
||||
per: 42,
|
||||
str: 30,
|
||||
con: 15,
|
||||
dex: 40,
|
||||
int: 15,
|
||||
mp: 100,
|
||||
exp: 5000000,
|
||||
pot: 5000000,
|
||||
max_mp: 100,
|
||||
hp: 100,
|
||||
max_hp: 100,
|
||||
level: 3
|
||||
|
||||
});
|
||||
this.skill_map(
|
||||
["dodge", 150],
|
||||
["parry", 150],
|
||||
["force", 150],
|
||||
["unarmed", 150],
|
||||
["sword", 150],
|
||||
["huashanjianfa", 150, "sword"],
|
||||
["shenxingbaibian", 150, "dodge"]);
|
||||
this.on_master_enter = function (me) {
|
||||
if (this.random(3) == 1) {
|
||||
if (me.gender == 1)
|
||||
me.notify("双儿笑嘻嘻地看着你,脆声道:相公,你回来啦。");
|
||||
else
|
||||
me.notify("双儿笑嘻嘻地看着你。");
|
||||
}
|
||||
}
|
||||
32
world/npc/follower/wang.js
Normal file
32
world/npc/follower/wang.js
Normal file
@@ -0,0 +1,32 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "王语嫣",
|
||||
desc: "她似有烟霞轻笼,恍入仙境,当真非尘世中人。",
|
||||
title: "<him>神仙姐姐</him>",
|
||||
gender: 2,
|
||||
age: 20,
|
||||
per: 42,
|
||||
str: 15,
|
||||
con: 15,
|
||||
dex: 15,
|
||||
int: 50,
|
||||
mp: 100,
|
||||
exp: 1000000,
|
||||
pot: 1000000,
|
||||
max_mp: 100,
|
||||
hp: 100,
|
||||
max_hp: 100,
|
||||
level: 3
|
||||
|
||||
});
|
||||
this.skill_map(
|
||||
["literate", 10000]);
|
||||
this.on_master_enter = function (me) {
|
||||
if (this.random(3) == 1) {
|
||||
var name = me.name[0];
|
||||
if (me.gender == 1)
|
||||
me.notify("王语嫣对你微微颔首,柔声道:" + name + "公子。");
|
||||
else
|
||||
me.notify("王语嫣对你微微颔首,柔声道:" + name + "姑娘。");
|
||||
}
|
||||
}
|
||||
31
world/npc/follower/wenyi.js
Normal file
31
world/npc/follower/wenyi.js
Normal file
@@ -0,0 +1,31 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "温仪",
|
||||
desc: "这是一个美如天仙的女子,眉宇间却是仿佛隐藏着深忧。",
|
||||
title: "温家小姐",
|
||||
gender: 2,
|
||||
age: 19,
|
||||
per: 37,
|
||||
dex: 25,
|
||||
str: 25,
|
||||
int: 25,
|
||||
con: 25,
|
||||
exp: 800000,
|
||||
pot: 800000,
|
||||
max_mp: 2000,
|
||||
max_hp: 2000,
|
||||
level: 3
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 300],
|
||||
["parry", 300],
|
||||
["force", 300],
|
||||
["unarmed", 300],
|
||||
["sword", 300],
|
||||
["literate", 800]);
|
||||
this.on_master_enter = function (me) {
|
||||
if (this.random(3) == 1) {
|
||||
|
||||
}
|
||||
}
|
||||
28
world/npc/follower/xia.js
Normal file
28
world/npc/follower/xia.js
Normal file
@@ -0,0 +1,28 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "夏雪宜",
|
||||
desc: "他就是人称“金蛇郎君”的一代怪杰——夏雪宜。",
|
||||
title: "<hiy>金蛇郎君</hiy>",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: 36,
|
||||
str: 30,
|
||||
int: 30,
|
||||
dex: 30,
|
||||
con: 15,
|
||||
mp: 20000,
|
||||
max_mp: 20000,
|
||||
hp: 20000,
|
||||
max_hp: 20000,
|
||||
level: 3
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 600],
|
||||
["parry", 600],
|
||||
["force", 600],
|
||||
["sword", 600],
|
||||
["unarmed", 600]);
|
||||
|
||||
27
world/npc/follower/xiaolongnv.js
Normal file
27
world/npc/follower/xiaolongnv.js
Normal file
@@ -0,0 +1,27 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "小龙女",
|
||||
title: "<wht>玉女素心</wht>",
|
||||
desc: "她清丽异常,但也许是长居古墓之故,面色略白。",
|
||||
gender: 2,
|
||||
age: 20,
|
||||
per: 40,
|
||||
str: 15,
|
||||
con: 15,
|
||||
dex: 15,
|
||||
int: 40,
|
||||
mp: 100,
|
||||
exp: 1000000,
|
||||
pot: 1000000,
|
||||
max_mp: 100,
|
||||
hp: 100,
|
||||
max_hp: 100,
|
||||
level: 3
|
||||
|
||||
});
|
||||
this.skill_map(
|
||||
["literate", 300], ["dodge", 300],
|
||||
["parry", 300],
|
||||
["force", 300],
|
||||
["unarmed", 300],
|
||||
["whip", 300]);
|
||||
34
world/npc/follower/xiaozhao.js
Normal file
34
world/npc/follower/xiaozhao.js
Normal file
@@ -0,0 +1,34 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "小昭",
|
||||
desc: "她因年纪幼小,身材尚未长成,但更显得娇小玲珑、甜美可爱。",
|
||||
title:"<hiw>明教圣女</hiw>",
|
||||
gender: 2,
|
||||
age: 14,
|
||||
per: 38,
|
||||
dex: 40,
|
||||
str: 15,
|
||||
int: 40,
|
||||
con: 15,
|
||||
exp: 1000000,
|
||||
pot: 1000000,
|
||||
max_mp: 2000,
|
||||
max_hp: 2000,
|
||||
level: 3
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 300],
|
||||
["parry", 300],
|
||||
["force", 300],
|
||||
["unarmed", 300],
|
||||
["sword", 300],
|
||||
["literate", 1000]);
|
||||
this.on_master_enter = function (me) {
|
||||
if (this.random(3) == 1) {
|
||||
if(me.gender==1)
|
||||
me.notify("小昭嘻嘻一笑,对你说道:" + me.name + "哥哥,你来啦。");
|
||||
else
|
||||
me.notify("小昭嘻嘻一笑,对你说道:" + me.name + "姐姐,你来啦。");
|
||||
}
|
||||
}
|
||||
32
world/npc/follower/zhang.js
Normal file
32
world/npc/follower/zhang.js
Normal file
@@ -0,0 +1,32 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "张无忌",
|
||||
desc: "江湖中不世出的少年英雄",
|
||||
title: "明教教主",
|
||||
gender:1,
|
||||
age: 17,
|
||||
per: 38,
|
||||
dex: 15,
|
||||
str: 40,
|
||||
int: 15,
|
||||
con: 40,
|
||||
exp: 1000000,
|
||||
pot:1000000,
|
||||
max_mp: 20000,
|
||||
max_hp: 20000,
|
||||
level: 3
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/jian", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 300],
|
||||
["parry", 300],
|
||||
["force", 300],
|
||||
["unarmed", 300],
|
||||
["sword", 300],
|
||||
["literate", 500]);
|
||||
|
||||
this.on_master_enter = function (me) {
|
||||
if (this.random(3) == 1) {
|
||||
me.notify("张无忌对你嘿嘿一笑。");
|
||||
}
|
||||
}
|
||||
37
world/npc/follower/zhou.js
Normal file
37
world/npc/follower/zhou.js
Normal file
@@ -0,0 +1,37 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "周芷若",
|
||||
desc: "她秀若芝兰,淡雅脱俗,年纪虽小却十足是个绝色的美人胚子",
|
||||
title: "峨眉派第四代弟子",
|
||||
gender: 2,
|
||||
age: 17,
|
||||
per: 38,
|
||||
dex: 35,
|
||||
str: 35,
|
||||
int: 15,
|
||||
con: 15,
|
||||
exp: 1000000,
|
||||
pot: 1000000,
|
||||
max_mp:2000,
|
||||
max_hp: 2000,
|
||||
level: 3
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/jian", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 300],
|
||||
["parry", 300],
|
||||
["force", 300],
|
||||
["unarmed", 300],
|
||||
["sword", 300],
|
||||
["literate", 1000]);
|
||||
this.on_master_learn = function (me, sk) {
|
||||
if (sk == "linjizhuang" || sk == "zhutianbu" || sk == "yitianjianfa" || sk == "jiuyinbaiguzhao") {
|
||||
|
||||
return me.notify_fail("周芷若说道:师父教我不能让别人学会我们峨眉派的武功,师父的话我是要听的。");
|
||||
}
|
||||
}
|
||||
this.on_master_enter = function (me) {
|
||||
if (this.random(3) == 1) {
|
||||
me.notify("周芷若对你微微一笑。");
|
||||
}
|
||||
}
|
||||
44
world/npc/gaibang/hongqigong.js
Normal file
44
world/npc/gaibang/hongqigong.js
Normal file
@@ -0,0 +1,44 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "洪七公",
|
||||
desc: "他就是丐帮第十七任帮主,号称“北丐”的洪七公老爷子",
|
||||
title: "<hiy>北丐</hiy>",
|
||||
gender: 1,
|
||||
age: 65,
|
||||
per: 33,
|
||||
max_mp: 400000,
|
||||
max_hp: 400000,
|
||||
pfm_rate: 1,
|
||||
family: FAMILIES.GAIBANG,
|
||||
family_level: 2,
|
||||
level: 3,
|
||||
prop: {
|
||||
gj: 8000,
|
||||
mz: 8000,
|
||||
ds: 8000
|
||||
}
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/tiegun", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 800],
|
||||
["parry", 800],
|
||||
["force", 800],
|
||||
["unarmed", 800],
|
||||
["club", 800],
|
||||
["literate", 800],
|
||||
["gaibangxinfa", 800],
|
||||
["feiyanzoubi", 800],
|
||||
["jiaohuabangfa", 800],
|
||||
["taizuchangquan", 800],
|
||||
["literate", 800],
|
||||
["huntianqigong", 800, "force"],
|
||||
["xiaoyaoyou", 800, "dodge"],
|
||||
["jiaohuabangfa", 800],
|
||||
["dagoubang", 800, "club"],
|
||||
["xianglongzhang", 800, "unarmed"]);
|
||||
|
||||
this.on_master = function (me) {
|
||||
if (me.query_skill("huntianqigong", 0) < 500 && me.query_skill("huntianqigong2", 0) < 500) return me.notify_fail("洪七公说道:你的混天气功掌握程度还不够,需要多加练习。");
|
||||
if (me.query_skill("dagoubang", 0) < 500 && me.query_skill("dagoubang2", 0) < 500) return me.notify_fail("洪七公说道:你的打狗棒掌握程度还不够,还需多加努力。");
|
||||
return true;
|
||||
}
|
||||
38
world/npc/gaibang/jian.js
Normal file
38
world/npc/gaibang/jian.js
Normal file
@@ -0,0 +1,38 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "简长老",
|
||||
desc: "简长老是丐邦的执法长老,代帮主执掌法刀以及青竹令等",
|
||||
title: "丐帮九袋长老",
|
||||
gender: 1,
|
||||
age: 50,
|
||||
per: 23,
|
||||
family: FAMILIES.GAIBANG,
|
||||
family_level: 3,
|
||||
max_mp: 310000,
|
||||
max_hp: 300000,
|
||||
prop: {
|
||||
gj: 5000,
|
||||
mz: 5000,
|
||||
ds: 5000
|
||||
}
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/mugun", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 500],
|
||||
["parry", 500],
|
||||
["force", 500],
|
||||
["unarmed", 500],
|
||||
["club", 500],
|
||||
["literate", 500],
|
||||
["feiyanzoubi", 500],
|
||||
["gaibangxinfa", 500],
|
||||
["huntianqigong", 500, "force"],
|
||||
["xiaoyaoyou", 500, "dodge"],
|
||||
["jiaohuabangfa", 500, ["club","parry"]],
|
||||
["taizuchangquan", 500, "unarmed"]);
|
||||
|
||||
this.on_master = function (me) {
|
||||
if (me.query_skill("gaibangxinfa", 0) < 100) return me.notify_fail("简长老说道:你的丐帮心法掌握程度还不够,需要多加练习。");
|
||||
if (me.query_skill("jiaohuabangfa", 0) < 100) return me.notify_fail("简长老说道:你的叫花棒法掌握程度还不够,还需多加努力。");
|
||||
return true;
|
||||
}
|
||||
41
world/npc/gaibang/lu.js
Normal file
41
world/npc/gaibang/lu.js
Normal file
@@ -0,0 +1,41 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "鲁有脚",
|
||||
desc: "丐帮长老,在丐帮中有仁有义,行事光明磊落,深得洪七公的器重。",
|
||||
title: "掌棒龙头",
|
||||
gender: 1,
|
||||
age: 65,
|
||||
per: 33,
|
||||
pfm_rate: 1,
|
||||
family: FAMILIES.GAIBANG,
|
||||
family_level: 2,
|
||||
level: 3,
|
||||
max_mp: 310000,
|
||||
max_hp: 300000,
|
||||
prop: {
|
||||
gj: 5000,
|
||||
mz: 5000,
|
||||
ds: 5000
|
||||
}
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/tiegun", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 500],
|
||||
["parry", 500],
|
||||
["force", 500],
|
||||
["unarmed", 500],
|
||||
["club", 500],
|
||||
["literate", 500],
|
||||
["feiyanzoubi", 500],
|
||||
["gaibangxinfa", 500],
|
||||
["huntianqigong", 500, "force"],
|
||||
["xiaoyaoyou", 500, "dodge"],
|
||||
["jiaohuabangfa", 500],
|
||||
["dagoubang", 500, "club"],
|
||||
["taizuchangquan", 500, "unarmed"]);
|
||||
|
||||
this.on_master = function (me) {
|
||||
if (me.query_skill("huntianqigong", 0) < 300 && me.query_skill("huntianqigong2", 0) < 300) return me.notify_fail("鲁有脚说道:你的混天气功掌握程度还不够,需要多加练习。");
|
||||
|
||||
return true;
|
||||
}
|
||||
29
world/npc/gaibang/zuo.js
Normal file
29
world/npc/gaibang/zuo.js
Normal file
@@ -0,0 +1,29 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "左全",
|
||||
desc: "这是位豪爽大方的丐帮七袋弟子,看来是个北地豪杰。",
|
||||
title: "丐帮七袋弟子",
|
||||
gender: 1,
|
||||
age: 35,
|
||||
per: 23,
|
||||
max_mp: 1110,
|
||||
max_hp: 1020,
|
||||
family: FAMILIES.GAIBANG,
|
||||
family_level: 4
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/mugun", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 100],
|
||||
["parry", 100],
|
||||
["force", 100],
|
||||
["unarmed", 100],
|
||||
["club", 100],
|
||||
["literate", 100],
|
||||
["gaibangxinfa", 100, "force"],
|
||||
["feiyanzoubi", 100, "dodge"],
|
||||
["jiaohuabangfa", 100, ["club", "parry"]],
|
||||
["taizuchangquan", 100, "unarmed"]);
|
||||
|
||||
this.on_master = function (me) {
|
||||
return true;
|
||||
}
|
||||
36
world/npc/huashan/fengbuping.js
Normal file
36
world/npc/huashan/fengbuping.js
Normal file
@@ -0,0 +1,36 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "封不平",
|
||||
desc: "封不平是华山剑宗第一高手,满脸戾气一张黄焦焦的面皮。",
|
||||
title: "狂风快剑",
|
||||
gender: 1,
|
||||
age: 40,
|
||||
per: 33,
|
||||
max_mp: 1400,
|
||||
str: 27,
|
||||
con: 27,
|
||||
dex: 27,
|
||||
int: 27,
|
||||
family: FAMILIES.HUASHAN,
|
||||
family_level: 1
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/jian", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 500],
|
||||
["parry", 500],
|
||||
["force", 500],
|
||||
["unarmed", 500],
|
||||
["sword", 500],
|
||||
["literate", 500],
|
||||
["huashanxinfa", 500, "force"],
|
||||
["huashanjianfa", 500],
|
||||
["feiyanhuixiang", 500, "dodge"],
|
||||
["kuangfengkuaijian", 500,"sword"],
|
||||
["huashanquanfa", 500, "unarmed"]);
|
||||
|
||||
this.on_master = function (me) {
|
||||
|
||||
if (me.query_skill("huashanxinfa", 0) < 100) return me.notify_fail("封不平说道:你的华山心法掌握程度还不够,需要多加练习。");
|
||||
if (me.query_skill("huashanjianfa", 0) < 200) return me.notify_fail("封不平说道:你的华山剑法掌握程度还不够,需要多加练习。");
|
||||
return true;
|
||||
}
|
||||
48
world/npc/huashan/fengqingyang.js
Normal file
48
world/npc/huashan/fengqingyang.js
Normal file
@@ -0,0 +1,48 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "风清扬",
|
||||
desc: "他就是华山剑宗的长老风清扬。他身材瘦长,眉宇间一直笼罩着一股淡淡的忧伤神色,显然对当年的剑宗气宗之争一直难以忘怀。",
|
||||
title: "剑宗祖师",
|
||||
gender: 1,
|
||||
age: 68,
|
||||
per: 33,
|
||||
str: 27,
|
||||
con: 37,
|
||||
dex: 27,
|
||||
int: 37,
|
||||
family: FAMILIES.HUASHAN,
|
||||
family_level: 0,
|
||||
level: 3,
|
||||
max_mp: 781400,
|
||||
max_hp: 871400,
|
||||
prop: {
|
||||
gj: 8000,
|
||||
mz: 8000,
|
||||
ds: 8000
|
||||
}
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/jian", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 800],
|
||||
["parry", 800],
|
||||
["force", 800],
|
||||
["unarmed", 800],
|
||||
["sword", 800],
|
||||
["literate", 800],
|
||||
["dugujiujian", 800, ["sword","parry"]],
|
||||
["zixiashengong", 800, "force"],
|
||||
["feiyanhuixiang", 800, "dodge"],
|
||||
["huashanjianfa", 800],
|
||||
["kuangfengkuaijian", 800],
|
||||
["poyuquan", 800, "unarmed"],
|
||||
["huashanquanfa", 800]);
|
||||
|
||||
this.on_master = function (me) {
|
||||
|
||||
if (me.query_skill("zixiashengong2", 0) == 0 && me.query_skill("zixiashengong", 0) < 500) return me.notify_fail("风清扬说道:你的紫霞神功掌握程度还不够,需要多加练习。");
|
||||
if (me.query_skill("zixiashengong", 0) == 0 && me.query_skill("zixiashengong2", 0) < 500) return me.notify_fail("风清扬说道:你的紫霞神功掌握程度还不够,需要多加练习。");
|
||||
if (me.query_skill("kuangfengkuaijian2", 0) == 0 && me.query_skill("kuangfengkuaijian", 0) < 500) return me.notify_fail("风清扬说道:你的狂风快剑掌握程度还不够,还需多加努力。");
|
||||
if (me.query_skill("kuangfengkuaijian", 0) == 0 && me.query_skill("kuangfengkuaijian2", 0) < 500) return me.notify_fail("风清扬说道:你的狂风快剑掌握程度还不够,还需多加努力。");
|
||||
me.notify("风清扬叹了口气说到:剑气之争又如何?");
|
||||
return true;
|
||||
}
|
||||
37
world/npc/huashan/gaogenming.js
Normal file
37
world/npc/huashan/gaogenming.js
Normal file
@@ -0,0 +1,37 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "高根明",
|
||||
desc: "高根明是岳不群的第五位弟子",
|
||||
title: "市井豪杰",
|
||||
gender: 1,
|
||||
age: 24,
|
||||
per: 33,
|
||||
max_mp: 51400,
|
||||
max_hp: 51400,
|
||||
str: 25,
|
||||
con: 27,
|
||||
dex: 20,
|
||||
int: 25,
|
||||
family: FAMILIES.HUASHAN,
|
||||
family_level: 2,
|
||||
prop: {
|
||||
gj: 500,
|
||||
mz: 500,
|
||||
ds:500
|
||||
}
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/jian", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 100],
|
||||
["parry", 100],
|
||||
["force", 100],
|
||||
["unarmed", 100],
|
||||
["sword", 100],
|
||||
["literate", 100],
|
||||
["huashanxinfa", 100, "force"],
|
||||
["huashanjianfa", 100, "sword"],
|
||||
["huashanquanfa", 100, "unarmed"]);
|
||||
|
||||
this.on_master = function (me) {
|
||||
return true;
|
||||
}
|
||||
47
world/npc/huashan/yuebuqun.js
Normal file
47
world/npc/huashan/yuebuqun.js
Normal file
@@ -0,0 +1,47 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "岳不群",
|
||||
desc: "他就是华山派的现任掌门人,江湖上人称“君子剑”的岳不群。他看上去是个和善的中年人,对人总是彬彬有礼,很有一代宗师的风范。",
|
||||
title: "华山派掌门 君子剑",
|
||||
gender: 1,
|
||||
age: 40,
|
||||
per: 33,
|
||||
max_mp: 827400,
|
||||
max_hp: 891500,
|
||||
str: 27,
|
||||
con: 27,
|
||||
dex: 27,
|
||||
int: 27,
|
||||
family: FAMILIES.HUASHAN,
|
||||
family_level: 1,
|
||||
prop: {
|
||||
gj: 4000,
|
||||
mz: 4000,
|
||||
ds: 4000
|
||||
}
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/jian", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 500],
|
||||
["parry", 500],
|
||||
["force", 500],
|
||||
["unarmed", 500],
|
||||
["sword", 500],
|
||||
["literate", 500],
|
||||
["zixiashengong", 500, "force"],
|
||||
["huashanjianfa", 500],
|
||||
["huashanxinfa", 500],
|
||||
["feiyanhuixiang", 500, "dodge"],
|
||||
["huashanquanfa", 500],
|
||||
["poyuquan", 500, ["unarmed", "parry"]]);
|
||||
this.on_teach = function (me, sk) {
|
||||
if (!this.is(me.query_temp("master")))
|
||||
return me.notify_fail(this.name + "对你说道:请教?这怎么敢当!");
|
||||
|
||||
}
|
||||
this.on_master = function (me) {
|
||||
|
||||
if (me.query_skill("huashanxinfa", 0) < 100) return me.notify_fail("岳不群说道:你的华山心法掌握程度还不够,需要多加练习。");
|
||||
if (me.query_skill("huashanjianfa", 0) < 100) return me.notify_fail("岳不群说道:你的华山剑法掌握程度还不够,还需多加努力。");
|
||||
return true;
|
||||
}
|
||||
43
world/npc/new/daoshi.js
Normal file
43
world/npc/new/daoshi.js
Normal file
@@ -0,0 +1,43 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "<hic>指引者</hic>",
|
||||
desc: "她是一位漂亮的女性,脸上笑眯眯的",
|
||||
title: "<hig>新手导师</hig>",
|
||||
gender: 2,
|
||||
age: 20,
|
||||
per: 41,
|
||||
mp: 1500,
|
||||
max_mp: 1500,
|
||||
hp: 1500,
|
||||
max_hp: 1500,
|
||||
});
|
||||
this.set_objects([
|
||||
"sp/new/qicai", 1, 1
|
||||
]);
|
||||
|
||||
|
||||
|
||||
|
||||
this.query_commands_json = function (player, isyb) {
|
||||
|
||||
var json = {};
|
||||
json.type = "item";
|
||||
json.desc = this.desc;
|
||||
json.id = this.id;
|
||||
json.commands = [];
|
||||
json.commands.push({
|
||||
cmd: "look " + this.id,
|
||||
name: "查看"
|
||||
});
|
||||
|
||||
if (this.actions) {
|
||||
for (var cmd in this.actions) {
|
||||
if (!this.actions[cmd].name) continue;
|
||||
json.commands.push({
|
||||
cmd: cmd + " " + this.id,
|
||||
name: this.actions[cmd].name
|
||||
});
|
||||
}
|
||||
}
|
||||
return JSON.stringify(json);
|
||||
}
|
||||
17
world/npc/new/mutouren.js
Normal file
17
world/npc/new/mutouren.js
Normal file
@@ -0,0 +1,17 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "<hiw>木头人</hiw>",
|
||||
desc: "这是一个木头做的假人,用来训练新手用的",
|
||||
gender: 1,
|
||||
age: 10,
|
||||
per: 22,
|
||||
mp: 60,
|
||||
max_mp: 60,
|
||||
hp: 60,
|
||||
max_hp: 60,
|
||||
dex: 20,
|
||||
str:4
|
||||
});
|
||||
this.set_drop({
|
||||
obj: "sp/new/mutou"
|
||||
});
|
||||
19
world/npc/pub/baodi.js
Normal file
19
world/npc/pub/baodi.js
Normal file
@@ -0,0 +1,19 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "易直非",
|
||||
desc: "一个神秘的商人,可以帮你兑换你一直想要却得不到的道具",
|
||||
title: "神秘商人",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: this.random(20) + 10,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400
|
||||
});
|
||||
|
||||
this.add_action("ask3", "兑换", function (me) {
|
||||
|
||||
});
|
||||
|
||||
|
||||
43
world/npc/pub/bing.js
Normal file
43
world/npc/pub/bing.js
Normal file
@@ -0,0 +1,43 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "官兵",
|
||||
desc: "虽然官兵的武艺不能和武林人士相比,可是他们讲究的是人多力量大。",
|
||||
gender: 1,
|
||||
age: 35,
|
||||
per: this.random(20) + 10,
|
||||
mp: 1500,
|
||||
max_mp: 1500,
|
||||
hp: 1500,
|
||||
max_hp: 1500,
|
||||
score: 10
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv1/junfu", 1, 1
|
||||
], [
|
||||
"eq/lv0/dao", 1, 1
|
||||
]);
|
||||
this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 2,
|
||||
max: 5
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/jian", "eq/lv0/dao"],
|
||||
odds: 6000
|
||||
}, {
|
||||
obj: ["eq/lv1/guanfu", "eq/lv1/junfu", "book/book#sword", "book/book#blade"],
|
||||
odds: 2000
|
||||
});
|
||||
this.skill_map(
|
||||
["unarmed", 150],
|
||||
["dodge", 150],
|
||||
["parry", 150],
|
||||
["blade", 150]);
|
||||
|
||||
this.on_kill = function (me) {
|
||||
this.each_item(item => {
|
||||
if (item != this && item.path == this.path) {
|
||||
this.send_room("$N喊道:兄弟们并肩子上!");
|
||||
item.do_kill(me);
|
||||
}
|
||||
}, this.environment);
|
||||
}
|
||||
45
world/npc/pub/biwu.js
Normal file
45
world/npc/pub/biwu.js
Normal file
@@ -0,0 +1,45 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "擂台比武报名",
|
||||
desc: "他是负责比武大赛报名的",
|
||||
gender: 1,
|
||||
age: 35,
|
||||
per: this.random(20) + 10,
|
||||
mp: 1500,
|
||||
max_mp: 1500,
|
||||
hp: 1500,
|
||||
max_hp: 1500
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv1/junfu", 1, 1
|
||||
]);
|
||||
|
||||
|
||||
this.query_commands = function (player) {
|
||||
if (this.json) return this.json;
|
||||
var json = {};
|
||||
json.type = "item";
|
||||
json.desc = this.desc;
|
||||
json.id = this.id;
|
||||
json.commands = [];
|
||||
|
||||
json.commands.push({
|
||||
cmd: "askbiwu " + this.id,
|
||||
name: "挑战"
|
||||
});
|
||||
json.commands.push({
|
||||
cmd: "askbiwu1 " + this.id,
|
||||
name: "更新我的比武状态"
|
||||
});
|
||||
this.json = JSON.stringify(json);
|
||||
return this.json;
|
||||
}
|
||||
this.add_action("askbiwu", "挑战", function (me) {
|
||||
me.send('从高手榜单选择你要挑战的高手。');
|
||||
});
|
||||
|
||||
this.add_action("askbiwu1", "观战", function (me) {
|
||||
|
||||
WORLD.COMMANDS['biwu'].enter(me, 'watch');
|
||||
});
|
||||
|
||||
76
world/npc/pub/bpguanli.js
Normal file
76
world/npc/pub/bpguanli.js
Normal file
@@ -0,0 +1,76 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "帮会管理员",
|
||||
desc: "他是帮会方面的管理员",
|
||||
gender: 1,
|
||||
age: 44,
|
||||
per: this.random(20) + 10,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400,
|
||||
no_fight: true
|
||||
|
||||
});
|
||||
this.on_kill = function (me) {
|
||||
return false;
|
||||
}
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1]);
|
||||
this.add_action("askhyd", "活跃度查询", function (me, par) {
|
||||
var pt = me.query_party();
|
||||
if (!pt) return me.notify("你还没有加入帮派。");
|
||||
var str = ["<hic>帮会管理员说道:我们帮派本周的活跃度是:" + pt.query_score() + ",成员完成每日任务获得活跃度,每周一清空</hic>"];
|
||||
var lv = ["", "武士", "武师", "宗师", "武圣", "武帝", "武神"];
|
||||
var lv_sc = [];
|
||||
for (var i = 1; i < 7; i++) {
|
||||
str.push("\n");
|
||||
str.push(lv[i]);
|
||||
str.push("活跃度:");
|
||||
str.push(pt.query_temp('sc' + i, 0));
|
||||
str.push("/");
|
||||
str.push((pt.level + 3) * 200);
|
||||
}
|
||||
me.send(str.join(""));
|
||||
if (me.query_temp('pt_lv', 0) < 5) {
|
||||
me.send_commands("party fam", "开启帮派战",
|
||||
"party boss", "发送英雄帖",
|
||||
"party xiangyang", "守卫襄阳",
|
||||
"party lvliu", "绿柳山庄");
|
||||
}
|
||||
});
|
||||
this.add_action("ptset1", "帮会设置", function (me, par) {
|
||||
var pt = me.query_party();
|
||||
if (!pt) return me.notify("你还没有加入帮派。");
|
||||
if (me.query_temp('pt_lv', 0) > pt.query_temp("power", 2)) {
|
||||
return me.notify("你没有权限更改设置。");
|
||||
}
|
||||
me.notify("帮会管理员:你要更改哪些设置?");
|
||||
return me.send_commands("party setting power", "更改权限", "party setting join", "加入方式",
|
||||
"party setting open_sc", "开启门派活动",
|
||||
"party setting alloc", "战利品分配", "party setting notice", "发布公告");
|
||||
|
||||
});
|
||||
|
||||
this.add_action("sendntc", "发布公告", function (me, par) {
|
||||
|
||||
WORLD.COMMANDS['party'].enter(me, 'notice');
|
||||
});
|
||||
|
||||
this.add_action("levelup2", "设施升级", function (me, par) {
|
||||
var pt = me.query_party();
|
||||
if (!pt) return me.notify("你还没有加入帮派。");
|
||||
if (me.query_temp('pt_lv', 0) > 1) {
|
||||
return me.notify("你没有权限升级设施。");
|
||||
}
|
||||
var exp = pt.query_exp();
|
||||
var lvup_exp = pt.level_exp[pt.level];
|
||||
if (lvup_exp) exp = exp + "/" + lvup_exp;
|
||||
|
||||
me.notify("帮会管理员:你要升级哪些设施?当前可用积分" + exp);
|
||||
return me.send_commands("party levelup liangong", "升级练功房", "party levelup lianyao", "升级炼药房");
|
||||
|
||||
});
|
||||
this.add_action("jrfb", "进入副本区域", function (me, par) {
|
||||
|
||||
WORLD.COMMANDS['party'].enter(me, 'enter');
|
||||
});
|
||||
23
world/npc/pub/ckguanli.js
Normal file
23
world/npc/pub/ckguanli.js
Normal file
@@ -0,0 +1,23 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "仓库管理员",
|
||||
desc: "他是帮会仓库管理员",
|
||||
gender: 1,
|
||||
age: 44,
|
||||
per: this.random(20) + 10,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400,
|
||||
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1]);
|
||||
this.add_action("askhyd", "仓库盘点", function (me, par) {
|
||||
var pt = me.query_party();
|
||||
if (!pt) return me.notify("你还没有加入帮派。");
|
||||
|
||||
me.send("帮会管理员说道:我们本周的活跃度是:" + pt.query_score() + ",每周一重置。");
|
||||
if (me.query_temp('pt_lv', 0) < 5) {
|
||||
me.send_commands("party fam", "开启帮派战", "party boss", "发送英雄帖");
|
||||
}
|
||||
});
|
||||
71
world/npc/pub/dadizi.js
Normal file
71
world/npc/pub/dadizi.js
Normal file
@@ -0,0 +1,71 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "大师兄",
|
||||
desc: "他就是你们门派的首席大弟子",
|
||||
title: "<hig>首席弟子</hig>",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: 18,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400
|
||||
});
|
||||
this.on_create = function (path, par) {
|
||||
if (!par) return;
|
||||
this.family = FAMILIES[par.substr(1)];
|
||||
this.init_from(this.family);
|
||||
if (this.family == FAMILIES.EMEI) {
|
||||
this.gender = 2;
|
||||
}
|
||||
var user = WORLD.getUser(WORLD.DATA.query_temp(this.family.id + "_top"));
|
||||
this.family.init_dadizi(this, user);
|
||||
if (!user) this.family.is_init_first = false;
|
||||
}
|
||||
this.on_clone = function () {
|
||||
|
||||
}
|
||||
this.on_kill = function (me) {
|
||||
return me.notify_fail(this.name + '说道:' + this.callme() + "只接受比试。");
|
||||
}
|
||||
this.init_from = function (fam) {
|
||||
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/jian", 1, 1]);
|
||||
|
||||
var ary = [];
|
||||
for (var i = 0; i < fam.npc_skills.length; i++) {
|
||||
ary.push([
|
||||
fam.npc_skills[i][0],
|
||||
200,
|
||||
fam.npc_skills[i][2]
|
||||
]);
|
||||
}
|
||||
this.skill_map.apply(this, ary);
|
||||
|
||||
this.max_mp = this.mp = 10000;
|
||||
this.on_heart_beat = null;
|
||||
this.on_damage = null;
|
||||
this.hp = this.max_hp = 10000;
|
||||
this.init();
|
||||
this.recount();
|
||||
}
|
||||
this.on_fight_over = function (me, issuc) {
|
||||
if (issuc) {
|
||||
me.notify(this.name + "对你嘿嘿嘿的笑了几声。");
|
||||
} else {
|
||||
me.notify(this.name + "对你嘿嘿嘿的笑了几声。");
|
||||
}
|
||||
}
|
||||
|
||||
this.greeting = function (me) {
|
||||
WORLD.COMMANDS.sx.do_greet(me, this);
|
||||
}
|
||||
|
||||
|
||||
this.manage = function (me) {
|
||||
WORLD.COMMANDS.sx.do_manage(me);
|
||||
}
|
||||
|
||||
this.add_action("ask2", "请安", this.greeting);
|
||||
this.add_action('manage', '设置', this.manage);
|
||||
|
||||
21
world/npc/pub/gaoshou1.js
Normal file
21
world/npc/pub/gaoshou1.js
Normal file
@@ -0,0 +1,21 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "武林高手",
|
||||
desc: "他是一个武林高手,但是没人知道他的名字",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: this.random(20) + 10,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400,
|
||||
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth",1,1]);
|
||||
this.skill_map(
|
||||
["force", 100],
|
||||
["dodge", 100],
|
||||
["parry", 100],
|
||||
["sword", 100],
|
||||
["blade", 100],
|
||||
["unarmed", 100]);
|
||||
87
world/npc/pub/guanjia.js
Normal file
87
world/npc/pub/guanjia.js
Normal file
@@ -0,0 +1,87 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "管家",
|
||||
desc: "他就是负责扬州私人住宅租售的管家,也负责替人看家",
|
||||
gender: 1,
|
||||
age: 44,
|
||||
per: this.random(20) + 10,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400,
|
||||
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1]);
|
||||
this.on_enter = function (me) {
|
||||
if (me.query_temp("home")) {
|
||||
me.notify("管家对你热情的说道:您来啦,快请进。");
|
||||
} else {
|
||||
me.notify("管家招呼道:这位" + me.call() + ",需要房子吗,练功,学习都会提高效率哦。");
|
||||
}
|
||||
}
|
||||
this.set_chat_msg([
|
||||
"管家骄傲的说道:本管家经手的住宅没有一百也有八十了,客官你大可放心。",
|
||||
"管家说道:这里不但有适合住家的小别院,也有富丽堂皇的大宅,客官您要不要来看看。",
|
||||
"管家说道:这里之前据说是位财主的家,方圆几里都是他家的产业!"
|
||||
]);
|
||||
this.add_action("qianyue", "签约", function (me, par) {
|
||||
if (!WORLD.is_server(me)) {
|
||||
return me.notify("管家拦住你:这位" + me.call() + ",这里是私人住宅区,你不能进去。");
|
||||
}
|
||||
var home = me.query_temp("home");
|
||||
|
||||
if (home) {
|
||||
me.notify("管家对你说道:这位" + me.call() + ",您已经购买房屋了,可以直接进去,如果要升级住宅只需要再给我1800两黄金就可以了。");
|
||||
if (home == 1) {
|
||||
return me.send_commands("give " + this.id + " 18000000 money", "<hic>我要换成豪华型住宅</hic>");
|
||||
}
|
||||
} else {
|
||||
me.notify("管家对你说道:这位" + me.call() + ",这里有多种房屋户型提供:\n1. 精致型住宅,单人私密空间,只有一个单间附带练功房功能,价格100两黄金\n2. 豪华型住宅,包含别院,练功房,卧房,价格1888两黄金");
|
||||
return me.send_commands("give " + this.id + " 1000000 money",
|
||||
"精致型住宅", "give " + this.id + " 18880000 money", "<hic>豪华型住宅</hic>");
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
this.on_accept = function (me, obj, count) {
|
||||
if (obj !== 'money') return false;
|
||||
let home = me.query_temp('home', 0);
|
||||
if (home === 2) return me.notify_fail("管家的说道:你已经购买住宅了。");
|
||||
if (home) {
|
||||
if (count !== 18000000)
|
||||
return me.notify("管家的说道:豪华型住宅需要1800两黄金。");
|
||||
me.set_temp("home", 2);
|
||||
me.send_room("$n拿出一纸契约,给$N看了官府颁印的契尾,麻利的按好指印:多谢您老,以后这栋房子就是您的啦。", this);
|
||||
|
||||
me.clear_home(false);
|
||||
} else {
|
||||
if (count === 1000000) {
|
||||
me.set_temp("home", 1);
|
||||
me.send_room("$n拿出一纸契约,给$N看了官府颁印的契尾,麻利的按好指印:多谢您老,以后这栋房子就是您的啦。", this);
|
||||
|
||||
} else if (count === 18880000) {
|
||||
me.send_room("$n拿出一纸契约,给$N看了官府颁印的契尾,麻利的按好指印:多谢您老,以后这栋房子就是您的啦。", this);
|
||||
|
||||
me.set_temp("home", 2);
|
||||
} else {
|
||||
return me.notify("管家的说道:" + me.call() + ",你是要购买100两黄金的房子吗?");
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
this.on_leave = function (me, dir) {
|
||||
if (dir == "enter") {
|
||||
if (!WORLD.is_server(me)) {
|
||||
return me.notify_fail("管家拦住你:这位" + me.call() + ",这里是私人住宅区,你不能进去。");
|
||||
}
|
||||
var home = me.query_temp("home");
|
||||
if (!home) {
|
||||
me.notify("管家拦住你:这位" + me.call() + ",这里是私人住宅区,你不能进去。");
|
||||
return false;
|
||||
} else {
|
||||
me.go_home();
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
12
world/npc/pub/hua.js
Normal file
12
world/npc/pub/hua.js
Normal file
@@ -0,0 +1,12 @@
|
||||
this.inherits(MONSTER);
|
||||
this.set({
|
||||
name: "花",
|
||||
desc: "",
|
||||
gender: 1,
|
||||
age: 35,
|
||||
mp: 1500,
|
||||
max_mp: 1500,
|
||||
hp: 1500,
|
||||
max_hp: 1500
|
||||
});
|
||||
|
||||
242
world/npc/pub/hubu.js
Normal file
242
world/npc/pub/hubu.js
Normal file
@@ -0,0 +1,242 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "赵铁笔",
|
||||
desc: "他是负责户口登记的,需要离婚,解除师徒关系可以来找他。",
|
||||
title:"户口登记",
|
||||
gender: 1,
|
||||
age: 35,
|
||||
per: this.random(20) + 10,
|
||||
mp: 1500,
|
||||
max_mp: 1500,
|
||||
hp: 1500,
|
||||
max_hp: 1500,
|
||||
score: 10
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv1/guanfu", 1, 1
|
||||
]);
|
||||
this.check_player = function (me) {
|
||||
var wife = me.query_temp("wife") || me.query_temp("husband");
|
||||
if (!wife) return me.notify_fail("赵铁笔说道:你还没结婚呢,离什么婚!");
|
||||
var name = me.query_temp("wife") ? "妻子" : "丈夫";
|
||||
var user = WORLD.getUser(wife);
|
||||
if (!user) {
|
||||
|
||||
me.notify_fail("赵铁笔说道:你的" + name + "目前不在线,我不能给你办理离婚!");
|
||||
me.send_commands("no_marry2 " + this.id, "强制解除");
|
||||
return false;
|
||||
}
|
||||
if (!this.is_here(user)) {
|
||||
me.notify_fail("赵铁笔说道:你的" + name + "不在这里,我不能给你办理离婚!");
|
||||
me.send_commands("no_marry2 " + this.id, "强制解除");
|
||||
return false;
|
||||
}
|
||||
|
||||
return user;
|
||||
}
|
||||
this.check_player2 = function (me) {
|
||||
var tudi = me.query_temp("tudi") || me.query_temp("shifu");
|
||||
if (!tudi) return me.notify_fail("赵铁笔说道:你没有拜师,也没有收徒!");
|
||||
var name = me.query_temp("tudi") ? "徒弟" : "师父";
|
||||
var user = WORLD.getUser(tudi);
|
||||
if (!user) {
|
||||
me.notify_fail("赵铁笔说道:你的" + name + "目前不在线,我不能给你办理解除关系手续!");
|
||||
me.send_commands("no_shitu2 " + this.id, "强制解除");
|
||||
return false;
|
||||
}
|
||||
if (!this.is_here(user)) {
|
||||
me.notify_fail("赵铁笔说道:你的" + name + "不在这里,我不能给你办理解除关系手续!");
|
||||
me.send_commands("no_shitu2 " + this.id, "强制解除");
|
||||
return false;
|
||||
}
|
||||
|
||||
return user;
|
||||
}
|
||||
this.add_action("no_marry", "离婚", function (me, par) {
|
||||
var user = this.check_player(me);
|
||||
if (!user) return;
|
||||
this.send_room("$N说道:离婚这个事情可不能草率,我得问问" + me.name + "愿不愿意。注意了,双方同意离婚后将解除婚姻关系。", user);
|
||||
this.send_room("<yel>$N对著$n问道:你愿意和"+me.name+"离婚吗?</yel>", user);
|
||||
user.send_commands("no_marry_no " + this.id, "不愿意", "no_marry_yes " + this.id, "愿意");
|
||||
user.set_temp("request_no_marry", 1, 100000);
|
||||
});
|
||||
this.add_action("no_marry_no", null, function (me, par) {
|
||||
if (!me.query_temp("request_no_marry")) return me.notify("没人问你。");
|
||||
var user = this.check_player(me);
|
||||
if (!user) return;
|
||||
me.send_room("<mag>$N对著$n大声道:我不愿意!</mag>", user);
|
||||
me.remove_temp("request_no_marry");
|
||||
me.send_room("赵铁笔呵呵笑道:这个我就没办法了,咱总不能强人所难对吧。");
|
||||
});
|
||||
this.add_action("no_marry_yes", null, function (me, par) {
|
||||
if (!me.query_temp("request_no_marry")) return me.notify("没人问你。");
|
||||
var user = this.check_player(me);
|
||||
if (!user) return;
|
||||
me.send_room("<mag>$N对著$n大声道:我愿意!</mag>", user);
|
||||
me.remove_temp("request_no_marry");
|
||||
me.send_room("赵铁笔呵呵笑道:好吧,从现在开始你们两个就不是夫妻了,好自为之吧。");
|
||||
if (me.query_temp("wife")) {
|
||||
me.remove_temp("wife");
|
||||
me.remove_temp("wife_n");
|
||||
user.remove_temp("husband");
|
||||
user.remove_temp("husband_n");
|
||||
}
|
||||
if (me.query_temp("husband")) {
|
||||
me.remove_temp("husband");
|
||||
me.remove_temp("husband_n");
|
||||
user.remove_temp("wife");
|
||||
user.remove_temp("wife_n");
|
||||
}
|
||||
me.add_title("", "mar");
|
||||
user.add_title("", "mar");
|
||||
me.set_temp("marry_leave", 1, 7 * 24 * 3600000);
|
||||
user.set_temp("marry_leave", 1, 7* 24 * 3600000);
|
||||
});
|
||||
this.add_action("no_shitu", "解除师徒", function (me, par) {
|
||||
var user = this.check_player2(me);
|
||||
if (!user) return;
|
||||
this.send_room("<yel>$N对著$n问道:你愿意和" + me.name + "解除师徒关系吗?</yel>", user);
|
||||
user.send_commands("no_shitu_no " + this.id, "不愿意", "no_shitu_yes " + this.id, "愿意");
|
||||
user.set_temp("request_no_shitu", 1, 100000);
|
||||
});
|
||||
|
||||
this.add_action("no_shitu_no", null, function (me, par) {
|
||||
if (!me.query_temp("request_no_shitu")) return me.notify("没人问你。");
|
||||
var user = this.check_player2(me);
|
||||
if (!user) return;
|
||||
me.send_room("<mag>$N对著$n大声道:我不愿意!</mag>", user);
|
||||
me.remove_temp("request_no_shitu");
|
||||
me.send_room("赵铁笔呵呵笑道:这个我就没办法了,咱总不能强人所难对吧。");
|
||||
});
|
||||
this.add_action("no_shitu_yes", null, function (me, par) {
|
||||
if (!me.query_temp("request_no_shitu")) return me.notify("没人问你。");
|
||||
var user = this.check_player2(me);
|
||||
if (!user) return;
|
||||
me.send_room("<mag>$N对著$n大声道:我愿意!</mag>", user);
|
||||
me.remove_temp("request_no_shitu");
|
||||
me.send_room("赵铁笔呵呵笑道:好吧,从现在开始你们两个就不是师徒了,各自都需要7天后才可以继续收徒或拜师。");
|
||||
if (me.query_temp("shifu")) {
|
||||
me.remove_temp("shifu");
|
||||
me.remove_temp("shifu_n");
|
||||
user.remove_temp("tudi");
|
||||
user.remove_temp("tudi_n");
|
||||
}
|
||||
if (me.query_temp("tudi")) {
|
||||
me.remove_temp("tudi");
|
||||
me.remove_temp("tudi_n");
|
||||
user.remove_temp("shifu");
|
||||
user.remove_temp("shifu_n");
|
||||
}
|
||||
me.set_temp("st_leave", 1, 3600000 * 24 * 7);
|
||||
user.set_temp("st_leave", 1, 3600000 * 24 * 7);
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
this.add_action("no_marry2", null, function (me, par) {
|
||||
var wife = me.query_temp("wife") || me.query_temp("husband");
|
||||
if (!wife) return me.notify_fail("赵铁笔说道:你还没结婚呢,离什么婚!");
|
||||
var name = me.query_temp("wife") ? "妻子" : "丈夫";
|
||||
me.notify("赵铁笔说道:单方面解除婚姻关系需要缴纳800两黄金的手续费。");
|
||||
me.send_commands("give " + this.id + " 8000000 money", "确认解除");
|
||||
});
|
||||
this.add_action("no_shitu2", null, function (me, par) {
|
||||
var wife = me.query_temp("shifu") || me.query_temp("tudi");
|
||||
if (!wife) return me.notify_fail("赵铁笔说道:你还没拜师,也没收徒!");
|
||||
if (me.query_temp("tudi")) {
|
||||
me.notify("赵铁笔说道:单方面解除师徒关系需要缴纳1000两黄金的手续费,并且解除后7天内不允许再次收徒!");
|
||||
me.send_commands("give " + this.id + " 10000000 money", "确认解除");
|
||||
} else {
|
||||
me.notify("赵铁笔说道:单方面解除师徒关系需要缴纳500两黄金的手续费,并且解除后7天内不允许再次拜师!");
|
||||
me.send_commands("give " + this.id + " 5000000 money", "确认解除");
|
||||
}
|
||||
|
||||
});
|
||||
this.on_accept = function (me, obj, count) {
|
||||
|
||||
if (obj == "money") {
|
||||
if (count == 8000000) {
|
||||
var wife = me.query_temp("wife") || me.query_temp("husband");
|
||||
if (!wife) return me.notify_fail("赵铁笔说道:你还没结婚呢,离什么婚!");
|
||||
var user = WORLD.getUser(wife);
|
||||
if (me.query_temp("wife")) {
|
||||
me.remove_temp("wife");
|
||||
me.remove_temp("wife_n");
|
||||
user && user.remove_temp("husband");
|
||||
user && user.remove_temp("husband_n");
|
||||
}
|
||||
if (me.query_temp("husband")) {
|
||||
me.remove_temp("husband");
|
||||
me.remove_temp("husband_n");
|
||||
user && user.remove_temp("wife");
|
||||
user && user.remove_temp("wife_n");
|
||||
}
|
||||
me.add_title("", "mar");
|
||||
user && user.add_title("", "mar");
|
||||
user && user.notify("<yel>你和" + me.name + "的夫妻关系解除了。</yel>");
|
||||
var attach = user ? null : [{
|
||||
obj: "sp/tool/fuqi#" + me.id,
|
||||
count: 1
|
||||
}];
|
||||
COMMAND.DO("send", wife, {
|
||||
content: me.name + "主动和你解除夫妻关系。",
|
||||
attach: attach
|
||||
});
|
||||
me.notify("赵铁笔呵呵笑道:好吧,你的婚姻关系已经解除了。");
|
||||
me.set_temp("marry_leave", 1, 7 * 24 * 3600000);
|
||||
user&& user.set_temp("marry_leave", 1, 7 * 24 * 3600000);
|
||||
return true;
|
||||
}
|
||||
if (count == 10000000) {
|
||||
var tudi = me.query_temp("tudi");
|
||||
if (!tudi) return me.notify_fail("赵铁笔说道:你没有徒弟!");
|
||||
var user = WORLD.getUser(tudi);
|
||||
me.remove_temp("tudi");
|
||||
me.remove_temp("tudi_n");
|
||||
me.set_temp("st_leave", 1, 3600000 * 24 * 7);
|
||||
if (user) {
|
||||
user.remove_temp("shifu");
|
||||
user.remove_temp("shifu_n");
|
||||
user.set_temp("st_leave", 1, 3600000 * 24 * 7);
|
||||
user.notify("<yel>你和" + me.name + "的师徒关系解除了。</yel>");
|
||||
}
|
||||
|
||||
COMMAND.DO("send", tudi, {
|
||||
content: "你的师父主动和你解除师徒关系",
|
||||
attach: [{
|
||||
obj: "sp/tool/shitu#" + me.id,
|
||||
count: 1
|
||||
}]
|
||||
});
|
||||
|
||||
me.notify("赵铁笔说道:你的师徒关系已经解除了。");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (count == 5000000) {
|
||||
var shifu = me.query_temp("shifu");
|
||||
if (!shifu) return me.notify_fail("赵铁笔说道:你没有徒弟!");
|
||||
var user = WORLD.getUser(shifu);
|
||||
me.remove_temp("shifu");
|
||||
me.remove_temp("shifu_n");
|
||||
me.set_temp("st_leave", 1, 3600000 * 24 * 7);
|
||||
if (user) {
|
||||
user.remove_temp("tudi");
|
||||
user.remove_temp("tudi_n");
|
||||
user.set_temp("st_leave", 1, 3600000 * 24 * 7);
|
||||
user.notify("<yel>你和" + me.name + "的师徒关系解除了。</yel>");
|
||||
}
|
||||
|
||||
COMMAND.DO("send", shifu, {
|
||||
content: "你的徒弟主动和你解除师徒关系",
|
||||
attach: [{
|
||||
obj: "sp/tool/shitu#" + me.id,
|
||||
count: 1
|
||||
}]
|
||||
});
|
||||
me.notify("赵铁笔说道:你的师徒关系已经解除了。");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
55
world/npc/pub/jiaoxi.js
Normal file
55
world/npc/pub/jiaoxi.js
Normal file
@@ -0,0 +1,55 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "武馆教习",
|
||||
desc: "一个高大威猛的汉子,负责教导武馆新人基本功法",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: this.random(20) + 10,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400,
|
||||
family: FAMILIES.NONE
|
||||
});
|
||||
this.skill_map(
|
||||
["force", 300],
|
||||
["dodge", 300],
|
||||
["parry", 300],
|
||||
["sword", 300],
|
||||
["blade", 300],
|
||||
["club", 300],
|
||||
["staff", 300],
|
||||
["whip", 300],
|
||||
["unarmed", 300],
|
||||
["throwing", 300]);
|
||||
this.on_checkskill = function (me) {
|
||||
if (!me.query_temp("wg_sr")) {
|
||||
me.send_room("武馆教习瞄了$N一眼:100两白银,先交钱再学功夫,包教包会。");
|
||||
|
||||
return me.notify_fail('{type:"cmds",items:{cmd:"give ' + this.id + ' 10000 money",name:"交报名费"}}');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
this.on_teach = function (me) {
|
||||
return me.query_temp("wg_sr") == 1;
|
||||
}
|
||||
this.on_accept = function (me, obj, count) {
|
||||
if (obj != "money") return false;
|
||||
if (me.query_temp("wg_sr")) {
|
||||
me.notify("武馆教习愉快笑了笑,收下你的钱。");
|
||||
return true;
|
||||
}
|
||||
if (count < 10000) return me.notify_fail("武馆教习瞪了你一眼:100两白银,不二价,没钱就一边玩去。");
|
||||
me.send_room("武馆教习收下$N的钱,拍了拍$N的肩膀:不错,以后你就是本馆的弟子了,本武馆包教基本武技到300级,随到随学,不限学时,全国连锁。");
|
||||
me.set_temp("wg_sr", 1);
|
||||
|
||||
if (!me.query_temp("sm_tm")) {
|
||||
me.set_temp("sm_tm", Math.floor(Date.now() / 100000));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// this.add_action("ask1", "武馆任务", function (me) {
|
||||
// if (me.family != FAMILIES.NONE) return me.notify("武馆教习对你说道:你还是去找自己的师门看看吧。");
|
||||
// me.do_command("task", "sm " + this.id);
|
||||
// });
|
||||
18
world/npc/pub/menpai.js
Normal file
18
world/npc/pub/menpai.js
Normal file
@@ -0,0 +1,18 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "门派弟子",
|
||||
desc: "门派弟子",
|
||||
title: "",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: 18,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400,
|
||||
no_refresh: true,
|
||||
is_drop: false
|
||||
});
|
||||
this.init_from = function (fam, level) {
|
||||
|
||||
}
|
||||
84
world/npc/pub/mpguanli.js
Normal file
84
world/npc/pub/mpguanli.js
Normal file
@@ -0,0 +1,84 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "门派后勤管理员",
|
||||
desc: "他是你们门派里面负责发放弟子福利的人",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: this.random(20) + 10,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400,
|
||||
|
||||
});
|
||||
this.skill_map(
|
||||
["force", 100],
|
||||
["dodge", 100],
|
||||
["parry", 100],
|
||||
["sword", 100],
|
||||
["blade", 100],
|
||||
["club", 100],
|
||||
["staff", 100],
|
||||
["whip", 100],
|
||||
["unarmed", 100]);
|
||||
this.on_create = function (path, par) {
|
||||
if (!par) return;
|
||||
this.family = FAMILIES[par.substr(1)];
|
||||
if (!this.family.customer) this.family.customer = {};
|
||||
if (this.family == FAMILIES.NONE) {
|
||||
this.name = "武馆后勤";
|
||||
}
|
||||
}
|
||||
|
||||
const NEEDS_GJ = [500, 5000, 10000, 50000, 100000];
|
||||
const NEEDS_LEVEL = [0, 3, 4, 5, 6];
|
||||
const NEEDS_LEVEL_DESC = [null, "宗师", "武圣", "武帝", "武神"];
|
||||
this.add_action("job_fam", "门派职位", function (me) {
|
||||
|
||||
var fam = me.family;
|
||||
if (fam === FAMILIES.NONE) {
|
||||
if (!me.query_temp('wg_sr'))
|
||||
return me.notify(this.name +
|
||||
"对你说道:这位" + me.call() + "和本馆素无瓜葛,升职从何说起?");
|
||||
}
|
||||
if (fam != this.family) return me.notify(this.name +
|
||||
"对你说道:这位" + me.call() + "和本派素无瓜葛,升职从何说起?");
|
||||
let gj = me.query_temp('gongji', 0);
|
||||
let level = me.query_temp('sm_level', 0);
|
||||
if (level >= 5) return me.send(this.name +
|
||||
"对你说道:这位" + me.call() + "已经是最高级别的职位了。");
|
||||
|
||||
me.send(`${this.name}说:你现在是${fam.query_job_title(level)},消耗${gj}/${NEEDS_GJ[level]}可以晋升到${fam.query_job_title(level + 1)}。`);
|
||||
if (gj >= NEEDS_GJ[level]) {
|
||||
me.send_commands('job_up_ok ' + this.id, '确定晋升');
|
||||
}
|
||||
});
|
||||
this.add_action("job_up_ok", null, function (me) {
|
||||
|
||||
var fam = me.family;
|
||||
if (fam != this.family) return me.notify(this.name +
|
||||
"对你说道:这位" + me.call() + "和本派素无瓜葛,升职从何说起?");
|
||||
if (fam === FAMILIES.NONE) {
|
||||
if (!me.query_temp('wg_sr'))
|
||||
return me.notify(this.name +
|
||||
"对你说道:这位" + me.call() + "和本馆素无瓜葛,升职从何说起?");
|
||||
}
|
||||
let level = me.query_temp('sm_level', 0);
|
||||
if (level >= 5) return me.send(this.name +
|
||||
"对你说道:这位" + me.call() + "已经是最高级别的职位了。");
|
||||
|
||||
if (me.level < NEEDS_LEVEL[level])
|
||||
return me.send(`${this.name}说道:这位${me.call()},${fam.query_job_title(level + 1)}可不是谁都能当的,最少得是${NEEDS_LEVEL_DESC[level]}才行。`);
|
||||
let gj = me.query_temp('gongji', 0);
|
||||
let need = NEEDS_GJ[level];
|
||||
if (gj >= NEEDS_GJ[level]) {
|
||||
me.add_temp('gongji', -need);
|
||||
USERTASK.GET('sm').on_finish(me);
|
||||
level = me.add_temp('sm_level', 1);
|
||||
me.send(`${this.name}说:恭喜你,现在是${me.family.query_task_title(me)}了,你的师门物资获得大幅度提升。`);
|
||||
|
||||
} else {
|
||||
me.send(`${this.name}说:你的师门功绩还不够晋升,再努力一点吧。`);
|
||||
}
|
||||
});
|
||||
|
||||
23
world/npc/pub/muren.js
Normal file
23
world/npc/pub/muren.js
Normal file
@@ -0,0 +1,23 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "木头人",
|
||||
desc: "这是一个木头做的假人,用来测试伤害的",
|
||||
gender: 1,
|
||||
age: 10,
|
||||
per: 43,
|
||||
mp: 60,
|
||||
max_mp: 60,
|
||||
hp: 99999999,
|
||||
max_hp: 99999999,
|
||||
str: 1,
|
||||
con: 1,
|
||||
dex: 1,
|
||||
int:1
|
||||
});
|
||||
this.die = function () {
|
||||
|
||||
this.clear_combat_prop();
|
||||
this.add_hp(this.max_hp);
|
||||
this.send_room('$N身上破损的木头剥落,再次神采奕奕,精气十足。\n');
|
||||
return false;
|
||||
}
|
||||
22
world/npc/pub/paimai.js
Normal file
22
world/npc/pub/paimai.js
Normal file
@@ -0,0 +1,22 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "拍卖师",
|
||||
desc: "他是藏宝阁里负责拍卖的拍卖师",
|
||||
gender: 1,
|
||||
age: 74,
|
||||
per: 12,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400,
|
||||
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1]);
|
||||
|
||||
this.set_chat_msg([
|
||||
"拍卖师说道:我这里可都是从当铺千挑万选出来的稀有好货,包括一些江湖中已经绝版的珍藏。",
|
||||
"拍卖师说道:当有人送来拍卖品时,立即开始拍卖。"
|
||||
]);
|
||||
this.add_action("spm", "拍卖物品", function (me, par) {
|
||||
WORLD.COMMANDS['pm'].enter(me, 'list');
|
||||
});
|
||||
21
world/npc/pub/qian.js
Normal file
21
world/npc/pub/qian.js
Normal file
@@ -0,0 +1,21 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "钱眼开",
|
||||
desc: "他就是钱庄的老板钱眼开,人称铁公鸡",
|
||||
title: "钱庄老板",
|
||||
gender: 1,
|
||||
age: 34,
|
||||
per: this.random(20) + 10,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400,
|
||||
|
||||
});
|
||||
this.set_chat_msg([
|
||||
"钱眼开骄傲的说道:本银号已经有上百年的历史,分店遍布天下各地。",
|
||||
"钱眼开说道:昨天我亲自看到一个杀手帮的人来取钱,看来杀手帮重出江湖了。",
|
||||
"钱眼开笑着说道:杀手帮重出江湖对本银号来说,真是求之不的呀!。",
|
||||
"钱眼开笑着说道:当年雾中楼在本银号存的钱可以说是最多的了。",
|
||||
"钱眼开笑着说道:在本店存钱无利息,存物不收手续费,客官你看着办吧。"
|
||||
]);
|
||||
113
world/npc/pub/tiejiang.js
Normal file
113
world/npc/pub/tiejiang.js
Normal file
@@ -0,0 +1,113 @@
|
||||
this.inherits(NPC);
|
||||
this.name = "铁匠";
|
||||
this.title = "铁匠铺老板";
|
||||
this.desc = "铁匠正用铁钳夹住一块红热的铁块放进炉中。";
|
||||
this.age = 33;
|
||||
this.max_hp = 100;
|
||||
this.max_mp = 100;
|
||||
this.per = 10;
|
||||
this.gender = 1;
|
||||
this.set_goods("eq/lv0/jian", "eq/lv0/dao", "eq/lv0/tiegun", "eq/lv0/tiezhang", "eq/lv0/fei", "sp/tool/chu#0");
|
||||
this.add_action("unxx", "取消镶嵌", function (me, arg) {
|
||||
|
||||
|
||||
WORLD.COMMANDS['unxiangqian'].enter(me);
|
||||
});
|
||||
this.add_action("unjl", "取消精炼", function (me, arg) {
|
||||
WORLD.COMMANDS['unjinglian'].enter(me);
|
||||
});
|
||||
this.add_action("dz", "锻造武器", function (me, arg) {
|
||||
// me.send_commands('dz1 ' + this.id, "锻造武器",
|
||||
// 'dz2 ' + this.id, "重铸武器",
|
||||
// 'dz3 ' + this.id, "武器改名",
|
||||
// 'dz4 ' + this.id, "更改武器类型");
|
||||
WORLD.COMMANDS['duanzao'].enter(me);
|
||||
});
|
||||
// this.add_action("dz1", "", function (me, arg) {
|
||||
// WORLD.COMMANDS['duanzao'].enter(me);
|
||||
// });
|
||||
// this.add_action("dz2", "", function (me, arg) {
|
||||
// WORLD.COMMANDS['reduanzao'].enter(me);
|
||||
// });
|
||||
|
||||
// this.add_action("dz3", "", function (me, arg) {
|
||||
// WORLD.COMMANDS['reduanzao2'].enter(me);
|
||||
// });
|
||||
|
||||
// this.add_action("dz4", "", function (me, arg) {
|
||||
// WORLD.COMMANDS['reduanzao3'].enter(me);
|
||||
// });
|
||||
|
||||
this.on_duanzao = function (me, arg) {
|
||||
if (arg == "ok") {
|
||||
var item = me.find_obj_bypath("st/yuanjing");
|
||||
if (!item || item.count < 10) return me.notify("铁匠说道:材料不够就别来烦我。");
|
||||
|
||||
me.notify("铁匠点头说道:嗯,不错,你想锻造什么武器?");
|
||||
me.send_commands("duanzao sword", '剑', "duanzao blade", '刀', "duanzao club", '棍', "duanzao staff", '杖',
|
||||
"duanzao whip", '鞭', "duanzao none", '拳');
|
||||
|
||||
} else if (!arg) {
|
||||
me.notify("铁匠说道:你能找到10块<hio>元晶</hio>我就免费帮你锻造一把你自己的武器。");
|
||||
var item = me.find_obj_bypath("st/yuanjing");
|
||||
if (!item || item.count < 10) return;
|
||||
me.send_commands("duanzao ok", "我要锻造武器");
|
||||
} else {
|
||||
var type = WEAPON_TYPE[arg.toUpperCase()];
|
||||
if (!type) return me.notify("铁匠摇头道:我不会锻造这种武器。");
|
||||
//me.set_temp('dz', arg, 30000);
|
||||
me.notify("铁匠说道:告诉我你要锻造的武器的名字。(使用房间频道说出(2-5个汉字),暴力,色情,政治相关的名字将直接销毁)");
|
||||
me.wait_input = this.dzwq.bind(this, arg);
|
||||
me.send_commands("cancle", '我不锻造了');
|
||||
}
|
||||
}
|
||||
|
||||
// this.wp_names = ["君子剑", '真武剑', '屠龙刀', '倚天剑', '碧血剑', '碧血照丹青',
|
||||
// '轩辕剑', '鹰刀', '盘古斧'];
|
||||
this.dzwq = function (arg, me, str) {
|
||||
|
||||
if (str == "cancle") {
|
||||
me.notify("铁匠说道:好吧,可惜了。");
|
||||
me.wait_input = null;
|
||||
me.remove_temp('dz');
|
||||
return;
|
||||
}
|
||||
str = str.split(' ')[1];
|
||||
if (!arg) {
|
||||
me.wait_input = null;
|
||||
return me.notify("铁匠说道:你要先告诉我锻造的武器类型。");
|
||||
}
|
||||
var type = WEAPON_TYPE[arg.toUpperCase()];
|
||||
if (!type) {
|
||||
me.wait_input = null;
|
||||
return me.notify("铁匠摇头道:我不会锻造这种武器。");
|
||||
}
|
||||
if (!/^[\u4E00-\u9FA5]{2,5}$/.test(str)) {
|
||||
return me.send('铁匠说道:武器的名字需要是2-5个汉字。');
|
||||
}
|
||||
|
||||
if (!UTIL.check_word(str)) {
|
||||
return me.send('铁匠说道:你不能用这个名字。');
|
||||
}
|
||||
// for (var i = 0; i < this.wp_names.length; i++) {
|
||||
// if (this.wp_names[i] == str) {
|
||||
// return me.send('铁匠说道:你不能用这个名字。');
|
||||
// }
|
||||
// }
|
||||
|
||||
var item = me.find_obj_bypath("st/yuanjing");
|
||||
if (!item || item.count < 10) {
|
||||
me.wait_input = null;
|
||||
return me.notify("铁匠说道:材料不够就别来烦我。");
|
||||
}
|
||||
me.wait_input = null;
|
||||
if (me.remove_obj(item, 10)) {
|
||||
var obj = OBJ.CREATE("eq/cp#" + arg);
|
||||
obj.set_temp("name", str);
|
||||
WORLD.COMMANDS.duanzao.default_template(obj, EQUIP_TYPE.WEAPON);
|
||||
obj.on_reload(me);
|
||||
me.add_obj(obj);
|
||||
me.notify("铁匠说道:不错,这是你要的。");
|
||||
me.notify("铁匠给你" + obj.unit_name() + "。");
|
||||
}
|
||||
}
|
||||
29
world/npc/pub/tongren.js
Normal file
29
world/npc/pub/tongren.js
Normal file
@@ -0,0 +1,29 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "<yel>铜人</yel>",
|
||||
desc: "这是一个铜做的假人,防御很高,用来测试伤害的",
|
||||
gender: 1,
|
||||
age: 10,
|
||||
per: 43,
|
||||
mp: 60,
|
||||
max_mp: 60,
|
||||
hp: 99999999,
|
||||
prop: {
|
||||
fy: 50000,
|
||||
diff_sh_per: 70,
|
||||
diff_sh: 12000
|
||||
},
|
||||
max_hp: 99999999,
|
||||
str: 1,
|
||||
con: 1,
|
||||
dex: 1,
|
||||
int: 1
|
||||
});
|
||||
|
||||
this.die = function () {
|
||||
|
||||
this.clear_combat_prop();
|
||||
this.add_hp(this.max_hp);
|
||||
this.send_room('$N身上破损的铜皮剥落,再次神采奕奕,精气十足。\n');
|
||||
return false;
|
||||
}
|
||||
91
world/npc/pub/wudao.js
Normal file
91
world/npc/pub/wudao.js
Normal file
@@ -0,0 +1,91 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "",
|
||||
desc: "他是武道塔的神秘守护者",
|
||||
title: "武道塔守护者",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: this.random(44),
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400,
|
||||
no_refresh: true,
|
||||
no_fight: true
|
||||
});
|
||||
|
||||
this.init_from = function (player, level) {
|
||||
this.con = this.dex = this.int = this.str = 20 + parseInt(level / 3);
|
||||
if (level > 100) level = 100;
|
||||
const grade1 = Math.floor(level / 10);
|
||||
this.name = UTIL.random_name(this.gender);
|
||||
this.skill_map.apply(this, this.skills_def[grade1]);
|
||||
var color = ["hig", "hic", "hiy", "hiz", "hio", "ora"][parseInt(level / 20)];
|
||||
this.title = "<" + color + ">武道塔守护者</" + color + ">";
|
||||
this.set_objects(['eq/lv0/cloth', 1, 1], ["eq/lv0/jian", 1, 1]);
|
||||
|
||||
this.hp = this.max_hp = 1000 + level * level * 150;
|
||||
this.mp = this.max_mp = parseInt(this.hp / 2);
|
||||
this.init();
|
||||
this.recount();
|
||||
|
||||
}
|
||||
|
||||
|
||||
this.skills_def = [
|
||||
[
|
||||
["force", 100], ["unarmed", 100], ["sword", 100], ["parry", 100], ["dodge", 100],
|
||||
["hunyuanyiqi", 100, "force"], ["wudangchangquan", 100, "unarmed"], ["huashanshenfa", 100, "dodge"],
|
||||
["wudangjianfa", 100, "sword"], ["zhemeishou", 100, "parry"]
|
||||
],
|
||||
[
|
||||
["force", 300], ["unarmed", 300], ["sword", 300], ["parry", 300], ["dodge", 300],
|
||||
["zixiashengong", 300, "force"], ["taizuchangquan", 300, "unarmed"],
|
||||
["yunlongjian", 300, "sword"], ["taijiquan", 300, "parry"], ["sixiangbu", 300, "dodge"],
|
||||
],
|
||||
[
|
||||
["force", 500], ["unarmed", 500], ["sword", 500], ["parry", 500], ["dodge", 500],
|
||||
["taijishengong", 500, "force"], ["qishangquan", 500, "unarmed"],
|
||||
["kuangfengkuaijian", 500, "sword"], ["taijiquan", 500, "parry"], ["tiyunzong", 500, "dodge"],
|
||||
],
|
||||
[
|
||||
["force", 800], ["unarmed", 800], ["sword", 800], ["parry", 800], ["dodge", 800],
|
||||
["yijinjing", 800, "force"], ["yiyangzhi", 800, "unarmed"],
|
||||
["taijijian", 800, "sword"], ["dugujiujian", 800, "parry"], ["wuduyanluobu", 800, "dodge"],
|
||||
],
|
||||
[
|
||||
["force", 1100], ["unarmed", 1100], ["sword", 1100], ["parry", 1100], ["dodge", 1100],
|
||||
["mingyugong", 1100, ["force", "dodge"]], ["yiyangzhi", 1100, "unarmed"],
|
||||
["yitianjianfa", 1100, "sword"], ["yihuajiemu", 1100, "parry"]
|
||||
],
|
||||
[
|
||||
["force", 1400], ["unarmed", 1400], ["sword", 1400], ["parry", 1400], ["dodge", 1400],
|
||||
["hamagong", 1400, "force"], ["tanzhishengong", 1400, "unarmed"],
|
||||
["kuangfengkuaijian2", 1400, "sword"], ["taijiquan", 1400, "parry"], ["kuihuashengong", 1400, "dodge"],
|
||||
],
|
||||
[
|
||||
["force", 1700], ["unarmed", 1700], ["sword", 1700], ["parry", 1700], ["dodge", 1700],
|
||||
["kuihuashengong", 1700, ["force", "dodge"]], ["cuixinzhang", 1700, "unarmed"],
|
||||
["bixiejianfa", 1700, ["sword", "parry"]]
|
||||
],
|
||||
[
|
||||
["force", 2000], ["unarmed", 2000], ["sword", 2000], ["parry", 2000], ["dodge", 2000],
|
||||
["jiuyangshengong", 2000, "force"], ["chuanxinzhang2", 2000, "unarmed"],
|
||||
["dugujiujian", 2000, "sword"], ["taijiquan", 2000, "parry"], ["kuihuashengong", 2000, "dodge"],
|
||||
],
|
||||
[
|
||||
["force", 2500], ["unarmed", 2500], ["sword", 2500], ["parry", 2500], ["dodge", 2500],
|
||||
["taixuangong", 2500, "force"], ["xianglongzhang2", 2500, "unarmed"],
|
||||
["qixianwuxingjian", 2500, "sword"], ["taijiquan", 2500, "parry"], ["xuanxubu", 2500, "dodge"],
|
||||
],
|
||||
[
|
||||
["force", 3000], ["unarmed", 3000], ["sword", 3000], ["parry", 3000], ["dodge", 3000],
|
||||
["jiuyinshengong", 3000, "force"], ["jiuyinbaiguzhao2", 3000, "unarmed"],
|
||||
["taijijian", 3000, "sword"], ["qiankundanuoyi", 3000, "parry"], ["lingboweibu2", 3000, "dodge"],
|
||||
],
|
||||
[
|
||||
["force", 4000], ["unarmed", 4000], ["sword", 4000], ["parry", 4000], ["dodge ", 4000],
|
||||
["jiuyangshengong", 5000, "force"], ["liumaishenjian", 5000, "unarmed"],
|
||||
["xuantiejianfa", 5000, "sword"], ["qiankundanuoyi", 5000, "parry"], ["lingboweibu2", 5000, "dodge"],
|
||||
]
|
||||
];
|
||||
32
world/npc/pub/wudao_men.js
Normal file
32
world/npc/pub/wudao_men.js
Normal file
@@ -0,0 +1,32 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "守门人",
|
||||
desc: "他是武道塔的守门人,一个神神秘秘的老头",
|
||||
gender: 1,
|
||||
age: 67,
|
||||
per: 55,
|
||||
mp: 5000000,
|
||||
max_mp: 5000000,
|
||||
hp: 80000000,
|
||||
max_hp: 80000000,
|
||||
level: 5,
|
||||
pfm_rate: 1,
|
||||
prop: {
|
||||
gjsd: 20000,
|
||||
add_sh_per: 100,
|
||||
diff_sh_per: 270,
|
||||
diff_sh_per2: 100,
|
||||
diff_downside_per: 170,
|
||||
gj: 100000,
|
||||
gj_per: 100,
|
||||
diff_fy_per: 150,
|
||||
distime_per: 80,
|
||||
ds: 150000,
|
||||
ds_per: 100,
|
||||
zj: 150000,
|
||||
zj_per: 100,
|
||||
mz: 150000,
|
||||
mz_per: 100
|
||||
}
|
||||
|
||||
});
|
||||
32
world/npc/pub/wujiang.js
Normal file
32
world/npc/pub/wujiang.js
Normal file
@@ -0,0 +1,32 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "武将",
|
||||
desc: "他站在那里,的确有说不出的威风。",
|
||||
gender: 1,
|
||||
age: 35,
|
||||
per: this.random(30) + 10,
|
||||
mp: 2500,
|
||||
max_mp: 2500,
|
||||
hp: 2500,
|
||||
max_hp: 2500,
|
||||
score: 15
|
||||
}); this.set_objects([
|
||||
"eq/lv1/guanfu", 1, 1
|
||||
], [
|
||||
"eq/lv1/jundao", 1, 1
|
||||
]); this.set_drop({
|
||||
obj: "money/silver",
|
||||
min: 2,
|
||||
max: 5
|
||||
}, {
|
||||
obj: ["eq/lv0/cloth", "eq/lv0/jian", "eq/lv0/dao"],
|
||||
odds: 6000
|
||||
}, {
|
||||
obj: ["eq/lv1/guanfu", "eq/lv1/junfu", "book/book#sword", "eq/lv1/jundao", "book/book#blade"],
|
||||
odds: 3000
|
||||
});
|
||||
this.skill_map(
|
||||
["unarmed", 190],
|
||||
["dodge", 190],
|
||||
["parry", 190],
|
||||
["blade", 190]);
|
||||
99
world/npc/pub/xiaoer.js
Normal file
99
world/npc/pub/xiaoer.js
Normal file
@@ -0,0 +1,99 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "店小二",
|
||||
desc: "这位店小二正笑咪咪地忙著,还不时拿起挂在脖子上的抹布擦脸。",
|
||||
gender: 1,
|
||||
age: 22,
|
||||
per: this.random(20) + 10,
|
||||
mp: 150,
|
||||
max_mp: 150,
|
||||
hp: 150,
|
||||
max_hp: 150
|
||||
});
|
||||
this.on_enter = function (me) {
|
||||
let kz = me.query_temp("kezhan");
|
||||
if (kz) {
|
||||
me.notify("小二一哈腰:这位客官请上楼歇息。");
|
||||
|
||||
return me.send_commands('zhudian ' + this.id, '上楼', 'xufei ' + this.id, '续房',);
|
||||
}
|
||||
var str = "";
|
||||
switch (this.random(2)) {
|
||||
case 0:
|
||||
str = "店小二笑咪咪地说道:这位" + me.call()
|
||||
+ ",要住店吗?请进请进。";
|
||||
break;
|
||||
case 1:
|
||||
str = "店小二用脖子上的毛巾抹了抹手,说道:这位" + me.call()
|
||||
+ ",请进请进。小店还有几间上好的房间。";
|
||||
break;
|
||||
}
|
||||
me.notify(str);
|
||||
}
|
||||
this.add_action("zhudian", "住店", zhudian);
|
||||
|
||||
|
||||
function zhudian(me, par) {
|
||||
var kd = me.query_temp("kezhan");
|
||||
if (kd) {
|
||||
me.moveto("kezhan/fang" + kd, me.name + "向客店二楼走去。");
|
||||
} else {
|
||||
me.notify("小二对你说道:这位" + me.call() + ",本店有多种房间提供:\n1. 人字号房每天10两白银,学习,打坐,练功效果增加10%\n2. 地字号房每天30两白银,学习,打坐,练功效果增加20%\n3. 天字号房间每天1两黄金,学习,打坐,练功效果增加50%");
|
||||
return me.send_commands("give " + this.id + " 1000 money", "人字号客房",
|
||||
"give " + this.id + " 3000 money", "<hic>地字号客房</hic>",
|
||||
"give " + this.id + " 10000 money", "<hiy>天字号客房</hiy>");
|
||||
|
||||
}
|
||||
}
|
||||
this.on_accept = function (me, obj, count) {
|
||||
if (obj !== "money") return;
|
||||
if (me.money < 1000) {
|
||||
return me.notify("小二面无表情的说道:住店每天10两白银,不二价。");
|
||||
} else if (count === 1000) {
|
||||
me.set_temp("kezhan", 1, 1000 * 3600 * 24);
|
||||
me.send_message("小二一哈腰,说道:多谢您老,客官请楼上歇息。");
|
||||
me.moveto("kezhan/fang1", me.name + "向客店二楼走去。");
|
||||
return true;
|
||||
} else if (count === 3000) {
|
||||
me.set_temp("kezhan", 2, 1000 * 3600 * 24);
|
||||
me.send_message("小二一哈腰,说道:多谢您老,客官请楼上歇息。");
|
||||
me.moveto("kezhan/fang2", me.name + "向客店二楼走去。");
|
||||
return true;
|
||||
} else if (count === 10000) {
|
||||
me.set_temp("kezhan", 3, 1000 * 3600 * 24);
|
||||
me.send_message("小二一哈腰,说道:多谢您老,客官请楼上歇息。");
|
||||
me.moveto("kezhan/fang3", me.name + "向客店二楼走去。");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
this.add_action("xufei", null, function (me) {
|
||||
var kd = me.temp['kezhan'];
|
||||
if (!kd) return zhudian(me);
|
||||
let money = [0, 1000, 3000, 10000][kd.v];
|
||||
if (!(money > 0)) return me.send('你还没有住店。');
|
||||
if (me.money < money) return me.send('你身上的钱不够。');
|
||||
me.money -= money;
|
||||
kd.e += 3600000 * 24;
|
||||
let time = new Date(me.temp['kezhan'].e);
|
||||
let str = time.getFullYear() + "年" + (time.getMonth() + 1) + "月" + time.getDate() + "日" + time.getHours() + "时";
|
||||
me.send("小二一哈腰,说道:多谢您老,收您" + UTIL.moneyToStr(money) + ",续房一天。<cyn>(持续到" +
|
||||
str + ")</cyn>");
|
||||
});
|
||||
|
||||
|
||||
// this.add_action("dating", "打听消息", function (me) {
|
||||
// var count = me.query_temp('wsbs', 0);
|
||||
// if (count >= 5) return me.send('店小二说道:这位客官,小的听到的消息都告诉您老了。');
|
||||
// var num = me.query_temp('fbbs', 0);
|
||||
// if (num < 99) return me.send('店小二说道:这位客官,小的这两天也没听到什么消息。');
|
||||
// var fb = parseInt(num / 100);
|
||||
// var area = WORLD.AREAS[fb];
|
||||
// if (area && area.fb_index) {
|
||||
// me.send('店小二看了看四周:这位客官,小店人多口杂,虽然消息不少,但也不知道该不该讲呀。');
|
||||
// return me.send_commands("give " + this.id + " 20000 money", '给他几两金子');
|
||||
|
||||
// }
|
||||
// return me.send('店小二说道:这位客官,小的这两天也没听到什么消息。');
|
||||
// });
|
||||
32
world/npc/pub/xiaoer2.js
Normal file
32
world/npc/pub/xiaoer2.js
Normal file
@@ -0,0 +1,32 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "店小二",
|
||||
desc: "这位店小二正笑咪咪地忙著,还不时拿起挂在脖子上的抹布擦脸。",
|
||||
gender: 1,
|
||||
age: 22,
|
||||
per: this.random(20) + 10,
|
||||
mp: 150,
|
||||
max_mp: 150,
|
||||
hp: 150,
|
||||
max_hp: 150,
|
||||
});
|
||||
this.on_enter = function (me) {
|
||||
var str = "";
|
||||
switch (this.random(2)) {
|
||||
case 0:
|
||||
str = "店小二笑咪咪地说道:这位" + me.call()
|
||||
+ ",进来喝杯茶,歇歇腿吧。";
|
||||
break;
|
||||
case 1:
|
||||
str = "店小二用脖子上的毛巾抹了抹手,说道:这位" + me.call()
|
||||
+ ",请进请进。";
|
||||
break;
|
||||
}
|
||||
me.notify(str);
|
||||
}
|
||||
this.set_goods("food/food#0", "food/food#1", "food/food#2", "food/food#3", "food/food#4", "food/drink#0", "food/drink#1", "food/drink#2", "food/drink#3");
|
||||
|
||||
|
||||
this.on_leave = function (me, dir) {
|
||||
|
||||
}
|
||||
33
world/npc/pub/yamen.js
Normal file
33
world/npc/pub/yamen.js
Normal file
@@ -0,0 +1,33 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "逃犯",
|
||||
desc: "他是衙门正在追捕的逃犯",
|
||||
title: "<red>衙门逃犯</red>",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: 18,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 400,
|
||||
max_hp: 400,
|
||||
no_refresh: true,
|
||||
no_fight: true
|
||||
|
||||
});
|
||||
|
||||
this.init_from = function (player, grade = 0, level = 0) {
|
||||
|
||||
this.con = this.dex = this.int = this.str = 30;
|
||||
this.gender = this.random(2) + 1;
|
||||
|
||||
this.desc = (this.gender == 2 ? "她" : "他") + "是" + player.name + "正在追捕的逃犯";
|
||||
|
||||
this.name = UTIL.random_name(this.gender);
|
||||
|
||||
this.hp = this.max_hp = 1200;
|
||||
this.pfm_rate = 1;
|
||||
this.mp = this.max_mp = this.max_hp;
|
||||
this.init();
|
||||
this.recount();
|
||||
|
||||
}
|
||||
21
world/npc/pub/yayi.js
Normal file
21
world/npc/pub/yayi.js
Normal file
@@ -0,0 +1,21 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "衙役",
|
||||
desc: "一个高大威猛的汉子,因为久在官府做事,脸上已经磨炼得毫无表情。",
|
||||
title: "知府千金",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: 18,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 4000,
|
||||
max_hp: 4000,
|
||||
|
||||
});
|
||||
this.skill_map(["dodge", 5500],
|
||||
["parry", 5500],
|
||||
["force", 5500],
|
||||
["unarmed", 5500],
|
||||
["sword", 5500],
|
||||
["changshengjue", 5500, "force"]);
|
||||
|
||||
23
world/npc/pub/yb_npc.js
Normal file
23
world/npc/pub/yb_npc.js
Normal file
@@ -0,0 +1,23 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "蒙面大盗",
|
||||
desc: "他是来劫镖的江洋大盗",
|
||||
title: "蒙面大盗",
|
||||
gender: 2,
|
||||
age: 65,
|
||||
per: 33,
|
||||
str: 50,
|
||||
con: 50,
|
||||
dex: 50,
|
||||
int: 50,
|
||||
max_mp: 20000000,
|
||||
max_hp: 12000000,
|
||||
no_fight: true,
|
||||
pfm_rate: 1,
|
||||
no_refresh: true
|
||||
|
||||
});
|
||||
this.on_kill = function (me) {
|
||||
|
||||
|
||||
}
|
||||
16
world/npc/pub/yingzi.js
Normal file
16
world/npc/pub/yingzi.js
Normal file
@@ -0,0 +1,16 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "衙役",
|
||||
desc: "",
|
||||
title: "",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: 18,
|
||||
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 40000000,
|
||||
max_hp: 40000000,
|
||||
|
||||
});
|
||||
|
||||
51
world/npc/shaolin/chengjing.js
Normal file
51
world/npc/shaolin/chengjing.js
Normal file
@@ -0,0 +1,51 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "澄净",
|
||||
desc: "他是一位须发花白的老僧,身穿一袭金边黑布袈裟。他身材瘦高,太阳穴高高鼓起,似乎身怀绝世武功。",
|
||||
title: "少林寺第三十七代弟子",
|
||||
gender: 1,
|
||||
age: 60,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
hp: 1500,
|
||||
score: 10,
|
||||
family: FAMILIES.SHAOLIN,
|
||||
family_level: 3,
|
||||
level: 2,
|
||||
max_mp: 727400,
|
||||
max_hp: 791500,
|
||||
prop: {
|
||||
gj: 8000,
|
||||
mz: 8000,
|
||||
ds: 8000
|
||||
}
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 800],
|
||||
["parry", 800],
|
||||
["force", 800],
|
||||
["unarmed", 800],
|
||||
["sword", 800],
|
||||
["club", 800],
|
||||
["blade", 800],
|
||||
["literate", 800],
|
||||
["jingangquan", 800, "parry"],
|
||||
["yijinjing", 800, "force"],
|
||||
["weituogun", 800, "club"],
|
||||
["ranmudao", 800, "blade"],
|
||||
["shaolinshenfa", 800, "dodge"],
|
||||
["yizhichan", 800, "unarmed"]);
|
||||
this.on_master = function (me) {
|
||||
if (me.gender == 2) return me.notify_fail("澄净说道:阿弥陀佛,少林寺不收女弟子。");
|
||||
if (me.query_skill("ranmudao", 0) >= 500 || me.query_skill("ranmudao2", 0) >= 500) {
|
||||
if (me.query_skill("yizhichan", 0) >= 500 || me.query_skill("yizhichan2", 0) >= 500) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (me.query_skill("ranmudao", 0) < 500 && me.query_skill("ranmudao2", 0) < 500) return me.notify_fail("澄净说道:你的燃木刀掌握程度还不够,需要多加练习。");
|
||||
if (me.query_skill("yizhichan", 0) < 500 && me.query_skill("yizhichan2", 0) < 500) return me.notify_fail("澄净说道:你的一指禅掌握程度还不够,需要多加练习。");
|
||||
return false;
|
||||
}
|
||||
45
world/npc/shaolin/daojue.js
Normal file
45
world/npc/shaolin/daojue.js
Normal file
@@ -0,0 +1,45 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "道觉禅师",
|
||||
desc: "他是一位身材高大的中年僧人,两臂粗壮,膀阔腰圆。他手持兵刃,身穿一袭灰布镶边袈裟,似乎有一身武艺。",
|
||||
title: "少林寺第三十九代弟子",
|
||||
gender: 1,
|
||||
age: 40,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
hp: 1500,
|
||||
score: 10,
|
||||
family: FAMILIES.SHAOLIN,
|
||||
family_level: 5,
|
||||
level: 2,
|
||||
max_mp:127400,
|
||||
max_hp: 191500,
|
||||
prop: {
|
||||
gj: 2000,
|
||||
mz: 2000,
|
||||
ds: 2000
|
||||
}
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/mugun", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 300],
|
||||
["parry", 300],
|
||||
["force", 300],
|
||||
["unarmed", 300],
|
||||
["sword", 300],
|
||||
["club", 300],
|
||||
["literate", 300],
|
||||
["weituogun", 300, "club"],
|
||||
["hunyuanyiqi", 300, "force"],
|
||||
["damojian", 300, "sword"],
|
||||
["shaolinshenfa", 300, "dodge"],
|
||||
["fuhuquan", 300, "unarmed"]);
|
||||
this.on_master = function (me) {
|
||||
if (me.gender == 2) return me.notify_fail("道觉禅师说道:阿弥陀佛,少林寺不收女弟子。");
|
||||
if (me.query_skill("hunyuanyiqi", 0) < 100) return me.notify_fail("道觉禅师说道:你的混元一气掌握程度还不够,需要多加练习。");
|
||||
return true;
|
||||
}
|
||||
49
world/npc/shaolin/huihe.js
Normal file
49
world/npc/shaolin/huihe.js
Normal file
@@ -0,0 +1,49 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "慧合尊者",
|
||||
desc: "他是一位两鬓斑白的老僧,身穿一袭青布镶边袈裟。他身材略高,太阳穴微凸,双目炯炯有神。",
|
||||
title: "少林寺第三十九代弟子",
|
||||
gender: 1,
|
||||
age: 50,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
hp: 1500,
|
||||
score: 10,
|
||||
family: FAMILIES.SHAOLIN,
|
||||
family_level: 4,
|
||||
level: 2,
|
||||
max_mp: 327400,
|
||||
max_hp: 391500,
|
||||
prop: {
|
||||
gj: 4000,
|
||||
mz: 4000,
|
||||
ds: 4000
|
||||
}
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/dao", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 500],
|
||||
["parry", 500],
|
||||
["force", 500],
|
||||
["unarmed", 500],
|
||||
["sword", 500],
|
||||
["blade", 500],
|
||||
["club", 500],
|
||||
["literate", 500],
|
||||
["weituogun", 500, "club"],
|
||||
["ranmudao", 500, "blade"],
|
||||
["hunyuanyiqi", 500, "force"],
|
||||
["damojian", 500, "sword"],
|
||||
["jingangquan", 500, "parry"],
|
||||
["shaolinshenfa", 500, "dodge"],
|
||||
["yizhichan", 500, "unarmed"]);
|
||||
this.on_master = function (me) {
|
||||
if (me.gender == 2) return me.notify_fail("慧合尊者说道:阿弥陀佛,少林寺不收女弟子。");
|
||||
if (me.query_skill("hunyuanyiqi", 0) < 300) return me.notify_fail("慧合尊者说道:你的混元一气掌握程度还不够,需要多加练习。");
|
||||
if (me.query_skill("shaolinshenfa", 0) < 300) return me.notify_fail("慧合尊者说道:你的少林身法掌握程度还不够,需要多加练习。");
|
||||
return true;
|
||||
}
|
||||
38
world/npc/shaolin/qingle.js
Normal file
38
world/npc/shaolin/qingle.js
Normal file
@@ -0,0 +1,38 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "清乐比丘",
|
||||
desc: "他是一位体格强健的壮年僧人,他身得虎背熊腰,全身似乎蕴含着无穷劲力。他身穿一袭白布黑边袈裟,似乎身怀武艺。",
|
||||
title:"少林寺第四十代弟子",
|
||||
gender: 1,
|
||||
age: 30,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 1500,
|
||||
max_hp: 1500,
|
||||
score: 10,
|
||||
family: FAMILIES.SHAOLIN,
|
||||
family_level: 6,
|
||||
level: 1
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
], [
|
||||
"eq/lv0/mugun", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 100],
|
||||
["parry", 100],
|
||||
["force", 100],
|
||||
["unarmed", 100],
|
||||
["sword", 100],
|
||||
["club", 100],
|
||||
["literate", 100],
|
||||
["hunyuanyiqi", 100, "force"],
|
||||
["weituogun", 100, "club"],
|
||||
["shaolinshenfa", 100, "dodge"],
|
||||
["fuhuquan", 100, "unarmed"]);
|
||||
this.on_master = function (me) {
|
||||
if (me.gender == 2) return me.notify_fail("清乐比丘说道:阿弥陀佛,少林寺不收女弟子。");
|
||||
return true;
|
||||
}
|
||||
51
world/npc/shaolin/xuannan.js
Normal file
51
world/npc/shaolin/xuannan.js
Normal file
@@ -0,0 +1,51 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "玄难",
|
||||
desc: "他是一位须发花白的老僧,身穿一袭金边黑布袈裟。",
|
||||
title: "少林寺方丈",
|
||||
gender: 1,
|
||||
age: 60,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
score: 10,
|
||||
family: FAMILIES.SHAOLIN,
|
||||
family_level: 2,
|
||||
level:3,
|
||||
max_mp: 827400,
|
||||
max_hp: 891500,
|
||||
prop: {
|
||||
gj: 8000,
|
||||
mz: 9000,
|
||||
ds: 9000
|
||||
}
|
||||
});
|
||||
this.set_objects([
|
||||
"eq/lv0/cloth", 1, 1
|
||||
],[
|
||||
"eq/lv0/dao", 1, 1
|
||||
]);
|
||||
this.skill_map(
|
||||
["dodge", 800],
|
||||
["parry", 800],
|
||||
["force", 800],
|
||||
["unarmed", 800],
|
||||
["sword", 800],
|
||||
["club", 800],
|
||||
["blade", 800],
|
||||
["hunyuanyiqi", 800],
|
||||
["literate", 800],
|
||||
["jingangquan", 800, "parry"],
|
||||
["yijinjing", 800, "force"],
|
||||
["weituogun", 800, "club"],
|
||||
["ranmudao", 800, "blade"],
|
||||
["damojian", 800, "sword"],
|
||||
["shaolinshenfa", 800, "dodge"],
|
||||
["yizhichan", 800, "unarmed"]);
|
||||
this.on_master = function (me) {
|
||||
if (me.gender == 2) return me.notify_fail("玄难说道:阿弥陀佛,少林寺不收女弟子。");
|
||||
if (me.query_skill("yijinjing", 0) >= 500 || me.query_skill("yijinjing2", 0) >= 500) {
|
||||
return true;
|
||||
}
|
||||
if (me.query_skill("yijinjing", 0) < 500 && me.query_skill("yijinjing2", 0) < 500) return me.notify_fail("玄难说道:你的易筋经掌握程度还不够,需要多加练习。");
|
||||
return false;
|
||||
}
|
||||
37
world/npc/shashou/her.js
Normal file
37
world/npc/shashou/her.js
Normal file
@@ -0,0 +1,37 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "何小二",
|
||||
desc: "他是杀手楼的弟子,负责新入门的杀手训练",
|
||||
title: "杀手教习",
|
||||
gender: 1,
|
||||
age: 25,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 1500,
|
||||
max_hp: 1500,
|
||||
score: 10,
|
||||
family: FAMILIES.SHASHOU,
|
||||
family_level: 3,
|
||||
level: 1
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/fei", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 100],
|
||||
["parry", 100],
|
||||
["force", 100],
|
||||
["unarmed", 100],
|
||||
["throwing", 100],
|
||||
["literate", 100],
|
||||
["shashouxinfa", 100, "force"],
|
||||
["shashoubufa", 100, "dodge"],
|
||||
["feidao", 100, "throwing"]);
|
||||
this.on_master = function (me) {
|
||||
|
||||
return true;
|
||||
}
|
||||
this.set_chat_msg([
|
||||
"何小二说道:江湖上的其他门派都防着我们,所以他们战斗的时候你就去浑水摸鱼吧,楼主会奖励你的。",
|
||||
"",
|
||||
""
|
||||
]);
|
||||
41
world/npc/shashou/lisi.js
Normal file
41
world/npc/shashou/lisi.js
Normal file
@@ -0,0 +1,41 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "李四",
|
||||
desc: "他是杀手楼的银牌杀手,看上去是一个走在大街上你绝对不会看上一眼的普通人",
|
||||
title: "鬼手",
|
||||
gender: 1,
|
||||
age: 43,
|
||||
per: 26,
|
||||
mp: 400,
|
||||
max_mp: 400,
|
||||
hp: 1500,
|
||||
max_hp: 1500,
|
||||
score: 10,
|
||||
family: FAMILIES.SHASHOU,
|
||||
family_level: 2,
|
||||
level: 1
|
||||
});
|
||||
this.set_objects(["eq/lv0/cloth", 1, 1], ["eq/lv0/fei", 1, 1]);
|
||||
this.skill_map(
|
||||
["dodge", 500],
|
||||
["parry", 500],
|
||||
["force", 500],
|
||||
["unarmed", 500],
|
||||
["throwing", 500],
|
||||
["literate", 500],
|
||||
["shashengjue", 500, "force"],
|
||||
["taxuexunmei", 500, "dodge"],
|
||||
["feidao", 500, "throwing"],
|
||||
["chuanxinzhang", 500, "unarmed"]);
|
||||
this.on_master = function (me) {
|
||||
|
||||
if (me.query_skill("shashouxinfa", 0) < 100) return me.notify_fail("李四说道:你的杀手心法掌握程度还不够,需要多加练习。");
|
||||
if (me.query_skill("feidao", 0) < 100) return me.notify_fail("李四说道:你的飞刀掌握程度还不够,还需多加努力。");
|
||||
return true;
|
||||
}
|
||||
|
||||
this.set_chat_msg([
|
||||
"李四说道:江湖上的其他门派都防着我们,所以他们战斗的时候你就去浑水摸鱼吧,楼主会奖励你的。",
|
||||
"",
|
||||
""
|
||||
]);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user