四发穿甲弹划破亚速尔海面上空稀薄的雾气时,百合号上的了望手声嘶力竭地发出了警报。德·拉罗什在艉楼上看到四道拖着淡灰色烟迹的弹影从开海号的方向飞来,速度极快,弹道平行。他在百年战争的海战里见过威尼斯桨帆船发射的链弹——速度远不及这些蒸汽炮射出的穿甲弹,调整船位以最小的投影面积迎向来弹方向——百合号在舵手的操纵下猛地向左偏了一个极小的角度,船首微微侧向弹道方向,把侧舷炮门区域从弹道上移开。
第一发弹从舰首斜上方掠过,弹尾的气流把船首斜桅上的吊索绳尾卷断了一截;第二发弹命中了舰首左侧的水线以上位置,穿甲弹穿透了船舷木板后在内部的储物舱里爆开,木板碎片和散装的干货从爆炸口喷出来撒进海里;第三发弹和第四发弹同时命中了主桅和舵楼之间的甲板区域。穿甲弹在甲板上撕开了两个并排的弹孔,弹孔边缘的木板卷曲着向上翻起。碎片向甲板两侧飞散,两名炮手被碎片击中了腿部和肩膀,在甲板上翻滚着撞到炮位底座。主桅的中段被弹片削去了一大块木料,桅杆虽然没断但在受力时发出刺耳的吱嘎声,像是随时会从伤痕处折断。
德·拉罗什被爆炸的气浪推得后退了一步撞在艉楼的舱壁上。甲板上的混乱持续了极短的时间——法兰克水手们把受伤的炮手拖进舱口,另一组炮手接手了受损的炮位,用备用木材临时加固了主桅的裂缝,舵手在舵轮室里满头大汗地保持航向。德·拉罗什从艉楼舱壁上直起身时闻到了一股浓烈的焦糊味——那是穿甲弹推进药残留在甲板缝隙里的味道,混合着新鲜木屑和海水的咸涩气味,像一间被斧头劈开了屋顶的木工房。
他迅速判断了形势。蒸汽舰的射程和精度优势在开阔海域无法对抗,唯一的翻盘机会是把蒸汽舰拖进帆船舰队近战。如果在极近距离内展开舷侧炮战,蒸汽舰的火力优势也会被缩短的距离抵消一部分,而法兰克舰队的六艘战舰可以用传统的多对一战术围攻一艘蒸汽舰——只要接近到足够近的距离,让几艘帆船同时从不同方向缠住开海号,其他舰船就可以趁机从蒸汽舰的视线死角发动突袭。德·拉罗什下令百合号转向,以最大航速向开海号的方向直冲——不是逃跑,是像海战中残血船只常做的最后一搏一样,把船首对准敌舰全速撞击航线。
开海号的炮术长看到百合号突然转向直冲而来时,他没有立刻下令齐射。百合号的船首是最硬的部分,船首的包铜撞角和加厚了数倍的橡木舱壁可以承受多轮穿甲弹轰击。他需要等待百合号转向到侧舷暴露的角度再开火。但百合号的转向比预计更快,船首在舵手的操纵下以一个几乎锐角的角度切向开海号的左舷,双方距离瞬间从数里缩短到火炮直射距离以内。石破军在艉楼上握紧了栏杆——他知道法兰克人的战术:如果百合号撞上来,开海号的左舷锅炉舱可能会被船首撞角刺穿,即使不被刺穿,撞击也会让锅炉舱的密封垫承受超出设计极限的冲击载荷,潮银复合箔片虽然耐压但不耐剧烈横向冲击,如果撞击力道过大密封垫可能从法兰螺栓的间隙中挤出。他命令开海号右满舵,同时左舷所有舰炮向百合号的船首下方水线位置齐射——那个位置是帆船船首最脆弱的部位,撞角的固定铁链锚点就焊接在水线处的木质船壳内部。
开海号左舷的六门主炮在几乎同时开火,炮声重叠成一道持续的轰鸣。炮弹在海面上划出六道平行的弹道弧线,全部集中在百合号船首下方水线区域一片不大的面积上。三发弹命中了撞角锚点上方的船壳,船壳被炸开了一个大口子,海水从破口处涌进船首的储物舱;两发弹击中了船首斜桅的底座,斜桅在爆炸中断成两截向后倒在主桅的侧支索上;最后一发弹从撞角铁链的锚点正下方穿入,撞角的固定铁链被切断了一根,剩下的几根铁链发出巨大的金属尖叫,像一头铁兽被生拉硬拽着从骨头上撕下来。
百合号的船首在炮击中猛地向下倾斜了数尺,船首储物舱被海水灌满后整艘船的船头沉了下去,船尾翘起露出了螺旋桨和舵叶。舵叶在露出水面的瞬间被开海号右舷的一发补射命中直接打得粉碎。法兰克旗舰失去了舵效、船首进水、主桅受损、斜桅断裂,但船体本身没有下沉,船头储物舱的隔水门在炮击后被船员及时关闭了,进水量被控制在了船首区域。德·拉罗什在爆炸中从艉楼栏杆上摔倒在了甲板上,他的左肩胛骨撞在了炮位底座铁架上,整条左臂瞬间失去了知觉。他在甲板上挣扎着爬起来时右耳被爆炸声震得流出了一丝血迹,但他没有管,用还能动的右手抓住艉楼的舱壁撑直身体喊了一句话:左满舵!把船尾对着他们!尾炮开火!百合号船尾的两门备用舰炮在舵手把船尾转向开海号方向的同时开火了,炮弹出膛时炮管的后坐力让已经受损的船尾结构发出更剧烈的嘎吱声,但两发弹确实飞出去了。一发落在开海号左舷数十丈外的海面上炸出一道水柱,另一发弹从开海号的前桅横桁上方掠过没有命中。