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

View File

@@ -0,0 +1,28 @@
this.inherits(ROOM);
this.name = "仓库"
this.desc = "这里是你帮派的仓库,一扇厚厚的铁门紧锁着,里面堆满了你们帮会的战利品,仓库管理员可以在这里选择怎么处理这些战利品。";
this.exits = { "south": "banghui/juyitang" };
this.no_fight = true;
const rollDesc = [
"$N摸出一枚骰子指尖一捻便抛向空中骰子在半空划出一道弧线后坠落",
"$N将骰子扣在掌心轻轻摇晃伴随着清脆的碰撞声骰子在桌面飞速旋转",
"$N随手抄起桌上的骰子手腕轻抖掷出骰子在地面弹跳数下后逐渐减速"
];
this.add_action("roll", "掷骰子", function (me, par) {
let rad = me.random(100) + 1;
me.send_room(rollDesc.random() + ",稳稳停在了" + rad + "点。");
});
this.add_action("pandian", "仓库盘点", function (me, par) {
WORLD.COMMANDS["party"].enter(me, 'stores');
});
this.add_action("alloc", "分配战利品", function (me, par) {
WORLD.COMMANDS["party"].enter(me, 'alloc');
});

View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "大门"
this.desc = "这里是你帮派的大门,左右石坛上各插着一根两丈多高的旗杆,杆上青旗飘扬。右首旗子用金线绣着一头张牙舞爪的狮子,狮子上头有一只蝙蝠飞翔。左首旗子上写着几个烫金大字,银钩铁划,刚劲非凡。";
this.exits = { "west": "yz/banghui", "east": "banghui/yuanzi" };
this.no_fight = true;

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "聚义堂"
this.desc = "这里是你的帮会的主厅,正对面一张虎头座椅,那是你们帮主的平日里发号施令的地方,上方一块匾额,上书:聚义堂,字迹苍松,威风凛凛。";
this.exits = { "west": "banghui/yuanzi", "north": "banghui/cangku" };

View File

@@ -0,0 +1,30 @@
this.inherits(ROOM);
this.name = "练功房"
this.desc = "这是你的帮派的练功房,房间的北面各种武器玲琅满目,刀枪剑棍,十八般兵器在这里都能找到,四周石墙的青砖已经被刻满剑痕刀伤,看来经常有人在这里练功。";
this.exits = { "south": "banghui/yuanzi" };
this.no_fight = true;
this.add_action("fenpei", "分配属性", null);
this.add_action("xiulian", "修炼", null);
this.on_leave = function (me) {
me.remove_status("room");
}
this.on_enter = function (me) {
if (me.is_player) {
let pt = me.query_party();
if (pt) {
var lg_level = pt.query_temp('liangong', 0) * 10 + 10;
me.add_status({
id: "room",
duration: 0,
desc: "你在练功房,心无旁骛,修炼效率得到提高",
name: "静心",
prop: {
study_per: lg_level,
lianxi_per: lg_level,
dazuo_per: lg_level
}
});
}
}
}

View File

@@ -0,0 +1,29 @@
this.inherits(ROOM);
this.name = "炼药房"
this.desc = "这是你帮会的炼药房,还没进入就先闻到一股浓烈的药草香味,房间里面没有多余的设施,一个大大的炼药炉摆在房子中间,可以同时供多名帮派成员使用。";
this.exits = { "north": "banghui/yuanzi" };
this.no_fight = true;
this.add_action("lianyao", "炼药");
this.can_lianyao = true;
this.on_leave = function (me) {
me.remove_status("room");
}
this.on_enter = function (me) {
if (me.is_player) {
let pt = me.query_party();
if (pt) {
var lg_level = pt.query_temp('lianyao', 0) * 1 + 1;
me.add_status({
id: "room",
duration: 0,
desc: "你在你的炼药房,炼药效率得到提升",
name: "专心",
prop: {
lianyao1: lg_level
}
});
}
}
}

View File

@@ -0,0 +1,13 @@
this.inherits(ROOM);
this.name = "大院"
this.desc = "你走进帮会大院,正对面是一个屏风,高大威猛,院子里铺满青砖,四周放着几个兵器架以供练功使用,几个帮派成员零零落落的站在四周,看到你进来警惕的看了你一眼。";
this.exits = { "west": "banghui/damen", "east": "banghui/juyitang", "south": "banghui/lianyao", "north": "banghui/liangong" };
this.is_init = false;
this.on_before_enter = function () {
if (this.is_init) return;
this.is_init = true;
}

29
world/map/bj/ao/andao.js Normal file
View File

@@ -0,0 +1,29 @@
this.inherits(ROOM);
this.name = "暗道"
this.desc = "这里是鳌拜卧室的一个暗道,整个通道黑呼呼的,不知道通往哪里。";
this.exits = { "south": "bj/ao/woshi" };
this.on_enter = function (me) {
me.notify('你踏入暗道,放眼望去看不到出口,不知通往何处。');
me.send_commands('lkfb', '一直走下去');
}
this.add_action('lkfb', null, function (me, par) {
if (par) {
WORLD.COMMANDS['cr'].enter(me, 'over');
me.moveto(ROOM.Get('bj/hg/jiashan'));
me.send('你从暗道出来,来到一个假山外面。');
me.enable_area();
} else {
me.send('你即将离开这个副本进入公共区域,是否确认?');
me.send_commands('lkfb ok', '确认进入');
}
});

9
world/map/bj/ao/anshi.js Normal file
View File

@@ -0,0 +1,9 @@
this.inherits(ROOM);
this.name = "暗室"
this.desc = "这里是鳌拜藏宝的地方,各种珠宝玉器,珍奇异宝,名贵书籍,应有尽有,有几样尤其显眼。";
this.exits = { "south": "bj/ao/shufang" };
this.items = OBJ.create_by_odds([
{
obj: ["sp/bj/jing#1", "sp/bj/jing#2", "sp/bj/jing#3", "sp/bj/jing#4"]
}
]);

View File

@@ -0,0 +1,6 @@
this.inherits(ROOM);
this.name = "厨房"
this.desc = "一进门,一股香气扑鼻而来,熏得你直流口水。灶台上满是油烟,一个肥肥胖胖的家伙正在炒菜, 一看就象个大厨师。";
this.exits = { "south": "bj/ao/dayuan" };
this.set_npc("bj/ao/chushi");

10
world/map/bj/ao/damen.js Normal file
View File

@@ -0,0 +1,10 @@
this.inherits(ROOM);
this.name = "大门"
this.desc = "一座富丽堂皇的大宅院出现在你的眼前,两头高大的石狮子镇住了大门两侧。门额上悬挂一方横匾,写着‘满洲第一勇士鳌拜府’几个大字,门外有官兵把守,戒备森严。门上挂着两个灯笼,赫然写着“鳌”字。";
this.exits = { "west": "bj/ao/dayuan" };
this.on_leave = function (me, dir) {
if (dir == "west" && this.find_by_path("pub/bing")) {
return me.notify_fail("官兵拦住你骂道:“你以为你是谁啊?一个寻常百姓,难道还想进府见鳌大人?!你这" + me.call(true) + "快给我滚远点儿,不然别怪我不客气!");
}
}
this.set_npc(["pub/bing",2]);

View File

@@ -0,0 +1,6 @@
this.inherits(ROOM);
this.name = "大院"
this.desc = "你走进大院,迎面是一个假山水池,池中立着一块巨大无比的翡翠,显然是鳌拜收刮来的宝物。水池的两旁种满了花草。北边是厨房,有一棵槐树,郁郁葱葱,遮盖了大半个院子,显得阴森恐怖。西边一条长廊走道通往后院,有几个官兵把守。";
this.exits = { "west": "bj/ao/houyuan",east:"bj/ao/damen","north": "bj/ao/chufang" };
this.set_npc("bj/ao/wu");

View File

