第28話
ダフニが気が付くとそこは見知らぬ天井だった。骨折した左腕はひどい痛みを発していてどうやら大きくはれ上がっているようだった。
――ここはどこですかな?
痛みをこらえながら辺りを見ると三方と床と天井のすべてが石張りになっていて、一方だけが鉄格子となっていた。
――ああ、牢屋ですな。
ダフニは自分が襲われていたにも関わらずどうしてマルクではなく自分が牢屋に入ることになったのか全く分からなかったが、とにかく今は何よりも左腕から発する激痛をどうにかすることが先決だった。
――ただの治癒魔法では間に合わないですな。
この世界にも一般的な魔法でイメージされるように治癒魔法や医療系の魔法は存在している。しかし、それは軽度の炎症を鎮めたり、痛みや熱を抑えたり、体力の低下を食い止めたりと現代日本での医療行為と同程度の力しか持っていない。骨折を一瞬で治すような強力な魔法は存在しないのだ。
――この状況でこの痛みはまずいですな。せめて痛みだけでも止めるですな。
ダフニはとりあえず痛み止めの魔法を使った。あまり効果の強い痛み止めを自分に対して使うのは意識を失う危険があるので中程度のものを使ったが、それだとまだ痛みを消しきることはできなかった。
それでも大分楽になったので、ダフニは立ち上がって状況を確認してみた。まず怪我の状態だったが、左腕の骨折以外は特に目立った外傷はなかった。衣服にも破れなどはなく、あの場で気絶してそのまままっすぐ牢屋に運ばれたのだと思った。
次に牢屋の状況だったが、そこは独房で他に誰も同室のものはいなかった。明かりはランプのみで窓はなく、今が何時なのかを知る手段はなかった。ただ、場所についてはダフニは何となく見当がついていた。
――おそらく王宮の地下牢ですな。
「……ん……」
かすかな人のうめき声のようなものを聞いたような気がして、ダフニは鉄格子の側に近づいた。
「誰かいるですかな?」
返事はないが目を凝らして周囲を観察すると、はす向かいの独房の中に床に倒れた人影のようなものがあることに気づいた。
「お兄さま? お兄さまですかな!?」
ダフニが声をかけても人影が反応することはなかった。が、薄暗がりの中でもそれは確かにレオの姿だとダフニは確信を持っていた。牢屋の中で意識を失っているレオ(もしかしたら寝ているだけかもしれないが)を見てダフニは焦りを覚えた。
――焦ってはいけないですな。まずはこの腕をどうにかすることが先決ですな。
頑丈な鉄格子を壊す方法も問題だが、この腕がこのままではたとえ出られたとしても衛士と戦いになったらまた腕を攻撃されてしまう。何とかして腕の怪我をカバーすることが必須だった。
――……まずは実験ですな。
ダフニにはこの怪我を治す方法に一つだけ心当たりがあった。しかし、それはまだ1度も実験したことのないもので、本当に成功するのか、失敗したら腕がどうなるのか全くの未知のものだったのだ。なのでダフニはこの場でできる限りの実験をしておこうと考えた。
ダフニのアイデアはシンプルなものだった。以前から研究していた創造の魔法で腕を変形して元の形に戻そうというのだ。しかし、創造の魔法は対象物を正確に描かなければ不完全にしか成功しない。なので、これまでは人間の体のような複雑なものを正確に描くことは不可能だと考えていた。
だが、イフラートがリピカを最強と言ったことが切っ掛けで、記憶と創造の魔法を組み合わせれば物体を過去の状態に戻すことができるという仮説に思い至った。これを人体に適用すれば、どんな大けがからも蘇る最強の回復魔法が実現できる。
しかし、そんな未知の魔法をいきなり人体に適用するわけにはいかない。そこでまず実験として靴を脱ぎ、その形状を名前を付けて記憶してから魔法で潰して焼け焦げさせた。本当は失敗した時のことを考えて上着を使いたかったが、左腕が痛くて脱げなかったのだ。
Magic
> callByName spiritName magicName power condition = do
> spirit <- select spiritName
> let corridor = do
> magic magicName
> condition
> give spirit power
> call spirit corridor
>
> callCreate = callByName "創造の精霊" "創造"
Drawing
> copy3DObject delta area = draw $ fmap f area
> where
> f v = Just $ shiftPosition delta v
Restore-To-Past
> main = restore 1 "元の靴" "目の前の靴"
>
> restore power originalKey currentKey = do
> original <- lipika originalKey
> current <- locate currentKey
> let delta = getPosition current - getPosition original
> copy3DObject delta original
> channel <- currentChannel
> callCreate power $ do
> accordingTo channel
MagicとDrawingはすでに定義済みのモジュールで、新しく書いたのはRestore-To-Pastというプログラムだ。copy3DObjectをして元の靴と今の靴を重ねておかないと新しい靴がもう1足できてしまう。
> import Data.List
> main = print $ intercalate "\n\n"
> =<< mapM lipika ["Magic", "Drawing", "Restore-To-Past"]
プログラムを実行すると潰れて焼け焦げた靴は、一瞬のうちに変形も焦げ目もない元通りの靴に戻った。
その後、ダフニは慎重にマルクとの戦いとその後牢屋に連れてこられた経緯について牢屋の壁に書き記した。コンソールに書きこんだ文字を創造の魔法を使って転写したのだ。時間が経つと消えてしまうだろうが逆に後で消す手間が省ける。
ダフニが経緯を書き記した理由は、Restore-To-Pastで怪我を直した時に記憶まで過去に戻ってしまうかもしれないと思ったからだ。怪我を治すときに腕だけ直そうとすると体ときちんとつながらないかもしれないので、全身をまとめて過去に戻すつもりだった。
もちろん、現代日本で信じられているように記憶が脳細胞の接続に蓄えられるのではなくどこか別のところ、例えばエーテル界にある精神体に蓄えられるのかも知れず、それなら記憶は失われないかもしれない。あるいはもっと未知の仕組みがあるのかもしれない。そもそもダフニの前世の記憶が残っている理由もまだ不明なのだから。
――よし。いざ、やってみるですな。
リピカで記憶を呼び出すにはキーが必要だ。意識的に名前付けした名前以外にも印象に残った出来事についての記憶がキーとして使える。
記憶がリセットされる可能性やその他もろもろのリスクを考えると、呼び出すのはできるだけ最近の出来事の方がいい。そんな都合のいい出来事があったかと言えばあった。クロエが別れ際にダフニの頬にキスをしていった。
Restore-To-Past
> main = restore 10 "クロエにキスをされた私" "今の私"
さっきのプログラムを1行修正して準備は整った。
――お兄さま、もうすぐ助けるですな。
レオの方を見て大丈夫な方の拳にぐっと力を込めて魔法を発動した。次の瞬間、座っていたダフニは立っていて腕の痛みは完全に消えていた。
――……成功ですな。
懸念していた記憶も残っているようだった。そもそも記憶が残っていなければ成功という感想すら浮かばないはずだ。念のため壁に書いたメモ書きを読み直したが記憶に齟齬はなかった。
――これは常時待機で深刻な怪我をしたときに自動発動するようにするのがいいですな。
大けがを負っても死ななければ自動的に完全回復するという正にチート能力の鑑のような魔法だ。普段なら必要もないが、何が起きるか分からない今のような状況ではいざという時の保険として用意しておくだけの価値はあるとダフニは考えた。
Restore-To-Past-Auto
> main = let loop = do_wait >> do_restore >> loop
> in loop
> where
> do_wait = do
> me <- locate "私"
> is_timeout <- callWait 1 $ do
> for me "重傷になる"
> returning False
> or
> timeout 3600
> returning True
> if is_timeout then do_wait else return
> do_restore = restore 10 "クロエにキスをされた私" "今の私"
「重傷」というやや曖昧な表現で魔法が発動するか心配だったが問題なく発動したようだ。ちなみに、ダフニの認識では重傷は骨折以上の怪我ということで、この世界の一般的な認識と相違はない。
――よし。お兄さま、待っていて下さいですな。
そして、準備万端になったダフニはとうとうレオを助けるべく行動を開始することにした。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます