咚、咚、咚——门又被拍响了。齐宁端着泡面从床上爬起来,嘴里骂着催水费的真勤快。她宅家第三十天,泡面还剩十四桶,水费单能欠就欠。猫眼外,一张啃烂了半边的人脸正对着她,眼球浑浊,下颚的肉耷拉着。一根灰白的指甲从门缝里穿进来,血顺着门板往下淌。“卧槽——”泡面脱手,汤洒了一地。那东西开始撞门,防盗门在门框里哐哐震。齐宁腿软了三秒,然后求生本能压过一切:她扑过去把鞋柜整个推到门后,又拖来冰柜叠上去,两只手推得指甲劈了都没停。第三次撞击来的时候,整面墙的灰都在掉。门没破。外面安静了几秒,接着楼道里响起拖行的脚步声——一只,两只……她贴着冰柜数,至少五双鞋底蹭地的声音,还夹着某种湿漉漉的拖拽音。不是一只。是一群。齐宁滑坐在地上,第一反应不是哭,是清点家当——宅女的本能:先盘库存。泡面十四桶,压缩饼干六包,矿泉水半箱十二瓶,上次搬家剩下的撬棍一根,菜刀一把,手机电量百分之六十三。她用计算器按了按:一天三桶,不到五天,断粮倒计时开始。五天,没人来救她怎么办?不,先别想这个。她需要情报。齐宁把手机调成静音录像,从撬棍捅开的最小门缝里伸出去拍楼道。回放里她看到了关键画面:丧尸背对着她的门,全都朝楼下电梯间的方向游荡,有一只撞翻了消防栓的铁箱,哗啦一声,五只脑袋齐刷刷转过去,扑向声源。可她自己刚才摔泡面碗的时候,它们没反应。“……靠声音索敌。”她盯着屏幕,游戏里打了五年丧尸题材,这条规则熟得不能再熟。不看,只听。那碗汤洒在地上没引起注意,是因为声音不够大、不够近?她小心用拖把杆在门内侧敲了一下地板。楼道里五双脚步立刻转向她的门,撞了两下,没得到后续声音,又慢慢散开。齐宁后背全湿了。规则确认:不出声,就相对安全。但电梯间没门,是整个楼层的漏洞。她翻出工具箱,开始干一件这辈子没干过的事——拆家具。床板卸下来,拖到电梯口横着钉死;六楼楼梯上行转角的位置,她用剩下的半张床板和书架拦出一道斜卡,只留一个需要侧身过的窄口。这是她游戏里守点封路的套路:留一个口,怪只能一只一只过。锤子砸歪了三次,左手拇指砸出一个血泡,她龇着牙继续。到天黑,六楼整层被她封成一个歪歪扭扭但确实能用的安全区雏形。她啃了半桶泡面,靠着门后的冰柜坐下,撬棍横在腿上。原来这就是末世第一天。没有广播,没有警报,没有救援,只有楼道里游荡的邻居——那些她住了两年从没打过招呼的邻居。她正打算眯一会儿,隔壁601突然传出“嘀——嘀——”的电子报警音,节奏规整,是台式机断电前的自动关机警报。齐宁睁开眼。601住的是个宅男,天天半夜打游戏骂队友的那种。报警音意味着电脑还开着——要么人跑了没关,要么……人还在。她握紧撬棍,隔着墙听了半宿。报警音一夜没停,中途换成了更弱的电流杂音。天蒙蒙亮的时候,杂音停了。齐宁凑近自家门缝往下看601的方向——那扇门的缝隙里,正缓缓渗出一线新的血。她咽了口唾沫,低头看了眼撬棍,又看了眼泡面箱:十四桶。一天三桶,撑不到五天。隔壁,可能有问题,也可能有补给。
撬棍尖捅进601门缝的瞬间,门里传来指甲刮木头的声音。沙、沙、沙。齐宁僵在原地。门里有东西——它不是唯一在门后听声音的人,她也不是。她退半步,背贴上自家冰柜,深吸一口气。昨天她还能躲在门后数脚步声,今天不行了。泡面十四桶,一天三桶,撑不到五天。隔壁住的是个宅男,宅男的屋子里,就是半个超市。问题是那只东西挡在中间。她蹲回自家门口,掏出手机,想起昨天楼道里那五只对消防栓铁箱的反应。规则很简单:声音大的地方,就有它们。齐宁把手机音量调到最大,找了一段鼓点密集的电子乐,从601门缝下方的缝塞了半只手机进去,然后自己闪身贴到楼道另一侧的墙后,撬棍横在腰间。音乐炸响。601的门被从里面撞得哐哐响,两下,三下,门没开——老周家的门居然也是反锁加抵死的,怪只能干撞。齐宁愣了两秒,随即反应过来:门撞不开,那就让它自己开门。她伸手把601的旧式猫眼锁上方那颗松动的合页螺丝拧了两圈——上个月物业贴通知换过这栋楼一半的门合页,601的就是松的那批。她的手心全是汗,拧螺丝的时候稳得吓人。心细手稳,打了五年需要一秒四个操作的游戏,这双手除了拿外卖,头一次干正经事。第三颗螺丝松开的瞬间,门板朝内倾斜,那东西自己把自己压了出来。是个穿灰T恤的男人,半边脖子没了,脑袋歪着,四肢着地爬出来,朝手机的方向扑。齐宁没看它,看的是地板。游戏里绕后走位的基本功:贴墙、外圈、不出声。她三步绕到它侧后方,双手握撬棍,抡圆,砸在后脑上。噗。第一下没死透,它翻身要抓她的脚踝,她跳开半步,第二下砸在太阳穴。不动了。齐宁握着撬棍站在原地,手抖得像帕金森,撬棍尖一滴一滴往下淌黑血。她扭头干呕了一下,然后掏出手机对着尸体拍了张照。“第一次,”她哑着嗓子给自己念,“存档。”她是第一次杀,但这只丧尸已经死透了——领口挂着工作牌:周建国,某网络公司运维。齐宁用撬棍把尸体拖到阳台角落,拿窗帘盖上,然后开始干活。搜刮。客厅桌上台式机还亮着,屏幕停在断电报警前的界面,一个没打完的排位。桌上压着一张手写便签,字很潦草:“应急水——物业地下二层消防水箱,闸没关,还有存的。”字条下面压着半瓶碘伏、一板没拆的感冒药,插线板上挂着一只两万毫安的充电宝,指示灯满格。齐宁把充电宝揣进兜里的时候,手都在颤——手机就是她的地图、情报和命,电量从63%掉到41%的这半天,她比丢了钱包还慌。老周的储物间才是真正的宝库。两袋二十斤装的大米,一箱挂面,五升装的油两桶,还有整整一纸箱的压缩饼干和罐头。齐宁蹲在纸箱前掰着指头算:她自己的泡面十四桶,加上这些,两个人吃都能撑两周以上。“周哥,”她对着阳台上盖着窗帘的轮廓,认真地说,“房租我替你交,物资算你入股。”没人回答。但她翻储物间最里侧的架子时,胳膊被翘起的置物架铁皮划了一道口子,血珠冒出来。齐宁僵住了。被咬会感染——那刮伤呢?她抓起那半瓶碘伏,倒在伤口上,疼得倒吸冷气,然后用手机定了两小时的闹钟,坐在客厅正中间,撬棍横在腿上,盯着自己的手臂。第一小时,伤口周围没有变黑。第二小时,没有发热,没有抽搐,她还能拧开矿泉水瓶盖。规则二确认:破皮要消毒,擦伤不是感染。被咬才是。她长出一口气,整个人靠进沙发里,差点睡着。但她没睡。她把601的门重新抵好,把米面粮油归置进客厅,这里从今天起是二号据点——主基地六楼,前哨601,中间隔一堵墙,物资动线五秒可达。宅女布置房间,这方面的专业能力,末世之前就是全小区第一。傍晚,她站在601窗边往外看。小区门口的超市招牌还立着,卷帘门拉了一半,里面黑漆漆的。停车场里,一辆白色SUV横在出口,四个车门大开,车灯——还亮着。大灯在暮色里泛着白,没熄火。齐宁眯起眼。车没熄火,说明有人停得匆忙,或者……人还在附近。她正要细看,车底下阴影里有什么东西动了一下,车灯随之晃了晃,然后熄灭了。不是风吹的。她收回视线,退到楼梯口。水。字条上写的是地下二层,消防水箱。她的十二瓶矿泉水,省着喝还能撑三天。齐宁握着消防栓箱里摸出来的一把扳手,顺着楼梯往下走了一层半,在五楼半的转角停住。往下看,楼梯间的黑暗里,除了隐隐的水声——地下二层的方向,还有拖拽声。一下,一下,很沉。她屏住呼吸又数了十秒。不是一只。至少两三双鞋底蹭地的动静,混在水声里。齐宁悄悄退回601门口,背贴着墙,慢慢呼气。奇怪的是,她第一反应不是腿软想逃回被窝。她在脑子里开始画图:地下二层平面,楼梯入口,储水间位置,几只怪,什么路线,用什么堵哪条道。“卡位,”她自言自语,捏了捏兜里的充电宝,“得先找个能出声的东西。”
四瓶矿泉水在桌上排成一排。齐宁用马克笔在瓶身上写:早、中、晚、命。第三天了,水比丧尸先杀死她。她在纸上画地下二层的平面图——凭记忆画的,歪歪扭扭,像小学美术作业。楼梯下去,走廊尽头配电房,左手边储水间。楼下至少两三只,拖拽声很沉。方案她昨晚想了半宿:老周那台台式机,音箱功率不小。把主机搬到地下一层楼梯口,外放声音,把怪引到配电房死角,她在走廊中段用床板做个单向卡位——进得去出不来那种。然后她只进储水间,装水,撤。游戏里这张图她打过一百遍,只不过怪是像素的,死了会掉装备。“就当打副本。”她给自己打气,“这副本掉水。”上午十点,她把老周的主机搬下楼,路过物业杂物间时顺走一具干粉灭火器,掂了掂,塞进背包。主机接上音箱,藏在地下一层杂物堆后面,手机蓝牙远程点播放。鼓点炸响。楼下的拖拽声立刻活了,两三只同时朝声源挪。齐宁抱着半张床板下到地下一层,把床板斜插在走廊中段的门框上,顶死,只留一个她能侧身过的窄口。卡位成型:怪从楼梯口过来,绕过床板才能进走廊深处,而她在窄口这边,一夫当关。她提着撬棍下到地下二层入口,猫着腰往里看。一切按计划。直到她走到走廊中段。一堆废纸箱塌在过道正中间,搬家的人留下的,泡了水,湿哒哒铺了半个走廊。第一只丧尸踩上去,纸箱缠住了它的脚,它就卡在那儿,不前不后,恰好堵死了引怪路线——后面的怪撞它、推它,挤成一团,全卡在纸箱堆上。音乐的鼓点还在响,怪们对着主机方向疯狂挣扎,就是过不来。“……行吧。”齐宁蹲在楼梯口,揉了揉脸,“副本机制更新了。”硬等是等不来单只的。她看了看手里的东西:撬棍,还有刚顺来的那具干粉灭火器。喷雾不响,但粉雾能糊眼睛——不对,丧尸没有眼睛。她盯着那团卡住的怪看了十秒,忽然明白过来:糊的不是眼睛,是气味。丧尸靠声音索敌,但找活人大概还靠闻。她把灭火器抱在怀里,侧身挤过窄口,绕到纸箱堆侧面,对着最前面那只的脑袋按下去。白粉炸开。那东西抽搐着原地打转,跟同伴挤成一团,谁也咬不着谁。齐宁趁乱撬棍出手,从上往下,一下,两下。第一只倒下。后面两只被同伴的尸体和纸箱彻底卡住,挤在窄道里,一次只能探出半个身子——完美的逐个清怪位。她退到床板窄口后,一进一出,跟打木桩似的。第二只探进来,撬棍迎头。第三只被前两只的尸体绊住,扑空,头磕在墙上,撬棍补刀。第四只,也是最壮的那只,挣脱纸箱堆,从侧面扑过来,齐宁躲闪不及,小腿被它的指甲划开一道,裤子裂了半尺。她疼得倒退半步,反手一棍抡在它后脑上,又补了两下。走廊安静了。四只,全清。齐宁靠在墙上,先处理伤口——老规矩,被咬才算,划伤消了毒就没事。碘伏又见底了。她撕下半截衣袖扎住小腿,血没喷。然后是正事。储水间的门虚掩着,推开,一股水汽扑面。消防水箱的闸门没关,管子还在往外渗水,地上积了浅浅一层。字条没骗人。她把带来的六个矿泉桶挨个接满,压上盖子,码好。旁边物业值班室里,她撬开柜子——整箱瓶装水,二十四瓶,还有墙挂钩上挂着的一把消防斧,斧刃崭新。“装备栏扩容。”她把斧头掂了掂,两桶水一手拎一个,肩膀压得生疼。一趟搬不完,她跑了三趟,中途在窄口卡位后喘了两次气。全部搬完,六桶水加一箱瓶装水,摆满半个客厅。她坐在水堆中间灌了自己半瓶,喉咙舒服得想哼歌。三天来第一次,喝水的速度大于思考的速度。然后她听见了。咚。咚。咚。三响,停顿,再三响。规律,有节奏,是金属管道传来的敲击声——从地下车库的方向。齐宁僵住。这不是水声,也不是怪。怪不会敲三下停一下。是摩斯码的求救节奏,或者单纯是活人在用尽最后的力气告诉世界:这里有人。她冲到窗边。停车场,那辆白色SUV的方向,车灯亮了一下,随即一声枪响——很短,像被掐断。然后归于死寂。车灯又灭了。齐宁站在原地,手里的水瓶捏得咯吱响。楼下有活人,开过枪,现在可能被怪围住了。她想起枪声会引来什么。想起自己这栋楼离停车场多远。她退回601,反手抵好门,蹲在门后盯着楼梯口,消防斧横在膝盖上。救不救?她囤的水和粮,多到能分出一份。可她也只有一双刚会杀怪的手。半夜,管道的敲击声又响了。三响,停顿,三响——比白天弱得多,间隔也长。对方快撑不住了。齐宁蹲在601门口,背贴着墙,盯着黑漆漆的楼梯口,握紧消防斧。宅了三十天的人,头一回,要决定要不要主动出门见人。
齐宁盯着楼梯口看了十分钟,消防斧的柄被她攥出了汗。
三响敲击声又来了,比白天弱,间隔拉长到快十秒。对方快没力气了。
她脑子里的算盘打得飞快:救,多一双搬水的手;不救,那人死了,枪声引来的怪迟早散到楼下来。账算到最后,其实没有第二个选项。
"……行,见人。"她抓起消防斧和撬棍,又把半瓶矿泉水塞进兜里。
出门前她对着空气排练了一遍台词,最后选了最凶的一句——凶一点,能省掉寒暄。
消防通道的门被她用撬棍别开,楼下黑暗里,三响声正好停了。
齐宁顺着管道的余音往地下车库摸,走到一半就听见了别的动静:指甲刮车漆的声音,密密麻麻,至少七八只,围在那辆白色SUV旁边。
车窗上糊着血手印,驾驶座里缩着个瘦高个,抱着头,一动不动。
"别叫。"齐宁压低声音,斧头横在身前,"叫一声,我斧头先到你。"
车里的人猛地抬头,是个大学生模样的男孩,眼眶通红,嘴张了张,硬是没出声,只疯狂点头。
"钥匙还在吗?"
男孩颤抖着举起来。齐宁扫了一圈车库——七只,围死了车。硬打是不可能的,她刚从末日新手村毕业三天。
但她有更熟的路子。
"听我说。"她蹲下来,用撬棍在水泥地上划线,"你拧钥匙,一打火就松手,让电机空转——它们全扑引擎盖那边。然后你从副驾下车,沿着这条线跑,三步一格,别回头。"
"你、你不跑?"
"我殿后。走。"
齐宁退到车库另一侧的卷帘门按钮旁。电机一响,整排卷帘门哗啦啦震动,七只丧尸果然全被声音拽了过去,围向车头。
男孩钻出车门,按地上的线狂奔。齐宁按下按钮,卷帘门升起一半,她把灭火器朝门外的墙上砸过去——白粉炸开,反光晃眼。
几只丧尸循声转头扑向卷帘门。缺口就这一瞬。
"跑!上楼!三楼左转!"
两人冲进消防梯,齐宁最后进门,反手把门拽死。身后的撞击声咚咚砸来,但那扇铁门她下午检查过,能扛。
一路爬回六楼,男孩扶着墙吐了。齐宁把半瓶水扔给他:"漱口,别咽太急。"
男孩缓过来,才想起自我介绍:"我叫小柯,大学生……谢谢你。枪,枪是我开的,我看见丧尸咬人,一枪打偏了……"
"然后整条街的怪都来找你。"齐宁面无表情,"记住,枪声等于开饭铃。在城里,那玩意比丧尸本身还致命。"
小柯连连点头,又急急地报信:"我开车路过街口加油站,没爆,里面油还多!还有,两条街外我收到过广播,军队的,说有个集结点,信号断断续续……"
齐宁眼睛亮了一下。加油站,油。集结点,军队。
情报这东西,比水还值钱。
"先吃饭。"她说。
回到客厅,齐宁打开柜子清点:泡面,零桶。压缩饼干,最后一包。
她撕开压缩饼干,掰了一半给小柯。两人就着水,一小口一小口啃。四天的口粮,撑到现在只剩这一包。
"你就吃这些?"小柯问。
"不然呢,点外卖?"
小柯干笑两声,忽然沉默了。半包饼干下肚,楼下传来一声闷响。
咚。
接着是第二声、第三声,越来越多,杂沓的脚步声、拖拽声,从四面八方朝这栋楼汇聚。
齐宁冲到窗边。街上,一条断断续续的黑影正顺着枪声来过的方向挪过来——几十只,也许更多。走在最前面的已经开始撞单元门了。
门框在震。那扇单元门是木芯的,撑不过今晚。
"它们没头没脑地撞,撞到里面来,我们死;明天它们散了,我们也没粮了。"齐宁靠着墙,脑子转得飞快,"躲不掉,就吃掉它们。"
"吃……吃掉?"
"守塔打过吧?"齐宁已经在翻601的储物间,"火墙,地形杀。"
储物间角落里,老周的囤货没让她失望:一桶工业酒精,二十升,装修剩下的半桶焦油,还有一卷塑料布和一捆电线。这人当初是打算装修房子的。
"老周,谢了。"齐宁扛起酒精桶,"你的新房,我帮你装修。"
她把酒精和焦油一趟趟搬到三楼,沿着楼梯转角浇出一道弧形的油线,焦油垫底,酒精封顶,火一点就是一堵墙。第一个弯浇完,浇第二个。
小柯在旁边看得目瞪口呆:"这是……陷阱?"
"是收费站。"齐宁直起腰,抹了把汗,"它们爬楼要过三个弯,每个弯,我们收一次过路费。"
她清点装备:消防斧、撬棍、三个打火机、小柯那把只剩两发子弹的枪。
泡面:零。压缩饼干:零。
凌晨四点,楼下的撞击声密了。第一只丧尸已经爬上二楼,拖着腿朝三楼挪。
齐宁蹲在转角上方的台阶上,拇指扣住打火机,回头看了一眼抖得像筛糠的小柯。
"记住,火起来以后,只补漏掉的,别逞英雄。"
"哦、哦。"
第一只丧尸踩进焦油,脚被粘住,挣扎着朝上扑。
齐宁划亮第一个打火机,扔了下去。
轰——火墙在三楼转角炸起半人高,橙红的火光把整条楼道照得通亮。丧尸在火里抽搐、燃烧,皮肉焦臭味涌上来,小柯干呕着别过脸。
齐宁眯着眼盯着火墙,手里的撬棍握得死紧。
这一仗,赢,才有饭吃。"
火墙烧到第二分钟,焦味顶得人睁不开眼。
第一梯队六七只,全堵在转角那个弧里,火顺着酒精线爬得均匀,跟游戏里的判定框一样精准。可有一只在火起前就滚下了台阶,摔进楼梯背面的死角,正拖着一条烧着袖子的胳膊往上爬。
齐宁没喊小柯,自己下去两步,撬棍抡圆,一下。
闷响。不动的。
"第一个弯,收费完毕。"她弯腰捡起刚才那只打火机——外壳烫得捏不住,火苗都窜不稳了,扔在地上,火苗舔了两下,灭了。她退回阵地,声音压着喘,"别看火,看消防梯。"
小柯猛地回头——消防梯那扇铁门还封着,门后传来刮挠声,一下,两下,密起来。
"它们绕后了!"
"绕不了。"齐宁指了指门顶,"下午我用最后两块床板钉死了那扇门,钉子加电线捆了三道。它们进不来,只能从门缝里伸手。"
话音刚落,门缝里真就挤出一只焦黑的手。小柯抄起消防斧,闭着眼抡了一下,砍偏,第二下才砸中手肘,那截手臂缩回去,门后传来撞击声,一下比一下钝。
"好。就这样,它们撞多久你砸多久。"齐宁退后一步补位,"这是你第一个岗位,月薪是活着。"
小柯哭笑不得,手上的斧头却稳了。
真正的麻烦在四点四十。
三楼以上那条通道,他们用湿透的床板封过一段。一只体型壮硕的丧尸撞了三下,床板中间的钉子崩飞,整块板朝小柯后背砸塌下来——丧尸跟着板子一起扑出,五指已经抠到小柯的肩膀。
"别退!"齐宁吼。
来不及了。她兜里还剩一个打火机,最后剩的一个。地上,是撤防前她顺手泼的那道酒精线,从阵地一直连到消防梯门口——本来是备用的第二道火墙。
齐宁把打火机整只甩了过去。
火线贴着地皮炸开,唰地一声从丧尸脚下烧到墙角,把前后队拦腰切断。那只壮硕的被火燎住脸,动作一滞。
齐宁三步冲上,撬棍从侧面抡进太阳穴。倒退两步,脚跟抵住台阶,人没摔。
"小柯!斧头!补刀!"
小柯这次没闭眼,一斧头下去,干脆利落。
然后两个人背靠背站在两条火墙中间,喘得像破风箱。楼下的拖拽声还在,但已经乱了——前面的过不来,后面的闻不到活人,在楼下团团转。
"它们断了目标。"齐宁盯着火,"声音索敌,火也在响。它们会围着这栋楼转到天亮,然后散。"
"你不下去补?"
"补个头。"她抬手看了一眼地上那圈烧剩的火苗,"三个打火机,全交待在这儿了。酒精也见了底,能烧的都烧了。剩下的交给太阳。"
天蒙蒙亮的时候,街上的黑影果然散了大半,剩下几只卡在单元门口,被晨光一照,慢得像没电的机器人。
楼,保住了。
两人瘫在三楼台阶上。齐宁摸出最后一瓶矿泉水,拧开,先递给小柯。小柯推回来,她又推过去,最后一人一口,瓶子碰了一下瓶身,算庆功。
"战报。"齐宁掰手指头,"丧尸:歼灭约二十,剩余游散。我方:零阵亡,零感染。装备:斧头、撬棍、枪两发。水:五桶加二十三瓶。粮:"她顿了一下,"零。"
"零还笑得出来?"
"因为据点成型了。"齐宁站起来拍裤子,"一栋楼,两个活人,干净的水源,封死的通道。这在末日,是豪宅。"
上午九点,天台。
风很大,吹得人衣服猎猎响。齐宁趴在女儿墙后,用老周留下的一副望远镜扫街。楼下安静,焦油烧过的三楼窗口还在冒细烟,像一栋楼的胜利勋章。
"街口,加油站。"她调焦距,"顶棚没塌,油罐在地下,没爆。去那里,我们能解决灯、车、还有下个月的口粮。"
小柯凑过来,忽然指着加油站招牌旁边:"那是什么?"
两条街外的方向,一小股烟正笔直地往上升。不是火,是烟堆,有人烧的信号烟,或者有人留下的东西。
齐宁盯着那股烟看了足足十秒,收起望远镜。
"有人。或者有人留了路标。"她把撬棍别在腰后,扭头看小柯,"收拾东西。明天出门。"
"明天?今天不去?"
"今天搬运物资、修补火墙、画地图。"齐宁站在天台边缘,看了眼楼下安静的街道,又看了眼自己这双手,四天前还只会开外卖软件的手。"打仗前,先把自己养饱。"
小柯咧嘴笑了,忽然问:"你以前是干什么的?军人?"
齐宁想了想,很认真地回答:"宅女。宅了三十天,一天没出门。"
"……那这四天你哪学的?"
"打游戏。"她朝楼梯口走,"守塔模式,全服前百分之五。"
楼下,风穿过焦黑的楼道,火种早已熄灭。而六楼那扇贴着封条的防盗门后面,米面还剩半屋子,水还满着——末日第一周,齐宁的据点,正式挂牌营业。