@@ -0,0 +1,20 @@
this.inherits(ROOM);
this.name = "后院"
this.desc = "这里是鳌府后院,中心是一个大花园。西边一条长廊走道直通往鳌拜的卧房,有几个官兵把守。北边是书房。南边是鳌拜私设的牢房, <cmd cmd='look men'>牢门(men)</cmd>是锁着的。";
this.exits = { "west": "bj/ao/woshi", east:"bj/ao/dayuan","north":"bj/ao/shufang" };
this.set_item("men", "铁门", "这是一扇很结实的铁门。", [
["unlock", "打开", function (me) {
if (this.query_exits("enter"))
return me.notify("这扇门已经是打开的。");
var obj = me.find_obj_bypath("sp/bj/laofangkey");
if (!obj)
return me.notify("你不会撬锁。");
this.add_exit("south", "bj/ao/laofang");
me.remove_obj(obj,1);
me.send_room("$N用一把钥匙打开了牢房门可是钥匙却断了。");
}]
]);
this.set_npc("bj/ao/guanjia", ["bj/ao/jiading", 2]);

View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "牢房"
this.desc = "这是一个昏暗的房间,窗户都被钉死。地上放着皮鞭、木棍等刑具,显然这是鳌拜私立公堂,审讯人犯的所在。一个书生被捆在墙上,鲜血淋漓,遍体鳞伤。";
this.exits = { "north": "bj/ao/houyuan" };
this.set_npc("bj/ao/zhuangyu");

View File

@@ -0,0 +1,38 @@
this.inherits(ROOM);
this.name = "书房"
this.desc = "这里是鳌拜书房,却没有一本书。各种古玩琳琅满目,商周青铜、汉瓦当、唐三彩,珍珠宝石,应有尽有,只要拥有一件,就够你吃一辈子了。北面墙上有一副<cmd cmd='look hua'> 画(hua) </cmd>。书桌上有一本<cmd cmd='look shu'> 书(shu) </cmd>。";
this.exits = { "south": "bj/ao/houyuan" };
this.door_dir = this.random(2);
this.set_item("hua", "画", "这张画很一般,足足有一扇门大,不知为什么挂在这儿。", [
["tleft", "向左推", open_door.bind(this,0)
], ["tright", "向右推", open_door.bind(this, 1)]
]);
this.set_item("shu", "明史辑略", "这就是那本害得庄允城家破人亡的《明史辑略》。", [
["open", "打开", function (me) {
if (this.door_dir == 1) {
me.notify("你打开《明史辑略》,发现扉页的右下角被鳌拜写了一个大大的杀字!");
} else {
me.notify("你打开《明史辑略》,发现扉页的左下角被鳌拜写了一个大大的杀字!");
}
}]
]);
function open_door(dir, me) {
var fb = me.query_temp("fb/ao/tui");
if (fb == 1) {
return me.notify("门已经被你打开了,不要乱推,小心中暗器。");
} else if (fb == 2) {
return me.notify("画后面有暗器,还是不要乱推的好。");
}
if (this.door_dir !=dir) {
me.from_attack(300, 100, "$N触动了机关\n<red>突然,画后面飞出一支利箭向$N射去。</red>","<hir>$N一声惨嚎被利箭射了个正着。</hir>","$N向旁边一跳躲了过去。");
me.set_temp("fb/ao/tui", 2);
} else {
me.send_room("$N将画卷往左移只听轧轧几声一扇暗门出现在$N眼前。");
this.add_exit("north", "bj/ao/anshi");
me.set_temp("fb/ao/tui", 1);
me.add_fbscore(10);
}
}

18
world/map/bj/ao/woshi.js Normal file
View File

@@ -0,0 +1,18 @@
this.inherits(ROOM);
this.name = "卧房"
this.desc = "这是鳌拜的卧房。鳌拜躺在床上睡着了,粗声粗气地打着呼噜。北边有一扇<cmd cmd='look door'>门(door)</cmd> 。";
this.exits = { "east": "bj/ao/houyuan" };
this.set_npc("bj/ao/aobai");
this.set_item("door", "", "这是一扇极厚的木门。", [
["open", "打开", function (me) {
var npc = this.find_obj_bypath('bj/ao/aobai');
if (npc) {
return npc.do_kill(me);
}
if (this.query_exits('north')) return me.notify('门已经打开了。');
this.add_exit('north','bj/ao/andao');
}]
]);

View File

@@ -0,0 +1,8 @@
this.inherits(ROOM);
this.name = "大道";
this.desc = "这是一条宽敞的大道。全由乱石堆成,显然曾花了不少人力。东面是一个宽阔的练武场, 西边是一片开阔地。";
this.set_npc("bj/shenlong/xu");
this.exits = { "west": "bj/shenlong/kongdi", "east": "bj/shenlong/wuchang" };

View File

@@ -0,0 +1,8 @@
this.inherits(ROOM);
this.name = "山道";
this.desc = "这是一条狭窄的山道,向着北方一座山峰行去.转过了几个山坡,抬头遥见峰顶建着几座大竹屋。";
this.exits = { "south": "bj/shenlong/wuchang", "north": "bj/shenlong/damen" };

View File

@@ -0,0 +1,17 @@
this.inherits(ROOM);
this.name = "大门";
this.desc = "这是间很大的竹屋。门外站着几个年轻弟子.再住北就是神龙教大厅, 隔得虽远, 却也可以听得到厅上众人齐声念颂之声。";
this.set_npc(["bj/shenlong/dizi", 2]);
this.exits = { "south": "bj/shenlong/dadao2", "north": "bj/shenlong/dating" };
this.on_leave = function (me, dir) {
if (dir == "north") {
var obj = this.find_obj_bypath("bj/shenlong/dizi");
if (obj) {
me.notify("神龙教弟子挡住了你:神龙教重地,外人不得入内。");
return false;
}
}
}

View File

@@ -0,0 +1,8 @@
this.inherits(ROOM);
this.name = "大厅";
this.desc = "过了一条长廊,眼前突然现出一座大厅。此厅硕大无朋,足可容千人之众。只见一群群少年男女衣分五色, 分站五个方位.青、白、黑、黄四色的都是少年, 穿红的却是少女, 背上各负短剑, 每一队约有百人。";
this.set_npc("bj/shenlong/hong", "bj/shenlong/zhang", "bj/shenlong/wugen");
this.exits = { "south": "bj/shenlong/damen" };

View File

@@ -0,0 +1,50 @@
this.inherits(ROOM);
this.name = "海滩";
this.desc = "这里就是神龙岛了。南边是一望无际的大海;往北则是一片灌木林。岛上的空气似乎又热又闷, 咸湿的海风中带着一股腥臭, 又夹杂了一缕奇特的花香, 闻起来十分怪异,海边泊着一艘大船。";
this.exits = { "north": "bj/shenlong/lin1" };
this.on_before_enter = function (me) {
if (!me.query_bool('fb2', 3) && me.query_temp('pl_yu')) {
if (!this.items[0])
NPC.CREATE('penglai/wulang/jiangjiu', this);
}
}
this.on_enter = function (me) {
if (!me.query_bool('fb2', 3) && me.query_temp('pl_yu')) {
let npc = this.items[0];
if (npc && npc.is('penglai/wulang/jiangjiu')) {
me.send(npc.name + "招了招手:" + me.call() + ",这里,这里。");
this.call_out(this.to_next, 3000, me, npc);
}
}
}
this.to_next = function (me, npc) {
if (me.environment !== this || npc.environment !== this)
return;
if (me.fight_type || npc.fight_type) return;
me.send(npc.name + "正色道:在下正准备去往近年江湖中传闻仙山出世的蓬莱岛," + me.call() + "可愿一同前往?");
me.send_commands('lkfb', '同去');
}
this.add_action('lkfb', null, function (me, par) {
let npc = this.items[0];
if (npc && npc.is('penglai/wulang/jiangjiu')) {
if (par) {
WORLD.COMMANDS['cr'].enter(me, 'over');
me.moveto('penglai/matou');
me.send('你和' + npc.name + '乘坐大船,来到一个偏远神秘的小岛。');
me.enable_area();
} else {
me.send('你即将离开这个副本进入公共区域,是否确认?');
me.send_commands('lkfb ok', '确认进入');
}
}
});

View File

@@ -0,0 +1,8 @@
this.inherits(ROOM);
this.name = "空地";
this.desc = "这是一片空地,四周都是乱石,杂草丛生。北边是一间小屋,南面是深深的灌木林,东面有一条工整的大道, 西面是一片草坪。";
this.set_npc(["bj/shenlong/dizi", 2]);
this.exits = { "south": "bj/shenlong/lin2", "north": "bj/shenlong/xiaowu", "east": "bj/shenlong/dadao" };

