init: add workspace files

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

27
world/obj/book/bc.js Normal file
View File

@@ -0,0 +1,27 @@
this.inherits(OBJ);
this.set({
unit: "份",
name: "秘籍碎片",
desc: "一本武功秘籍",
max_level: 100
});
this.transable = true;
this.otype = 1;
this.on_create = function (path, par) {
if (!par) return;
par = par.substr(1);
var skill = SKILL.get(par);
if (!skill || !skill.grade) {
this.value = 1000;
return;
}
this.skill = skill.id;
this.grade = skill.grade;
this.name = skill.name + "残页";
this.desc = "一本武功秘籍碎片,需要" + ["十", "三十", "五十", "一百", "二百", "五百"][this.grade - 1] + "份这样的残页就可以合成一本完整的" + skill.color_name + "秘籍。";
this.combine_count = COMBINED[this.grade];
this.combine_to = "book/book#" + skill.id;
this.value = WORLD.DATA.book_values[this.grade];
}
const COMBINED = [10, 10, 30, 50, 100, 200, 500];

56
world/obj/book/bk.js Normal file
View File

@@ -0,0 +1,56 @@
this.inherits(OBJ);
this.set({
unit: "本",
name: "武功秘籍",
desc: "一本武功秘籍",
max_level: 100,
combined: true,
value: 0
});
this.on_create = function (path, par) {
if (!par) return;
par = par.substr(1);
var skill = SKILL.get(par);
if (!skill) return;
this.skill = skill.id;
this.grade = skill.grade;
var cc = this.query_grade_color();
this.name = skill.name + "秘籍";
this.color_name = "<" + cc + ">" + this.name + "</" + cc + ">";
this.desc = "一本武功秘籍,里面记载了" + skill.color_name + "的练习方法。";
var cond = skill.condition_tostring();
if (cond) {
this.desc = this.desc + "\n学习条件\n" + cond;
} else {
this.desc = this.desc + "\n学习条件无" + cond;
}
if (!this.grade) this.value = 1000;
}
this.on_use = function (me) {
var skill_base = SKILL.get(this.skill );
if (!skill_base) return me.notify('你不能从里面学到东西。');
var skill = me.skills[this.skill];
if (!skill) {
skill = {
level: 0,
exp: 0
};
var str = ['{type:"dialog",dialog:"skills",item:'];
skill_base.item_to_json(str, skill, me);
str.push("}");
me.notify(str.join(""));
me.skills[this.skill] = skill;
if (skill_base.type == SKILL_TYPES.BASE) {
me.init_skill();
}
}
skill_base.release_prop(me, me.query_skill(skill_base.id));
skill.level = me.query_skill(this.skill, 0) + 100;
skill_base.attach_prop(me, skill.level );
me.notify('{type:"dialog",dialog:"skills",id:"' + this.skill + '",level:' + skill.level
+ ',exp:0}');
me.notify('你学会了' + skill_base.color_name + '。');
me.recount();
}

47
world/obj/book/book.js Normal file
View File

@@ -0,0 +1,47 @@
this.inherits(OBJ);
this.set({
unit: "本",
name: "武功秘籍",
desc: "一本武功秘籍",
max_level: 100,
combined: true,
value: 0
});
this.otype = 1;
this.on_create = function (path, par) {
if (!par) return;
par = par.substr(1);
var skill = SKILL.get(par);
if (!skill) return;
this.skill = skill.id;
this.grade = skill.grade;
var cc = this.query_grade_color();
this.name = skill.name + "秘籍";
this.color_name = "<" + cc + ">" + this.name + "</" + cc + ">";
this.desc = "一本武功秘籍,里面记载了" + skill.color_name + "的练习方法。";
var cond = skill.condition_tostring();
if (cond) {
this.desc = this.desc + "\n学习条件\n" + cond;
} else {
this.desc = this.desc + "\n学习条件无" + cond;
}
this.value = WORLD.DATA.book_values[this.grade] * COMBINED[this.grade];
}
this.on_study = function (me, skill, lv) {
if (skill.do_learn && skill.do_learn(me, lv) == false) return false;
return true;
}
//const VALUES = [1, 1000, 5000, 10000, 100000, 500000, 2000000];
const COMBINED = [1, 10, 30, 50, 100, 200, 500];
this.add_action('sbook', '存到技能仓库', function (me) {
WORLD.COMMANDS.sbook.enter(me, this.id);
});
this.add_action('split', '拆分', function (me) {
WORLD.COMMANDS.sbook.split_book(me, this);
});

20
world/obj/book/ts.js Normal file
View File

@@ -0,0 +1,20 @@
this.inherits(OBJ);
this.set({
unit: "份",
name: "无效武功",
desc: "查看技能提示"
});
this.transable = true;
this.on_create = function (path, par) {
if (!par) return;
par = par.substr(1);
var skill = SKILL.get(par);
if (!skill) {
return;
}
this.skill = skill.id;
this.grade = skill.grade;
this.name = "技能:" + skill.name;
this.desc = skill.color_name + "秘籍。";
}

11
world/obj/book/up.js Normal file
View File

@@ -0,0 +1,11 @@
this.inherits(OBJ);
this.set({
unit: "份",
name: "门派进阶残页",
desc: "一份秘籍残页,可用来进阶门派武功,(点击技能-武功名称-查看详细-进阶)",
value: 10000,
grade: 4
});
this.transable = true;
this.otype = 1;

11
world/obj/book/wd.js Normal file
View File

@@ -0,0 +1,11 @@
this.inherits(OBJ);
this.set({
unit: "份",
name: "武道残页",
desc: "一本武功秘籍碎片,需要十份残页就可以合成一本完整的武道秘籍。",
combine_to: "book/wudao",
combine_count: 10,
grade: 5
});
this.otype = 1;

19
world/obj/book/wudao.js Normal file
View File

@@ -0,0 +1,19 @@
this.inherits(OBJ);
this.set({
unit: "本",
name: "武道",
desc: "一本神秘的武功秘籍,据说里面记载了很多已经失传的武功秘辛。",
grade: 5,
combined: true
});
this.otype = 1;
this.lingwu = function (me, p) {
me.do_command("lingwu");
}
// this.add_action("wu", "领悟", this.lingwu);
// this.add_action("wu2", "融合", function (me) {
// me.do_command('lingwu2');
// });

71
world/obj/cash/bian.js Normal file
View File

@@ -0,0 +1,71 @@
this.inherits(OBJ);
this.set({
unit: "颗",
name: "变性丹",
desc: "使用后可以使男性变为女性,女性变为男性,无性变为男性,不满足条件的武功将被移除",
grade: 5,
value: 0
});
this.on_use = function (me) {
if (!me.is_player) return me.notify_fail("你不能使用" + this.name + "。");
var gender = me.gender == 1 ? 2 : 1;
var list = [];
for (var key in me.skills) {
var skill = SKILL.get(key);
if (skill.learn_condition) {
if (skill.learn_condition.gender &&
skill.learn_condition.gender != gender) {
if (me.skills[key].ref)
return me.notify_fail('请先取消' + skill.query_color_name(me) + '融合的技能。');
if (me.skills[key].addin && me.skills[key].addin.length)
return me.notify_fail('请先取消' + skill.query_color_name(me) + '的技能进阶。');
list.push(skill);
}
}
}
if (me.query_temp("bianxing")) {
var sum = 0;
for (var i = 0; i < list.length; i++) {
var needpot = list[i].query_needexp(me.skills[list[i].id].level, me);
if (me.remove_skill(list[i].id)) {
if (needpot)
sum += needpot;
me.notify('{type:"dialog",dialog:"skills",remove:"' + list[i].id + '"}');
}
}
me.send_room("<hiy>$N一咬牙仰头吞下一颗变性丹……\n\n</hiy>");
if (sum) {
me.notify("<hig>你遗忘的武功转化为" + sum + "点潜能。</hig>");
me.pot += sum;
}
me.add_status({
id: "faint",
is_faint: true,
duration: 10000,
name: "昏迷", downside: true,
finish_msg: "<hiy>慢慢的$N又恢复了知觉...</hiy>\n",
start_msg: "<hir>$N顿时全身经脉逆行疼痛难忍惨叫一声昏了过去……</hir>\n"
});
me.gender = gender;
} else {
var str = ["<hiy>你吞下这颗丹药后将变成:"];
str.push(["男性", "女性"][gender - 1]);
str.push("</hiy>");
if (list.length) {
str.push("\n<hir>以下武功将会被遗忘:");
for (var i = 0; i < list.length; i++) {
str.push("\n");
str.push(list[i].color_name);
}
str.push("</hir>");
}
me.notify(str.join(""));
me.set_temp("bianxing", 1, 10000);
me.send_commands("use " + this.id, "确定要吃");
return false;
}
}

21
world/obj/cash/box_sm.js Normal file
View File

