:root {
/* header measurements */
--header-height-on-desktop: 10rem;
--header-height-on-mobile: 10rem;
--header-h1-font-size: clamp(2rem, 5vw, 2.8125rem);
--header-h2-font-size: clamp(0.875rem, 3vw, 0.9375rem);
--logo-image: url("https://nu-scptheme.github.io/Black-Highlighter/img/logo.svg");
}
#header {
--search-textbox-text-color: var(--swatch-secondary-color);
background: none;
}
#header::before {
content: " ";
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0.75rem;
background-image: var(--logo-image);
background-repeat: no-repeat;
background-position: center 0;
background-size: auto calc(var(--header-height-on-desktop) - 1.5rem);
opacity: 0.8;
pointer-events: none;
}
#header h1,
#header h2 {
margin: 0;
padding: 0;
width: 100%;
height: var(--header-height-on-desktop);
display: flex;
align-items: center;
justify-content: center;
display: flex;
align-items: center;
justify-content: center;
}
#header h1 a,
#header h1 a::before,
#header h2 span,
#header h2 span::before {
margin: 0;
padding: 0;
z-index: 0;
display: block;
text-align: center;
}
#header h1 {
z-index: 1;
}
#header h1 a::before,
#header h1 a::after {
content: var(--header-title);
}
#header h1 a::before {
color: rgb(var(--swatch-text-tertiary-color));
z-index: -1;
-webkit-text-stroke: 0.325rem rgb(var(--swatch-text-dark));
}
#header h1 a::after {
color: rgb(var(--swatch-headerh1-color));
z-index: 1;
}
#header h2 {
z-index: 0;
text-transform: uppercase;
pointer-events: none;
}
#header h2 span {
margin-top: calc(var(--header-height-on-mobile)/2 + var(--header-h1-font-size)/2 - 2em);
}
#header h2 span::before,
#header h2 span::after {
--wght: 600;
content: var(--header-subtitle);
position: absolute;
left: 50%;
transform: translateY(-50%) translateX(-50%);
width: 100%;
text-align: center;
}
#header h2 span::before {
-webkit-text-stroke: 0.25rem rgb(var(--swatch-text-dark));
}
#header h2 span::after {
color: rgb(var(--swatch-headerh2-color));
z-index: 1;
}
#search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="text"] {
color: rgba(0, 0, 0, 0);
}
@media (min-width: 36rem) {
#login-status {
flex-grow: 1;
left: 3%;
right: initial;
}
#login-status::before {
--mask-image: none;
background-color: transparent;
}
#login-status:not(:focus-within) {
color: rgb(var(--login-line-divider-color));
-webkit-user-select: initial;
-moz-user-select: initial;
-ms-user-select: initial;
user-select: initial;
}
#login-status #account-topbutton,
#login-status:not(:focus-within) #account-topbutton {
--clip-path:
polygon( 0 0, 100% 0, 100% 100%, 0 100% );
background-color: rgba(var(--login-arrow-color), 0);
}
#login-status #account-topbutton::before{
--clip-path:
polygon( 30% 35%, 70% 35%, 50% 60%, 50% 60% );
--mask-image: initial;
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(var(--login-arrow-color), 1);
-webkit-clip-path: var(--clip-path);
clip-path: var(--clip-path);
}
#login-status #account-topbutton::before,
#login-status:not(:focus-within) #account-topbutton::before,
#login-status:not(:focus-within) #account-topbutton:hover::before {
--clip-path:
polygon( 30% 35%, 70% 35%, 50% 60%, 50% 60% );
--mask-image: initial;
}
#login-status:not(:focus-within) #account-topbutton::after {
display: none;
}
#login-status:not(:focus-within) *:not(#account-topbutton):not([href*="account/messages"]) {
--clip-path:
polygon(
0 0,
100% 0,
100% 100%,
0 100%
);
pointer-events: all;
-webkit-clip-path: var(--clip-path);
clip-path: var(--clip-path);
}
#login-status:not(:focus-within) *:not(#account-topbutton):not(#account-options):not([href*="account/messages"]) {
opacity: 1;
}
#login-status #my-account {
--wght: 300;
}
#account-options {
background: var(--gradient-header);
}
#search-top-box {
top: 1.5em;
right: 3%;
background: rgba(var(--search-focus-textbox-bg-color), 0.4);
}
#search-top-box:focus-within ~ #login-status {
opacity: 1;
}
#search-top-box::after {
transition:
background-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
-webkit-clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1);
transition:
background-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1);
transition:
background-color 150ms cubic-bezier(0.4, 0, 0.2, 1),
clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1),
-webkit-clip-path 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
#search-top-box:not(:focus-within)::after {
--clip-path:
polygon(
0 0,
100% 0,
100% 100%,
0% 100%
);
background-color: rgba(var(--search-icon-bg-color, --dark-accent), 1);
-webkit-clip-path: var(--clip-path);
clip-path: var(--clip-path);
}
#search-top-box:not(:focus-within):hover::after {
--clip-path:
polygon(
0 0,
100% 0,
100% 100%,
0 100%
);
background-color: rgb(var(--search-icon-hover-bg-color));
}
#search-top-box form[id="search-top-box-form"]:not(:focus-within) {
max-width: var(--search-width);
}
#search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="text"] {
max-width: var(--search-width);
padding: 0 var(--search-height) 0 1em;
outline-width: 0;
background-color: rgb(var(--search-focus-textbox-bg-color), 0.35);
color: rgba(var(--search-textbox-text-color), 0.4);
cursor: pointer;
}
#search-top-box form[id="search-top-box-form"]:not(:focus-within) input[type="submit"],
#search-top-box form[id="search-top-box-form"]:focus-within input[type="submit"] {
pointer-events: all;
border: none;
}
}
#page-title::after,
.meta-title::after,
#page-title::before,
.meta-title::before {
content: "";
flex-grow: 1;
height: 0.0625rem;
background: rgb(var(--swatch-primary));
}
#page-title::before,
.meta-title::before {
margin: auto 1.25rem auto auto;
}
@supports(display: grid) {
:root {
--sidebar-width-on-desktop: calc((var(--base-font-size) * (14 / 15)) * 19);
--body-width-on-desktop: 45.75rem;
}
@media only screen and (min-width: 769px) {
#side-bar .close-menu {
display: block;
position: fixed;
top: 0.5rem;
left: 0.5rem;
width: 3rem;
height: 3rem;
background: unset;
opacity: 1;
pointer-events: all;
z-index: -1;
}
#side-bar .close-menu img {
color: transparent;
}
#side-bar .close-menu::before,
#side-bar .close-menu::after {
content: "";
box-sizing: border-box;
position: fixed;
display: block;
top: 0.5rem;
left: 0.5rem;
width: 3rem;
height: 3rem;
padding: 0;
margin: 0;
text-align: center;
pointer-events: all;
cursor: pointer;
transition:
opacity var(--sidebar-transition-timing);
}
#side-bar .close-menu::before {
--mask:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' id='Hamburger' x='0' y='0' baseProfile='tiny' overflow='visible' version='1.2' viewBox='0 0 32 32' xml:space='preserve'%3E%3Cpath d='M4 10h24c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm24 4H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2zm0 8H4c-1.1 0-2 .9-2 2s.9 2 2 2h24c1.1 0 2-.9 2-2s-.9-2-2-2z'/%3E%3C/svg%3E");
z-index: -1;
background-color: var(--toggle-icon-color, rgb(var(--sidebar-links-text))) !important;
-webkit-mask: var(--mask);
mask: var(--mask);
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-position: 50% 50%;
mask-position: 50% 50%;
-webkit-mask-size: 60%;
mask-size: 60%;
}
#side-bar .close-menu::after {
z-index: -2;
background-color: var(--toggle-button-bg, rgb(var(--sidebar-bg-color))) !important;
border-radius: var(--toggle-roundness, 50%);
border: var(--toggle-border-color, rgb(var(--sidebar-links-text))) var(--toggle-border-width, 0.25rem) solid;
}
#side-bar:focus-within .close-menu,
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu {
pointer-events: none;
}
#side-bar:focus-within .close-menu::before,
#side-bar:focus-within .close-menu::after {
opacity: 0;
pointer-events: none;
}
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::before,
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover .close-menu::after {
opacity: 0;
pointer-events: none;
}
#side-bar {
display: block;
position: fixed;
top: 0;
left: calc(var(--sidebar-width-on-desktop)*-1);
z-index: 10;
transition:
left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
height: 100%;
overflow-y: auto;
overflow-x: hidden;
margin-top: 0;
}
#side-bar:focus-within {
left: 0;
}
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover {
left: 0;
}
#side-bar .side-block {
margin-top: 1rem;
background-color: rgb(0, 0, 0, 0);
border-radius: 0;
border-left-width: 0px;
border-right-width: 0px;
}
#main-content::before {
content: "";
display: block;
position: fixed;
top: 0;
right: 0;
z-index: -1;
opacity: 0;
transition:
opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms,
width 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
margin-left: var(--sidebar-width-on-desktop);
background: rgba(var(--swatch-menubg-black-color), .3) 1px 1px repeat;
padding-right: 0;
width: 100%;
height: 100vh;
pointer-events: none;
z-index: 99;
}
#side-bar:focus-within ~ #main-content::before {
width: calc(100% - var(--sidebar-width-on-desktop));
opacity: 1;
pointer-events: all;
}
#side-bar:not(:has(.close-menu:hover)):not(:focus-within):hover ~ #main-content::before {
width: calc(100% - var(--sidebar-width-on-desktop));
opacity: 1;
pointer-events: all;
}
@supports (-moz-appearance:none) and (background-attachment:local) and (not (-moz-osx-font-smoothing:auto)) { #side-bar {
padding: inherit;
} }
#content-wrap {
display: flex;
flex-direction: row;
width: calc(100vw - (100vw - 100%));
min-height: calc(100vh - calc(var(--final-header-height-on-desktop, 10.125rem)));
flex-grow: 2;
height: auto;
position: relative;
margin: 0 auto;
max-width: inherit;
}
#main-content {
width: 100%;
position: initial;
max-height: 100%;
padding: 2rem 1rem;
max-width: var(--body-width-on-desktop, 45.75rem);
margin: 0 auto;
}
#page-content {
max-width: min(90vw, var(--body-width-on-desktop, 45.75rem));
}
@supports (-webkit-hyphens:none) {
#side-bar {
transition:
left 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms,
padding-right 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms,
background-color 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
padding-right: 0;
background-color: rgb(0, 0, 0, 0);
pointer-events: all;
overflow-x: visible;
overflow-y: visible;
z-index: 999;
}
#side-bar::-webkit-scrollbar {
opacity: 0;
-webkit-transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
transition: opacity 500ms cubic-bezier(0.4, 0, 0.2, 1) 100ms;
}
#side-bar .close-menu::before {
z-index: 999;
}
#side-bar .close-menu::after {
z-index: 998;
}
#side-bar:hover .close-menu::before,
#side-bar:hover .close-menu::after {
opacity: 0;
}
#side-bar:hover {
left: 0;
background-color: rgba(var(--swatch-menubg-color), 1);
padding-right: 0;
}
#side-bar:hover::-webkit-scrollbar {
opacity: 1;
}
#side-bar:hover~#main-content::before {
width: calc(100% - var(--sidebar-width-on-desktop));
opacity: 1;
pointer-events: all;
}
}
}
}
黑皇后
外面有的是更好的世界,但是Alyx Chao却被困在了这一个。
一开始这只是惯例的解放流程:跳进一个某组织的权力过度膨胀的宇宙,点燃全世界革命的火种,然后再跳出来。
她已经成功推翻了好几个基金会,好几个Marshall、Carter和Dark,甚至还有某一个版本的她自己——
然后,这个世界的全球超自然联盟入侵了被放逐者之图书馆。
图书馆切除了这个染病的分支,任由它落入侵略者的手中,切断了这个世界与多元宇宙的联系。当然,进出这里的路径还是有的,但费用高到她不愿支付的程度。从实质上来说,她已经在这个宇宙里搁浅了。
而唯一的出路只有继续走下去。
大厨与批评家
安全屋一号就在距离苏荷后门不远的一个口袋维度中。躲在GOC的后院里是很冒险的,但其实纽约城差不多遍地都是超自然飞地和微型枢纽,有太多GOC管不过来的地方了。要藏在敌人的眼皮底下,还有什么地方比这里更合适呢?
但是,当她看见这间基本没装修的饭店门前立着的花哨“A”字时,还是不禁皱起了眉头。
她走进来的时候,Charles Ambrose和批评家正在热烈地讨论着什么。他们两人坐在一张单人桌边,周围是一片倒置的椅子的腿构成的丛林。
“所以我的构想是用传送带,明白吧?看上去就好像它不停转动,给你把菜送过来,但是送来的东西渐渐变得越来越像活物,越来越诡异,”Ambrose说。
“感觉没什么创意。”
“是的,我知道——但是到了最后,它们真的就活过来了。它们开始变得像小小的人类。”
“这是对现在这个压抑的世界新秩序的某种隐喻吗?”
“我……说实话,我只能做到这种程度了。我的本职毕竟是厨师。”
批评家皱起了眉。
“你可以让它们真的变成人类。但不能是随便什么人——而是食客自己。食客们可以无视这些吵闹的小害虫,或者——”
“他们也可能会活活吃掉彼此!”
“看在别西卜的份上,”批评家冷冷地说。他叹了口气。“这种事又不是没发生过。”
“先生们,”Alyx招呼道。
“啊,可爱的黑皇后,”批评家毫不犹豫地回应。“陛下驾临小店有何贵干?”
“第一次出击成功了,”她说。“我们很快就会需要你们两位的协助。俘虏需要喂饱,洗脑需要解除。可不是什么轻松的活儿。”
“我要是做了,上帝会惩罚我的,”批评家说。这是他的某种玩笑。GOC早在六十年前就杀了上帝。
总有一天,这两个人会成为大麻烦。Alyx很清楚这一点。一旦情势开始变得太好或太糟,批评家就会溜之大吉,而且她知道在另一个宇宙中,Chaz Ambrose——屠夫卡尔——干出过怎样的邪恶勾当。
但是现在,他们在她面前,而且他们对她有用。
“我们在Site 43、79和150需要模因和伙食供应,”她说。
批评家假装恭敬地向她深深地鞠了一躬。“谨遵您的旨意,陛下。”
她会需要Kriyot来核对他的工作。她一点都不期待跟他谈这件事。
药剂师
安全屋二号在怀俄明。苏荷后门有一条隐藏路径可以通向黄石国家公园,这条小路沉浸在永恒的秋色与永恒的暮光之中,而且手机信号好得惊人。
她一边走一边打开了自己的SCiPNET收件箱,关于上一批超自然化学增强剂的各种评论混杂在一起,映入她的眼帘。
她叹了口气,开始输入。
Alyx翻了翻眼珠。这个宇宙中的亚马逊是GOC的傀儡,但是dado也没说他指的就是亚马逊公司。但是她也不清楚他指的究竟是
什么。他应该不是在说那个热带雨林……吧。
dado
你上次的那批货有点问题。我本来以为你会给我们逆模因化的增强剂?这药只是把我们的身体变得很滑。
Alyx有点懊恼地意识到,那种增强剂确实起到了应当起的作用。只要保护同盟的特工背对着攻击者,GOC的武器和工具——不论是手铐,泰瑟枪,枪弹还是奇术——都会从他们身上滑开。
她没有回答。她早就发现答不答都一样。
动物园园长与奇迹缔造者
Alyx穿过路径走进安全区二号时,她想起了那支叫《牧场上的家》的歌。很久很久以前,她的父亲曾经对她唱过这支歌。在这里,大量的动物在宽阔的原野上漫步,只不过这片原野上还点缀着一座座色彩鲜艳、比例夸张的卡通式小屋。
Isabel Helga Anastasia Parvati Wondertainment五世(博士学位)向Alyx轻轻一笑,但她主要的注意力还是集中在Faeowynn Wilson身上。
Alyx默默地加入了Isabel这边。
Faeowynn Wilson是个精明能干的女子。她以惊人的效率指挥着自GOC突袭无聊镇之后招募的志愿者和难民。她拨弄着平板电脑,清点他们从GOC手中救回的每一头动物。这里有角上燃着火焰的鹿,好几只长毛狗,还有一只没有后半身的猫。Fae熟门熟路地将每只动物引导向它们该去的分区。
给所有的手下分派完工作之后,Fae向Isabel和Alyx点了点头。三人走进一间内部比外观大五倍的粉紫色披棚中休息。
“我宣布,第三万亿次‘丧父少女俱乐部’聚会现在开始!”她们坐下并倒好咖啡后,Isabel Wondertainment说道。
Fae皱了皱眉。“别这么说。”
“对不起,”Isabel说。她呷了一口咖啡。“我现在还是偶尔会梦见我爸爸。他就在奇妙殿堂里,站在世世代代的奇迹缔造者的队尾,他带着他那扭曲的笑容俯视着我,告诉我,我还有很多事可以去做。”
“父母啊,”Fae半带微笑地说。“你永远没法超越他们,就算你是个魔法玩具工匠,是吗?”
“喂喂,我虽然是魔法玩具工匠,可是我们家祖祖辈辈也都是啊。”
她们为此嬉笑了一会儿。然后Fae叹了口气。
“我从没想过我会干这个。”
“这也不是我设想中的人生。我怀疑就连我爸爸也不会想到,”Alyx说。她的父亲Charles Gears早已不在人世,但她希望自己现在的样子可以让他满意。
Isabel痴笑起来。Fae和Alyx看着她,等她笑完。
“活见了鬼了,我只是做玩具的啊!”她上气不接下气地说道。“你们知道那天突袭时发生了什么?‘Wondertainment博士跳跳袋鼠’打倒和制服了几百个士兵。”
她长长地啜饮了一口咖啡。Alyx怀疑是咖啡让她愈发亢奋,但也可能只是因为胜利的狂喜。
“所以——不,”Isabel说,“我不喜欢自己变成这个样子。”
“我只是希望不要再有人受伤了,”Fae说。“我根本没想到会……”
Fae停了下来。Fae是个坚强的姑娘,但是Alyx很清楚,只要她心里还放不下,就永远不会好受。Alyx很想安慰她,但是她毕竟是Charles Gears的女儿。安慰别人并不是她的强项。
“正是因为这样我才必须战斗下去,”Fae定了定神之后说道。“为了我父亲。为了其他所有人的父亲,还有他们的兄弟姐妹,他们的孩子。”
“没错,”Alyx说道。她的眼睛闪闪发亮。“我们是为了他们而战斗。”
“你在想什么?”Fae问。现在Alyx完全吸引了她们的注意。
“你们所拥有的最可爱的动物,”Alyx说,“和最安全、最畅销的玩具。我在想一些……有市场的东西。”
反战分子
“Jude。”
她从路径里走出来,直接来到了Jude Kriyot当前的藏身之处——新泽西某地的一间脏乱的地下室。
“卧槽,Alyx,你吓我一跳。”
她朝他抬起一侧眉毛。地下室里有股大麻烟的余味。
“虚知地计划怎么样了?”她问。在失去了实体的虚知地之后,在联盟征服了他们的秘密桃源,又把它改造成了战俘营之后,他们仍然保留了这个名字。即使是在他们必须再次隐藏起来,分散到一百多个不同的无名之地时,他们仍然坚守着那份最初的自由。
“不怎么样,”他说。他没有细说下去。
“你一直不能接受这件事,对吗?”
“我们还在那个岛上时,一切都不一样,”他说。“那时我们都很安全,大家都在一起。现在,虽然还有天命先生照看着我们,可是……一切都不一样了。”
“你可以去加入其他人,”她说。“没理由不这么做。去找他们,不论他们在哪里。”
他摇了摇头。“我……我没有听到召唤,”他说。“其他的每一个人,Esther和Jockjams和别的人……他们都说自己能在心中感受到它,它驱使他们前进。但是不知为什么,天命先生要我留在这里。”
“因为你工作做得好,Jude,”Alyx说。
“我他妈也希望如此,”他说。“我觉得自己就像他妈的圣彼得。整天带人上天堂,自己却从来没进去过。”
Alyx咯咯笑起来。“我懂这种感觉。”
“那么你今天来是有什么事?”
“我需要你去复核批评家的工作。”
一听到这话他的脸色就阴沉了下来,于是她决定讲些没品笑话活跃一下气氛。
“你要好好确认他没在把我们抓到的那些GOC家伙洗脑成满洲间谍。”
“这不是种族歧视吗?”
“大哥,我是中国人,我可以说这个的。”
“那更糟。自我种族歧视。”
“我……也许吧。我们可以以后再谈这个。”
Jude叹了口气。“只要你答应我,一旦他没有用处了,你们就立刻逮捕那个杀人犯……”
Alyx轻轻点了点头。当然,她实现不了这个承诺。现在批评家的用处实在太大,而且他实在太聪明,难以追踪到底。
她从来时的路离开了这里。
档案管理员,遗产与记者
曲折的路径把她带到了永恒之亚历山大城附近。
当被放逐者之图书馆切断它的分支,放任这个宇宙自生自灭的时候,亚历山大城依然存在于此,仿佛这个柏拉图式图书馆的苍白倒影。
永恒之亚历山大城的旧看守者在临死前将职责递交给了被放逐者之图书馆的最后一任档案管理员M'rj'nz。现在M'rj'nz是这里唯一的档案管理员,她在此研读可知的历史中每一个人类的人生记录,搜寻能用来对抗联盟的武器。
这就是其他监督者对她的了解,但是Alyx知道得更多。被放逐者之图书馆的档案管理员很少会任由自己流落在图书馆外,而每一次他们这样做……
都是为了给一个死期将至的宇宙最后一次谱写出更好的故事的机会,而如果连这也失败了,就要收割这个宇宙。
路径在距离M'rj'nz数百英尺处放下了她;书架浮现在她头顶,延伸至无穷无尽。她能看见绿色的光流——SCiPNET内网的奇术基质,像一张数据之网,穿梭在整个图书馆中,连接到每一本书上。她并不完全明白它的工作原理,但可以确定的是,ADAM的网络直接与人的生命本质相连,这使它的互联性高到了危险的地步。他们真该庆幸ADAM是一个除了自己的目标外什么也不关心的人工智能。
M'rj'nz坐镇这张奇术网络的中心,文件和书本在她四周飞舞。不时有一道绿光闪过,表示人工智能ADAM又数字化了一本已完结的书。
“哟,Chao,”Maria Dracu从她的笔记本电脑上抬起头来。她显然正在写首次出击GOC的总结报告,准备发表到保护同盟内部网络上。
“你们总是这么忙,”Alyx平静地说,她抬头瞥了一眼盘旋在M'rj'nz的一千只眼睛周围的纸张旋风。
“我们只是在做我们生来就该做的事,”M'rj'nz用可怖的尖锐嗓音回答道。看样子只有Alyx一个人觉得它听起来很不祥。
“呃,当然啦,”Maria Dracu说。“我们刚刚赢了一场呢!虽然不是什么大胜利,但赢了就是赢了。你想要我怎么写?”
“我有个更厉害的想法,”Alyx说,她努力无视纸张飞舞的沙沙声。“能让一切都步入正轨的一招。我会需要你们来帮我实现。”
“洗耳恭听,”Maria说。在她们头顶上,档案的盘旋慢了下来。M'rj'nz的一千只眼睛转向了她们。就连ADAM都屈尊纡贵地投射出自己的影像,一个半透明光线交织而成的绿色数字幽灵。
Alyx笑了。
商人们
Alyx出现在一片远离任何监控摄像与GOC无人机的海滩上,她看见两个女人在阳光下呷着马提尼。就算是在躲藏期间,Marion Carter还是有奢华生活的基本要求。
“我真的认为我们合作会很有优势,我可以动用我在金贝格-莱兹的关系,在你强制接管后更平滑地完成权力过渡,”原Marshall、Carter与Dark公司的Marion Carter说。
“双管齐下,”原芝加哥幽灵的Tonya M. Chappell说。“你打上面,我打下面。”
Alyx不会轻率地评判她们,至少不会因为她们的职业。她知道有一个世界里,她自己继承了Carter之名。而在另一个世界里,她是幽灵的最高层干部。但那些都不是属于她的世界,也不是属于她的战斗。
“女士们,”Alyx说。
“哟,皇后!”Tonya一边叫着一边上前拥抱了她。Alyx也亲切地抱住她。
“Alyx,”Marion朝她勉强一笑。Alyx点了点头,Tonya的马尾辫拂过她的鼻尖,让她皱起了鼻子。“我听说第一次出击非常顺利。”
Alyx点点头。“你们这边进展如何?”
“大多数竞争者都在怀疑市场中潜伏着垄断势力,”Marion说。“他们已经意识到效率的严重下降。他们只是不确定原因。我做了我能做的,在合适的地方按下合适的开关,确保合适的人开始产生合适的想法。”
“我也一样,”Tonya说。“让合适的人到第一线去,他们知道在阴影中该看哪里。”
“你们确定这样做明智吗?”Alyx问。“联盟有办法让所有捞得太多的人消失。”
Tonya和Marion交换了一下眼神。
“我听说,他们很快就会有更大的麻烦事要操心了,”Tonya得意地咧嘴而笑。
Alyx闭上了眼睛。“你听谁说的?”
“我们就猜你在计划干票大的。我们捉住了他们一次痛脚,就应该继续狠狠揍下去。”
“战争和商战的第一法则,”Marion说道。“就是赢的时候要保持一直赢。”
“作为一个贵族,她可真是冷血得要命,”Tonya用舞台剧独白的语气低声说。
“我们都是这样子的,贱民,”Marion学着她的语气说。“习惯了就好。”
“还有什么需要我们帮忙的吗,皇后?”Tonya问。
“你们已经把多米诺骨牌摆好了,”Alyx说。“很快,我们就只需轻轻一推。”
理想主义者与半机器人
离开海滩,暗淡的霓虹灯光让Alyx眼晕。
就像在很多其他宇宙一样,Eurtec在GOC的管辖之下。但是就像在那些其他宇宙一样,这种管辖相当无力,尽管这里的GOC拥有如此的规模和权势。
在逆模因斗篷的掩护下躲过GOC的巡逻并不难,沿着一条小巷走到头,走上某个酒吧里的台阶,再从同一个酒吧的同一道台阶下来,回到小巷,找到一面水泥墙壁,穿过墙就到了隐蔽点。
她见到了Vincent Anderson二世和Gibson。Vincent正在替Gibson调整一条机械义肢。
“哦,嗨,Alyx,”Vincent说。“你这次的计划挺牛啊。”
“ADAM告诉你的?”
“不是,是Marion,”Vincent说。“对了,顺便问下,她有没有跟你提启动计划后帮我销售我的技术产品的事?”
在Alyx看来,Vincent有点像个败家子。他把父亲的公司运营得一塌糊涂,导致它最后落入GOC之手。不过他在电子增强设备方面技术高超——Alyx的前臂里就植入了他制造的增强设备以备不时之需,可惜他一直企图在自己的专业领域之外有所作为。对于工程师来说这也算是个常见的毛病。
“我们应该关心更崇高的事业,理想主义者,”Gibson说。“很快,这个世界就将从束缚人类力量的堕落血肉中解脱。很快,信号将像光一样流动。很快,我们都将成为WAN。”
虽然Vincent戴着他一直戴着的那副太阳镜,不过Alyx知道他现在一定正在翻白眼。
“你们削弱了GOC的屏蔽和网络过滤系统,对吗?”Alyx说。
“我不过是执行了栖于我身的WAN的意志……但是没错,”Gibson说。“知识渴求着自由。”
Vincent没有反驳,这倒是很罕见。过了好一会,他才看向她。
“我们是在做正确的事,对吗?你看见过那么多其他世界是什么样的。我们现在做的是不是——”
“是的,”Alyx说。她自己都不知道她有没有说谎。
马戏团长与穿制服的
通往不安马戏团的路径从来不会完全一致;它会随着马戏团一同移动。不过这对Alyx来说不是什么问题。
当然,现在马戏团本身也不过是个幌子。它已经是保护同盟机动特遣队的训练场,也是一个所有人都可以安全而自由地生活的地方。
她刚把头探进一座大帐篷,一颗火球就朝她飞来。
她本能地挥出右手,划动手指结出一个复杂的法印。她一把抓住火球,它在空气中消散了。
“还是这么犀利,Ally!”魔法小丑Icky朝她走来。她向一排受训者打了个手势,于是他们不再对简陋的假人发射自己的火球。
“Icky。情况如何?”Alyx问。
“超——级好,”Icky面带笑容地说。“找到了可以招到人的新去处——看样子波兰那儿还有一个隐藏的仙灵城市到现在还没被GOC发现,所以我们可以先去找他们。还有——看见那个孩子了吗?”
她指了指一个受训者,那是个长着鹿角的年轻女子。
“她的爸爸是个联盟特工,代号叫‘Ukulele’。大概十天前把她带来了我们这里。他自己就是个绿型。我们已经快要成功策反他了——他正在寻找出路。”
Alyx点点头。“继续加油。”
Icky笑着朝她挥挥手,回去继续自己的工作。
Alyx又看了她们一会儿,突然一种强烈的被注视感向她袭来。
“你有什么话要说,MacAllister?”
Quinn MacAllister来到她身边。“你确定要这样做吗,Chao?”
“做什么?”
“我们正在组建起一支强得可怕的军队,”MacAllister说,她的眼睛盯着那些受训者。“战斗法师。刺客。狙击手。全都是在阴影中行事的高手。”
Alyx知道MacAllister想要说的是什么。她曾在几百个其他世界里多次见到过类似的戏码上演。
“等战争结束了,我们该拿他们怎么办?”
“但愿能做出正确的选择,”Alyx说。说实在的,这只有半对半的概率。
MacAllister烦闷地哼了一声。“屠龙者终将成为恶龙,”她说。“而我们自己的队伍里甚至还有一个黑帮首领。我可以想象,这样下去很快——很快就会滑入歧途。一旦GOC不复存在,只剩下我们自己之后……”
Alyx认识很多其他的Quinn MacAllister。她们大多痛恨基金会而非喜欢。
“这就是为什么你会在这里,”她说。“因为那一天终究会到来。需要有人来使我们道德上保持清白。”
皇后,城堡,幽灵
和Jude Kriyot一样,Wlina Fritz坐在地下室里,面对着一台笔记本电脑。
但和Jude Kriyot不同的是,Wilna Fritz看上去并不沮丧,尽管她的房间也是一团乱。房间里有一块板子,用大头钉和线把各种线索连接在一起。尽管Alyx周游过很多地方,她还是要说,阴谋论者喜欢使用这些东西完全就是个不准确的刻板印象。不过这个看法只持续到到她遇见Wilna为止。
她粗略扫了一眼那块板子。就像往常一样,它不可思议地勾勒出了联盟活动的准确图景。
“所以,你打算继续做下去了?”Wilna Fritz问道,她的目光没有离开电脑屏幕。
“嗨,Wilna,”Alyx说。“没有人Nobody在这里吗?”
Fritz哼了一声。“他无处不在。”
“黑月是否嚎叫?”
“只待挣脱枷锁。”
暗号对上了。这确实是Wilna,健康完好地在她面前。
“你该好好改进你的安保措施,”Alyx说。
“要是有人能找到我,要么是我已经死了,要么就是你,”Wilna说。“ADAM把你的计划发给我了。”
观谬维基被GOC攻陷只是迫使Wilna撤退到了暗网中。在这里,在黑暗里,她的力量空前强大。
“这样会不会太过了?”
“我们给过他们最后通牒了,”Wilna说。“控制并曝光他们的机密。收容并策反他们的特工。保护并收留他们的受害者。如果有必要的话,打破帷幕。难道你从未想过会有这种必要?”
Alyx没有回答她。她实在太清楚这个答案了。自由的代价是真相。
“我想也是嘛,”Wilna说。
Alyx的目光越过Wilna的肩膀,望向她的电脑屏幕,她看着他们辛劳的成果。可爱的魔法动物的图片即将被贴遍社交媒体。Wondertainment产品的邮寄广告即将被发送至资本主义世界的每一台联网的打印机上。准确详实的GOC全部屠杀罪行的报告与受害者证言即将向全世界曝光。
“这只是最简单的部分,”Alyx说。“在这之后的一切才是真正的战斗。”
Wilna Fritz按下了回车键。
“我们不会再死在黑暗当中。是时候生活在光明之下了。”