View File

@@ -0,0 +1,20 @@
this.inherits(ROOM);
this.name = "灌木林";
this.desc = "这是一片灌木林。你对这样一个孤岛上竟有这样大一片<cmd cmd='look bush'>灌木林</cmd>感到非常吃惊.前面根本没有路, 四周的密林中长满了杂草。";
this.set_npc("bj/shenlong/dushe", "bj/shenlong/zyshe");
this.exits = { "south": "bj/shenlong/haitan" };
this.set_item("bush", "灌木林","这是一片很大的灌木林,把路都给挡住了。", [
"kan", "砍掉", function (me) {
if (this.query_exits("north")) return me.notify("已经砍好了,快过去吧!");
if (!me.query_weapon()) return me.notify("你不拿武器怎么砍?");
me.send_room("$N抽出$W,对着灌木丛一阵乱砍。");
if (me.mp > 300) {
me.send_room("$N累得气喘吁吁,终于砍出一条小路。");
this.add_exit("north","bj/shenlong/lin2");
} else {
me.send_room("$N累得气喘吁吁,也没砍开一条路来。");
}
}
]);

View File

@@ -0,0 +1,8 @@
this.inherits(ROOM);
this.name = "灌木林";
this.desc = "这是一片灌木林。走了不远,你就可以看得见前面的空地了。";
this.set_npc("bj/shenlong/dushe", "bj/shenlong/zyshe");
this.exits = { "south": "bj/shenlong/lin1", "north": "bj/shenlong/kongdi" };

View File

@@ -0,0 +1,8 @@
this.inherits(ROOM);
this.name = "练武场";
this.desc = "这是一个宽大的练武场,有几个手执短剑的少年少女在这里练功。旁边站着几人, 有男有女, 年纪轻的三十来岁, 老的已有六七十岁, 身上却不带兵刃。北边一条山路直上山顶。";
this.set_npc(["bj/shenlong/nvdizi", 2]);
this.exits = { "west": "bj/shenlong/dadao", "north": "bj/shenlong/dadao2" };

View File

@@ -0,0 +1,8 @@
this.inherits(ROOM);
this.name = "小屋";
this.desc = "一进小屋,只见墙上挂满了无数名贵的字画。书架上也堆满了平时难得一见的各种各样的书籍。一个相貌英武的中年文士正对着一幅字画唉声叹气。";
this.set_npc("bj/shenlong/lu");
this.exits = { "south": "bj/shenlong/kongdi" };

22
world/map/bj/tdh/andao.js Normal file
View File

@@ -0,0 +1,22 @@
this.inherits(ROOM);
this.name = "暗道";
this.desc = "地道里一片漆黑,呼呼的风声从四面八方传来。你什么也看不见,只能在地道里瞎摸乱撞。西面似乎隐隐约约有人说话,但只一会儿又没声了。你使劲地摇了摇头,很怀疑这到底是不是幻觉。好象你已经迷路了。";
this.exits = { "west": "bj/tdh/andao", "south": "bj/tdh/andao", "north": "bj/tdh/andao", "east": "bj/tdh/andao" };
this.on_enter = function (me) {
me.notify("你什么也看不见,只能在地道里瞎摸乱撞,好象你已经迷路了。");
}
this.on_leave = function (me, dir) {
if (dir == 'west') {
var count = me.add_temp("fb/tdh/andao", 1);
if (count > 3) {
me.moveto("bj/tdh/andao2", me.name + "向西方离去。", me.name + "走了过来。");
return false;
}
} else {
me.set_temp("fb/tdh/andao", 0);
}
}

View File

@@ -0,0 +1,6 @@
this.inherits(ROOM);
this.name = "暗道";
this.desc = "这是一条黑漆漆的地道,曲曲折折地通向前方。两边都是土墙,隐约可以听到上面脚底落地的声音。空气中弥漫着潮湿的泥土气息,令人感到十分凉爽。一个道人站在这里,守卫着上面的两个出口。";
this.exits = { "up": "bj/tdh/neishi", "west": "bj/tdh/andao" };
this.set_npc("bj/tdh/xuan");

View File

@@ -0,0 +1,6 @@
this.inherits(ROOM);
this.name = "暗道";
this.desc = "终于走出了暗道,你长长的舒了一口气。北边是天地会青木堂的大厅,明亮的灯光让人感到无比温暖。";
this.exits = { "east": "bj/tdh/andao", "north": "bj/tdh/dating" };
this.set_npc("bj/tdh/wu");

View File

@@ -0,0 +1,16 @@
this.inherits(ROOM);
this.name = "侧厅";
this.desc = "这里是侧厅,靠墙是一排书架,摆满了各种拳谱、书籍。墙角有一张木床。天地会总舵主陈近南常常在这里读书、休息。";
this.exits = { "west": "bj/tdh/dating" };
this.items = OBJ.create_by_odds([
{
obj: ["book/book#dodge", "book/book#force", "book/book#unarmed", "book/book#sword", "book/book#blade", "book/book#parry"],
odds: 8000
}, {
obj: ["book/bc#yunlongxinfa", "book/bc#yunlongjian", "book/bc#yunlongbian", "book/bc#yunlongshenfa", "book/bc#wuhuduanmendao",
"book/bc#houquan"],
odds: 4000
}
]);

View File

@@ -0,0 +1,7 @@
this.inherits(ROOM);
this.name = "青木堂";
this.desc = "这里就是天下闻名的天地会青木堂大厅,只见一张板桌上供着两个灵牌,中间一个写着“大明天子之位”,侧边一个写着“大明延平郡王郑之位”。此外有一块<cmd cmd='look baimu'>白木(baimu)</cmd> ,上面密密麻麻全是血字。厅侧有一副<cmd cmd='look duilian'>对联(duilian)</cmd> 。东边是侧厅,南北都是暗道。";
this.set_item("baimu", "白木","只见白木上写道:天地万有,回复大明。吾人当同生共死,仿桃园故事,约为兄弟,姓洪名金兰,合为一家。拜天为父,拜地为母, 日为兄,月为姊妹,焚香设誓,一雪前耻,顺天行道,恢复明朝。歃血为盟,神明降鉴。");
this.set_item("duilian", "对联", "地振高冈,一派溪山千古秀\n门朝大海三河合水万年流");
this.exits = { "south": "bj/tdh/andao2", "north": "bj/tdh/kedian", "east": "bj/tdh/ceting" };
this.set_npc("bj/tdh/chen");

5
world/map/bj/tdh/hct.js Normal file
View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "回春堂药店";
this.desc = "这是一家药铺,一股浓浓的药味让你几欲窒息,那是从药柜上的几百个小抽屉里散发出来的。一位老者在柜台后站着。看到你进来,药铺伙计警惕的看了你一眼。";
this.exits = { "west": "bj/tdh/neishi" };
this.set_npc("bj/tdh/huoji","bj/tdh/xu");

View File

@@ -0,0 +1,3 @@
this.inherits(ROOM);
this.name = "胡同";
this.desc = "";

View File

@@ -0,0 +1,39 @@
this.inherits(ROOM);
this.name = "客店后院";
this.desc = "这里客店后院。一阵阵打斗之声从东面的厢房中传来,其中夹杂着一个女子的声音。房门的板壁不住的震动,似乎客房四周的板壁都要被刀风掌力震坍一般。西首也是厢房,不时有人探头出来观望。北面是客店大门。";
this.exits = { "east": "bj/tdh/kedian3", "south": "bj/tdh/andao", "west": "bj/tdh/hutong"};
this.on_enter = function (me) {
me.notify("你走出天地会暗道,发现来到一处客店的后院。");
}
this.on_leave = function (me,dir) {
if (dir === "east") {
var lv = me.query_skill("dodge", 0);
if (lv < 200) {
return me.notify_fail("你一步踏进客房,突觉一股力道奇大的劲风激扑出来,将你一撞,你登时立足不稳,腾腾腾到退三步,一跤坐倒。");
}
}
if (dir === 'west') {
this.actions['lkfb'].action(me);
return false;
}
}
this.add_action('lkfb', null, function (me, par) {
if (par) {
WORLD.COMMANDS['cr'].enter(me, 'over');
me.moveto(ROOM.Get('bj/hg/xiaolu'));
me.send('你从客栈后院出来,来到一个胡同里面。');
} else {
me.send('你即将离开这个副本进入公共区域,是否确认?');
me.send_commands('lkfb ok', '确认进入');
}
});