@@ -0,0 +1,21 @@
this.inherits(OBJ);
this.set({
name: "师门补给包",
desc: "里面有28个橙色师门令牌,6个紫色师门令牌50精力",
unit: "个",
value: 0,
grade: 5
});
this.on_open = function (me) {
var result = [
{
obj: ["cash/jing#3"], count: 1,
}
];
return OBJ.create_by_odds(result);
}

16
world/obj/cash/ck_add.js Normal file
View File

@@ -0,0 +1,16 @@
this.inherits(OBJ);
this.set({
unit: "颗",
name: "仓库扩充石",
desc: "使用后增加你的仓库容量+10",
grade: 1,
value: 0
});
this.on_use = function (me) {
if (!me.is_player) return me.notify_fail("你不能使用" + this.name + "。");
var size = 10;
if (me.max_store_count + size > 400) return me.notify_fail("仓库最多只能扩充到400格。");
me.max_store_count += size;
me.notify('你的仓库容量扩充为' + me.max_store_count + "。");
return true;
}

25
world/obj/cash/fang.js Normal file
View File

@@ -0,0 +1,25 @@
this.inherits(OBJ);
this.set({
unit: "份",
name: "房契",
desc: "使用获得扬州城豪华住宅",
grade: 3,
value: 0
});
this.on_use = function (me, par) {
if (!me.is_player) return me.notify_fail("你不能使用" + this.name + "。");
let home = me.query_temp('home', 0);
if (home === 2) return me.notify_fail('你已经拥有自己的住宅了。');
if (home === 1) {
if (!par) {
me.notify_fail('你已经购买了单间使用契约将退款100<hiy>黄金</hiy>,是否确定?');
me.send_commands('use ' + this.id + " ok", '确定使用');
return false;
}
me.add_exp(0, 0, 1000000);
}
me.set_temp('home', 2);
me.send('<hic>感谢购买,恭喜你拥有了自己的住宅。</hic>');
me.send_commands('goto home', '现在就过去');
return true;
}

15
world/obj/cash/fangqi.js Normal file
View File

@@ -0,0 +1,15 @@
this.inherits(OBJ);
this.set({
unit: "张",
name: "技能重置卡",
desc: "把你的某项特殊技能完全重置,返回所有潜能",
grade: 4,
value: 0
});
this.on_use = function (me) {
if (!me.is_player) return me.notify_fail("你不能使用" + this.name + "。");
me.send('请从技能列表选择遗忘技能,然后选择使用重置卡,将会重置你的某项技能。');
return false;
}

97
world/obj/cash/gaiming.js Normal file
View File

@@ -0,0 +1,97 @@
this.inherits(OBJ);
this.set({
unit: "张",
name: "改名符",
desc: "更改你的名字",
grade: 2,
value: 0
});
this.on_use = function (me) {
if (!me.is_player) return me.notify_fail("你不能使用" + this.name + "。");
me.notify("请说出你的名字(打开聊天框任意频道输入)");
me.send_commands("clearwait", "取消使用");
me.wait_input = readname;
return false;
}
function readname(me, cmd) {
if (cmd == "clearwait") {
me.wait_input = null;
return me.notify("停止使用");
}
if (!cmd) return me.send('请说出你的名字(打开聊天框任意频道输入)');
var ss = cmd.split(' ');
if (ss.length != 2) return me.notify("请说出你的名字(打开聊天框任意频道输入)");
var name = ss[1];
var name_reg = /^[\u4E00-\u9FA5]{2,5}$/;
if (!name_reg.test(name)) {
return me.send('你的名字需要是2-5个中文字符');
}
if (!UTIL.check_word(name)) {
return me.send('你不能用这个名字');
}
var obj = me.find_obj_bypath("cash/gaiming");
if (!obj || !obj.count) {
me.wait_input = null;
me.send('你身上没有改名符,改名失败。');
return;
}
update_name(me, name, obj);
return false;
}
async function update_name(me, name, obj) {
try {
let result = await WORLD.DB.change_name(me.id, name);
if (!result) return me.send('名称更改失败,请联系管理员');
me.wait_input = null;
me.name = name;
me.color_name = null;
me.commands_json = null;
me.environment.item_changed(me, true);
me.remove_obj(obj, 1);
var pt = me.query_party();
if (pt) {
for (var i = 0; i < pt.roles.length; i++) {
if (pt.roles[i].id == me.id) {
pt.roles[i].name = me.name;
break;
}
}
}
if (me.query_temp('wife')) {
var wife = WORLD.getUser(me.query_temp('wife'));
if (wife) {
wife.add_title(name + '的老婆', 'mar');
wife.set_temp('husband_n', name);
}
}
if (me.query_temp('husband')) {
var husband = WORLD.getUser(me.query_temp('husband'));
if (husband) {
husband.add_title(name + '的老公', 'mar');
husband.set_temp('wife_n', name);
}
}
if (me.custom_skills) {
for (let skid of me.custom_skills) {
var sk = SKILL.get(skid);
if (sk) {
sk.desc = name + "所创造的武功";
}
}
}
return me.send('你的名字已经改为:' + name + "。");
} catch (err) {
if (err.errno == 1062) {
return me.send('这个名字已经有人使用了。');
} else {
me.wait_input = null;
return me.send('名称更改失败,请联系管理员');
}
}
}

57
world/obj/cash/jing.js Normal file
View File

@@ -0,0 +1,57 @@
this.inherits(OBJ);
this.set({
unit: "枚",
name: "养精丹",
desc: "一枚丹药吃了后会增加10点精力但是吃多了会伤肝。",
ad_jl: 10,
grade: 1,
value: 10000,
max_count: 10
});
this.on_use = function (me) {
//if (this.grade==1&& me.query_temp("jing" + this.grade) >= 10) {
// me.notify("<yel>你已经吃太多养精丹了,要注意身体。</yel>");
// return false;
//}
if (this.grade < 3) return me.notify_fail('养精丹已无法使用。');
//me.add_temp("jing" + this.grade, 1, UTIL.diff_time());
me.add_temp("ad_jl", this.ad_jl);
me.notify("<hiy>你增加了" + this.ad_jl + "点精力。</hiy>");
return true;
}
this.on_create = function (path, par) {
if (!par) return;
par = par.substr(1);
var lv = parseInt(par);
if (!(lv > 0 && lv < 5)) return;
switch (lv) {
case 1:
this.name = "养精丹";
this.ad_jl = 20;
this.desc = "一枚丹药吃了后会增加20点精力但是吃多了会伤肝。";
break;
case 2:
this.name = "养精丹";
this.ad_jl = 30;
this.desc = "一枚丹药吃了后会增加30点精力但是吃多了会伤肝。";
break;
case 3:
this.name = "养精丹";
this.ad_jl = 50;
this.desc = "一枚丹药吃了后会增加50点精力但是吃多了会伤肝。";
break;
case 4:
this.name = "养精丹";
this.ad_jl = 100;
this.desc = "一枚丹药吃了后会增加100点精力但是吃多了会伤肝。";
break;
default:
this.name = "养精丹";
this.ad_jl = 10;
this.desc = "一枚丹药吃了后会增加10点精力但是吃多了会伤肝。";
break;
}
this.grade = lv + 1;
}

19
world/obj/cash/new_box.js Normal file
View File

@@ -0,0 +1,19 @@
this.inherits(OBJ);
this.set({
name: "新手宝箱",
desc: "这是一个精铁制成的箱子,里面好像放了一些值钱的东西。",
unit: "个",
value: 0,
grade: 1,
combined: false
});
this.on_open = function (me) {
var result = [
{ obj: "cash/jing#2", count: 3 },
{ obj: "cash/saodang", count: 10 },
{ obj: "cash/tianshifu", count: 5 }
];
return OBJ.create_by_odds(result);
}

View File

@@ -0,0 +1,16 @@
this.inherits(OBJ);
this.set({
unit: "颗",
name: "背包扩充石",
desc: "使用后增加你的背包容量+10",
grade: 1,
value: 0
});
this.on_use = function (me) {
var size = 10;
if (me.max_item_count + size > 100) return me.notify_fail("背包最多只能扩充到100格。");
me.max_item_count += size;
me.send('{"type":"dialog","dialog":"pack",max_item_count:' + me.max_item_count + '}');
// me.notify('你的背包容量扩充为' + me.max_item_count + "。");
return true;
}

View File

@@ -0,0 +1,8 @@
this.inherits(OBJ);
this.set({
name: "扫荡符",
desc: "副本通关完成度100%后,可以快速完成副本",
unit: "个",
value: 10000,
grade: 2
});

27
world/obj/cash/sm.js Normal file
View File

