第14章 幕间 四行仓库
林远醒来的时候,后脑勺撞在粮袋上。
不是切尔诺贝利被烫醒的灼烧,不是泰坦尼克号被震醒的撞击,不是伦敦大火被呛醒的浓烟,不是博帕尔被刺痛惊醒的化学灼伤,不是里斯本被晃醒的地震。是被人从地上拖起来,后脑勺磕在堆叠的麻袋边缘。麻袋里装的是黄豆,硬邦邦的,隔着粗麻布硌得他后脑勺生疼。有人在喊。不是系统翻译的俄语、英语、葡萄牙语,是带着浓重口音的——湖北话。
“你他妈还活着!起来!鬼子上来了!”
林远睁开眼。头顶不是天花板,是灰色的混凝土楼板,裂缝里往下掉灰。周围是粮袋堆成的掩体,每摞三四层,码得整整齐齐,靠墙那几摞已经被震歪了,黄豆从弹孔里漏出来,在水泥地上铺成一片滚动的淡黄色。空气里全是硝烟和豆腥味。窗外是傍晚,苏州河方向有火光映在低矮的云层上,把整个仓库照成一片暗红色。枪声很近,不是远处传来的零星射击,是持续不断的爆豆般的交火声,中间夹杂着日军歪把子轻机枪特有的节奏——三发短点,停顿,再三发。子弹打在仓库外墙上,混凝土碎屑从窗户溅进来,撒在粮袋上发出沙沙的响声。
他低头看自己。灰蓝色军装,绑腿打得整整齐齐,胸口挂着两个帆布弹袋,腰间别着四颗德式木柄手榴弹。不是他穿过的那套切尔诺贝利消防服,不是泰坦尼克号上的灰色棉质衬衫,不是伦敦大火里的矿工帆布外套,不是博帕尔贫民窟里的粗布衫,不是里斯本的三楼公寓床单裹成的临时绑带。是正正经经的军装。口袋里有一张对折的纸片,他抽出来——是一张守军名单,钢笔写的,字迹潦草,有些名字旁边画了圈,有些名字旁边画了叉。名单最下面有一个名字被圈出来,旁边标注:今晚送信至租界。他的名字。或者说,这具身体原主人的名字。
然后他摸到了枪。
不是腰间那把跟了他五个副本的消防斧——那把斧头还在,别在右腰侧,斧柄被里斯本的河泥泡过,斧刃上还有造船厂龙门吊倒塌时砸出的那个小缺口。但左手摸到的是另一把枪。不是汉阳造,不是中正式,不是守军手里的任何一种武器。是QBZ191。他不需要低头看也认得出这把枪——他在上辈子的军事新闻里见过它,国产新一代制式步枪,无托结构,5.8毫米口径,顶部带着一段皮卡汀尼导轨,护木是工程塑料的,枪身比汉阳造短整整一大截,握把角度更垂直,弹匣弧度更小。这不是1937年应该存在的东西。这把枪现在背在他背上,枪背带斜挎过胸口,正好压在那张守军名单上。
他把枪翻过来检查。弹匣是满的,30发。枪托上有两个用刀刻出来的小字,歪歪扭扭的,像是某个不知道什么时候留下的标记。他把枪背好,又把腰间那几颗德式手榴弹重新挂稳。然后枪声突然近了。不是窗外——是楼下,一楼大厅方向。三八式步枪的射击声和汉阳造的还击声混在一起,中间夹着日语的口号。
他没时间想了。这把枪哪儿来的、系统为什么这次没有任何提示、任务面板为什么是暗的——这些问题都要等。他把斧头从腰间拔出来放在粮袋旁边备用,把QBZ191从肩上卸下来端在手里,枪托抵肩,往楼梯口移动。脚步声——不是军靴,是胶鞋,日军海军陆战队的标配,鞋底在混凝土楼梯上发出短促的摩擦声。他从楼梯井往下看,两个日军正贴着楼梯内侧往上摸,三八式步枪的刺刀在昏暗的楼道里反着冷光。
他用QBZ191的光学瞄具对准第一个日军。不是打头,是打胸口——近距作战靶场训练的动作,几百个小时的肌肉记忆,即使从来没在实战中开过枪,他在那间出租屋里刷过的军事视频多到可以从弹匣认出厂家的批号间距。他扣下扳机,枪声很闷,5.8毫米的弹头在楼梯间里打进水泥墙的碎屑炸起来。没中。不是枪不准——是他的手在抖。他在切尔诺贝利被克格勃的子弹打穿过后脑,但那是挨枪子,不是扣扳机。打人和挨打是两回事。
那两个日军听到了枪声,立刻贴墙,开始用日朝语交替喊话。他听懂了几个音节——“掷弹筒”。不能再等了。他把枪口压低,对着楼梯转角打了三点发。前两发打在墙上,第三发打在第一个日军的左腿上半截。那人闷哼一声歪倒在扶手栏杆上往楼下栽,手里那把三八式滑脱摔在楼梯上。第二个日军往后退了一步想举枪还击,林远在下一轮短点射中打中了他持枪的那条手臂。他把QBZ191保险关上背回背上,拔出手榴弹拔掉拉环往楼梯井下方甩过去,然后转身缩回粮袋掩体后。
爆炸。水泥碎块从楼梯口飞上来,砸在粮袋上簌簌地往下掉黄豆。他靠着墙根蹲下,握枪的手还有些微发抖。这把枪是三百发的弹药量,每打一发弹匣就少一发,而他在四行仓库里没有任何补给。他不知道今晚要打多久,也不知道自己会死几次。但他刚才那一梭子打出了一件他这辈子头回做的事:他开枪不是为了杀,是为了让别人活。
他把那个新兵从楼梯口拖回来。新兵很年轻,大概十八九岁,脸上全是灰,左肩被掷弹筒破片削掉了一块肉,血顺着胳膊往下淌,滴在水泥地上和黄豆混在一起。新兵咬着牙没喊疼,嘴唇咬破了,血和脸上的灰混成一道泥沟。林远撕开自己的绑腿布给他压住伤口,新兵忽然抓住他的手腕,力气很大,指甲嵌进他手腕上的皮肤。“你那个枪——我看见了——你哪部分的?你是不是督战队?”
林远没有回答。他把新兵的手从自己手腕上掰开,按在伤口上让他自己压着,然后把背上那把QBZ191解下来端在手里,站起来从粮袋掩体后面探出半个头。从这个角度可以看到仓库外面的街道,南侧的街垒,守军在倒塌的电车后面用沙袋堆了半圈掩体。机枪巢架在十字路口,一挺zb26正对着北面扫射,弹壳从抛壳窗里跳出来,掉在沙袋上冒烟。更远处是日军的阵地——他们在苏州河北岸,把民房改成了火力点,歪把子轻机枪的枪口焰在窗洞里一闪一闪。隔着河,南岸是租界,灯火通明,霓虹灯还在亮,外国人在河对岸抽着烟看这场战斗——这大概是人类战争史上最荒诞的场面:一场生死决斗正在全世界的围观下进行。
他把光学瞄具的准星对准河北岸一个机枪火力点,扣下扳机。这一枪没有抖。子弹穿过了窗洞左侧的砖墙边缘,那个火力点的枪口焰停了一瞬——他打中了机枪手还是副射手,他看不清。但zb26的压力松了一秒,守军趁机换了一条弹链。然后日军开始炮击。不是掷弹筒,是九二式步兵炮,炮弹从北岸的某条巷子里飞过来,砸在仓库外墙根,炸开的碎石和泥土溅进窗户。他缩回掩体后,肩膀上的粮袋被一块弹片划破,黄豆从破口里涌出来,撒了他一头。周围全是爆炸声,混凝土粉尘和硝烟混在一起,什么都看不清。有人被炸倒了,在他左边大概三步远的地方,仰面倒在地上,胸口全是血,嘴张着,发不出声音。他认识那张脸——他蹲过同一张粮袋掩体,和他一起压过弹匣,还曾把一块掰开的压缩饼干递给他。新兵在墙角喊:“他不行了——他不行了!”
林远没答话。他低头蹲回来,把那人的还温热的手从自己腿侧挪开,检查弹匣。还剩14发。他把快没子弹的弹匣退出来,从背囊里摸出一块散装油布——不是博帕尔那块浸了废机油的布条,是出厂自带的防护油布——把弹匣擦干净重新压进去。窗外日军步兵炮的第二发炮弹炸进来,火光照亮了他靠在墙上的影子,那个守军名单在他口袋里被硝烟熏得卷了边。他把QBZ191换到左手,右手从腰间拔出消防斧放在粮袋上。
然后他听到日军冲锋的声音。不是喊杀声,是密集的皮靴踩在碎砖上的脚步声,从仓库北侧被炸开的墙洞往里面灌。他把斧头别回腰间,端起QBZ191,站起来对着墙洞方向打了一串长点射。五发,前两发压制墙洞外的日军队形,后三发压制东侧正往墙洞后推进掩护的副攻组。一个日军刚翻过墙洞,他补了一枪。这把枪的后坐力比他摸过的任何工具都更冲,他用惯了斧头和斧背,现在要用子弹。从枪声停下来到日军开始用轻迫击炮还击只有几秒,他刚从墙洞旁缩回掩体,一发炮弹就落在他原先观察窗的位置,把粮袋炸飞。碎屑飞进他左肩,隔着军装钻进去一小块碎石。
他把碎石从肩窝挑出来,继续压子弹。三十发。又装了一个满弹匣。他用枪不管准头够不够,只算弹药数。每打一枪,他就少一枪。少一枪,就要用更准的下一枪来补。这是他第一次在没有系统提示的条件下自己算数——前五个任务里系统告诉他“提示:该方向有克格勃”、“提示:吊机倒塌半径三十米”、“提示:油布非水”。现在系统面板一片漆黑,只有弹药数和枪托上那两个他看不懂的刻字陪着他。
这一轮他没有死。他从傍晚守到半夜,又从半夜守到凌晨。中间断水断粮,他在仓库二楼的一间储藏室里找到半桶饮用水,用钢盔分给周围的伤兵。有个伤兵胳膊骨折,他用里斯本卷帆布绳的经验把两块木条夹板绑好;有个班长肚子上被弹片划开,他用切尔诺贝利消毒伤口的方法煮了热水,没有药品,只有这半桶水。他把水倒进弹壳磨成的临时酒精灯壳里,从报废的无线电手摇发电机上切了一段细铜线,把铜线烧红,在班长伤口的边缘压了一圈烙止血——这是他这辈子头回做这种事,手没抖。
凌晨三点。他把眼睛从瞄具上移开,靠在粮袋上闭了两秒钟,然后又把枪端起来,压进满弹匣。这次他教那个单手还能动的新兵怎样换弹匣,怎样把快打空的弹匣退出来不浪费,怎样把换下来的空弹匣收好擦干净油留着以后备用。新兵学得很快,把每一个动作都记在心里,叠弹袋时还说了一句:“等打完仗,我想吃红烧肉。”林远没接话。他把枪托抵住肩窝,替新兵检查固定夹板的绳结,然后把斧头放在他好手的旁边。凌晨四点,日军开始用催泪性毒气弹——不是博帕尔那种无色无味的MIC,是苯氯乙酮,有刺鼻的苹果花味。他闻到那个味道就立刻撕开一块粗布,浸了水壶里的水,绑在口鼻上,然后想起博帕尔的教训——不对,不能用湿布。他把湿布扔掉,从粮袋旁捡起一块废弃的机油布,绑在口鼻上。油布隔绝了毒气,但窒息感仍在。他眯着眼睛对墙洞方向射击,打完一个弹匣,又打空一个弹匣,然后把油布分给旁边的伤兵,一个个帮他们绑好。第一个天亮的时候,日军退了。林远靠在粮袋上,怀里抱着那把QBZ191,弹匣里还剩7发。他看看自己的拇指指腹,被弹匣卡榫磨出一道红印,反复压弹时留下的痕迹刚刚开始发热。他没有立刻站起来,只是坐在粮袋和墙根之间,抬头看了看从墙洞照进来的一缕晨光。那是第一缕他没有死在任务里的阳光。新兵在他旁边歪着头睡着了,夹板夹着的胳膊还僵在空中,嘴里念着红烧肉。他把那张守军名单从口袋里掏出来,在背面写了几行字——告诉下一班哨兵日军火力点的位置、毒气袭击的时间和气味特征、储藏室还有半桶水。
然后他把名单叠好,塞进新兵手里。走到墙洞边缘,阳光的位置。他把QBZ191的保险关上,背在背上,把斧头从新兵身边轻轻抽回来别在腰间。他需要送信到租界——名单上画圈的人是他,送信是他今晚的最后一个任务。他跨过墙洞废墟,往南岸方向跑。苏州河水在晨光中反着淡金色,对岸租界的霓虹灯已经灭了,只剩下一排安静的电线杆和屋顶上的万国旗。他把枪背好,踏上通往租界的桥——然后桥面被炮火炸断。他落入苏州河,水花溅起之前,他还在想:那个新兵醒来之后会不会记得红烧肉。
【死亡。本次不纳入任务计数。不计轮次。无成就。】他沉入河底的淤泥时,系统面板短暂亮了一瞬,只弹出一个词:“继续。”
重新睁开眼时,他又站在粮袋掩体旁边。黄豆还在漏,窗外的枪声还没停,歪把子机枪还在苏州河北岸打三发短点。他把QBZ191背好,把斧头别在腰间,再次走向楼梯口。这一次他没有打偏第一枪。但当晚日军炮击时有一发炮弹正中西墙粮袋掩体,他被冲击波掀翻,后背撞在水泥柱上,脊椎受伤,双手完全失去知觉。他用牙咬着枪背带把自己和枪一起拖到墙角,新兵在黑暗中喊他的名字,他听不清,意识中断前把枪托上那两个字又摸了一遍。
【死亡。本次不纳入任务计数。不计轮次。无成就。】系统面板闪现了五秒,他在这五秒里看到了自己的手——手指还能弯曲,指甲完好无损。这双手被系统重置过几十次,但这次他不太想确认自己的身体状态。他只问了一句:“第三次。我还能再进去吗。”面板没有回答。他把斧头从腰间解下来摸了摸刃口上的缺口,又摸了一遍枪托上那两个字。然后白光来了,没给他闭眼的准备。
第三次站在粮袋掩体前。他把枪背好,斧头别紧。他打光了最后几个满弹匣,弹壳在脚边散了一地,那个新兵蹲在旁边帮他退弹匣——弹匣卡榫已经磨得发烫,每一次抽拔都带着嗡嗡的金属颤音。他在仓库死守了整整四个昼夜——不是一个人,是和四百二十个人一起。到第四天晚上,弹药耗尽,粮食也快没了,只剩几袋被弹片划破的黄豆。他把那半桶水分给了几个伤员,最后一次爬上掩体用光学瞄具确认河北岸日军阵地没有异动。
他还活着。子弹打光了,他还活着。汉阳造的刺刀别在腰带上,他把自己的QBZ191退了膛,闭锁空仓检查完毕,用那块出厂自带的油布把枪管擦干净,用撕碎的帆布包扎紧,放进背囊最底层。然后是斧头——他把斧头用绑腿布缠了缠刃口,放在枪旁。然后他背起背囊,跟着最后一支撤离的小队,从仓库南侧的隐秘墙洞翻出去,穿过烟雾往租界方向撤。至此,四百二十人中的绝大多数也分批撤出。
他走在队伍最后面。路上他又路过那座桥——不是断桥,这次他没掉进水里。新兵在他旁边一瘸一拐地走,夹板还夹着,嘴里还在念红烧肉。他正在和另一个老兵聊:“打完仗你要干什么?”“回老家种地。你呢?”“不知道。可能去学木匠。”
林远没说话。他走在队伍最后,把那把QBZ191背在背上,枪托上那两个字在苏州河的薄雾里渐渐模糊。他没能让这把枪留在仓库,只能留它继续跟着自己。天快亮的时候——真正地亮了,不是清晨炮火停止后那种暂时的寂静,是黎明。薄雾散去,苏州河在晨光中泛着淡淡的金色。对岸租界的万国旗在微风中轻轻飘动,远处传来有轨电车的铃声。从废墟般的北岸看过去,租界的霓虹灯已经熄了,街上开始有早起的行人,一个外国妇人正牵着小狗沿河散步。战争就像隔着一整条银河,像是从未发生过。
然后系统弹窗。
没有任何前缀,没有任务名称,没有死亡轮次,没有存活时间。只有一行字,写在半透明的蓝色面板上,字体和切尔诺贝利控制室里第一次弹出时一模一样——“四百二十人,撤出,三百五十八人。你属于这三百五十八分之一。本次不纳入任务计数。不计轮次。不奖励糖果。无隐藏成就。休息时间十二小时。”
林远站在租界的梧桐树下,把背囊放在长椅上。梧桐叶落在他肩膀上,他没有拂。他把斧头从背囊里抽出来别在腰间,把那把QBZ191重新背好,然后用指尖摸了摸枪托上被刻着两个字的位置。他还没认出那两个字,但他摸了摸。然后白光。