View File

@@ -0,0 +1,8 @@
this.inherits(ROOM);
this.name = "东客房";
this.desc = "一进门,只见六个喇嘛手持戒刀,围着一白衣女尼拼命砍杀,只是给白衣女尼的袖力掌风逼住了,欺不近身。但那白衣女子头顶已冒出丝丝白气,显然已尽了全力。她只一条臂膀,再支持下去恐怕难以抵敌。地上斑斑点点都是血迹。";
this.exits = { "west": "bj/tdh/kedian"};
this.set_npc(["bj/tdh/lama",6],"bj/tdh/dubi");

View File

@@ -0,0 +1,31 @@
this.inherits(ROOM);
this.name = "内室";
this.desc = "这里是一个空荡荡的房间,除了<cmd cmd='look floor'>地板(floor)</cmd>,什么也没有。";
this.exits = { "east": "bj/tdh/hct" };
this.set_npc("bj/tdh/guan");
this.set_item("floor", "地板", "你试著敲了敲地板,声响清脆,下面似乎是空心的。", [
["open", "移开", function (me) {
me.from_attack(300, 100,
"$N掀开地板只听“唰”的一声, 地道里突然白光一闪,一柄长剑倏的伸出,刺向你的小腹",
"<hir>$N匆忙间闪避不急一声惨嚎被长剑刺了个正着。</hir>",
"$N赶紧向旁边一跳躲了过去。");
me.send_room("一个道人从洞里探出头来,看了$N一眼又伸手把地板关上了。");
}]
]);;
this.add_action("knock", "敲地板", function (me) {
if (this.query_exits("bj/tdh/andao1")) {
return mo.notify("地板已经敲开了你还想干嘛?");
}
var npc = this.find_by_path("bj/tdh/guan");
if (npc) {
me.notify("关夫子对你喝到:你想干什么?");
npc.do_kill(me);
return;
}
me.send_room("$N在木板上咚地敲了一下。");
var count= me.add_temp("fb/tdh/knock", 1, 1000);
if (count == 3) {
me.send_room("从地板里边伸出一双手把地板掀开了。");
this.add_exit("down","bj/tdh/andao1");
}
});

View File

@@ -0,0 +1,6 @@
this.inherits(ROOM);
this.name = "长廊"
this.desc = "这是条长长的走廊。四处黑沉沉的。";
this.exits={"north":"bj/zhuang/xiaowu","south":"bj/zhuang/dating"};
this.set_npc("bj/shenlong/dizi");

View File

@@ -0,0 +1,3 @@
this.inherits(ROOM);
this.name = "青石大道"
this.desc = "你走在一条小路上。前面道路崎岖,行人很少。往南有条小路通往城内。";

View File

@@ -0,0 +1,27 @@
this.inherits(ROOM);
this.name = "大门"
this.desc = "这里就是文士庄允城的旧居。自从他被朝廷抓走后,这里好象就没有人住了。一扇<cmd cmd='look men'>大门</cmd>紧锁着,周围是高高的<cmd cmd='look wall'>围墙</cmd>。一切都很干净,并没有积多少灰尘。";
this.exits={"south":"bj/zhuang/xiaolu2"};
this.set_item("men","大门","这扇门是锁着的,除非你打破它。",[
["break","打破",function(me){
if(this.query_exits("north")) return me.notify("门已经被你打开了。");
if(me.max_mp>500&&me.mp>200){
me.add_mp(-200);
me.send_room("$N走到门前深吸一口气双掌同时拍出。 \n$N只听一声轰响$P把门震开了");
this.add_exit("north","bj/zhuang/dayuan");
}else{
me.send_room("$N走到门前深吸一口气双掌同时拍出。 \n$N大吼一声“开结果什么也没发生。看来$P的内力不够强。");
}
}]
]);
this.set_item("wall","院墙","墙很高,可能翻不过去。",[
["climb","翻墙",function(me){
if(me.query_skill("dodge",0)>200&&me.mp>200){
me.add_mp(-200);
me.send_room("$N在墙前站定,深吸一口气,猛然跃起。\n只见$N足尖在墙上一点,已悠然飘落院中!");
me.moveto("bj/zhuang/dayuan",null,me.name+"跳了进来。");
}else{
me.send_room("$N在墙前站定,深吸一口气,猛然跃起,可还差一大截呢,看来是轻功不够好。");
}
}]
]);

View File

@@ -0,0 +1,7 @@
this.inherits(ROOM);
this.name = "大厅"
this.desc = "这是一间大厅。通往各个房间.东边的屋里有女子啼哭之声隐隐传来。";
this.exits={"north":"bj/zhuang/changlang","south":"bj/zhuang/dayuan","east":"bj/zhuang/dating2","west":"bj/zhuang/dating1"};
this.set_npc("bj/shenlong/dizi");
this.set_npc("bj/zhuang/zhang");

View File

@@ -0,0 +1,6 @@
this.inherits(ROOM);
this.name = "大厅"
this.desc = "这是一间灵堂。堂上供了七八个牌位.看来一座灵堂上供的是一家死人.一阵阴风吹过,蜡烛突然灭了。";
this.exits={"east":"bj/zhuang/dating"};
this.set_npc("bj/shenlong/dizi");

View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "大厅"
this.desc = "这是一间灵堂。堂上供了七八个牌位.看来一座灵堂上供的是一家死人.一阵阴风吹过,蜡烛突然灭了。";
this.exits={"west":"bj/zhuang/dating"};
this.set_npc("bj/shenlong/dizi");

View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "大院"
this.desc = "这是一个破旧的大院。院内十分宽阔,可容百人。正中一口天井,再往里是座大厅。";
this.exits={"north":"bj/zhuang/dating","south":"bj/zhuang/damen"};
this.set_npc(["bj/shenlong/dizi",2]);

View File

@@ -0,0 +1,31 @@
this.inherits(ROOM);
this.name = "小路"
this.desc = "你走在一条小路上。前面道路崎岖,行人很少。往南有条小路通往城内。";
this.exits = { "north": "bj/zhuang/xiaolu2"};
this.on_before_enter = function (me) {
if (me.query_temp('fb', 0) > 10) {
this.add_exit('south', "bj/zhuang/dalu" );
}
}
this.on_leave = function (me, dir) {
if (dir === 'south') {
this.actions['lkfb'].action(me);
return false;
}
}
this.add_action('lkfb', null, function (me, par) {
if (par) {
WORLD.COMMANDS['cr'].enter(me, 'over');
me.moveto(ROOM.Get('bj/hg/nanmen'));
me.send('你顺着小路进入京城,来到奉天城门。');
} else {
me.send('你即将离开这个副本进入公共区域,是否确认?');
me.send_commands('lkfb ok', '确认进入');
}
});

View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "小路"
this.desc = "你走在一条小路上。前面道路崎岖,行人很少。前方隐约有房屋可见.";
this.exits={"north":"bj/zhuang/damen","south":"bj/zhuang/xiaolu"};
this.set_npc("bj/zhuang/tufei");

View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "长廊"
this.desc = "这是一个小房间,桌上点着蜡烛.房中只有一桌一床,陈设简单,却十分干净.床上铺着被褥。";
this.exits={"south":"bj/zhuang/changlang"};
this.set_npc("bj/zhuang/furen","bj/zhuang/shuanger");

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "厨房"
this.desc = "这里满屋的饭香和茶香混合在一起,散发出的阵阵味道沁人心脾。只见屋内有两个峨眉的俗家女弟子正在忙着煮茶、做饭。由于峨眉广种花草因而创出了一套独特的作茶方法";
this.exits = { "west": "emei/zoulang1" };