@@ -0,0 +1,27 @@
this.inherits(OBJ);
this.set({
name: "副本补给包",
desc: "包含328个扫荡符18个天师符100精力",
unit: "个",
value: 0,
grade: 5
});
this.on_open = function (me) {
var result = [
{
obj: "cash/saodang",
count: 328
},
{
obj: "cash/tianshifu",
count: 18
},
{
obj: "cash/jing#4"
}
];
return OBJ.create_by_odds(result);
}

View File

@@ -0,0 +1,9 @@
this.inherits(OBJ);
this.set({
name: "天师符",
desc: "使用后可使你原地复活",
unit: "个",
value: 0,
value: 50000,
grade: 3
});

45
world/obj/cash/tool.js Normal file
View File

@@ -0,0 +1,45 @@
this.inherits(OBJ);
this.set({
unit: "个",
name: "工具自选礼包",
desc: "使用后可选择任意一种工具",
grade: 1,
value: 100
});
this.on_create = function (path, par) {
if (!par) return;
par = par.substr(1);
var lv = parseInt(par);
if (!(lv > 0 && lv < 6)) return;
this.grade = lv;
}
function wrap_name(text, grade) {
const level_desc = ["wht", "hig", "hic", "hiy", "hiz", "hio", 'ord'];
let tag = level_desc[grade];
return `<${tag}>${text}</${tag}>`;
}
this.on_use = function (me, par) {
if (!par) {
var str = ["{type:\"cmds\",items:["];
var list = ["一把" + wrap_name('铁镐', this.grade), "一根"
+ wrap_name('钓鱼竿', this.grade), "一本" + wrap_name('药王神篇', this.grade)];
for (var i = 0; i < list.length; i++) {
str.push("{cmd:\"use " + this.id + " ");
str.push(i + 1);
str.push("\",name:\"");
str.push(list[i]);
str.push("\"},");
}
str.push("]}");
me.notify("选择你想要的工具:");
return me.notify_fail(str.join(""));
}
let path = ['sp/tool/chu#', 'sp/tool/diao#', 'sp/tool/yao#'][parseInt(par) - 1];
if (!path)
return me.notify_fail('选择错误,请重新选择。');
let obj = me.add_obj(path + this.grade, 1);
me.send('你获得了' + obj.unit_name(1) + "。");
return true;
}

View File

@@ -0,0 +1,68 @@
this.inherits(OBJ);
this.set({
name: "工具包",
desc: "里面有一套黄色工具,几个橙色鱼饵,指南",
unit: "个",
value: 0,
grade: 5
});
this.on_open = function (me) {
let index = me.add_temp('gjx1', 1);
let result = [];
if (index === 1) {
result.push(
{
obj: "sp/tool/yao#4"
});
result.push(
{
obj: "sp/tool/chu#3"
});
result.push(
{
obj: "sp/tool/diao#3"
});
} else if (index === 2) {
result.push(
{
obj: "sp/tool/chu#4"
});
result.push(
{
obj: "sp/tool/yao#3"
});
result.push(
{
obj: "sp/tool/diao#3"
});
} else if (index === 3) {
result.push(
{
obj: "sp/tool/diao#4"
});
result.push(
{
obj: "sp/tool/chu#3"
});
result.push(
{
obj: "sp/tool/yao#3"
});
me.remove_temp('gjx1');
}
result.push({
obj: "sp/tool/er#5", min: 5, max: 6
});
result.push(
{
obj: "sp/tool/exp#5", min: 1, max: 3
});
return OBJ.create_by_odds(result);
}

94
world/obj/cash/tuoli.js Normal file
View File

@@ -0,0 +1,94 @@
this.inherits(OBJ);
this.set({
unit: "张",
name: "叛师符",
desc: "使用后可以使脱离当前门派,门派学到的所有武功会遗忘,会返还你学习和练习技能消耗的潜能",
grade: 5,
value: 0
});
this.on_use = function (me) {
if (!me.is_player) return me.notify_fail("你不能使用" + this.name + "。");
if (me.query_temp('tuolicd')) return me.notify_fail("你刚脱离门派没多久,频繁的背叛师门会被武林中人所不齿的。");
if (!me.family || me.family == FAMILIES.NONE)
return me.notify_fail("你还没有门派,不需要叛师。");
var list = [];
var up_count = 0;
for (var key in me.skills) {
var skill = SKILL.get(key);
if (skill.family === me.family) {
let skitem = me.skills[key];
if (skitem.ref)
return me.notify_fail('请先取消' + skill.query_color_name(me) + '融合的绝招。');
if (skitem.addin && skitem.addin.length)
return me.notify_fail('请先取消' + skill.query_color_name(me) + '的技能进阶。');
list.push(skill);
if (skill.source_skill) {
up_count += (skill.grade === 4 ? 50 : 100);
}
}
}
if (me.query_temp("tuoli")) {
var sum = 0;
for (var i = 0; i < list.length; i++) {
var needpot = list[i].query_needexp(me.skills[list[i].id].level, me);
if (me.remove_skill(list[i].id)) {
if (needpot)
sum += needpot;
me.notify('{type:"dialog",dialog:"skills",remove:"' + list[i].id + '"}');
}
}
me.send_room("<hiy>$N义无反顾的拿出叛师符嘴里念念有词...\n\n</hiy>");
if (sum) {
me.notify("<hig>你遗忘的武功转化为" + parseInt(sum) + "点潜能。</hig>");
me.pot += parseInt(sum);
}
if (up_count > 0) {
let obj = me.add_obj('book/up', up_count);
me.notify("你获得了" + obj.unit_name(up_count) + "。");
}
me.add_status({
id: "faint",
is_faint: true,
duration: 10000,
name: "昏迷", downside: true,
finish_msg: "<hiy>慢慢的$N又恢复了知觉...</hiy>\n",
start_msg: "<hir>$N突然觉得一生所学忘了个精光头痛难忍惨叫一声昏了过去……</hir>\n"
});
let fam = me.family;
me.family = FAMILIES.NONE;
me.add_title("普通百姓", "family");
me.remove_temp("master");
//me.remove_temp("master");
me.remove_temp("family");
me.remove_temp("family_level");
me.set_temp('tuolicd', 1, UTIL.diff_time());
WORLD.DATA.reset_famtops(me, fam);
} else {
var str = ["<hiy>你使用这张符咒后将会脱离" + me.family.name + ",以下武功将会被遗忘:"];
str.push("</hiy>");
if (list.length) {
str.push("\n");
for (var i = 0; i < list.length; i++) {
str.push("\n");
str.push(list[i].color_name);
}
str.push("");
}
str.push('\n脱离门派期间师门物资将停止发放。');
if (up_count > 0) {
str.push('\n退还' + up_count + '份<hiz>门派进阶残页</hiz>。');
}
me.notify(str.join(""));
me.set_temp("tuoli", 1, 10000);
me.send_commands("use " + this.id, "确定脱离门派");
return false;
}
}

79
world/obj/cash/xi.js Normal file
View File

@@ -0,0 +1,79 @@
this.inherits(OBJ);
this.set({
unit: "颗",
name: "洗髓丹",
desc: "使用后可以重新设置你的先天属性",
grade: 3,
value: 0
});
this.on_use = function (me) {
if (!me.is_player) return me.notify_fail("你不能使用" + this.name + "。");
var count = me.str + me.con + me.dex + me.int;
var max = 30 + count - 80;
me.notify("请说出你的先天属性(臂力 根骨 身法 悟性)每项15-" + max + ",总计" + count + ",比如:20 20 20 20");
me.wait_input = readnumber;
me.send_commands("quxiao", "取消使用");
return false;
}
function readnumber(me, cmd) {
var count = me.str + me.con + me.dex + me.int;
var max = 30 + count - 80;
var nitify = "请说出你的先天属性(臂力 根骨 身法 悟性)每项15-" + max + ",总计" + count + ",比如:20 20 20 20";
if (!cmd) {
return me.notify(nitify);
}
if (cmd == 'quxiao') {
me.wait_input = null;
me.notify('已取消使用洗髓丹。');
return;
}
var ss = cmd.split(' ');
if (ss.length != 5) return me.notify(nitify);
var str = parseInt(ss[1]);
var con = parseInt(ss[2]);
var dex = parseInt(ss[3]);
var int = parseInt(ss[4]);
if (!(str > 14 && str <= max)) return me.notify("臂力需要在15-" + max + "之间。");
if (!(con > 14 && con <= max)) return me.notify("根骨需要在15-" + max + "之间。");
if (!(dex > 14 && dex <= max)) return me.notify("身法需要在15-" + max + "之间。");
if (!(int > 14 && int <= max)) return me.notify("悟性需要在15-" + max + "之间。");
if (str + con + dex + int != count) {
return me.notify("总计需要是" + count + ",请重新设置:");
}
me.set_temp("re_str", str);
me.set_temp("re_con", con);
me.set_temp("re_dex", dex);
me.set_temp("re_int", int);
me.notify("属性调整为臂力:" + str + ",根骨:" + con + ",身法:" + dex + ",悟性:" + int + ",是否确认?");
me.send_commands("ok", "确认", "cancle", "重新设置");
me.wait_input = checkResult;
}
function checkResult(me, str) {
if (str == "ok") {
var obj = me.find_obj_bypath('cash/xi');
if (!obj || !obj.count) {
return me.notify('你身上没有洗髓丹。');
}
me.remove_obj(obj, 1);
me.str = me.query_temp("re_str");
me.con = me.query_temp("re_con");
me.int = me.query_temp("re_int");
me.dex = me.query_temp("re_dex");
me.recount();
me.notify("属性调整完成");
me.wait_input = null;
me.remove_temp("re_dex");
me.remove_temp("re_con");
me.remove_temp("re_int");
me.remove_temp("re_dex");
} else {
me.wait_input = readnumber;
var count = me.str + me.con + me.dex + me.int;
var max = 30 + count - 80;
me.notify("请说出你的先天属性(臂力 根骨 身法 悟性)每项15-" + max + ",总计" + count + ",比如:20 20 20 20");
me.send_commands("quxiao", "取消使用");
}
}

