第1章 旅の目的(4)
全員の腹も満たされたところで、アレシアがこっくりと船を漕ぎ出したため、寝る事にした。
問題は誰を見張りにするか、である。冒険者用に販売されている一部のテントは生地に補強魔法が組み込まれており、見張りが要らない事もあるが、かなり高価な物だ。ノア達はそこまでの贅沢は出来ず、普通の安いテントを使っている。
対して、リチャードのテントも元は安いものだが、自力でプログラムを記述して組み込んでいる。補強魔法は掛けられないので、自分以外の魔力を持つ者が触れた際に炎を放出する、という効果を付与した。
以下がそのコードである。
【FireWall = mp.fire[10]
define Reflect(mp):
if mp ≠ me:
output('FireWall')】
本来ならば対象をxとして指定し、記述する必要がある。だが、この場合はコードを対象である布に直接実装しているので、この場合は対象指定をしなくても良い。威力は10に設定してある。
もし何者かがテントに触れた場合、またその者のmp――魔力がリチャードとは異なるものの場合、炎を放出するという分岐文だ。
ちなみに、このコードにおいては先述した通り対象は布なので、その触れてきた何者かやリチャード自身が燃える事はない。しかし十分な威嚇にはなるし、何よりテントが燃えたらリチャードも目を覚ます。
魔力のない人間が襲ってくる可能性もなくはない。だが魔力がないということは戦う力を持っていない人であり、まずこんな夜中に野宿が必要になるところにはいない。
助けを求めてきた魔力持ちの人間だったら、それは仕方ない。テントを燃やして起こしてくれ、というしかない。
と、まあ、こんな具合にリチャードのテントは安全性が非常に高くなっている。ならばそれと同じようなコードをノア達のテントに書けばいいではないか――となると、そうではない。
炎の出し方が他の魔道士とは違うからだ。
リチャードが使っている炎。それは火属性魔法と見た目は全く違わないが、魔法ではない。見た目こそ似ているものの、本質も何もかも違う。
火属性魔法は、火属性の魔力を持つ者が、火属性魔法の効果を出せる媒介にその魔力を流すことで、火を出せる。つまり、その者が保有している火属性の魔力を、媒介を通じて火そのものにする、という事だ。
リサは雷属性の魔力を持っている。そしてそれを魔力媒介であるロッドに流して雷を起こす、といった具合だ。
一方で、リチャードに流れる魔力は、火属性ではない。炎属性だとか、そういった事でもない。
リチャードは無属性の魔力の持ち主だ。一般的に人も魔族も、何かしらの属性が付与されている魔力を持っている。無属性は魔力持ちに生まれたにも関わらず宝の持ち腐れだとされ、時と場合によっては『無能』と呼ばれてきた。
しかしながらリチャードは火球を生み出す事が出来る。本来は無属性ならば出来ないのだが、それを出来るようにするのが腰に付けている白い箱だ。
以下がこの白い箱に実装されてあるコードである。
【import MagicPoint as mp
from DemonRealm import fire】
最初の一文では魔力という言葉を表す単語であるMagicPointをmpと略している。実装コード例では熊を格納している【Bear = mp.imput(X)】や火球を生み出す【FireBall = mp.fire[X , 50]】が挙げられる。
これらのコードのように【mp.】が付いているものは、リチャードの魔力を消費することによって発動、実行が可能になる。
二文目については、DemonRealm――すなわち魔界から炎を読み込んでいるのだ。読み込むというと分かりにくい感じがするが、要は魔界にある炎を少し借りてきている感覚だ。
と、難しい話は置いといて――というか説明するわけにもいかないので、リチャードは見張り役に立候補した。既に眠っているアレシアはいいとして、リサも見張り役として起きる事になった。