5
world/map/emei/dadian.js Normal file
View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "大殿"
this.desc = "这里是卧云庵的正殿。正中供奉着一尊巨大的普贤菩萨,披发跣足,衣纹飘动。铜象左右各侍立金童玉女。在左右两边各挂了一幅诘语“法力无边”,“普济群英”。殿内正中摆放了一张香案,案上香烟缭绕。靠墙放着几张太师椅,地上放着几个蒲团。";
this.exits = { "north": "emei/guangchang" };
//this.set_npc("emei/jingxin");

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "睹光台"
this.desc = "这是一个宽大的广场,从这里可以看到峨眉的全貌,每日当朝霞初升,如果站在睹光台上,在你身后将幻出一轮光环,景色瑰丽多彩。在广场两边有两排架子,上面插满了兵器。在广场上有一些峨眉弟子正在那里或练习武功、或相互讨教。";
this.exits = { "southdown": "emei/jinding" , "east": "emei/huacang"};

View File

@@ -0,0 +1,7 @@
this.inherits(ROOM);
this.name = "广场"
this.desc = "这里是卧云庵前的广场。这里虽然不能算是最大寺庙,但殿廊亭楼具全,广场两边种植了茂密的冷杉树,浓荫遍地,芳草如茵,幽雅秀美。广场中间一条青砖铺成的大道直通正殿,转过两边的树林是许多长廊,通往其他地方。";
this.exits = { "east": "emei/zoulang1", "west": "emei/zoulang2", "south": "emei/dadian", "north": "emei/miaomen" };
//this.set_npc("pub/dadizi#EMEI");

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "华藏庵"
this.desc = "这里是峨眉的藏经阁。虽然并不太大,但屋中摆放了许多的竹架,上面陈列着密密麻麻的各种书籍,在靠窗边有一张桌子,上面有一盏油灯,在灯旁好象是放了一本书,但当要拿它时,却发现拿了一个空。";
this.exits = { "west": "emei/duguangtai" };

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "金顶"
this.desc = "这里时峨眉上的绝顶「金顶」,登上绝顶的观海崖,站在上面望向四方,只见滚滚漂动的云雾,环绕着山的四周,雾气迷梦,凉风阵阵。从舍身岩而上,阳光从相反方向投射在云雾上出现了一个巨大的彩色光环,光环中俊秀的山峰如同大海中的岛屿,景色十分的壮观。";
this.exits = { "northup": "emei/duguangtai","west": "emei/miaomen"};

View File

@@ -0,0 +1,6 @@
this.inherits(ROOM);
this.name = "练功房"
this.desc = "这里是峨眉派弟子的练功房,虽然简陋,但布置极为用心,还有些女人家的零碎物件,靠墙放了几个蒲团供人打坐练功。";
this.exits = { "east": "emei/zoulang2" };
this.set_npc('pub/muren');

View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "庙门"
this.desc = "这里是峨眉派卧云庵的大门。一条青砖大道直通门口,在路的四周种满了各种青竹,走到门前,看见在门楣上挂了一块匾,上书三个大字「卧云庵」。";
this.exits = { "east": "emei/jinding", "south": "emei/guangchang" };
//this.set_npc("emei/sumengqing");

View File

@@ -0,0 +1,6 @@
this.inherits(ROOM);
this.name = "清修洞"
this.desc = "这是一间依山而建的石洞,洞内十分的宽阔,但略有一些昏暗。在正中有一方行石坛,在石坛上摆放了一张木案,上面有一些书籍和一个小香炉,从香炉中不断的飘出屡屡清烟。只见在书案旁坐了一位师太,眼眉低垂,白发萧萧。正在那里低头沉思。";
this.exits = { "north": "emei/zoulang3" };
//this.set_npc("emei/miejue");

5
world/map/emei/xiaowu.js Normal file
View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "小屋"
this.desc = "这是一间清幽的小屋,屋内摆设比较简单,除几种常用的桌椅外,在中间墙壁上挂了一张『踏雪图』";
this.exits = { "south": "emei/zoulang4" };
//this.set_npc("emei/zhouzhiruo");

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "休息室"
this.desc = "这是间整洁的厢房,因门窗常闭着,光线很昏暗。房里别无他物,只有中间放着一张收拾得舒舒服服的大床,看着就让人想睡觉。";
this.exits = { "north": "emei/zoulang1" };

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "走廊"
this.desc = "这是一条走廊。青石板铺成的小路,两边的柱子和栏杆都是用竹子做成,在栏杆的一边种植了许多的花草,其中尤为突出的是杜鹃花,不仅生长的茂盛,并且的十分艳丽。";
this.exits = { "east": "emei/chufang", "south": "emei/xiuxishi", "west": "emei/guangchang" };

View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "走廊"
this.desc = "这是一条走廊。青石板铺成的小路,两边的柱子和栏杆都是用竹子做成,在栏杆的一边种植了许多的花草,其中尤为突出的是杜鹃花,不仅生长的茂盛,并且的十分艳丽。";
this.exits = { "east": "emei/guangchang", "west": "emei/liangong", "south": "emei/zoulang3", "north": "emei/zoulang4" };
//this.set_npc("pub/mpguanli#EMEI");

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "走廊"
this.desc = "这是一条走廊。青石板铺成的小路,两边的柱子和栏杆都是用竹子做成,在栏杆的一边种植了许多的花草,其中尤为突出的是杜鹃花,不仅生长的茂盛,并且的十分艳丽。";
this.exits = { "south": "emei/qingxiu", "north": "emei/zoulang2" };

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "走廊"
this.desc = "这是一条走廊。青石板铺成的小路,两边的柱子和栏杆都是用竹子做成,在栏杆的一边种植了许多的花草,其中尤为突出的是杜鹃花,不仅生长的茂盛,并且的十分艳丽。";
this.exits = { "north": "emei/xiaowu", "south": "emei/zoulang2" };

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "暗道"
this.desc = "这是丐帮 极其秘密的地下通道,乃用丐帮几辈人之心血掘成。 ";
this.exits = { "east": "gaibang/andao2","west": "gaibang/shudongxia"};

View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "暗道"
this.desc = "这是丐帮 极其秘密的地下通道,乃用丐帮几辈人之心血掘成。 ";
this.exits = { "west": "gaibang/andao1", "east": "gaibang/mishi" };
////this.set_npc("pub/mpguanli#GAIBANG");

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "暗道"
this.desc = "一条狭窄的地下秘密通道,笔直的朝东面延伸。通道的尽头有明亮的光线透进来。 ";
this.exits = { "west": "gaibang/mishi","east": "gaibang/andao4"};

View File

@@ -0,0 +1,6 @@
this.inherits(ROOM);
this.name = "暗道"
this.desc = "一条狭窄的地下秘密通道,笔直的朝东面延伸。通道的尽头有明亮的光线透进来。 ";
this.exits = { "west": "gaibang/andao3", "up": "gaibang/xiaowu" };
////this.set_npc('gaibang/lu');

View File

@@ -0,0 +1,6 @@
this.inherits(ROOM);
this.name = "破庙密室"
this.desc = "这是丐帮重要密道之一。由此上往,可直达破庙。四周光线昏暗,似乎有几个黑暗的洞口在你身边。脚下地上扔满了垃圾,踩上去悉悉索索地响。 ";
this.exits = { "west": "gaibang/andao2", "up": "gaibang/pomiao", "east": "gaibang/andao3" };
////this.set_npc("pub/dadizi#GAIBANG");

View File

@@ -0,0 +1,6 @@
this.inherits(ROOM);
this.name = "土地庙"
this.desc = "这是一间破破烂烂的土地庙,庙里破败不堪,土地神像推在一旁,梁上地下也布满了灰尘。一看就知道已经很久没有人来清理过了。正中放着个大香案,上面零乱地扔着几根吃剩下来的鸡骨头。香案黑洞洞的,好象下边有个大洞";
this.exits = { "down": "gaibang/mishi" };
////this.set_npc('gaibang/jian');

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "树洞内部"
this.desc = "这是杨州城中央广场的老槐树内部,也是丐帮秘密的地下通道的总交汇处。树洞里丢满了各种拉圾,弭漫着一股臭哄哄的味道。";
this.exits = { "down": "gaibang/shudongxia"};

View File

@@ -0,0 +1,6 @@
this.inherits(ROOM);
this.name = "树洞下"
this.desc = "这是老槐树底部,四周光线昏暗,人影晃晃,似乎有几个黑暗的洞口在你身边,通向四面八方。 一位老乞丐大咧咧地坐在正中的地上。";
this.exits = { "east": "gaibang/andao1", "up": "gaibang/shudong" };
////this.set_npc('gaibang/zuo');