12
world/obj/drug/age.js Normal file
View File

@@ -0,0 +1,12 @@
this.inherits(OBJ);
this.unit = "颗";
this.name = "驻颜丹";
this.value = 1280000;
this.desc = "这是一颗女士梦寐以求的驻颜神丹,食用后会使你年轻一岁";
this.grade = 4;
this.on_use = function (me) {
if (me.query_age() < 20) return me.notify_fail("年纪轻轻的用什么驻颜丹。");
me.add_temp('age', 1);
me.notify("<him>你吞下一颗驻颜丹,感觉自己又年轻了一些。</him>");
}
this.transable = true;

62
world/obj/drug/buff.js Normal file
View File

@@ -0,0 +1,62 @@
this.inherits(OBJ);
this.set({
unit: "颗",
name: "药丸",
desc: "一颗神秘的药丸",
grade: 1,
prop: null
});
this.on_use = function (me) {
me.notify("你吞下一颗" + this.color_name + "。");
if (!this.prop) return;
me.add_status({
id: "drugbuff",
name: this.name,
desc: this.desc,
duration: 50000 + this.grade * 10000,
prop: this.prop,
override: 1
});
return true;
}
this.on_create = function (path, par) {
var lv = 1;
var type = 0;
if (par) {
par = par.substr(1);
lv = parseInt(par[0]);
type = parseInt(par[1]);
if (!(lv > 0 && lv < 5)) lv = 1;
}
this.grade = lv + 1;
this.value = [100000, 1000000, 2000000, 5000000, 10000000][lv];
var init = this["create_type" + type];
if (init) {
init.call(this, lv);
}
}
this.create_type0 = function (lv) {
this.name = "神力丸";
var val = [20, 50, 100, 200, 400][lv];
this.desc = "一颗神秘的药丸,吃了后增加你" + val + "点后天臂力。";
this.prop = {
str: val
};
}
this.create_type1 = function (lv) {
this.name = " 风行丹";
var val = [20, 50, 100, 200, 400][lv];
this.desc = "一颗神秘的药丸,吃了后增加你" + val + "点后天身法。";
this.prop = {
dex: val
};
}
this.create_type1 = function (lv) {
this.name = "飞燕丹";
var val = [20, 50, 100, 200, 400][lv];
this.desc = "一颗神秘的药丸,吃了后增加你" + val + "点后天身法。";
this.prop = {
dex: val
};
}

17
world/obj/drug/dushe.js Normal file
View File

@@ -0,0 +1,17 @@
this.inherits(OBJ);
this.unit = "颗";
this.name = "解毒丹";
this.value = 1000;
this.desc = "这是螣蛇血清制成的解药,可以解螣蛇毒";
this.distime = 30000;
this.grade = 5;
this.allow_fight = true;
this.transable = true;
this.on_use = function (me) {
if (me.query_status('shedu')) {
me.send_room('<hig>$N吞下一颗解毒丹脸上的灰白死气终于褪去。</hig>');
me.remove_status('shedu', true);
return;
}
return me.notify_fail('你没中蛇毒,用不着吃解药。');
}

63
world/obj/drug/exp.js Normal file
View File

@@ -0,0 +1,63 @@
this.inherits(OBJ);
this.set({
unit: "颗",
name: "朱果",
desc: "一颗红色果子吃了增加500经验500潜能",
grade: 1,
exp: 500,
pot: 500,
value: 1000
});
this.transable = true;
this.on_use = function (me) {
me.notify("你吞下一颗" + this.color_name + "。");
me.add_exp(this.exp, this.pot);
return true;
}
this.on_create = function (path, par) {
if (!par) {
this.path = path + "#0";
return;
}
par = par.substr(1);
var lv = parseInt(par);
if (!(lv > 0 && lv < 5)) return;
switch (lv) {
case 1:
this.name = "朱果";
this.exp = 6000;
this.pot = 5000;
this.value = 5000;
this.desc = "一颗红色果子吃了增加6000经验5000潜能";
break;
case 2:
this.name = "朱果";
this.exp = 15000;
this.pot = 10000;
this.value = 10000;
this.desc = "一颗红色果子吃了增加15000经验10000潜能";
break;
case 3:
this.name = "朱果";
this.exp = 50000;
this.pot = 20000;
this.value = 50000;
this.desc = "一颗红色果子吃了增加50000经验20000潜能";
break;
case 4:
this.name = "朱果";
this.exp = 120000;
this.pot = 40000;
this.value = 120000;
this.desc = "一颗红色果子吃了增加120000经验40000潜能";
break;
default:
this.name = "朱果";
this.exp = 500;
this.pot = 500;
this.value = 1000;
this.desc = "一颗红色果子吃了增加500经验500潜能";
break;
}
this.grade = lv + 1;
}

12
world/obj/drug/hr2.js Normal file
View File

@@ -0,0 +1,12 @@
this.inherits(OBJ);
this.unit = "颗";
this.name = "初级毁容丸";
this.value = 280000;
this.desc = "这是一颗神奇的丹药,食用后会使你的容貌产生一些神奇的变化";
this.grade = 3;
this.transable = true;
this.on_use = function (me) {
if (me.per <= 20) return me.notify_fail("初级毁容丸已经对你没有任何效果了。");
me.per -= 1;
me.notify("<hib>你吞下一颗初级毁容丸,感觉自己的容貌发生了一些变化。</hib>");
}

12
world/obj/drug/huirong.js Normal file
View File

@@ -0,0 +1,12 @@
this.inherits(OBJ);
this.unit = "颗";
this.name = "毁容丸";
this.value = 1280000;
this.desc = "这是一颗神奇的丹药,食用后会使你的容貌产生一些神奇的变化";
this.grade = 4;
this.transable = true;
this.on_use = function (me) {
if (me.per < 2) return me.notify_fail("你已经没有办法继续折腾你的容貌了。");
me.per -= 1;
me.notify("<hib>你吞下一颗毁容丸,感觉自己的容貌发生了一些变化。</hib>");
}

17
world/obj/drug/huoyan.js Normal file
View File

@@ -0,0 +1,17 @@
this.inherits(OBJ);
this.set({
unit: "颗",
name: "玲珑火芝",
grade: 3,
desc: "生长在火山中心的一种灵芝,食用后使人增加内力上限",
value: 980000
});
this.transable = true;
this.on_use = function (me) {
me.send_room("<hir>$N拿出一颗玲珑火芝一口气吞了下去。</hir>");
var sx = me.random(me.query_skill("force") / 5) + 100;
me.limit_mp += sx;
me.notify("<red>你感觉一股热流顺着喉咙涌到全身,你的经脉仿佛都被拓宽了。</red>");
me.notify("<hiw>你的内力上限增加了" + sx + "。</hiw>");
}

View File

@@ -0,0 +1,52 @@
this.inherits(OBJ);
this.set({
unit: "粒",
name: "培元丹",
grade: 1,
desc: "江湖中各大门派用来给弟子们拓展经脉的丹药使用后会增加你10点内力上限",
value: 10000,
add_mp: 10,
});
this.transable = true;
this.on_use = function (me) {
me.send_room("<hir>$N吞下了一颗培元丹。</hir>");
me.limit_mp += this.add_mp;
me.notify("<hiw>你的内力上限增加了" + this.add_mp + "。</hiw>");
}
this.on_create = function (path, par) {
if (!par) {
this.path = path + "#0";
return;
}
par = par.substr(1);
var lv = parseInt(par);
if (!(lv > 0 && lv < 5)) return;
switch (lv) {
case 1:
this.add_mp = 20;
this.value = 10000;
this.desc = "江湖中各大门派用来给弟子们拓展经脉的丹药使用后会增加你20点内力上限";
break;
case 2:
this.add_mp = 50;
this.value = 25000;
this.desc = "江湖中各大门派用来给弟子们拓展经脉的丹药使用后会增加你50点内力上限";
break;
case 3:
this.add_mp = 100;
this.value = 50000;
this.desc = "江湖中各大门派用来给弟子们拓展经脉的丹药使用后会增加你100点内力上限";
break;
case 4:
this.add_mp = 200;
this.value = 100000;
this.desc = "江湖中各大门派用来给弟子们拓展经脉的丹药使用后会增加你200点内力上限";
break;
default:
this.add_mp = 10;
this.value = 5000;
this.desc = "江湖中各大门派用来给弟子们拓展经脉的丹药使用后会增加你10点内力上限";
break;
}
this.grade = lv + 1;
}