View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "林间小屋"
this.desc = "你走进了一间小屋。四周墙壁都由青竹篾编成,窗外是一望无际的竹林。屋里的桌椅、床铺均为竹制。但一阵扑鼻而来的狗肉香味,却显得与这清雅的气纷格格不入。 ";
this.exits = { "down": "gaibang/andao4" };
////this.set_npc('gaibang/hongqigong');

54
world/map/home/danjian.js Normal file
View File

@@ -0,0 +1,54 @@
this.inherits(ROOM);
this.name = "卧室"
this.desc = "这是你的卧室,房间不大陈设也不多,但是收拾的干净整洁,房间里面除了一张楠木大床,一张书桌,一个箱子就没别的东西了。";
this.exits = { "out": "yz/home" };
this.on_enter = function (me) {
if (me.follower) {
for (var i = 0; i < me.follower.length; i++) {
FOLLOWER.CREATE(me, me.follower[i], this.on_npc_create.bind(this, me));
}
}
if (me.master) {
me.actions = [
{ cmd: "makelove " + me.id, name: "和" + me.name + "双修" }
];
me.master_json = null;
}
me.add_status({
id: "room",
duration: 0,
desc: "你在自己的房间,身心得到放松,提高修炼效率",
name: "静心",
prop: {
study_per: 10,
lianxi_per: 10,
dazuo_per: 10
}
});
}
this.on_leave = function (me) {
if (me.master) {
me.actions = null;
me.master_json = null;
}
me.remove_status("room");
}
this.add_action("store", "打开仓库");
this.add_action("xiulian", "修炼", null);
this.add_action("fenpei", "分配属性", null);
this.allow_store = true;
this.on_npc_create = function (me, npc) {
if (!npc) return;
if (npc.environment && npc.environment.parent.id == "home") return;
if (!npc.hp) npc.hp = 1;
if (npc.state) npc.set_state(null);
npc.moveto(this, npc.name + "离开了。", npc.name + "走了过来。");
npc.on_master_enter && npc.on_master_enter(me);
}
this.add_action("sleep", "睡觉", function (me) {
me.notify("你躺到床上被子一盖,不一会就呼呼的睡着了。");
});

36
world/map/home/huayuan.js Normal file
View File

@@ -0,0 +1,36 @@
this.inherits(ROOM);
this.name = "小花园"
this.no_fight = true;
this.desc = "这是你家的花园,迎面是一个小池塘,池塘里一群群的鱼儿游来游去,边上摆着一些奇形怪状的石头,水池的两旁种满了花花草草,郁郁葱葱,看上去有不少的珍惜品种"
this.exits = { "southwest": "home/yuanzi" };
this.can_diaoyu = true;
this.can_caiyao = true;
this.on_enter = function (me) {
if (me.master) {
me.actions = [
{ cmd: "dc " + me.id + " diao", name: "让" + me.name + "钓鱼" },
{ cmd: "dc " + me.id + " cai", name: "让" + me.name + "采药" }
];
if (me.query_skill('guanshanjue', 0) >= 100) {
me.actions.push({ cmd: "dc " + me.id + " wk", name: "让" + me.name + "挖矿" });
}
me.master_json = null;
}
}
this.on_leave = function (me) {
if (me.master) {
me.actions = null;
me.master_json = null;
}
}
this.add_action("diao", "钓鱼", function (me) {
return WORLD.COMMANDS['diaoyu'].enter(me);
});
this.add_action("xkwk", "挖矿", function (me) {
return WORLD.COMMANDS['wk'].enter(me);
});
this.add_action("cai", "采药", function (me) {
return WORLD.COMMANDS['caiyao'].enter(me);
});

View File

@@ -0,0 +1,35 @@
this.inherits(ROOM);
this.name = "练功房"
this.desc = "这是一间布置的很别致的练功房,房间的北面各种武器玲琅满目,刀枪剑棍,十八般兵器在这里都能找到,四周石壁看上去很坚固,南半部散放着几个蒲团,供诸你打坐吐纳,调气养息,修练内功之用。";
this.exits = { "east": "home/yuanzi" };
this.add_action("xiulian", "修炼", null);
this.add_action("fenpei", "分配属性", null);
this.on_leave = function (me) {
if (me.master) {
me.actions = null;
me.master_json = null;
}
me.remove_status("room");
}
this.on_enter = function (me) {
if (me.master) {
me.actions = [
{ cmd: "dc " + me.id + " dazuo", name: "让" + me.name + "打坐" },
{ cmd: "makelove " + me.id, name: "和" + me.name + "双修" }
];
me.master_json = null;
}
me.add_status({
id: "room",
duration: 0,
desc: "你在练功房,心无旁骛,修炼效率得到提高",
name: "静心",
prop: {
study_per:50,
lianxi_per: 50,
dazuo_per: 50
}
});
}

33
world/map/home/lianyao.js Normal file
View File

@@ -0,0 +1,33 @@
this.inherits(ROOM);
this.name = "炼药房"
this.desc = "这是你的炼药房,还没进入就先闻到一股浓烈的药草香味,房间里面没有多余的设施,一个大大的炼药炉摆在房子中间。";
this.exits = { "west": "home/yuanzi" };
this.can_lianyao = true;
this.add_action("lianyao", "炼药");
//this.add_action("lianyao2", "研制丹药");
this.on_leave = function (me) {
if (me.master) {
me.actions = null;
me.master_json = null;
}
me.remove_status("room");
}
this.on_enter = function (me) {
if (me.master) {
me.actions = [
{ cmd: "dc " + me.id + " lianyao", name: "让" + me.name + "炼药" }
];
me.master_json = null;
}
me.add_status({
id: "room",
duration: 0,
desc: "你在你的炼药房,炼药效率得到提升",
name: "专心",
prop: {
lianyao1: 2
}
});
}

4
world/map/home/store.js Normal file
View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "仓库"
this.desc = "这里是专门存放追随者的仓库。";
this.max_item_count = 10000;

31
world/map/home/woshi.js Normal file
View File

@@ -0,0 +1,31 @@
this.inherits(ROOM);
this.name = "卧室"
this.desc = "这是你的卧室,房间不算大却陈设豪华,地上铺着猩红的羊毛手织地毯,摆着一张楠木花雕大床,一具红松大衣柜,柜顶搁着几只牛皮藤箱子,靠窗处是一张花梨木书桌,旁边一个书架,里面放了一些四书五经之类的儒家书籍。";
this.exits = { "south": "home/yuanzi" };
this.add_action("store", "打开仓库");
this.on_leave = function (me) {
if (me.master) {
me.actions = null;
me.master_json = null;
}
}
this.on_enter = function (me) {
if (me.master) {
me.actions = [
{ cmd: "makelove " + me.id, name: "和" + me.name + "双修" }
];
me.master_json = null;
if (me.random(10) == 1)
me.do_command("makelove", me.master);
}
}
this.add_action("sleep", "睡觉", function (me) {
me.notify("你躺到床上被子一盖,不一会就呼呼的睡着了。");
});
this.allow_store = true;
this.add_action('drop', null, function (me) { return me.notify('自己家里就不要乱丢东西了。'); });

32
world/map/home/yuanzi.js Normal file
View File

@@ -0,0 +1,32 @@
this.inherits(ROOM);
this.name = "院子"
this.desc = "这是你家的大院,迎面是一个假山水池,池上摆着一块奇形怪状的石头,据说是之前人家留下来的,水池两旁种满了花草,东边是一颗槐树,郁郁葱葱,遮盖了大半个院子,背面是你的卧室,西面是练功房";
this.exits = { "out": "yz/home", "west": "home/liangong", north: "home/woshi", "east": "home/lianyao", "northeast": "home/huayuan" };
this.on_enter = function (me) {
if (me.follower && this.owner === me.id) {
for (var i = 0; i < me.follower.length; i++) {
FOLLOWER.CREATE(me, me.follower[i], this.on_npc_create.bind(this, me));
}
}
if (me.master) {
me.actions = [
{ cmd: "dismiss " + me.id, name: "遣散" + me.name }
];
me.master_json = null;
}
}
this.on_npc_create = function (me, npc) {
if (!npc) return;
if (npc.environment && npc.environment.parent.id == "home") return;
if (!npc.hp) npc.hp = 1;
if (npc.state) npc.set_state(null);
npc.moveto(this, npc.name + "离开了。", npc.name + "走了过来。");
npc.on_master_enter && npc.on_master_enter(me);
}
this.on_leave = function (me) {
if (me.master) {
me.actions = null;
me.master_json = null;
}
}

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "苍龙岭"
this.desc = "华山五峰中最惊险的是北峰,北峰之上最陡峭的则是苍龙岭。此岭高约百米,宽仅一米,而登山之路则在其山脊之上,两侧脊坡光滑挺拔,其下悬崖深邃,云涛隐伏";
this.exits = { "southup": "huashan/sheshen", "westdown": "huashan/zhenyue" };

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "山洞"
this.desc = "这是一个毫不起眼的山洞,但是里面的石壁上却画满了五岳剑派所有已经失传的精妙绝招。花岗岩石壁(wall)上很多小人,全是用利器刻制,想见当初运力之人内力十分深厚。";
this.exits = { "out": "huashan/siguoya" ,"westup": "huashan/zhandao" };

View File

@@ -0,0 +1,8 @@
this.inherits(ROOM);
this.name = "华山绝顶"
this.desc = "这里是华山最高一座山峰,登上此处,峰顶四周云雾飘渺,仿佛置身大海,众山犹如海中小岛,环绕着主峰,仿如一朵盛开的莲花。";
this.exits = { "down": "huashan/luoyan" };
this.add_action('wqcy2', '修炼', function (me) {
WORLD.COMMANDS.wqcy.enter(me);
});

View File

@@ -0,0 +1,6 @@
this.inherits(ROOM);
this.name = "客厅"
this.desc = "这是华山掌门岳不群的居所「有所不为轩」,此处是前厅,厅上挂着「正气堂」三字匾额。厅中很宽敞,却没什么摆设,靠墙放着两把交椅,这里是岳不群议事、授徒的地方,后面是寝室。";
this.exits = { "south": "huashan/lianwu", "north": "huashan/woshi", "east": "huashan/pianting" };
//this.set_npc("huashan/yuebuqun");

View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "练功房"
this.desc = "这里是华山派弟子练功的地方,四周放了几个兵器架,摆放了几个铜人,靠墙放了三个蒲团用来打坐练功。";
this.exits = { "west": "huashan/lianwu" };
this.set_npc('pub/muren');

View File

@@ -0,0 +1,7 @@
this.inherits(ROOM);
this.name = "练武场"
this.desc = "这里是华山派的练武场,通常有许多华山派弟子在此习武练剑,所以不欢迎外人。北边的房屋门上挂着一块匾,上书「有所不为轩」,东面是华山派弟子存放兵器的地方。";
this.exits = { "south": "huashan/yunv", "north": "huashan/keting", "east": "huashan/liangong" };
//this.set_npc("pub/dadizi#HUASHAN");
//this.set_npc("pub/mpguanli#HUASHAN");

View File

@@ -0,0 +1,79 @@
this.inherits(ROOM);
this.name = "落雁峰"
this.desc = "南峰又名落雁峰,是华山最高峰。峰头题刻极多,如“太华峰头”、“竣极于天”、“袖拂天星”等,极言华岳之高。环顾四周,皆在足下。寇准诗赞曰:只有天在上,更无山与齐;举头红日近,回首白云低。传说五代时候的隐士陈抟就隐居在这里。宋太祖曾经下诏征他出山作官,他便在这里写下谢诏表说:“一片野心都被白云锁住,九重宠诏休教丹凤衔来”,表示不愿出山做官。";
this.exits = { "eastdown": "huashan/zhandao" };
//this.set_npc("huashan/fengqingyang");
//this.do_enter = function (obj, isshow, in_msg) {
// this.on_before_enter && this.on_before_enter(obj);
// if (obj.is_player) {
// obj.send(this.to_json(obj));
// this.send_exits(obj);
// }
// this.item_changed(obj, true, in_msg);
// this.on_enter && this.on_enter(obj);
//}
//this.to_json = function (me) {
// if (me&& me.level == 4) {
// if (this.wsjson) return this.wsjson;
// var obj = {};
// obj.type = "room";
// obj.path = this.path;
// obj.name = this.long_name;
// obj.desc = this.desc;
// obj.commands = [{
// cmd: "jumpup",
// name: "跳上去"
// }];
// this.wsjson = JSON.stringify(obj);
// return this.wsjson;
// }
// if (this.json) return this.json;
// var obj = {};
// obj.type = "room";
// obj.path = this.path;
// obj.name = this.long_name;
// obj.desc = this.desc;
// obj.commands = [];
// this.json = JSON.stringify(obj);
// return this.json;
//}
this.add_action("jumpup", "跳上去", function (me) {
if (me.query_skill("dodge", 0) >= 800) {
me.send_room("$N在绝壁前深深地吸了口气猛地跃了起来。\n只见$N足尖在绝壁半空一点,再飞身跃起,已悠然飘落绝顶。");
var rm = ROOM.Get("huashan/jueding");
if (this.owner) {
rm = rm.query_copy(this.owner) ?? rm;
} else {
if (rm.items.length > 0) {
rm = this.create_jueding(rm);
if (!rm) {
return me.notify("那里人太多了,你过不去。");
}
}
}
me.moveto(rm, null, me.name + "跳了进来。");
} else {
me.send_room("$N在绝壁前站定,深吸一口气,猛然跃起,可还差一大截呢,看来是轻功不够好。");
}
})
this.create_jueding = function (rm) {
if (!rm.shadow_rooms) rm.shadow_rooms = [];
for (var i = 0; i < rm.shadow_rooms.length; i++) {
if (rm.shadow_rooms[i].items.length === 0) {
return rm.shadow_rooms[i];
}
}
var shadow = BASE.CREATE(__PATH.MAP, rm.path);
if (shadow) {
rm.shadow_rooms.push(shadow);
}
return shadow;
}

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "偏厅"
this.desc = "偏厅里供奉着华山历代祖师的神位。正中神案的墙上是华山派开山祖师风祖师的画象。画象神情清隽,非常传神。神案上香炉里插着三柱清香,香烟袅袅上升,散发着一股檀香味。西面有扇门通往外面的正厅。";
this.exits = { "west": "huashan/keting" };

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "山间平地"
this.desc = "你走在中条山山间平地上。靠东山壁上有一小屋。传闻当年华山玉女峰剑气两宗大对决,中计败北的剑宗弟子大多隐匿不出。难道就是这里?林中冷风轻吹门响。很失意的感觉。";
this.exits = { "north": "huashan/shangu","east":"huashan/xiaowu"};

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "峭壁"
this.desc = "你在峭壁边的小路上。一侧是密密的丛林,外侧却是极深的陡壁。山风凛冽,几乎要把你刮落崖去。";
this.exits = { "up": "huashan/sheshen", "southup": "huashan/shangu" };

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "山谷"
this.desc = "这里是中条山的一个隐秘山谷。四周是高可及天的山峰,云深林密,一径小溪潺潺流过,溅入坡下塘中。溪畔有一汉子舞剑正酣。不打扰的为妙。";
this.exits = { "northdown": "huashan/qiaobi", "south": "huashan/pingdi" };

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "玉女峰山路"
this.desc = "这里是玉女峰后山的一条山路。路边长满了翠竹,每当微风拂过,竹叶便沙沙作响,显得分外的幽静。";
this.exits = { "north": "huashan/yunv", "southup": "huashan/xiaojing", "eastdown": "huashan/zhenyue", };

View File

@@ -0,0 +1,25 @@
this.inherits(ROOM);
this.name = "舍身崖"
this.desc = "这是一段极窄极险的山崖,四周云雾飞绕,下面渊深无底。如不小心,一失足掉下去,只怕连骨头都找不到。边上有个小山洞";
this.exits = { "westdown": "huashan/zhenyue" };
this.add_action("jumpdown", "跳下去", function (me) {
me.notify("你心一横,双眼一闭就从山崖上跳了下去。");
var rm = ROOM.Get("huashan/qiaobi");
if (this.owner) rm = rm.query_copy(this.owner) ?? rm;
// var pt = me.query_party();
// if (pt && pt.is_battle('HUASHAN')) {
// rm = rm.query_copy2(me);
// }
me.moveto(rm, me.name + "心一横,双眼一闭就从山崖上跳了下去。", me.name + "从山上跳了下来。");
if (me.query_skill("dodge", 0) >= 300) {
me.notify("穿过层层云雾,你跳到一处平台上面。");
} else {
me.add_hp(-me.max_hp);
me.die();
}
})