61
world/obj/drug/max_mp.js Normal file
View File

@@ -0,0 +1,61 @@
this.inherits(OBJ);
this.set({
unit: "粒",
name: "聚气丹",
grade: 1,
desc: "江湖中各大门派用来给入门弟子快速增加内力的丹药。",
value: 1000,
add_mp: 10
});
this.transable = true;
this.on_use = function (me) {
if (me.max_mp >= me.limit_mp + me.query_prop("limit_mp")) {
return me.notify_fail("你的经脉容纳不了再多的内力了。");
}
var count = this.random(this.add_mp / 2) + this.add_mp / 2;
me.add_maxmp(count);
}
this.on_create = function (path, par) {
var lv = 0;
if (!par) {
this.path = path + "#0";
} else {
lv = parseInt(par.substr(1));
}
if (!(lv >= 0 && lv < 5)) return;
this.grade = lv + 1;
switch (lv) {
case 1:
this.name = "聚气丹";
this.add_mp = 20;
this.value = 2000;
this.desc = "江湖中各大门派用来给入门弟子快速增加内力的丹药使用后增加最大内力20不超过内力上限。";
break;
case 2:
this.name = "聚气丹";
this.add_mp = 50;
this.value = 5000;
this.desc = "江湖中各大门派用来给入门弟子快速增加内力的丹药使用后增加最大内力50不超过内力上限。";
break;
case 3:
this.name = "聚气丹";
this.add_mp = 200;
this.value = 10000;
this.desc = "江湖中各大门派用来给入门弟子快速增加内力的丹药使用后增加最大内力200不超过内力上限。";
break;
case 4:
this.name = "聚气丹";
this.add_mp = 500;
this.value = 20000;
this.desc = "江湖中各大门派用来给入门弟子快速增加内力的丹药使用后增加最大内力500不超过内力上限。";
break;
default:
this.name = "聚气丹";
this.add_mp = 10;
this.value = 1000;
this.desc = "江湖中各大门派用来给入门弟子快速增加内力的丹药使用后增加最大内力10不超过内力上限。";
break;
}
}

13
world/obj/drug/meirong.js Normal file
View File

@@ -0,0 +1,13 @@
this.inherits(OBJ);
this.unit = "颗";
this.name = "美容丸";
this.value = 1280000;
this.desc = "这是一颗女士梦寐以求的美容神丹,食用后会使你更加漂亮";
this.grade = 5;
this.transable = true;
this.on_use = function (me) {
if (me.per < 25) return me.notify_fail("你的底子太差,还是先用初级美容丸提升一下吧。");
if (me.per > 41) return me.notify_fail("你已经很漂亮了。");
me.per += 1;
me.notify("<him>你吞下一颗美容丸,感觉自己又漂亮了一些。</him>");
}

12
world/obj/drug/mr2.js Normal file
View File

@@ -0,0 +1,12 @@
this.inherits(OBJ);
this.unit = "颗";
this.name = "初级美容丸";
this.value = 280000;
this.desc = "这是一颗药王谷出品的美容药丸可以增加你的先天容貌不超过25";
this.grade = 3;
this.transable = true;
this.on_use = function (me) {
if (me.per >= 25) return me.notify_fail("初级美容丸已经对你没有任何效果了。");
me.per += 1;
me.notify("<him>你吞下一颗初级美容丸,感觉自己又漂亮了一些。</him>");
}

58
world/obj/drug/pot.js Normal file
View File

@@ -0,0 +1,58 @@
this.inherits(OBJ);
this.set({
unit: "颗",
name: "潜灵果",
desc: "包含无限潜力的绿色果子增加500-1000潜能",
grade: 1,
pot: 500,
value: 1000
});
this.transable = true;
this.on_use = function (me) {
me.notify("你吞下一颗" + this.color_name + "。");
me.add_exp(0, this.random(this.pot) + this.pot);
return true;
}
this.on_create = function (path, par) {
if (!par) {
this.path = path + "#0";
return;
}
par = par.substr(1);
var lv = parseInt(par);
if (!(lv > 0 && lv < 5)) return;
switch (lv) {
case 1:
this.name = "潜灵果";
this.pot = 5000;
this.value = 2000;
this.desc = "包含无限潜力的绿色果子增加5000-10000潜能";
break;
case 2:
this.name = "潜灵果";
this.pot = 10000;
this.value = 5000;
this.desc = "包含无限潜力的绿色果子增加10000-20000潜能";
break;
case 3:
this.name = "潜灵果";
this.pot = 20000;
this.value = 10000;
this.desc = "包含无限潜力的绿色果子增加20000-40000潜能";
break;
case 4:
this.name = "潜灵果";
this.pot = 50000;
this.value = 50000;
this.desc = "包含无限潜力的绿色果子增加50000-100000潜能";
break;
default:
this.name = "潜灵果";
this.pot = 500;
this.value = 1000;
this.desc = "包含无限潜力的绿色果子增加500-1000潜能";
break;
}
this.grade = lv + 1;
}

84
world/obj/drug/sdrug.js Normal file
View File

@@ -0,0 +1,84 @@
this.inherits(OBJ);
this.unit = "颗";
this.name = "丹药";
this.value = 1920000;
this.combined = true;
this.action_msg = "吃";
this.distime = 60000;
this.allow_fight = true;
this.distype = "marry";
this.allow_die = true;
this.transable = true;
this.on_use = function (me) {
if (this.level === 2) {
if (me.hp > 0)
return me.notify_fail('这颗丹药在你死亡的时候才会起作用。');
else {
me.clear_status();
me.hp = me.max_hp;
me.mp = me.max_mp;
me.notify('{type:"die",relive:true}');
if (me.force_skill.on_relive) {
me.force_skill.on_relive(me);
}
me.moveto(me.environment, null);
return me.send_room('<mag>$N吞下一颗' + this.color_name + ',重新获得了新生。</mag>');
}
}
if (me.hp <= 0) return me.notify_fail("你现在是灵魂状态,不能那么做。");
if (this.level === 0) {
me.send_room('<hic>$N吞下一颗' + this.color_name + ",重新获得了力量。</hic>");
return me.clear_distime();
} else if (this.level === 1) {
me.add_status({
id: "syf",
name: "灵悟",
prop: {
int: 1000
},
no_clear: true,
duration: 3600000,
count: 1,
override: 1,
max_count: 10,
desc: "你的悟性提高了,持续一小时",
});
me.send_room('<hig>$N吞下一颗' + this.color_name + ",顿时心明如镜,经脉通畅,悟性大增。<hig>");
} else if (this.level === 3) {
if (me.clear_downside(true) > 0) {
return me.send_room('<hiw>$N吞下一颗' + this.color_name + ",驱离了身上所有的不适。</hiw>");
}
return me.notify_fail('你现在没有负面状态可以驱除。');
} else if (this.level === 4) {
me.send_room('<hiy>$N吞下一颗' + this.color_name + ",龙气环绕,坚不可摧。</hiy>");
me.add_status({
id: "drug",
name: "龙魂",
desc: "增加你的免伤",
no_clear: true,
duration: 6000,
prop: {
diff_sh_per2: 1080
}
});
}
}
const names = ['回天丹', '灵悟丹', '还魂丹', '驱魔丹', '龙魂丹'];
const descs = ['服用后后刷新你的所有技能冷却', '服用后一小时内增加1000悟性可叠加', '死亡后使用可以原地复活',
"服用后驱散你的负面状态", "服用后6秒内你将免疫绝大部分伤害"];
this.on_create = function (path, par) {
var lv = 0;
if (par) {
lv = parseInt(par.substr(1));
if (!(lv > 0)) lv = 0;
}
this.grade = 6;
this.name = names[lv];
this.desc = descs[lv];
this.level = lv;
if (lv === 1) {
this.distime = 0;
}
}

54
world/obj/drug/skill2.js Normal file
View File