View File

@@ -0,0 +1,25 @@
this.inherits(ROOM);
this.name = "思过崖"
this.desc = "这里便是华山派弟子受罚思过的地方。位于玉女峰顶,正好有一小快平地,一面是深不可测的山谷、一面是陡峭的<cmd cmd='look bi'>悬壁</cmd>,零零落落的有几快山石。";
this.exits = { "northdown": "huashan/xiaojing" };
this.set_item("bi", "峭壁", "你看着看着忽然发现有一处石壁上的青苔比别处少得多。不禁想....", [[
"break", "打碎", function (me, par) {
if (par != "bi") {
return;
}
if (this.query_exits("enter")) return me.notify("石壁已经被你打开了。");
if (me.max_mp > 1000 && me.mp > 1000) {
me.add_mp(-200);
me.send_room("$N走到石壁前深吸一口气双掌同时拍出。 \n$N只听一声轰响石壁被打开一个大洞");
this.add_exit("enter", "huashan/hole");
} else {
me.send_room("$N走到门前深吸一口气双掌同时拍出。 \n结果只听一声闷哼$P被石壁的反弹力震得眼前一黑....");
}
// this.call_out(x => {
// this.notify("石壁的石头掉了下来,把出口又给封死了...");
// this.remove_exit("enter");
// },10000);
return true;
}
]]);

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "寝室"
this.desc = "这里是岳不群的寝室,岳不群在江湖上人称「君子剑」,他虽为一大派掌门,可他的卧室却布置的很简单。除了一张床,几只箱子,墙角有张化妆台,只有靠墙一张红木书桌还显得略有气派。";
this.exits = { "south": "huashan/keting" };

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "玉女峰小径"
this.desc = "这里是玉女峰后山的一条小径。路边长满了翠竹,每当微风拂过,竹叶便沙沙作响,显得分外的幽静。";
this.exits = { "northdown": "huashan/shanlu", "southup": "huashan/siguoya" };

View File

@@ -0,0 +1,5 @@
this.inherits(ROOM);
this.name = "林间小屋"
this.desc = "这里就是华山剑宗的的根本之地。屋里陈设极为简陋。这么多年来一直没有长久隐匿的念头使得剑宗弟子能忍辱负重,只待重开生天。";
this.exits = { "west": "huashan/pingdi" };
//this.set_npc("huashan/fengbuping");

View File

@@ -0,0 +1,7 @@
this.inherits(ROOM);
this.name = "玉女峰"
this.desc = "这里是华山的中峰,玉女峰。玉女峰地势略为平缓,不似其它四峰般险峻,江湖上赫赫有名的华山剑派就在此处。西边有所小小的庙宇,那就是玉女祠了。东北面稀稀落落有十几间房子,是华山派的地方,闲杂游客最好别往那里去。";
this.exits = {
"west": "huashan/yunvci",
"south": "huashan/shanlu", "north": "huashan/lianwu"
};

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "玉女祠"
this.desc = "玉女祠里供奉的到底是哪位玉女,有许多不同的说法,现在所能看到的只一尊呆板的石像。祠中大石上有一处深陷,凹处积水清碧,这是玉女的洗脸盆,碧水终年不干。";
this.exits = { "east": "huashan/yunv" };

View File

@@ -0,0 +1,4 @@
this.inherits(ROOM);
this.name = "长空栈道"
this.desc = "栈道以铁斜插,上覆青石板,宽不足八寸。上乃绝壁,下亦绝壁。挽索登其上,只听山风呼啸,林涛怒吼。远处偶传一两声禽鸣兽嘶,更使人毛骨悚然。踏上悬空的栈道,紧攀铁索,屏息静气,缓步挪动,才能过去。";
this.exits = { "eastdown": "huashan/hole" ,"westup": "huashan/luoyan"};

View File

@@ -0,0 +1,8 @@
this.inherits(ROOM);
this.name = "镇岳宫"
this.desc = "这里是华山的镇岳宫,也是华山派的大门,这里地势略为平坦,林木繁茂,苍松插天,溪水环绕,甚是清雅。有几个华山派的弟子在这里守着。";
this.exits = {
"eastup": "huashan/canglong", "westup": "huashan/shanlu"
};
//this.set_npc("huashan/gaogenming");

39
world/map/kezhan/fang1.js Normal file
View File

@@ -0,0 +1,39 @@
this.inherits(ROOM);
this.name = "人字号客房";
this.desc = "这是客栈里的一间客房,房间不大,还算干净整洁,这里面很安静,你都听不到房间外面的声音。没有你的允许是没有人进来的,你在里面可以做任何事情,只要不打扰到别人。";
this.exits = { "down": "yz/kedian" };
this.max_item_count = 1;
this.is_shadow = true;
this.on_enter = function (me) {
if (check_moveout(me)) {
me.add_status({
id: "room",
duration: 0,
desc: "你在客栈人字号客房,安安静静的是个练功的好地方",
name: "人字号",
prop: {
study_per: 10,
lianxi_per: 10,
dazuo_per: 10
}
});
}
}
this.on_leave = function (me) {
me.remove_status("room");
}
function check_moveout(me) {
if (!me.query_temp("kezhan")) {
me.moveto("yz/kedian", null, me.name + "走了下来。");
me.send_room("店小二对$N说道这位客官你需要付钱才可以继续住店。");
return false;
}
return true;
}
this.on_heart_beat = function () {
for (let item of this.items) {
if (item.hp > 0) {
return check_moveout(item);
}
}
}

40
world/map/kezhan/fang2.js Normal file
View File

@@ -0,0 +1,40 @@
this.inherits(ROOM);
this.name = "地字号客房";
this.desc = "这是客栈里的一间客房,房间虽然不大,但是干净整洁。这里的老板为了吸引江湖人士,专门请高人打造了这些客房,这间地字号房间的位置,方位,摆设都是有讲究的,在这里练功会大有裨益。";
this.exits = { "down": "yz/kedian" };
this.is_shadow = true;
this.max_item_count = 1;
this.on_enter = function (me) {
if (check_moveout(me)) {
me.add_status({
id: "room",
duration: 0,
desc: "你在客栈地字号客房,这里的设施,方位,对练功大有好处",
name: "地字号",
prop: {
study_per: 20,
lianxi_per: 20,
dazuo_per: 20
}
});
}
}
this.on_leave = function (me) {
me.remove_status("room");
}
function check_moveout(me) {
if (!me.query_temp("kezhan")) {
me.moveto("yz/kedian", null, me.name + "走了下来。");
me.send_room("店小二对$N说道这位客官你需要付钱才可以继续住店。");
return false;
}
return true;
}
this.on_heart_beat = function () {
for (let item of this.items) {
if (item.hp > 0) {
return check_moveout(item);
}
}
}

39
world/map/kezhan/fang3.js Normal file
View File

@@ -0,0 +1,39 @@
this.inherits(ROOM);
this.name = "天字号客房";
this.desc = "这是客栈里面最好的客房,房间里面空间很大,门口竖有张屏风,看上去很贵重的样子,据说这里面的布置,物件都是客栈老板花大价钱买来的天材地宝,在这里练功对你大有益处。";
this.exits = { "down": "yz/kedian" };
this.is_shadow = true;
this.max_item_count = 1;
this.on_enter = function (me) {
if (check_moveout(me)) {
me.add_status({
id: "room",
duration: 0,
desc: "你在客栈天字号房间,这里一堆天才地宝,简直就是练功圣地",
name: "天字号",
prop: {
study_per: 50,
lianxi_per: 50,
dazuo_per: 50
}
});
}
}
this.on_leave = function (me) {
me.remove_status("room");
}
function check_moveout(me) {
if (!me.query_temp("kezhan")) {
me.moveto("yz/kedian", null, me.name + "走了下来。");
me.send_room("店小二对$N说道这位客官你需要付钱才可以继续住店。");
return false;
}
return true;
}
this.on_heart_beat = function () {
for (let item of this.items) {
if (item.hp > 0) {
return check_moveout(item);
}
}
}

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