@@ -0,0 +1,54 @@
this.inherits(OBJ);
this.set({
unit: "粒",
name: "突破丹",
grade: 1,
desc: "快速突破你的技能消耗你的潜能使你的某项不高于突破丹品质的技能增加1-5级",
value: 1000
});
this.transable = true;
this.on_use = function (me) {
me.notify("你吞下一粒突破丹。")
if (!(me.pot > 0)) return me.notify("你的潜能不够,好像没什么效果。");
var list = [];
for (var sk in me.skills) {
var base_skill = SKILL.get(sk);
if (base_skill && base_skill.type != SKILL_TYPES.KNOWLEDGE && base_skill.grade <= this.grade) {
list.push(base_skill);
}
}
var skillbase = list.random();
if (!skillbase) return me.notify("你还没有学会可以突破的技能。");
var needexp = 0;
var level = this.random(15);
if (level > 13) level = 5;
else if (level > 11) level = 4;
else if (level > 8) level = 3;
else if (level > 4) level = 2;
else level = 1;
var now_lv = me.skills[skillbase.id].level;
while (level) {
needexp += skillbase.level_exp(now_lv + level, me);
level--;
}
if (needexp > me.pot) return me.notify("你的潜能不够,好像没什么效果。");
skillbase.add_exp(me, needexp);
me.pot -= needexp;
}
const VALUES = [1000, 1000, 10000, 20000, 50000, 100000, 100000];
this.on_create = function (path, par) {
if (!par) {
this.path = "drug/skill2#1";
return;
}
par = par.substr(1);
var lv = parseInt(par);
if (!(lv > 0 && lv <= 5)) {
lv = 1;
this.path = "drug/skill2#1";
}
this.grade = lv ? lv : 1;
this.value = VALUES[this.grade];
}

View File

@@ -0,0 +1,16 @@
this.inherits(OBJ);
this.set({
unit: "块",
name: "熊胆",
grade: 1,
desc: "一块新鲜的熊胆,还冒着热气",
value: 1000
});
this.transable = true;
this.on_use = function (me) {
if (me.max_mp >= me.limit_mp + me.query_prop("limit_mp")) {
return me.notify_fail("你觉得你的经脉容纳不了再多的内力了。");
}
me.send_room("<hiw>$N拿出一块熊胆三下五除二得就吞了下去。</hiw>");
me.add_maxmp(40);
}

61
world/obj/drug/yao.js Normal file
View File

@@ -0,0 +1,61 @@
this.inherits(OBJ);
this.unit = "颗";
this.name = "蛇血丹";
this.value = 30000;
this.grade = 3;
this.combined = true;
this.distime = 60000;
this.allow_fight = true;
this.desc = "这是一份白驼山出产的蛇血丹,不知道什么功效";
this.action_msg = "吃";
this.transable = true;
this.on_use = function (me) {
me.notify("<hic>你吃掉一颗蛇血丹。</hic>");
switch (this.drug_type) {
case 1:
me.add_status({
id: "food",
name: "暴虐",
desc: "增加你的伤害,减少你的防御",
prop: {
diff_sh_per: -8,
add_sh_per: 8
},
duration: 10000
});
break;
case 2:
me.add_status({
id: "food",
name: "龟灵",
desc: "增加你的防御,减少你的伤害",
prop: {
diff_sh_per: 8,
add_sh_per: -8
},
duration: 10000
});
break;
case 3:
var sx = 50 + me.random(me.con);
me.limit_mp += sx;
me.notify("<hiw>你的内力上限增加了" + sx + "。</hiw>");
break;
default:
var hp = me.add_hp(parseInt(me.max_hp * 0.3));
if (hp) {
me.notify("<hig>你恢复了" + hp + "气血。</hig>");
}
break;
}
}
this.on_create = function (path, par) {
var lv = 0;
if (par) {
lv = parseInt(par.substr(1));
}
this.drug_type = lv;
this.name = ["再生", "暴虐", "龟灵", "培元"][lv] + this.name;
}

16
world/obj/drug/yulu.js Normal file
View File

@@ -0,0 +1,16 @@
this.inherits(OBJ);
this.unit = "颗";
this.name = "九花玉露丸";
this.value = 200000;
this.desc = "「东邪」黄药师独门灵丹妙药,使用后瞬间恢复你全部气血";
this.distime = 60000;
this.grade = 4;
this.allow_fight = true;
this.transable = true;
this.on_use = function (me) {
if (me.hp == me.max_hp) {
return me.notify_fail("你现在不需要九花玉露丸。");
}
me.add_hp(me.max_hp);
me.send_room("$N吃下一颗" + this.color_name + ",气色恢复如初。");
}

11
world/obj/eq/lv0/cloth.js Normal file
View File

@@ -0,0 +1,11 @@
this.inherits(EQUIPMENT);
this.set({
unit: "件",
name: "布衣",
desc: "杨记出产的布衣,结实耐用",
value: 1000,
eq_type: EQUIP_TYPE.CLOTH,
});
this.prop = {
fy: 1
};

12
world/obj/eq/lv0/dao.js Normal file
View File

@@ -0,0 +1,12 @@
this.inherits(EQUIPMENT);
this.set({
unit: "把",
name: "钢刀",
desc: "一把精钢打造的长刀",
value: 2500,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type : WEAPON_TYPE.BLADE
});
this.prop = {
gj:2
};

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "短衣劲装",
desc: "看上去很精干的一件衣服,穿上去利落无比",
unit: "件",
grade: 1,
eq_type: EQUIP_TYPE.CLOTH,
value: 10000,
prop: {
fy: 8,
str: 1
}
});

11
world/obj/eq/lv0/fei.js Normal file
View File

@@ -0,0 +1,11 @@
this.inherits(EQUIPMENT);
this.set({
unit: "把",
name: "飞镖",
desc: "一把精钢打造的暗器飞镖",
value: 2500,
eq_type: EQUIP_TYPE.THROWING,
});
this.prop = {
gj: 3
};

11
world/obj/eq/lv0/huang.js Normal file
View File

@@ -0,0 +1,11 @@
this.inherits(EQUIPMENT);
this.set({
unit: "件",
name: "皇袍",
desc: "这是一黄色的长袍,上面的纹路似一条神龙游弋于天地之间,富丽堂皇之余透露出大气磅礴之势。",
value: 100000000,
eq_type: EQUIP_TYPE.CLOTH
});
this.prop = {
fy: 99
};

View File

@@ -0,0 +1,11 @@
this.inherits(EQUIPMENT);
this.set({
unit: "件",
name: "家丁服",
desc: "崔府家丁的统一制服",
value: 5000,
eq_type: EQUIP_TYPE.CLOTH,
});
this.prop = {
fy: 5
};

View File

@@ -0,0 +1,11 @@
this.inherits(EQUIPMENT);
this.set({
unit: "件",
name: "家丁鞋",
desc: "崔府家丁的统一制服",
value: 3000,
eq_type: EQUIP_TYPE.SHOES,
});
this.prop = {
fy: 3
};

10
world/obj/eq/lv0/jian.js Normal file
View File

@@ -0,0 +1,10 @@
this.inherits(EQUIPMENT);
this.unit = "把";
this.name = "铁剑";
this.desc = "一把生铁打造的剑";
this.value = 2000;
this.eq_type = EQUIP_TYPE.WEAPON;
this.weapon_type = WEAPON_TYPE.SWORD;
this.prop = {
gj: 1
};

8
world/obj/eq/lv0/jin.js Normal file
View File

@@ -0,0 +1,8 @@
this.inherits(EQUIPMENT);
this.set({
unit: "件",
name: "英雄巾",
desc: "行走江湖男士标配装备,虽然没什么实际作用",
value: 1500,
eq_type: EQUIP_TYPE.HEAD,
});

10
world/obj/eq/lv0/mugun.js Normal file
View File

@@ -0,0 +1,10 @@
this.inherits(EQUIPMENT);
this.unit = "根";
this.name = "木棍";
this.desc = "一把木头削成的棍子,看上去唬人,但没什么杀伤力";
this.value = 1000;
this.eq_type = EQUIP_TYPE.WEAPON;
this.weapon_type = WEAPON_TYPE.CLUB;
this.prop = {
gj: 1
};

View File

@@ -0,0 +1,12 @@
this.inherits(EQUIPMENT);
this.set({
unit: "个",
name: "鸟窝",
desc: "一个不死木脱落的树皮风干后的剩下的坚丝制成的鸟窝,竟然可以穿到身上,只是有些漏风",
value: 1000,
eq_type: EQUIP_TYPE.CLOTH,
});
this.prop = {
fy: 550,
desc:"这件衣服的材料非常轻盈,却韧性十足,坚逾精钢"
};

11
world/obj/eq/lv0/ring.js Normal file
View File

@@ -0,0 +1,11 @@
this.inherits(EQUIPMENT);
this.set({
unit: "枚",
name: "铁戒指",
desc: "一枚生铁打造的戒指,带上挺好看的",
value: 1000,
eq_type: EQUIP_TYPE.RING,
});
this.prop = {
gj: 1
};

11
world/obj/eq/lv0/shoes.js Normal file
View File

@@ -0,0 +1,11 @@
this.inherits(EQUIPMENT);
this.set({
unit: "双",
name: "布鞋",
desc: "寻常的布鞋,结实耐磨",
value: 1000,
eq_type: EQUIP_TYPE.SHOES,
});
this.prop = {
fy: 1
};

View File

@@ -0,0 +1,12 @@
this.inherits(EQUIPMENT);
this.set({
unit: "根",
name: "铁棍",
desc: "一根精铁打造的棍子",
value: 2500,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.CLUB
});
this.prop = {
gj: 2
};

View File

@@ -0,0 +1,12 @@
this.inherits(EQUIPMENT);
this.set({
unit: "根",
name: "铁杖",
desc: "这是一根浑铁杖,似乎威力不大。",
value: 2500,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.STAFF
});
this.prop = {
gj: 2
};

14
world/obj/eq/lv0/whip.js Normal file
View File

@@ -0,0 +1,14 @@
this.inherits(EQUIPMENT);
this.set({
name: "长鞭",
desc: "这是一柄普通的长鞭",
unit: "柄",
eq_msg: "$N「唰」的一声抖出一柄$n握在手中。",
uneq_msg: "$N将手中的$n卷回腰间。",
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.WHIP,
value: 1000,
prop: {
gj: 3
}
});

8
world/obj/eq/lv0/zan.js Normal file
View File

@@ -0,0 +1,8 @@
this.inherits(EQUIPMENT);
this.set({
unit: "支",
name: "簪子",
desc: "一支木制的簪子,没什么钱钱的少女侠客最爱,当然道士也可以用",
value: 1500,
eq_type: EQUIP_TYPE.HEAD,
});

View File

@@ -0,0 +1,14 @@
this.inherits(EQUIPMENT);
this.set({
unit: "副",
name: "崔莺莺的手镯",
desc: "一副翡翠做的手镯,可能是崔莺莺的情郎送给她的定情信物",
value: 10000,
eq_type: EQUIP_TYPE.WRIST,
grade: 2
});
this.prop = {
gjsd: 200,
int: 10,
per:2
};

View File

@@ -0,0 +1,14 @@
this.inherits(EQUIPMENT);
this.set({
name: "黑虎单刀",
desc: "一把短柄的砍刀,看上去锋利异常",
unit: "把",
grade: 1,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.BLADE,
value: 20000,
prop: {
gj: 20,
str: 3
}
});

View File

@@ -0,0 +1,14 @@
this.inherits(EQUIPMENT);
this.set({
name: "拂尘",
desc: "这是一柄拂尘,整体素白",
unit: "柄",
grade: 1,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.WHIP,
value: 10000,
prop: {
gj: 8,
mz: 2
}
});

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
unit: "枚",
name: "崔员外的戒指",
desc: "一枚金子打造的戒指,有点粗",
value: 10000,
eq_type: EQUIP_TYPE.RING,
grade: 1
});
this.prop = {
gj: 2,
mz: 2
};

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "官服",
desc: "一件朝廷命官穿着的官服,上面用金丝线绣着一些花纹。",
unit: "件",
grade: 1,
eq_type: EQUIP_TYPE.CLOTH,
value: 10000,
prop: {
fy: 15,
max_hp: 20
}
});

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "金蛇锥",
desc: "金蛇郎君的独门暗器,形状奇特",
unit: "个",
grade: 1,
eq_type: EQUIP_TYPE.THROWING,
value: 20000,
prop: {
gj: 8,
mz:5
}
});

View File

@@ -0,0 +1,14 @@
this.inherits(EQUIPMENT);
this.set({
unit: "把",
name: "军刀",
desc: "一把精钢打造的长刀",
value: 12500,
grade:1,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type : WEAPON_TYPE.BLADE
});
this.prop = {
gj:10,
str:2
};

13
world/obj/eq/lv1/junfu.js Normal file
View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "军服",
desc: "官兵穿的衣服,虽然简陋但是实用",
unit: "件",
grade: 1,
eq_type: EQUIP_TYPE.CLOTH,
value: 10000,
prop: {
fy: 10,
max_hp: 10
}
});

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "流氓衣",
desc: "这是一件劲装,看上去叼叼的,虽然有些非主流",
unit: "件",
grade: 1,
eq_type: EQUIP_TYPE.CLOTH,
value: 10000,
prop: {
fy: 8,
max_hp: 10
}
});

View File

@@ -0,0 +1,14 @@
this.inherits(EQUIPMENT);
this.set({
unit: "根",
name: "流氓闷棍",
desc: "这是城外流氓打架斗殴的标配",
value: 2500,
grade: 1,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.CLUB
});
this.prop = {
gj: 10,
zj: 7
};

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "流氓巾",
desc: "这是一条黑色的带子,随意束住头发,看上去有几分潇洒",
unit: "件",
grade: 1,
eq_type: EQUIP_TYPE.HEAD,
value: 10000,
prop: {
fy:2,
max_hp:10
}
});

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "流氓短剑",
desc: "这是城外流氓们配备的防身武器,一把短剑,可以当匕首用",
unit: "把",
grade: 1,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.SWORD,
prop: {
gj: 10,
dex: 2
}
});

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "流氓鞋",
desc: "这是一件褐色的皮靴,看上去叼叼的,虽然有些非主流",
unit: "件",
grade: 1,
eq_type: EQUIP_TYPE.SHOES,
value: 10000,
prop: {
fy: 5,
dex: 1
}
});

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "流氓护腕",
desc: "这是一条黑色的不知道什么动物的皮制成的护腕,已经被磨的铮亮",
unit: "件",
grade: 1,
eq_type: EQUIP_TYPE.WRIST,
value: 10000,
prop: {
dex: 1,
gjsd: 100
}
});

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "员外披肩",
desc: "这是扬州城最近有钱人流行穿的款式,上好的杭州白编绫,用金丝秀满了钱币",
unit: "件",
grade: 1,
eq_type: EQUIP_TYPE.CAPE,
value: 20000,
prop: {
fy: 5,
max_hp:30
}
});

View File

@@ -0,0 +1,14 @@
this.inherits(EQUIPMENT);
this.set({
name: "千斤拳",
desc: "据说有千斤重,拎上去确实有几分重量,形状奇特,边缘高低不平的裂齿",
unit: "双",
grade: 1,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.NONE,
value: 20000,
prop: {
gj: 15,
str: 3
}
});

View File

@@ -0,0 +1,14 @@
this.inherits(EQUIPMENT);
this.set({
unit: "根",
name: "齐眉棍",
desc: "此棍竖直与人眉齐高,是军中常用棍",
value: 2500,
grade: 1,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.CLUB
});
this.prop = {
gj: 12,
str: 4
};

View File

@@ -0,0 +1,11 @@
this.inherits(EQUIPMENT);
this.set({
name: "青木令",
desc: "天地会青木堂的堂主令牌",
unit: "块",
grade: 1,
eq_type: EQUIP_TYPE.JEWELS,
prop: {
limit_mp: 100
}
});

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "武当道袍",
desc:"这是武当派正式弟子的标准装束。",
unit: "件",
grade: 1,
eq_type: EQUIP_TYPE.CLOTH,
value: 10000,
prop: {
fy: 10,
con:2
}
});

View File

@@ -0,0 +1,14 @@
this.inherits(EQUIPMENT);
this.set({
name: "武当长剑",
desc: "武当正式弟子的配剑,剑身长而窄,灵动飘逸",
unit: "把",
grade: 1,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.SWORD,
value: 20000,
prop: {
gj: 15,
int: 3
}
});

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
unit: "条",
name: "韦春芳的项链",
desc: "估计是哪个恩客送给韦春芳的",
value: 10000,
eq_type: EQUIP_TYPE.NECKLACE,
grade: 1
});
this.prop = {
con: 3,
per: 3
};

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "侠客衫",
desc: "江湖中很流行的侠客侠女套装,做工精美,虽不华丽但也光鲜",
unit: "件",
grade: 1,
eq_type: EQUIP_TYPE.CLOTH,
value: 100000,
prop: {
fy: 10,
con: 2
}
});

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "侠客冠",
desc: "江湖中很流行的侠客侠女套装,做工精美,这是一顶冠带",
unit: "顶",
grade: 1,
eq_type: EQUIP_TYPE.HEAD,
value: 100000,
prop: {
fy: 6,
int: 2
}
});

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "侠客靴",
desc: "江湖中很流行的侠客侠女套装,这是其中一双靴子,可以看出做工很讲究,好看又实用。",
unit: "双",
grade: 1,
eq_type: EQUIP_TYPE.SHOES,
value: 100000,
prop: {
fy: 5,
dex: 2
}
});

15
world/obj/eq/lv2/anqi.js Normal file
View File

@@ -0,0 +1,15 @@
this.inherits(EQUIPMENT);
this.set({
name: "大冬瓜",
desc: "这是一种暗器,丢出去可以砸人。",
unit: "个",
grade: 2,
eq_type: EQUIP_TYPE.THROWING,
value: 20000,
hole_count: 1,
prop: {
gj: 18,
gjsd: -1000,
add_sh_per:5
}
});

View File

@@ -0,0 +1,16 @@
this.inherits(EQUIPMENT);
this.set({
name: "鳌拜匕首",
desc: "这是鳌拜收藏的一把匕首,剑身如墨,无半点光泽。",
unit: "柄",
grade: 2,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.SWORD,
value: 20000,
hole_count:1,
prop: {
gj: 30,
dex:5,
add_sh_per:2
}
});

View File

@@ -0,0 +1,15 @@
this.inherits(EQUIPMENT);
this.set({
name: "金丝宝甲",
desc: "这是一件金丝做成的甲衣,据说可以刀枪不入",
unit: "件",
grade: 2,
eq_type: EQUIP_TYPE.CLOTH,
value: 100000,
hole_count:1,
prop: {
fy: 25,
max_hp: 100,
diff_sh:50
}
});

12
world/obj/eq/lv2/gun.js Normal file
View File

@@ -0,0 +1,12 @@
this.inherits(EQUIPMENT);
this.unit = "根";
this.name = "钓棍";
this.desc = "一根使用沉水木制作的棍子,既可以用来战斗也可以用来钓鱼";
this.value = 1000;
this.grade = 2;
this.eq_type = EQUIP_TYPE.WEAPON;
this.weapon_type = WEAPON_TYPE.CLUB;
this.prop = {
gj: 45,
dex: 10
};

View File

@@ -0,0 +1,18 @@
this.inherits(EQUIPMENT);
this.set({
name: "黑龙鞭",
desc: "这是一柄墨黑长鞭,坚韧无比。是史松的成名武器",
unit: "柄",
eq_msg: "$N「唰」的一声抖出一柄$n握在手中。",
uneq_msg:"$N将手中的$n卷回腰间。",
grade: 2,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.WHIP,
value: 100000,
hole_count: 1,
prop: {
gj: 30,
mz: 13,
busy:500
}
});

View File

@@ -0,0 +1,14 @@
this.inherits(EQUIPMENT);
this.set({
unit: "枚",
name: "琴中剑",
desc: "衡山掌门莫大的琴中剑,护身用的",
value: 10000,
eq_type: EQUIP_TYPE.THROWING,
grade: 2,
hole_count: 1
});
this.prop = {
gj: 40,
fy:40
};

View File

@@ -0,0 +1,15 @@
this.inherits(EQUIPMENT);
this.set({
name: "将军剑",
desc: "扬州城守备自己定做的一把长剑,剑鞘粗犷,剑身却很精致,看来是花了不少功夫。",
unit: "把",
grade: 2,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.SWORD,
value: 20000,
hole_count:1,
prop: {
gj: 20,
str: 3
}
});

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "温仪的香囊",
desc: "金蛇郎君夏雪宜送给温仪的定情信物",
unit: "个",
grade: 2,
eq_type: EQUIP_TYPE.JEWELS,
value: 30000,
prop: {
ds:44,
releasetime:1000,
}
});

View File

@@ -0,0 +1,14 @@
this.inherits(EQUIPMENT);
this.set({
name: "金蛇披风",
desc: "一件暗金色的披风,",
unit: "件",
grade: 2,
eq_type: EQUIP_TYPE.CAPE,
value: 20000,
hole_count:1,
prop: {
fy: 35,
max_hp: 300
}
});

View File

@@ -0,0 +1,14 @@
this.inherits(EQUIPMENT);
this.set({
unit: "枚",
name: "金蛇戒",
desc: "一个暗金色戒指,一条小蛇蜿蜒而上,择人而嗜",
value: 10000,
eq_type: EQUIP_TYPE.RING,
grade: 2,
hole_count:1
});
this.prop = {
gj: 12,
bj_per: 2
};

View File

@@ -0,0 +1,28 @@
this.inherits(EQUIPMENT);
this.set({
name: "龙纹服",
desc: "以黑龙皮鞣制而成的紧身劲装,表面覆盖着细密的黑色鳞片,阳光下泛着暗紫色光泽。",
unit: "件",
grade: 2,
eq_type: EQUIP_TYPE.CLOTH,
hole_count: 1,
prop: {
fy: 30,
int: 10,
lianxi_per: 8
}
});
this.group_name = "lm2";
this.group_prop = function (count) {
if (count == 3) {
return {
int: 10
};
} else if (count == 5) {
return {
lianxi_per: 15,
dazuo_per: 15
};
}
}

View File

@@ -0,0 +1,28 @@
this.inherits(EQUIPMENT);
this.set({
name: "龙纹剑",
desc: "黑色不明材质打造,通体龙纹鳞甲",
unit: "把",
grade: 3,
eq_type: EQUIP_TYPE.WEAPON,
weapon_type: WEAPON_TYPE.SWORD,
hole_count: 2,
prop: {
gj: 80,
int: 10,
add_sh_per: 2
}
});
this.group_name = "lm2";
this.group_prop = function (count) {
if (count == 3) {
return {
int: 10
};
} else if (count == 5) {
return {
lianxi_per: 15,
dazuo_per: 15
};
}
}

View File

@@ -0,0 +1,26 @@
this.inherits(EQUIPMENT);
this.set({
name: "龙纹玉佩",
desc: "墨玉质地,表面刻着盘旋的五爪金龙,龙鳞纹路清晰可辨。",
unit: "块",
grade: 2,
eq_type: EQUIP_TYPE.JEWELS,
hole_count: 1,
prop: {
study_per: 10,
int: 12
}
});
this.group_name = "lm2";
this.group_prop = function (count) {
if (count == 3) {
return {
int: 10
};
} else if (count == 5) {
return {
lianxi_per: 15,
dazuo_per: 15
};
}
}

View File

@@ -0,0 +1,27 @@
this.inherits(EQUIPMENT);
this.set({
name: "龙纹披风",
desc: "以黑龙皮膜制成,边缘缀着七枚龙鳞甲片,展开时如黑龙展翅。",
unit: "件",
grade: 2,
eq_type: EQUIP_TYPE.CAPE,
value: 20000,
hole_count: 1,
prop: {
limit_mp: 500,
dazuo_per: 10
}
});
this.group_name = "lm2";
this.group_prop = function (count) {
if (count == 3) {
return {
int: 10
};
} else if (count == 5) {
return {
lianxi_per: 15,
dazuo_per: 15
};
}
}

View File

@@ -0,0 +1,26 @@
this.inherits(EQUIPMENT);
this.set({
name: "龙纹靴",
desc: "鞋面用黑龙筋编织出防滑纹路",
unit: "件",
grade: 2,
eq_type: EQUIP_TYPE.SHOES,
hole_count: 1,
prop: {
fy: 21,
int: 10
}
});
this.group_name = "lm2";
this.group_prop = function (count) {
if (count == 3) {
return {
int: 10
};
} else if (count == 5) {
return {
lianxi_per: 15,
dazuo_per: 15
};
}
}

View File

@@ -0,0 +1,27 @@
this.inherits(EQUIPMENT);
this.set({
name: "龙纹冠",
desc: "用黑龙额骨打磨成型的头饰",
unit: "顶",
grade: 2,
eq_type: EQUIP_TYPE.HEAD,
hole_count: 1,
prop: {
fy: 20,
int: 10,
dazuo_per: 8
}
});
this.group_name = "lm2";
this.group_prop = function (count) {
if (count == 3) {
return {
int: 10
};
} else if (count == 5) {
return {
lianxi_per: 15,
dazuo_per: 15
};
}
}

View File

@@ -0,0 +1,15 @@
this.inherits(EQUIPMENT);
this.set({
name: "神龙袍",
desc: "神龙教管理层的标准制服",
unit: "件",
grade: 2,
eq_type: EQUIP_TYPE.CLOTH,
value: 30000,
hole_count:1,
prop: {
fy: 50,
max_hp: 250,
con:10
}
});

View File

@@ -0,0 +1,13 @@
this.inherits(EQUIPMENT);
this.set({
name: "神龙令",
desc: "神龙教的令牌,持有者如教主亲临",
unit: "块",
grade: 2,
eq_type: EQUIP_TYPE.JEWELS,
value: 30000,
prop: {
int: 10,
expend_mp_per:10
}
});

View File

@@ -0,0 +1,15 @@
this.inherits(EQUIPMENT);
this.set({
name: "神龙靴",
desc: "神龙教管理层的制服靴子",
unit: "件",
grade: 2,
eq_type: EQUIP_TYPE.SHOES,
value: 30000,
hole_count:1,
prop: {
fy: 25,
max_hp:180,
dex: 6
}
});

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