Baba Is You Guide

Baba Is You の ルール (WIP) for Baba Is You

Baba Is You の ルール (WIP)

Overview

β版にのみ登場するテキストを含む、全ルールの効果の解説。多くのネタバレを含みます。クリア後の閲覧をおすすめします。

はじめに

これは攻略ガイドではありません。
ネタバレなしのルールの説明は次のガイドを見てください。
[link]

このガイドは多くのネタバレを含むため、
クリア後の閲覧をおすすめします。

このガイドはβ版エディター(ver.383~)での調査結果を元に作成しています。
このガイドの情報は、現在の正式安定版(ver.277)の仕様とは異なります。

このガイドは作成中です。誤った情報を含む可能性があります。

このガイドの記法

  • 大文字のアルファベット文字は、任意の名前を代入できる変数です。同じ文中では、同じ文字には同じ名前を当てはめて考えます。
    あるアルファベット文字とそれ以外の文字に同じ名前を当てはめても構いません(A = Bは可)。

    例:A IS Bに当てはめる名前は
    BABA IS KEKE、KEKE IS BABA、BABA IS BABA、KEKE IS KEKE
    のいずれでも構いません。

    例:A IS Aに当てはめる名前は
    BABA IS BABA、KEKE IS KEKE
    のいずれでも構いません。

  • 大文字のアルファベット文字は、ルール中では、その名前の名詞を意味します。
  • 大文字のアルファベット文字、または、タイルの下位分類の分類名(例:無、オブジェクト)は、ルール外では、その名前を持つ任意の1つのタイルを代入できる変数です。
    同じ変数が同じ文中で複数現れたとき、それぞれに別のタイルを当てはめても構いません。

    例:次の説明文について考えてみます。

    • A IS B
      全てのAはBに変化します。

    ここで、AにBABAを、BにKEKEを当てはめたとき、上の説明文は次のように解釈します。


    • 全てのに変化します。

    次のように解釈してはいけません。


    • 全てのに変化します。
  • 形容詞 +「er」は、その形容詞状態の任意の1つのオブジェクトを意味します。

    例:YOUerはYOU状態の任意の1つのオブジェクトを意味します。

  • タイルを代入できる変数に番号を付けたとき(例:オブジェクト1、A2、YOUer1)、それは、同じ文中では、同じタイルを意味します。
    ある番号付きの変数と、別の番号付きの変数に、同じタイルを当てはめて考えてはいけません(A1 = A2は不可)。

    例:今、3体のBABAがいて、それぞれをBABA1、BABA2、BABA3と呼ぶことにします。
    次の説明文について考えます。

    • A HAS B
      A1が破壊されたとき、そのマスにA1と同じ向きでB1を生成します。

    ここでAにBABAを当てはめるとき、A1には任意の1つのBABAを当てはめることができます。
    つまり、上の説明文は次のいずれかのように解釈できます。

    • BABA HAS B
      BABA1が破壊されたとき、そのマスにBABA1と同じ向きでB1を生成します。
    • BABA HAS B
      BABA2が破壊されたとき、そのマスにBABA2と同じ向きでB1を生成します。
    • BABA HAS B
      BABA3が破壊されたとき、そのマスにBABA3と同じ向きでB1を生成します。
  • ある種類の品詞に番号を付けたとき(例:動詞1、補語1)、それは、その種類の任意の品詞を代入できる変数です。同じ文中では、同じ番号付きの品詞には同じ単語を当てはめて考えます。
    ある番号付きの品詞と別の番号付きの品詞に同じ単語を当てはめても構いません(動詞1 = 動詞2は可)。

    例:次の説明文について考えてみます。

    • A 動詞1 NOT 補語1
      A 動詞1 補語1を無効化します。

    ここで、動詞1にISを、補語1にYOUを当てはめたとき、上の説明文は次のように解釈します。

    • A IS NOT YOU
      A IS YOUを無効化します。

    それぞれの動詞1に当てはめる動詞は同一である必要があります。
    1番目の動詞1にISを、2番目の動詞1にHASを当てはめて解釈するのは間違いです。

  • オブジェクトを名前で呼ぶと曖昧な場合、名前の後に(テキスト)や(エンティティ)を付けます。

    例:BABAと表記すると曖昧な場合、BABA(テキスト)やBABA(エンティティ)と表記します。

  • 「数 X 」が先頭についたルールは、その数の分、そのルールが成立していることを表します。

    例:3 X BABA IS YOUは、次と同じです。
    BABA IS YOU、BABA IS YOU、BABA IS YOU

  • ルールについて
    (任意の文字列)
    を使ったとき、それは「任意の文字列」を0または1つ置いてもよいことを意味します。

    例:SF = 「♯、♭」の文字の内いずれか1つ
    とするとき、
    (SF)

    のように解釈できます。(最初の項目は空文字列です。)

  • ルールについて
    (任意の文字列)…
    を使ったとき、それは「任意の文字列」をいくつでも連続で並べてもよいことを意味します。

    例:A (AND 名詞)…

    • A
    • A AND B
    • A AND B AND C
    • A AND B AND C AND D

    のように解釈できます。(解釈はこれらに限りません。)

このガイドの用語

このガイドでは、次のように用語を定めます。
公式の用語ではありません。

レベル
タイル
オブジェクト
エンティティ
レベルアイコン
テキスト
文字
名詞
特殊な名詞
演算子
動詞
条件指定子
前置詞
形容詞

対応するセクションを参照。

PATHオブジェクト

レベル作成時にPATHとして配置されたオブジェクトです。
カーソルは、HIDE状態でないPATHオブジェクトの上を移動できます。また、PATHオブジェクトが変化したオブジェクトの上も移動できます。
PATHオブジェクトは、初めから見えている状態(VISIBLE)または隠し状態(HIDDEN)として配置することができ、隠し状態として配置する場合は、解放される条件を設定可能です。
隠し状態のPATHオブジェクトは、解放されるまで出現しません。

レベルメタデータ

あるレベルを指す情報のことです。
1つのオブジェクトは1つのレベルメタデータを持つことができます。
エディターでレベルアイコンを配置するとき、そのレベルアイコンがどのレベルと対応しているかを指定しますが、それがレベルメタデータです。
ファイルを直接改変することで、任意のオブジェクトにレベルメタデータを持たせることが可能なようです。

上位レベル(親レベル)

あるレベルの上位レベルとは、そのレベルをプレイ中、メニュー画面から「RETURN TO MAP」を選択した時の遷移先のレベルです。言い換えれば、そのレベルに入ってきた元のレベルです。
上位レベルを持たない、全てのレベルの最上位にあるレベルは最上位レベル(根レベル?)と呼びます。

例:「1. THE LAKE」の上位レベルは「MAP」です。
また、「LEVEL LAKE-1」の上位レベルは「1. THE LAKE」です。
「MAP」は最上位レベルであり、上位レベルを持ちません。

下位レベル(子レベル)

あるレベルの下位レベルとは、そのレベルに存在するレベルアイコンを選択した時の遷移先のレベルです。

例:「MAP」の下位レベルには「LEVEL 0 BABA IS YOU」や「1. THE LAKE」などがあります。
また、「1. THE LAKE」の下位レベルには「LEVEL LAKE-1 ICY WATERS」や「LEVEL LAKE-2 TURNS」などがあります。

単語

構文上の最小単位です。
例えば、名詞、動詞、形容詞、条件指定子、AND、NOT等は単語です。
また、名詞KEKEと、文字EとKで作ったK E K Eという文字列は、どちらも同じ名詞KEKEを指すため、どちらも単語であるとみなせます。
しかし、文字Kは単語ではありません。

主語

ルールの先頭部分の名詞です。
BABA IS YOUで言えば、BABAに相当する部分です。
主語に対応する物は、ルールの効果の対象になります。

補語

ルール中の動詞より後にある、名詞または形容詞を指します。
BABA IS YOUで言えば、YOUに相当する部分です。

前置詞句

次のように定義するとき、

  • (ルールの一部)…
    =任意の数の「ルールの一部」
  • NorD
    =名詞、またはDIRs

次のいずれかを指します。

  • 前置詞 名詞 (AND 名詞)…
    • ここで、前置詞はFEELINGを除きます。
  • FACING NorD (AND NorD)…
  • FEELING 形容詞 (AND 形容詞)…

方向を指定する形容詞
DIRs

RIGHT、UP、LEFT、DOWNを指します。

FALLs

FALL、FALL (RIGHT)、FALL (UP)、FALL (LEFT)を指します。

NUDGEs

NUDGE (DOWN)、NUDGE (RIGHT)、NUDGE (UP)、NUDGE (LEFT)を指します。

TURNs

TURN RIGHT、TURN LEFTを指します。

LOCKEDs

LOCKED (DOWN)、LOCKED (RIGHT)、LOCKED (UP)、LOCKED (LEFT)を指します。

COLORs
COLOURs

RED
ORANGE
YELLOW
LIME
GREEN
CYAN
BLUE
PURPLE
PINK
ROSY
BLACK
GREY
SILVER
WHITE
BROWN
を指します。

進入不可

STOP、PUSH、PULLのいずれかによって与えられる特性です。
タイルはこの特性を持つタイルに移動できません。

あるタイルから見た壁とは、そのタイルの移動を阻止するマスを意味します。
通常は、進入不可タイル、または、レベル境界があるマスを指します。
移動者がPHANTOM状態であるとか、移動先のタイルの進入不可が無効化されている(例えばWEAK状態によって)などの場合、移動先は壁ではありません。
LOCKEDsやSTILLにより移動できないマスは壁ではありません。

浮遊状態

タイルまたはレベルが浮遊しているか否かの状態です。
タイルまたはレベルがFLOAT状態でないとき浮遊していません。
タイルまたはレベルがFLOAT状態であるとき浮遊しています。

重なる

浮遊状態の同じ複数のオブジェクトは、同じマスにあるとき重なっています。
浮遊状態の同じタイルとレベルは重なっています。

隣接する

次の画像で、全てのKEKEはBABAに隣接しています。
AとBがそれぞれこの画像のBABAとKEKEと同様の位置関係にあるとき、BはAに隣接しているといいます。

周囲にある

次の画像で、全てのKEKEはBABAの周囲にあります。
AとBがそれぞれこの画像のBABAとKEKEと同様の位置関係にあるとき、BはAの周囲にあるといいます。

消失

物が消えることを消失と呼びます。
レベルが消失すると、レベル中の全てのオブジェクトが消失します。
消失は破壊ではありません。そのため、HASのトリガーになりません。

破壊

DEFEATやMELTなどの原因で物が消えることを破壊と呼びます。
タイルが破壊されると消失します。
レベルが破壊されると、レベル中の全てのオブジェクトが消失します。
破壊は消失を含みますが、消失ではありません。
一部のルールは破壊を防いだり(SAFE)、タイルの破壊に反応して効果を発揮します(HAS)。

分類

分類ツリー
物 ├ レベル └ タイル   ├ 無   └ オブジェクト     ├ エンティティ     │ └ カーソル     ├ レベルアイコン     └ テキスト       ├ 文字       ├ 名詞       │ ├ 通常の名詞       │ └ 特殊な名詞       │   ├ TEXT       │   ├ EMPTY       │   ├ ALL       │   ├ LEVEL       │   ├ GROUP       │   ├ CURSOR       │   └ IMAGE       ├ 演算子       │ ├ 動詞       │ │ ├ IS       │ │ ├ HAS       │ │ ├ MAKE       │ │ ├ EAT       │ │ ├ FEAR       │ │ ├ FOLLOW       │ │ ├ MIMIC       │ │ └ PLAY       │ ├ 条件指定子       │ │ ├ Prefixな条件指定子       │ │ │ ├ LONELY       │ │ │ ├ IDLE       │ │ │ ├ OFTEN       │ │ │ ├ SELDOM       │ │ │ └ POWERED       │ │ └ 前置詞(Infixな条件指定子)       │ │   ├ NEAR       │ │   ├ ON       │ │   ├ FACING       │ │   ├ WITHOUT       │ │   ├ ABOVE       │ │   ├ BELOW       │ │   └ FEELING       │ ├ AND       │ └ NOT       └ 形容詞

ルールの基本

構文

名詞 動詞 補語
を、左から右へ、または上から下へ、直線に並べることでルールを作ります。

ルール先頭部分の名詞は主語となり、主語に対応する物はルールの効果の対象になります。
動詞以後の部分はルールの効果を決定します。

動詞がISのとき、補語には名詞または形容詞を取ることができます。
動詞がそれ以外のとき、補語には名詞のみを取ることができます。

一部のテキストは他のテキストを修飾でき、ルールの構造を変化させることができます。

例えば、というルールについて説明すると、

このルールの主語はです。
に対応する物はなので、がルールの効果の対象となります。
(名詞と物の対応関係については名詞のセクションを参照。)

このルールの動詞はで、動詞以後の部分はルールの効果を表しています。
は形容詞です。

ルールが
A IS 形容詞
の形のとき、Aに対応する物が形容詞の特性を得ると決まっています。
(ルールの形については動詞のセクションを参照。)

形容詞の特性は、「主語に対応する物はプレイヤーの入力に応じて移動する」というものです。
(形容詞の特性については形容詞のセクションを参照。)

最終的に、このルールの意味は「はプレイヤーの入力に応じて移動する」となります。

成立しているルールの確認

ポーズ画面には、今成立しているルールが表示されます。
ただし、あるルールを構成しているテキストが全てHIDE状態の場合、そのルールは表示されません。

同種のオブジェクトの重複は6つまで

レベルメタデータを持たない同種のオブジェクトは、同じマスに6つまで存在できます。それより多くのオブジェクトが同じマスに置かれた場合、6つを残して消失します。
レベルメタデータを持つオブジェクトは、同じマスに6つよりも多く存在できます。(上限は不明。TODO:要検証)
同種であっても、レベルメタデータを持つオブジェクトと、レベルメタデータを持たないオブジェクト同士の数は合算されません。
レベルメタデータを持たないなら、レベルアイコンも6つまでしか重複できません。

移動

移動とは
タイルは上下左右のいずれかの方向へ移動することができます。
タイルがある方向へ移動すると、その位置は今あるマスからその方向の隣接するマスに変化します。
タイルは移動しようとした方向を向きます。(ただし、NUDGEsによる移動は例外です。)
タイルの移動先に進入不可タイルやレベル境界があるなら、移動は阻止され、位置は変化しません。移動が阻止された場合でも、向きの変化は起こります。
特定の状況では、タイルは進入不可タイルやレベル境界に移動できます(後述)。

タイルの移動先にある進入不可タイルもまた同じタイミングで移動するなら、移動は阻止されません。
例:BABA IS MOVE AND STOPで、2体のBABAが隣接して互いに向き合っているとき、どちらの移動も妨げられることはなく、「すれ違う」ことができます。

移動は1マスずつ
タイルは多重にMOVE状態になるなどして1ターンに複数回移動することができます。
この時タイルは一度に複数マス移動しているように見えますが、実際にはタイルは1マスずつ移動します。

例:BABA IS YOU、BABA IS MOVE、SKULL IS SWAPのとき、BABAが2マス移動してSKULLのあるマスに移動しても、SKULLが1マス分しか入れ替わらないのは、BABAが1マスずつ移動しているからです。

移動の原因
移動の原因には、次があります。
YOU、YOU2、MOVE、SHIFT、AUTO、CHILL、NUDGEs、FEAR、PUSH、PULL。
NUDGEsのみ、例外的に、移動時のタイルの向きの変化が起こりません。
PUSH、PULLの移動は、他のタイルの移動に付随して起こります。

TELE、FALLs、SELECT、SWAP、BACKによるタイルの位置の変化は移動ではありません。
しかしながら、FALLs、SELECTは移動と似通った特徴を持ちます。

同じ種類の移動の順番
同じ原因で移動する複数のタイル(例えばMOVE状態のBABAとKEKE)は、IDの若い物から順に移動します。

例:
//TODO:何か書く

異なる種類の移動の順番
異なる種類の移動は、一部を除き、異なるタイミングで起こります。異なる種類の移動は一定の順番で起こります。
その順は、日本語wiki[w.atwiki.jp]によれば、次の通りです。

  1. YOU、YOU2
  2. MOVE、AUTO、CHILL
  3. NUDGEs
    1. NUDGE (RIGHT)
    2. NUDGE (UP)
    3. NUDGE (LEFT)
    4. NUDGE (DOWN)
  4. FEAR
  5. SHIFT

例:YOUで移動するオブジェクトとMOVEで移動するオブジェクトが同じROCKを押そうとしたとき、YOU状態のオブジェクトが先にROCKを押します。

移動に反応する効果
一部のルールの効果は、タイルの移動に付随して発揮されます。

  • PUSH状態のタイルは、他のタイルに押されて移動します。
  • PULL状態のタイルは、他のタイルに引かれて移動します。
  • SHUT状態のタイルは、OPEN状態のタイルに移動されたとき破壊されます。
  • OPEN状態のタイルは、SHUT状態のタイルに移動されたとき破壊されます。
  • A EAT Bのとき、AがBに移動すると、AはBを破壊します。
  • SWAP
    • タイルが移動したとき、移動先のマスにあるSWAP状態のオブジェクトが移動元のマスに置かれます。
    • SWAP状態のタイルが移動した時、移動先のマスにあるオブジェクトが移動元のマスに置かれます。
  • WEAK状態の無は、他のタイルに移動されたとき破壊されます。

    注:WEAK状態のオブジェクトの破壊は、移動時ではなく、移動が終わった後の重なり判定のタイミングで起こります。

進入不可タイルに移動できる状況
特定の状況では、タイルは進入不可タイルに移動できます。
Bを1つの進入不可タイルとするとき、

  • タイルは、同じ浮遊状態のWEAK状態のBへ移動できます。
  • XとYをPULL状態のタイルとするとき:
    あるタイルがXを引いて移動し、さらにXがYを引いて移動した時、YはBへ移動できます。
  • OPEN状態のタイルは、同じ浮遊状態のSAFE状態でないSHUT状態のBへ移動できます。
  • SHUT状態のタイルは、同じ浮遊状態のSAFE状態でないOPEN状態のBへ移動できます。
  • SWAP状態のタイルはBへ移動できます。
  • タイルはSWAP状態のBへ移動できます。
  • PHANTOM状態のタイルはBへ移動できます。
  • A EAT Bのとき、Aは、同じ浮遊状態のSAFE状態でないBへ移動できます。

タイルの移動先のマスに複数のオブジェクトが存在するなら、それら全てのオブジェクトに移動できるときのみ、タイルは移動できます。

例:KEY IS OPEN、DOOR IS SHUT、DOOR AND WALL IS STOPのとき、KEYはDOORとWALLが重なったマスに移動することはできません。
WALLが無ければ、KEYはDOORに移動できます。

レベル境界に移動できる状況
PHANTOM状態のタイルは、レベル境界に移動できます。

暗黙のルール(基本ルール)

このゲームには、明示されていないが常に成立しているルールが3つ存在します。

  • TEXT IS PUSH
  • LEVEL IS STOP
  • CURSOR IS SELECT

レベル


レベルそのものです。
レベルは名詞LEVELに対応します。

レベルは次のような特徴を持ちます。

  • マス目
    レベルはタイルを配置することができるマス目を持ちます。
    マス目はレベルの外側にも広がっているものと考えられます。(下記のコラム「PU」を参照)
  • レベル境界
    レベル境界は、レベルの外周にある、タイルが進入できない1マス幅の空間です。
    通常、タイルはレベル境界に移動することができませんが、PHANTOM状態のタイルは移動できます。
    レベル境界にあるオブジェクトは破壊され、完全に消失します。
    この破壊に対しHASは機能しません(実際の処理は不明)。
    この破壊は移動より後に起こります。(そのターン中に移動が終わるなら、オブジェクトはレベルの外側へ移動した後、破壊されずにレベル内に戻ってくる事が可能です。)
  • 浮遊状態
    レベルは浮遊状態を持ちます。
    FLOAT状態のレベルはそうでないタイルとは重なっていませんし、FLOAT状態のレベルとFLOAT状態のタイルは重なっています。
  • 向き
    レベルは向きを持ちます。
    向きは上下左右の4通りあります。
    レベル開始時、レベルは下向きです。
    レベルの向きは、次の方法で変化させることができます。

    • LEVEL IS DIRs
    • LEVEL IS TURNs
    • レベルの移動(LEVEL IS YOU、LEVEL IS PUSH、LEVEL IS PULLなど)

    レベルの向きは、見た目上の向きとは別の概念で、それらが常に一致するとは限りません。

  • 見た目上の向き
    レベルは見た目上の向きを持ちます。
    見た目上の向きは上下左右の4通りあります。
    レベル開始時、レベルの見た目上の向きは下向きです。
    レベルの見た目上の向きが変化すると、レベルの下部が画面のその方向に向くように、レベルが回転します。
    これは完全に見た目上の演出であり、レベル内のタイルに影響を与えません。
  • 見た目上の位置
    レベルは見た目上の位置を持ちます。
    レベルが移動することで、レベルの画面上の位置が変化します。
    これは完全に見た目上の演出であり、レベル内のタイルに影響を与えません。

    ver.393時点では、設定から「ZOOM MODE」を変更すると、レベルの見た目上の位置がリセットされる(バグ?)が存在します。

レベル外の構造

  • 「トラップ」ゾーン
    レベル上端から1マス上の行、または、レベル左端から1マス左の列に進入したオブジェクトは、移動できなくなります。
  • レベル外側
    レベル外側にあるオブジェクトは、破壊され、完全に消失します。
    この破壊に対しHASは機能しません(実際の処理は不明)。
    この破壊は移動より後に起こります。(そのターン中に移動が終わるなら、オブジェクトはレベルの外側へ移動した後、破壊されずにレベル内に戻ってくる事が可能です。)
    レベル境界が進入不可であるのに対し、レベル外側は進入不可ではありません。(この事実は、ver.385では検証可能でしたが、ver.386以降は検証不可能になりました。)(HASがレベル外側による破壊に対しても有効だったため、A IS PHANTOM、A HAS Aでレベル外側を自由に移動できた)
    (うろ覚えなので間違ってるかも)

PU(parallel universe、平行世界、並行宇宙)

PU
レベルの右側には、「偽のレベル」が1マス上にずれて隣接しています。
「偽のレベル」の右側には、同じく「偽のレベル」がさらに1マス上にずれて隣接しています。その右にもさらに「偽のレベル」があり…「偽のレベル」の下端がレベルの上端と同じ高さに来るまでこれが繰り返されます。
これら「偽のレベル」をPU(parallel universe、平行世界、並行宇宙)と呼びます。
PUは仮想の存在で、実際には存在せず、見ることはできません。
注意点として、レベルはレベル境界を含みます。つまり、レベルとPU、またはPU同士は、レベル境界で接しています。

なぜこのようなことが起こるかは、英wikiの「Parallel Universes」[babaiswiki.fandom.com]で解説されています。
それによれば、レベルのマス目は、各マスが「x座標 + (y座標 × レベルの幅)」の値を持つ1つの配列で表現されているため、この現象が起こるそうです。

PU上のオブジェクト & 偽のオブジェクト
PU上のあるマスにオブジェクトが存在すると、そのマスに対応する「真のレベル」のマスに、「偽のオブジェクト」が現れます。
「偽のオブジェクト」もまた仮想の存在で、実際には存在せず、見ることはできません。しかしながら、PU上の「真のオブジェクト」は、自身が「偽のオブジェクト」のあるマスに実際に存在するかのように、他のオブジェクトと相互作用します。
例えば、他のオブジェクトをSHIFTで移動させたり、ONの条件を満たすことが可能です。

原理は異なりますが、これは、スーパーマリオ64のスピードランで利用されるPUと似た現象であると言えそうです。

PUを実演している動画
[link]

PUの説明画像

タイル

タイルは、レベル中のマス目に沿って配置される全ての物体です。

タイルは以下のいずれかに分類できます。

  • オブジェクト

タイルは以下の特徴を持ちます。

  • タイルはいずれかのマスに存在できます。
  • タイルは(ルールが可能にするなら)今あるマスから別のマスに移動できます。

タイル – 無

無はタイルの一種です。
無は名詞EMPTYに対応します。

無はタイルが持つ特徴に加え、以下の特徴を持ちます。

  • 無はオブジェクトが存在しないマスに常に1つ存在します。
    無はオブジェクトが存在するマスには存在しません。(無があるマスをオブジェクトが占有した場合、無は消失します。)
  • 無はどんなタイルとも重なりません。無同士も重なりません。
    無とレベルは重なることがあります。
  • 無は向きを持ちません。向きが必要な時にはランダムで決まります。

    タイル – オブジェクト

    オブジェクトは無以外のタイルです。

    オブジェクトは以下のいずれかに分類できます。

    • エンティティ
    • レベルアイコン
    • テキスト

    カーソルは、暗黙のルールCURSOR IS SELECTが存在するという点と、HIDE状態でも不可視にならない点を除いて、エンティティと同じ性質を持ちます。つまり、レベルアイコンやテキストのような特殊な性質を持ちません。

    オブジェクトはタイルが持つ特徴に加え、以下の特徴を持ちます。

    • 浮遊状態
      オブジェクトは浮遊状態を持ちます。
    • 向き
      オブジェクトは向きを持ちます。
      上下左右のいずれかの方向を向きます。
    • 同種のオブジェクトの重複は6つまで
      レベルメタデータを持たない同種のオブジェクトは、同じマスに6つまで存在できます。
      6つより多くのオブジェクトが同じマスに存在する場合、6つを残して消失します。

    オブジェクト – エンティティ


    エンティティはオブジェクトの分類の一つです。

    エンティティはレベルアイコンとテキスト以外の全ての種類のオブジェクトです。
    つまり、エンティティは通常の名詞、またはCURSORに対応します。

    エンティティという区分は、ALLで指される範囲です。

    エンティティ – カーソル


    カーソルはエンティティの一種です。
    カーソルは名詞CURSORに対応します。

    カーソルは、エンティティが持つ特徴に加え、以下の特徴を持ちます。

    • 暗黙のルール、CURSOR IS SELECTが存在します。
      これにより、カーソルはSELECT状態です。
    • カーソルはHIDEにより不可視になりません。

    カーソルは、特殊な名詞に対応する物の中で、ALLに含まれる唯一の物です。

    CURSOR IS SELECTに言及する開発者の発言
    [link]

    Originally posted by Hempuli:

    The inherent rule related to Cursor is “Cursor Is Select”, and this gives it controllability that isn’t just “very specifically conditional You”; the movement of a Cursor can’t push or pull, for example, [後略]

    オブジェクト – レベルアイコン


    レベルアイコンはレベルを表す特殊なオブジェクトです。
    レベルアイコンは名詞LEVELに対応します。

    レベルアイコンは、オブジェクトが持つ特徴に加え、以下の特徴を持ちます。

    • レベルアイコンはSTOP状態です。
      • この特性は、暗黙のルール、LEVEL IS STOPによって与えられています。
      • 隠しレベルのレベルアイコンは、STOP状態であっても進入不可ではありません。
    • 解放されたレベルアイコンが対応するレベルを持つ場合、カーソルで選択することでそのレベルに遷移することができます。
    • カーソルは解放されたレベルアイコンの上を移動することができます。
    • レベルアイコンは、パーティクル、色、HIDEなど、自身の見た目を変化させる形容詞の効果を受けません。

    レベルアイコンには解放済み(opened)、ロック中(normal)、隠しレベル(hidden)の3つの状態があります。

    • 隠しレベルのレベルアイコンは、STOP状態であっても進入不可ではありません。
    • 隠しレベルのレベルアイコンは見えませんが、存在はしています。そのため、LEVEL IS PUSHなどのルールの効果を受けます。
    • 隠しレベルのレベルアイコンはHIDEによって見えなくなっているわけではないので、LEVEL IS NOT HIDEでも見えません。

    オブジェクト – テキスト

    テキストはルールを構成する特殊なオブジェクトです。
    テキストは名詞TEXTに対応します。

    テキストは以下のいずれかに分類できます。

    • 名詞
    • 演算子
    • 形容詞
    • 文字

    テキストは、オブジェクトが持つ特徴に加え、以下の特徴を持ちます。

    • 暗黙のルール、TEXT IS PUSHが存在します。
      これにより、テキストはPUSH状態です。
    • テキストはWORDの効果を受けません。

    テキスト – 文字


    文字はテキストの一種です。
    文字には、A~Zのアルファベット、0~9の数字、♯、♭が存在します。

    文字をある単語と同じ綴りで直線に並べると、その単語と同じ働きをします。

    文字を使って作れる単語は、そのレベルのオブジェクトリストに含まれている単語に限ります。
    (ただし、一部の単語は基本のオブジェクトとみなされているのか、オブジェクトリストに含まれていなくても機能します。)

    テキスト – 名詞

    名詞はテキストの一種です。
    名詞をルール中で使用することで、その名詞と同じ名前の物を指すことができます。

    名詞は次の2種類に分類できます。

    • 通常の名詞
    • 特殊な名詞

    通常の名詞

    通常の名詞は同じ名前を持つエンティティに対応します。
    通常の名詞をルール中で使用することで、その名詞と同じ名前のエンティティを指すことができます。
    例えば、は、どちらも同じ名前「BABA」を持ちます。
    そのため、ルール中のは、を指します。

    LINE

    LINEは線を指します。
    通常、LINE(エンティティ)はその上をカーソルが移動することができる特殊な性質を持ちますが、これはLINE特有の性質ではなく、LINE自体は特殊な名詞ではありません。
    レベル作成時にPATHとしてオブジェクトを配置すると、この性質を与えることができます。
    1つのレベルに、PATHオブジェクトとしてのLINEと、通常のオブジェクトとしてのLINEを混在させることもできます。その場合後者の上をカーソルが移動することはできません。

    特殊な名詞

    特殊な名詞は通常の名詞では指定できない物を指したり、複数の種類の物を指したりできます。

    特殊な名詞 – TEXT


    TEXTは特殊な名詞です。

    TEXTが、動詞がIS、HAS、MAKEのルールの補語として用いられた場合、主語を指します。
    TEXTがそれ以外で用いられた場合、テキストを指します。

    例:BABA IS TEXT、BABA HAS TEXT、BABA MAKE TEXT、これらのルールのTEXTは、名詞BABAを指します。

    • このゲームには、暗黙のルール、TEXT IS PUSHが存在します。
    • テキストはWORDの効果を受けません。

    特殊な名詞 – EMPTY


    EMPTYは特殊な名詞です。
    EMPTYは無を指します。

    • 無はオブジェクトが存在しないマスに常に1つ存在します。
      無はオブジェクトが存在するマスには存在しません。(無があるマスをオブジェクトが占有した場合、無は消失します。)
    • 無はどんなタイルとも重なりません。無同士も重なりません。
      無とレベルは重なることがあります。
    • 無は向きを持ちません。向きが必要な時にはランダムで決まります。
      ただし、EMPTY IS DIRsやEMPTY FOLLOW Bなど、向きを指定するルールの効果を受けた場合は、無は向きを持ちます。

      • 無が向きを持たない時、次のルールは条件を満たしません。
        • EMPTY FACING A 動詞 補語
        • EMPTY FACING DIRs 動詞 補語
      • 無に対する向きの指定は、効果があるルールとないルールが存在します。
        効果がある:

        • EMPTY IS A
          出現したAは無の方向を向きます。
        • EMPTY MAKE A
          出現したAは無の方向を向きます。
        • EMPTY FACING A 動詞 補語
          Aに向いている無にEMPTY 動詞 補語が適用されます。
        • EMPTY FACING DIRs1 動詞 補語
          DIRs1の方向を向いている無に対してのみ、EMPTY 動詞 補語が適用されます。
        • EMPTY IS MOVE
        • EMPTY IS AUTO
        • EMPTY IS CHILL
          無は自身が向いている方向に移動します。

        効果がない:

        • EMPTY IS ALL
          無が生成するエンティティは必ず右を向きます。(バグ?)

    EMPTYと動詞、NOT
    EMPTYと条件指定子
    EMPTYと形容詞

    対応するセクションを参照。

    特殊な名詞 – ALL



    ALLは特殊な名詞です。
    ALLは、レベル中に一度でも存在したことのある

    • 通常の名詞、CURSOR
    • エンティティ、カーソル

    を全て列挙し、それらを同じ名前につき1つ名詞化し、ANDで繋げたものとして働きます。

    例えば、TEXT、CURSOR、BABA(エンティティ)、KEKE、WALL(エンティティ)、LEVEL、EMPTYが存在するレベルでは、
    ALL = CURSOR AND BABA AND KEKE AND WALL
    です。

    例えば、レベル中にMEが存在しない場合、MEはALLに含まれませんが、文字M、Eを使いME(名詞)を作ると、それ以降MEはALLに含まれます。
    レベルをリスタートしない限りMEはALLに含まれたままです。

    一部のルールでは、ALLは通常とは異なる振る舞いをします。

    • NOT ALL
      TEXT AND EMPTYと同じです。
    • A IS ALL
      全てのA1は、そのマスに無ければ、そのマスにA1と同じ向きで、ALLに含まれる各種エンティティをそれぞれ1つ生成します。

      • A IS ALLはA IS Aによって無効化されます。
      • A IS ALLはA IS NOT Bによって部分的に無効化されます。
      • A IS ALLはA IS Bを無効化しません。
      • A IS ALLの効果は重複しません。

        例:A IS ALL AND ALLの効果はA IS ALLと同じです。

      A IS ALLとして使った時のみ特殊な働きをすることに注意してください。
      A IS ALLはA MAKE ALLのような働きをする(しかしA IS A、A IS NOT B、A IS NOT ALLで無効化できる)ルールだと考えてください。

    特殊な名詞 – LEVEL


    LEVELは特殊な名詞です。
    LEVELはレベルもしくはレベルアイコンを指します。

    • このゲームには、暗黙のルール、LEVEL IS STOPが存在します。

    LEVELと動詞、名詞、NOT
    LEVELと条件指定子
    LEVELと形容詞

    対応するセクションを参照。

    特殊な名詞 – GROUP



    GROUPは特殊な名詞です。
    GROUPは特定の対応する物を持ちませんが、代わりに、GROUPはそれに含まれる全ての物、または、それに含まれる全ての名詞を指します。

    GROUPは名詞ですが、A IS GROUP型で使われた時に限り、形容詞的な働きをします。

    • A IS GROUP
      • このルールが条件付きでない場合:
        全てのAがグループに含まれます。
        1つの名詞Aが名詞グループに含まれます。
      • このルールが条件付きの場合:
        条件を満たすAがグループに含まれます。
        条件を満たすAが存在するなら、1つの名詞Aが名詞グループに含まれます。

      例:LONELY BABA IS GROUPのとき、他のオブジェクトと同じマスにないBABAのみグループに含まれます。
      他のオブジェクトと同じマスにないBABAが存在するなら、名詞BABAが1つ名詞グループに含まれます。

      例:BABA IS GROUP、KEKE IS GROUP、ME IS GROUP、GROUP IS MOVEのとき、
      全てのBABA、KEKE、MEがグループに含まれ、それら全てがMOVE状態になります。

    • EMPTY IS GROUP
      ver.421c

      • このルールが条件付きでない場合:
        全ての無がグループに含まれます。
        1つの名詞EMPTYが名詞グループに含まれます。
      • このルールが条件付きの場合:
        条件を満たす無がグループに含まれます。

      ver.421c
      条件付きEMPTY IS GROUPは、名詞EMPTYを名詞グループに追加しません。

      例:EMPTY IS GROUP、GROUP IS BESTのとき、全ての無はBEST状態になります。
      このとき、BABA NEAR GROUP IS EMPTYは有効で、BABAは無と同じマスまたは周囲8マスにあるとき消失します。
      例:EMPTY NEAR BABA IS GROUP、GROUP IS BESTのとき、BABAの周囲にある無はBEST状態になります。
      このとき、BABA NEAR GROUP IS EMPTYは無効で、BABAは無と同じマスまたは周囲8マスにあっても消失しません。
      例:EMPTY NEAR LEVEL IS GROUP、GROUP IS BESTのとき、全ての無はBEST状態になります。
      このとき、BABA NEAR GROUP IS EMPTYは無効で、BABAは無と同じマスまたは周囲8マスにあっても消失しません。

    • LEVEL IS GROUP
      ver.421c
      レベルについて:

      • このルールが条件付きでない場合:
        レベルがグループに含まれます。
        1つの名詞LEVELが名詞グループに含まれます。
      • このルールが条件付きの場合:
        条件を満たすレベルがグループに含まれます。

        ver.421c
        条件付きLEVEL IS GROUPは、通常、名詞LEVELを名詞グループに追加しません。
        しかし、ON LEVELなどの(常に真の?)条件付きの場合は名詞LEVELを名詞グループに追加します。

        例:LEVEL IS GROUP、BABA ON GROUP IS EMPTYのとき、BABAは消失します。
        LEVEL ON BABA IS GROUP、BABA ON GROUP IS EMPTYのとき、BABAは消失しません。
        例:LEVEL IS GROUP、BABA MAKE GROUPのとき、BABAはレベルアイコンを生成します。
        LEVEL ON BABA IS GROUP、BABA MAKE GROUPのとき、BABAはレベルアイコンを生成しません。

      レベルアイコンについて:

      • A IS GROUPと同様です。

      名詞グループに追加される名詞LEVELは、1つのルールにつき1つまでです。(レベルとレベルアイコンの両方が計2つの名詞LEVELを追加する、ということはありません。)

    名詞としてのGROUPには2種類の異なる振る舞いが存在します。
    それぞれの種類のGROUPは異なるものを指します。種類はルール内でGROUPを置く位置によって変わります。

    1. GROUPを主語として用いた場合:
      GROUPは、グループに含まれる全ての物を指します。

      例:LONELY BABA IS GROUP、GROUP IS YOUのとき、「GROUP IS YOU」のGROUPは主語であるため、グループに含まれる全ての物、つまり他のオブジェクトと同じマスにないBABAを指します。

    2. GROUPを、A IS GROUP型を除く、主語以外の位置に置いた場合:
      GROUPは、名詞グループに含まれる全ての名詞をANDで繋げたものとして働きます。

      例:LONELY BABA IS GROUP、BABA FACING BABA IS GROUP、KEKE HAS GROUPのとき、「KEKE HAS GROUP」のGROUPは主語ではないため、名詞グループに含まれる全ての名詞をANDで繋げたものとして働きます。

      LONELY BABA IS GROUP、BABA FACING BABA IS GROUPは、どちらも条件付きA IS GROUP型なので、それぞれのルールについて、1つ以上のBABAが条件を満たすなら、1つの名詞BABAが名詞グループに含まれます。
      場合分けすると次のようになります。

      • 一方のルールの条件を満たすBABAがあり、他方の条件を満たすBABAもあるとき:
        「KEKE HAS GROUP」のGROUP = BABA AND BABAです。
      • 一方のルールの条件を満たすBABAがあるが、他方の条件を満たすBABAがないとき:
        「KEKE HAS GROUP」のGROUP = BABAです。
      • どのBABAも両方のルールの条件を満たさないとき:
        「KEKE HAS GROUP」のGROUPは何も指しません。

    一部のルールでは、GROUPは通常とは異なる振る舞いをします。

    • NOT GROUP
      主語として用いる場合と、前置詞句内で用いる場合とで効果が異なります。

      • 主語として用いた場合
        ALLに含まれていて、名詞グループに含まれていない名詞と同じです。

        例:レベル中にA、B、Cがあり、A IS GROUPのとき、NOT GROUP = B AND C
        例:レベル中にA、B、Cがあり、A AND B IS GROUPのとき、NOT GROUP = C
        例:レベル中にA、B、Cがあり、A AND B AND C IS GROUPのとき、NOT GROUPは何も指さない

      • 前置詞句内で用いた場合
        ver.421c
        名詞グループに含まれる、LEVEL、EMPTY、TEXTを除く各名詞にNOTを付け、それらをANDで繋いだものと同じです。
        名詞グループに、LEVEL、EMPTY、TEXTを除く名詞が含まれていない場合、ALLと同じです。

        例:BABA AND KEKE IS GROUPのとき、前置詞句内におけるNOT GROUPは、NOT BABA AND NOT KEKEと同じです。
        例:2 X EMPTY IS GROUP、2 X TEXT IS GROUPのとき、BABA NEAR NOT GROUP IS BESTは、BABA NEAR ALL IS GROUPと同じです。

    • GROUP IS GROUP
      グループに含まれる任意の物を物1、それに対応する名詞を名詞1とするとき、全ての物1は、名詞1 IS 名詞1の効果を受けます。

      例:LONELY LEVEL IS GROUP、GROUP IS GROUPで、他のオブジェクトと同じマスにないレベルアイコンが存在するとき、それらはグループに含まれ、LEVEL IS LEVELの効果を受けます。
      一方で、他のオブジェクトと同じマスにあるレベルアイコンはグループに含まれていないため、LEVEL IS LEVELの効果を受けません。
      また、レベルはグループに含まれていないためLEVEL IS LEVELの効果を受けません。そのため、LEVEL IS Aなどのルールによるレベルの変化は起こります。

    • GROUP IS NOT GROUP
      ver.421c
      グループにオブジェクトが含まれる場合、無限ループが発生します。

      例:BABA IS GROUP、GROUP IS NOT GROUP、BABAが存在するとき無限ループ。
      例:条件付きBABA IS GROUP、GROUP IS NOT GROUP、条件を満たすBABAが存在するとき無限ループ。条件を満たすBABAが存在しないとき何も起きない。
      例:TEXT IS GROUP、GROUP IS NOT GROUPのとき無限ループ。
      例:EMPTY IS GROUP、GROUP IS NOT GROUPのとき何も起きない。(無について効果がない。)
      例:LEVEL IS GROUP、GROUP IS NOT GROUPのとき何も起きない。(レベルについて効果がない。)
      例:LEVEL IS GROUP、GROUP IS NOT GROUP、レベルアイコンが存在するとき無限ループ。

    GROUPは無限ループの作成に利用できます。

    ver.421d
    A MAKE GROUP、条件付きB IS GROUPは(バグ?)っぽいようです。
    これらルールの効果は期待通り発揮されます。
    (Bが条件を満たすとき、B IS GROUPが有効となり、A MAKE GROUPによりグループ・名詞グループに対応する物が生成される)
    しかし、それに加えて次の現象も起こります。
    Aが条件を満たすとき、Bが名詞グループに加えられ、A MAKE GROUPによりグループ・名詞グループに対応する物が生成される)

    特殊な名詞 – CURSOR


    CURSORは特殊な名詞です。
    CURSORはカーソルを指します。

    • このゲームには、暗黙のルール、CURSOR IS SELECTが存在します。

    CURSORは、特殊な名詞の中で、ALLに含まれる唯一の名詞です。

    CURSOR IS SELECTに言及する開発者の発言
    [link]

    Originally posted by Hempuli:

    The inherent rule related to Cursor is “Cursor Is Select”, and this gives it controllability that isn’t just “very specifically conditional You”; the movement of a Cursor can’t push or pull, for example, [後略]

    特殊な名詞 – IMAGE


    IMAGEは特殊な名詞です。

    IMAGEはゲーム本編のレベル「GALLERY」にのみ登場します。

    文字を使って番号を綴り、IMAGE IS 番号とすることで、番号に対応する画像を表示します。また、IMAGE IS WINとすると、画像の領域全体がWIN状態になります。
    その他の振る舞いは不明です。
    (このガイドでは詳細について調べません…IMAGEはGALLERY専用の仕掛けであり、他のレベルでも使える発見が無いためです。)

    演算子

    演算子はテキストの一種です。
    演算子は、ルールの構成要素同士を結んだり、また、ルールの構成要素の前や後に付いて、ルールの意味を変化させます。

    演算子は以下のいずれかに分類できます。

    • 動詞
    • 条件指定子
    • AND
    • NOT

    動詞

    このセクションはver.386、ver.387、ver.389に基づいて作られています。

    動詞は演算子の一種です。

    動詞はルールの効果と構造を決定します。
    動詞は主語となる名詞と、特定の種類の単語を結ぶことでルールを構成します。
    どの種類の単語を結べるかは、動詞によって異なります。

    本編に登場する動詞
    IS


    ISは名詞と補語を結びます。

    • A IS 形容詞1
      全てのAは形容詞1の特性を得ます。
    • A IS A
      全てのAの変化を無効化します。
    • A IS B (ただしA ≠ B)
      全てのAはBに変化します。

      • A IS B AND C (AND D)… (ただしA ≠ B、A ≠ C、(A ≠ D)…)
        全てのAはBとC(とD)…に変化します。
      • A IS TEXT
        全てのAは対応する単語(名詞A)に変化します。
      • A IS EMPTY
        全てのAは無に変化します。
        (全てのAは消失します。)
      • A IS LEVEL
        全てのAはレベルアイコンに変化します。
      • A IS ALL
        全てのAは、そのマスに無ければ、そのマスに自身と同じ向きで、ALLに含まれる各種エンティティをそれぞれ1つ生成します。

        A MAKE ALLとよく似た効果です。ただし、A IS ALLの効果は重複しません。
        例:A IS ALL AND ALLのとき、AはALLに含まれる各種エンティティをそれぞれ1つ生成します。
        一方で、A MAKE ALL AND ALLのとき、AはALLに含まれる各種エンティティをそれぞれ2つ生成します。

        • TEXT IS ALL
          全てのテキストは、そのマスにALLに含まれるエンティティが1種類でも無ければ、自身を消滅させ、そのマスに自身と同じ向きで、そのマスに無いALLに含まれる各種エンティティをそれぞれ1つ生成します。(仕様?)
          (一見変化に見えるが、A IS ALLと同様、変化ではないらしい。REVERTで戻せないし、変化の「縦に縮んでから伸びる」演出も無い。)
        • LEVEL IS ALL(レベルアイコンについて)
          TEXT IS ALLの説明のテキストを、レベルアイコンに置き換えたものと同じです。
      • A IS GROUP
        全てのAはグループに含まれます。
        このルールが条件付きでない場合、1つの名詞Aが名詞グループに含まれます。
        このルールが条件付きの場合、1つ以上のAが条件を満たすなら、1つの名詞Aが名詞グループに含まれます。

    HAS


    HASは名詞と名詞を結びます。

    • A HAS B
      全てのA1は、破壊されたとき、そのマスにA1と同じ向きで、Bを1つ生成します。
      • A HAS TEXT
        A HAS Bの説明のBを、Aに対応する単語(名詞A)に置き換えたものと同じです。
      • A HAS EMPTY
        A HAS Bの説明のBを、無に置き換えたものと同じです。
        (何も起きません。無を生成してもわかりません。)
      • A HAS LEVEL
        A HAS Bの説明のBを、レベルアイコンに置き換えたものと同じです。
        生成されるレベルアイコンは、A1のレベルメタデータを保持します。
      • A HAS ALL
        全てのAは、破壊されたとき、そのマスに自身と同じ向きで、ALLに含まれる各種エンティティをそれぞれ1つ生成します。
      • A HAS GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、A HAS Xの効果。

    MAKE


    MAKEは名詞と名詞を結びます。

    • A MAKE B
      全てのA1は、そのマスに無ければ、そのマスにA1と同じ向きで、Bを1つ生成します。

      MAKEによる複数のオブジェクトの生成は同時に起こります。
      例:2 X A MAKE Cのとき、Cの無いマスにあるAは、2つのCを生成します。
      また、A MAKE C、B MAKE C(ただしA ≠ B)で、AとBが共にCの無い同じマスにあるなら、AとBは1つずつCを生成します。
      どちらの場合も、Cのあるマスでは、Cは生成されません。

      • A MAKE TEXT
        A MAKE Bの説明のBを、Aに対応する単語(名詞A)に置き換えたものと同じです。
      • A MAKE EMPTY
        A MAKE Bの説明のBを、無に置き換えたものと同じです。
        (何も起きません。無を生成してもわかりません。)
      • A MAKE LEVEL
        A MAKE Bの説明のBを、レベルアイコンに置き換えたものと同じです。
        生成されるレベルアイコンは、A1のレベルメタデータを保持します。
      • A MAKE ALL
        全てのAは、そのマスに無ければ、そのマスに自身と同じ向きで、ALLに含まれる各種エンティティをそれぞれ1つ生成します。

        A IS ALLとよく似た効果です。ただし、A IS ALLの効果は重複しません。

      • A MAKE GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、A MAKE Xの効果。

    動詞2

    このセクションはver.386、ver.387、ver.389に基づいて作られています。

    本編に登場しない動詞
    EAT


    EATは名詞と名詞を結びます。

    • A EAT B
      • A1とB1の浮遊状態が同じ、かつ、B1がSAFE状態でないとき:
        全てのA1は、進入不可なB1に移動できます。

        例:BABA EAT B、WALL IS STOPのとき、BABAはWALLに移動できます。
        ここで、更にBABA IS FLOATのとき、BABAはWALLに移動できません。

      • 全てのAは、浮遊状態の同じB1に移動するとき、B1を破壊します。

        例:BABA EAT BABAのとき、BABA1がBABA2に移動すると、BABA2が破壊されます。

      • Aに重なった全てのBは破壊されます。

        例:BABA EAT BABAのとき、複数のBABAを重ねるとそれらは全て破壊されます。

      • EATはPUSHに優先します。
        ただし、EATの進入不可の無効化の条件を満たさない場合は押すことができます。

        例:A EAT B、B IS PUSHのとき、AがBに移動しても、Bを押すことはできず、Bを破壊します。
        ここで、更にA IS FLOATのとき、AがBに移動すると、AはBを押すことができます。

      • EATはSWAPに優先します。
        ただし、EATの進入不可の無効化の条件を満たさない場合は入れ替えできます。

        例:A EAT B、B IS SWAPのとき、AがBに移動しても、入れ替えは起こらず、Bを破壊します。
        ここで、更にB IS SAFEのとき、AがBに移動すると、入れ替えが起こります。

      • OPEN & SHUTはEATに優先します。
        これは移動時と重なりのどちらについても当てはまります。

    B IS BROKEN、A EAT Bのとき、AとBの重なりによるBの破壊効果は発揮されません。

      • A EAT TEXT
        A EAT Bの説明のBを、テキストに置き換えたものと同じです。
      • A EAT EMPTY
        A EAT Bの説明のBを、無に置き換えたものと同じです。
      • A EAT LEVEL
        (バグ?)
        ver.389
        レベルアイコンが存在するとき、レベルが破壊されます。(SAFEで防ぐことはできる)(Aがなくても発動)
        また、全てのレベルアイコンが破壊されます。(SAFEで防ぐことはできる)(Aがなくても発動)
        A EAT Bの説明のBを、レベルアイコンに置き換えたものと同じです。
        また、レベルがSAFE状態でないとき、レベルが破壊されます。
      • A EAT ALL
        A EAT Bの説明のBを、ALLに含まれる各種エンティティに置き換えたものと同じです。
      • A EAT GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、A EAT Xの効果。

    FEAR


    FEARは名詞と名詞を結びます。

    • A FEAR 名詞
      各Aは次の効果を受けます。

      • 用語(恐怖対象名詞、恐怖対象、恐怖量、移動量)
        • A1に有効な全ての
          A FEAR 名詞
          の全ての名詞をA1の「恐怖対象名詞」とします。

          例:A FEAR B、2 X A FEAR Cのとき、恐怖対象名詞はB、C、C

          恐怖対象名詞に対応する全てのタイルをA1の「恐怖対象」とします。

        • A1に隣接する各マスについて、次を行います:
          このマスにある恐怖対象に対応する恐怖対象名詞の数を合計する。

          例:恐怖対象名詞がB、C、Cのとき、このマスにBもCもないなら0、BがありCがないなら1、BがなくCがあれば2、BとCがあれば3

          あるマスの値をそのマスの「恐怖量」とします。
          4マス全ての恐怖量の内、最大値を「移動量」とします。

      • 移動
        • A1に隣接する4マスの内、恐怖量が最大の方向が1マス:
          A1は、左、正面、右、後方の順に、隣接するマスに恐怖対象があるか探し、最も早く見つかった方向と逆方向へ移動量だけ移動する
        • A1に隣接する4マスの内、恐怖量が最大の方向が2マス以上:
          • かつ、移動量が1:
            A1は、正面、右、左、後方の順に、隣接するマスについて次を判定し、最も早く条件を満たした方向へ移動量だけ移動する:
            恐怖対象がない、かつ、移動できる
          • かつ、移動量が2以上:
            A1は、正面、右、左、後方の順に、隣接するマスについて次を判定し、最も早く条件を満たした方向へ移動量だけ移動する:
            移動できる
      • FEARの効果は重複します(が、見ての通り少し奇妙な振る舞いです)。

    BROKEN状態のタイルは恐怖対象になりません。
    例:A FEAR B、B IS BROKENのとき、AはBに隣接しても移動しません。

    わかりづらいかと思うので補足

    • 同種の恐怖対象が複数個同じマスにあっても、恐怖量は重複しません。恐怖量は、そのマスにある恐怖対象の種類毎に加算されます。
      例:A FEAR B、A FEAR Cのとき、あるマスにBだけがあるなら、その個数がいくつでも、そのマスの恐怖量は1です。同様に、あるマスにCだけがあるなら、その個数がいくつでも、そのマスの恐怖量は1です。
      あるマスにBとCがあるなら、それらの個数がいくつでも、そのマスの恐怖量は2です。
    • 恐怖量が最大の方向が1マスのとき、Aは必ず移動します。(これはA IS WEAKで確認できます。移動先が壁なら破壊されます。)
    • 恐怖量が最大の方向が2マス以上のとき、状況によっては、Aは移動しません。(同じくA IS WEAKで確認できます。)
    • 多重FEARでは「恐怖対象に向かって移動しない」という性質が消えます。移動できるなら、恐怖対象を通過してでも移動しようとします。
      • A FEAR TEXT
        A FEAR 名詞と同じです。
      • A FEAR EMPTY
        A FEAR 名詞と同じです。
        ただし、レベル境界は無だとみなされます。(バグ?)
      • A FEAR LEVEL
        A FEAR 名詞と同じです。
      • A FEAR ALL
        XをALLに含まれる任意の名詞とするとき、全てのXについて、A FEAR Xの効果。
      • A FEAR GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、A FEAR Xの効果。

    FEARによる移動は、MOVEやNUDGEより後、SHIFTより先に起こります。

    FOLLOW


    FOLLOWは名詞と名詞を結びます。

    • A FOLLOW B
      ここで、AとBの間の距離とは、マンハッタン距離[ja.wikipedia.org]を指します。
      各Aは次の効果を受けます。

      • A1にBが隣接しているとき:
        A1は、正面、左、右、後方の順に、隣接するマスにBがあるか探し、最も早く見つかった方向を向きます。
      • A1にBが隣接していないとき:
        A1は最も近いBの方向を向きます。ただし、A1と同じマスにあるBは対象になりません。

        • A1とBの位置関係が斜め45°のとき、A1は上下どちらかの内Bに近い方向を向きます。
        • A1から等距離に複数のBがある場合、向きの優先順位はBの内部IDに依存します。

          例:BABA FOLLOW KEKEのとき、BABA1から見てKEKE1とKEKE2が等距離にあるとき、BABA1がKEKE1とKEKE2のどちらを向くかは、それらKEKEの内部IDによって決まります。

      • Bが存在しない場合、効果はありません。


      この画像はSKULL FOLLOW BABAとしたときにSKULLの向く方向を示しています。
      BABAの描かれたマスの内1つだけBABAを配置すると仮定したとき、SKULLはそのマスのBABAと同じ向きを向きます。
      SKULLとBABAが同じマスにいるとき、SKULLの向きは変化しません。

      • A FOLLOW B AND C (AND D)…
        A FOLLOW Bの説明のBを、BまたはC(またはD)…に置き換えたものと同じです。
        全てのBまたはC(またはD)…は対等に扱われます。
        (A FOLLOW B、A FOLLOW C、(A FOLLOW D)…のルールは同時に処理され、各ルールの処理順による向きの上書きは発生しないということです。)
      • A FOLLOW TEXT
        A FOLLOW Bの説明のBを、テキストに置き換えたものと同じです。
      • A FOLLOW EMPTY
        効果なし。
      • A FOLLOW LEVEL
        A EAT Bの説明のBを、レベルアイコンに置き換えたものと同じです。
      • A FOLLOW ALL
        A FOLLOW Bの説明のBを、ALLに含まれる各種エンティティに置き換えたものと同じです。
      • A FOLLOW GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、A FOLLOW Xの効果。

    MIMIC

    MIMICは名詞と名詞を結びます。

    • A MIMIC B
      Bを主語とする全てのルールについて、主語Bを名詞Aに置き換えたルールを新しく作ります。
      MIMICにより作られたルールはポーズ画面で後ろに「 (MIMIC)」が付いて表示されます。

      • 動詞がMIMICのルールはコピーしません。
      • MIMICによって作られたルールはコピーしません。
      • 暗黙のルールもコピーします。

        例:BABA MIMIC LEVELはBABA IS STOP (MIMIC)を作ります。

      • A MIMIC Bに条件が付いているなら、新しく作られるルールにもその条件が付きます。

        例:BABA NEAR KEKE MIMIC SKULL、SKULL IS DEFEATは、BABA NEAR KEKE IS DEFEAT (MIMIC)を作ります。
        例:BABA NEAR KEKE MIMIC SKULL、SKULL ON BABA IS DEFEATは、BABA ON BABA & NEAR KEKE IS DEFEAT (MIMIC)を作ります。

      • A MIMIC Bと同時に条件付きA MIMIC NOT Bが存在するなら、新しく作られるルールには、その条件を否定した条件が付きます。否定された条件は「()」で囲われます。

        例:BABA MIMIC ME、LONELY BABA MIMIC NOT ME、ME IS STOPは、(NOT LONELY) BABA IS STOP (MIMIC)を作ります。
        例:BABA NOT ON KEKE MIMIC ME、BABA ON KEKE MIMIC NOT ME、ME IS STOPは、BABA NOT ON KEKE & (NOT ON) KEKE IS STOP (MIMIC)を作ります。

    動詞3

    PLAY

    この項目はver.419.68に基づいて記述されています。
    PLAYは名詞と文字列を結びます。

    • X PLAY 文字列1(ただし文字列1は有効な文字列に限る)
      Xは文字列1の音名の音を鳴らします。

      • 次の2点を満たす文字列は有効です。
        1. 次の形式を満たす
          Let (SF) (Num)
          説明は次の通りです。

          • (文字1)
            = 文字1は省略可能
          • Let
            = 「A、B、C、D、E、F、G」の文字の内いずれか1つ
          • SF
            = 「♯、♭」の文字の内いずれか1つ
          • Num
            = 「3、4、5、6」の文字の内いずれか1つ
        2. 音名が次の範囲に収まる
          A♭3 から G♯6
          文字列の「Num」が省略された場合、「5」を当てはめたのと同じです。
      • 文字を使用して、♯ = SHARP、♭ = FLATへの置き換えが可能です。
      • 特定のオブジェクトは固有の音色を持ちます。
        名前
        音色
        values.lua(block.lua)での音の名前
        BABA
        多重ノコギリ波
        beep3, beep4, beep5, beep6
        BOX
        バスドラム
        drum_kick
        ROCK
        スネアドラム
        drum_snare
        KEY
        クローズドハイハット
        drum_hat
        KEKE
        間の抜けた音
        tune_blop
        SKULL
        シンセ音
        tune_short2
        PIANO
        ピアノ
        piano2
        GUITAR
        ギター
        guitar2
        SAX
        サックス
        sax2
        DRUM
        スネアドラム
        drum_snare
        HIHAT
        クローズドハイハット
        drum_hat
        TRUMPET
        トランペット
        trumpet
        FROG
        蛙の鳴き声
        frog
        FIRE
        燃える音
        burn6
        LAVA
        燃える音(FIREより少し低い)
        burn5
        CRYSTAL
        カンという音
        clink
        GEM
        カンという音
        clink
        SHELL
        カンという音
        clink
        VASE
        カンという音
        clink
        MIRROR
        カンという音
        clink
        CAR
        クラクション
        honk
        WATER
        水飛沫の音
        splash
        FISH
        水飛沫の音
        splash
        BUBBLE
        水飛沫の音
        splash
        CRAB
        水飛沫の音
        splash
        BOTTLE
        水飛沫の音
        splash
        その他
        ノコギリ波
        beep

        次のオブジェクトの音は同じです。

        • ROCK、DRUM
        • KEY、HIHAT
        • CRYSTAL、GEM、SHELL、VASE、MIRROR
        • WATER、FISH、BUBBLE、CRAB、BOTTLE
      • X PLAY NOT 文字列はX PLAY 文字列を無効化しますが、X PLAY NOT 文字列自体がA音を鳴らします。(バグ?)

    ver.398
    (バグ?)
    一部の音名の音高がずれています。

    動詞とEMPTY

    このセクションはver.389、ver.390に基づいて作られています。

    本編に登場する動詞
    IS
    • EMPTY IS 形容詞
      全ての無は形容詞の特性を得ます。
    • EMPTY IS EMPTY
      全てのEMPTY IS B(ただしB ≠ EMPTY)を無効化します。
    • EMPTY IS B(ただしB ≠ EMPTY)
      全ての無はBに変化します。
      無が変化して出現する各Bの向きはランダムです。
      ただし、DIRs状態の無が変化して出現するBは対応する方向を向きます。
      複数種のDIRsが適用されているとき、最後に処理されるDIRsのみ有効です。

      • EMPTY IS TEXT
        全ての無は対応する単語(名詞EMPTY)に変化します。
      • EMPTY IS LEVEL
        全ての無はレベルアイコンに変化します。
      • EMPTY IS ALL
        全ての無は、そのマスに、ALLに含まれる各種エンティティをそれぞれ1つ生成します。
        生成されるエンティティは必ず右を向きます。(バグ?)
      • EMPTY IS GROUP
        全ての無はグループに含まれます。
        1つの名詞EMPTYが名詞グループに含まれます。
        このルールが条件付きの場合、効果はありません。

    HAS
    • EMPTY HAS B
      全ての無1は、破壊されたとき、そのマスに、Bを1つ生成します。
      無1が破壊されて生成されるBの向きはランダムです。
      ただし、無1がDIRs状態なら、生成されるBは対応する方向を向きます。
      複数種のDIRsが適用されているとき、最後に処理されるDIRsのみ有効です。

      • EMPTY HAS TEXT
        EMPTY HAS Bの説明のBを、対応する単語(名詞EMPTY)に置き換えたものと同じです。
      • EMPTY HAS EMPTY
        EMPTY HAS Bの説明のBを、無に置き換えたものと同じです。
        (何も起きません。無を生成してもわかりません。)
      • EMPTY HAS LEVEL
        EMPTY HAS Bの説明のBを、レベルアイコンに置き換えたものと同じです。
      • EMPTY HAS ALL
        全ての無1は、破壊されたとき、ALLに含まれる各種エンティティをそれぞれ1つ生成します。
        無1が破壊されて生成される各種エンティティの向きはランダムです。
        ただし、無1がDIRs状態なら、生成される各種エンティティは対応する方向を向きます。
        複数種のDIRsが適用されているとき、最後に処理されるDIRsのみ有効です。
      • EMPTY HAS GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、EMPTY HAS Xの効果。

    MAKE
    • EMPTY MAKE B
      全ての無1は、そのマスに、Bを1つ生成します。
      生成されるBの向きはランダムです。
      ただし、無1がDIRs状態なら、生成されるBは対応する方向を向きます。
      複数種のDIRsが適用されているとき、最後に処理されるDIRsのみ有効です。
      MAKEによる生成は同時に起こります。そのため、例えば、2 X EMPTY MAKE Bのとき、無は、2つのBを生成します。

      • EMPTY MAKE TEXT
        EMPTY MAKE Bの説明のBを、対応する単語(名詞EMPTY)に置き換えたものと同じです。
      • EMPTY MAKE EMPTY
        EMPTY MAKE Bの説明のBを、無に置き換えたものと同じです。
        (何も起きません。無を生成してもわかりません。)
      • EMPTY MAKE LEVEL
        EMPTY MAKE Bの説明のBを、レベルアイコンに置き換えたものと同じです。
      • EMPTY MAKE ALL
        全ての無1は、そのマスに、ALLに含まれる各種エンティティをそれぞれ1つ生成します。
        生成される各種エンティティの向きはランダムです。
        ただし、無1がDIRs状態なら、生成される各種エンティティは対応する方向を向きます。
        複数種のDIRsが適用されているとき、最後に処理されるDIRsのみ有効です。
      • EMPTY MAKE GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、EMPTY MAKE Xの効果。
    本編に登場しない動詞
    EAT
    • EMPTY EAT B
      • 無1とB1の浮遊状態が同じ、かつ、B1がSAFE状態でないとき:
        全ての無1は、進入不可なB1に移動できます。
      • 全ての無は、浮遊状態の同じB1に移動するとき、B1を破壊します。
      • EATはPUSHに優先します。
        ただし、EATの進入不可の無効化の条件を満たさない場合は押すことができます。
      • EATはSWAPに優先します。
        ただし、EATの進入不可の無効化の条件を満たさない場合は入れ替えできます。
      • OPEN & SHUTはEATに優先します。
      • EMPTY EAT TEXT
        EMPTY EAT Bの説明のBを、テキストに置き換えたものと同じです。
      • EMPTY EAT EMPTY
        • 無2がSAFE状態でないとき:
          全ての無は、進入不可な無2に移動できます。
        • 全ての無は、無2に移動するとき、無2を破壊します。
        • EATはPUSHに優先します。
          ただし、EATの進入不可の無効化の条件を満たさない場合は押すことができます。
        • EATはSWAPに優先します。
          ただし、EATの進入不可の無効化の条件を満たさない場合は入れ替えできます。
        • OPEN & SHUTはEATに優先します。

        無同士の浮遊状態は無視されます。(バグ?)

      • EMPTY EAT LEVEL(ver.407で確認)
        • 無とレベルが重なったとき、レベルが破壊されます。
        • (バグ?)
          ver.389-407
          レベルアイコンが存在するとき、レベルが破壊されます。(オブジェクトで全マス埋めて、無がなくても発動。)
          また、全てのレベルアイコンが破壊されます。(オブジェクトで全マス埋めて、無がなくても発動。)
          (A EAT LEVELを見るにレベルとレベルアイコンがごっちゃになってそう)
      • EMPTY EAT ALL
        EMPTY EAT Bの説明のBを、ALLに含まれる各種エンティティに置き換えたものと同じです。
      • EMPTY EAT GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、EMPTY EAT Xの効果。

    FEAR
      //TODO:詳細を調べる

    • EMPTY FEAR B
      • 無は、成立しているEMPTY FEAR Bの数に関わらず、一度だけ移動します。((仕様?)EMPTYは同じ移動ステップで1マスしか移動できない?EMPTY IS MOVEも重複しないし)
      • 無がDIRs状態でないなら:
        • 隣接する1マスにBがあるような、全ての無は、Bの反対側に移動します。
        • 隣接する2から4マスにBがあるような、全ての無は、ランダムな方向に移動します。
      • 無がDIRs状態なら:
        • 隣接する1マスにBがあるような、全ての無は、Bの反対側に移動します。
        • 隣接する2から3マスにBがあるような、全ての無1は、Bの無い、無1から見てより優先順位が高い方向に移動できるか確認し、移動できるならその方向へ移動します。
          移動する方向の優先順位は、高い方から、無1が向いている方向から見て正面、右(時計回り)、左(反時計回り)、後ろ(反転)です。
        • 隣接する4マスにBがあるような、全ての無は、何もしません。

        複数種のDIRsが適用されているとき、最後に処理されるDIRsのみ有効です。

      • EMPTY FEAR TEXT
        EMPTY FEAR Bの説明のBを、テキストに置き換えたものと同じです。
      • EMPTY FEAR EMPTY
        EMPTY FEAR Bの説明のBを、無に置き換えたものと同じです。
        ただし、レベル境界は無だとみなされます。(バグ?)
      • EMPTY FEAR LEVEL
        EMPTY FEAR Bの説明のBを、レベルアイコンに置き換えたものと同じです。
      • EMPTY FEAR ALL
        EMPTY FEAR Bの説明のBを、ALLに含まれる各種エンティティに置き換えたものと同じです。
      • EMPTY FEAR GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、EMPTY FEAR Xの効果。

    FOLLOW
    • EMPTY FOLLOW B
      ここで、無とBの間の距離とは、マンハッタン距離[ja.wikipedia.org]を指します。
      全ての無1について、

      • Bが存在するとき、無1は向きを持ちます。
      • 無1にBが隣接しているとき:
        • 無1は自身に隣接するBの方向を向きます。
          無1に隣接するBが複数あるとき、無1は、より優先順位が高い方向にあるBに向きます。優先順位は、高い方から、右、下、上、左です。
      • 無1にBが隣接していないとき:
        • 無1は最も近いBの方向を向きます。
          • 無1とBの位置関係が斜め45°のとき、無1は上下どちらかの内Bに近い方向を向きます。
          • 無1から等距離に複数のBがある場合、向きの優先順位はBの内部IDに依存します。
      • Bが存在しない場合、効果はありません。
      • EMPTY FOLLOW B AND C (AND D)…
        (要検証)
        無はルールの処理順に従い、EMPTY FOLLOW B、EMPTY FOLLOW C(、EMPTY FOLLOW D…)を実行します。これらによる向きの設定は1ターンに1度のみ起こります。
        これはつまり、Bが存在すれば、無はC(、D…)に向くことはなく、また、Bが存在しなければEMPTY FOLLOW Bには効果がないため、無はC(、D…)に向くことがあるということです。

        EMPTY IS Aのような無の変化が起こるとき、各無の変化ごとに各無の向きが再計算されるようです。
        例:EMPTY FOLLOW A AND B(A→Bの順に処理)、EMPTY IS A、レベル中にBのみが存在するとき、最初に無が変化して出現したAは最も近いBに向きます。Aが出現したために、それ以降に出現するAは最も近いAに向きます。

        EMPTY FOLLOW ALLもこれに従いますが、ALLに名詞が登録される順番はオブジェクトの配置やルールによって変化するようで、ルールやオブジェクトが同じでも、レベル製作時の配置によってはEMPTYの向きの優先順位が変化します。

        無の向きを指定するルール(EMPTY FOLLOW B、EMPTY IS DIRs)同士の処理順は、ある要因(おそらくルール文頭のテキストの内部ID)によって変化します。
        無の向きは、より後に処理されるルールによって上書きされます。(無の向きを指定するルールは、最後に処理される物のみが有効です。)

      • EMPTY FOLLOW TEXT
        EMPTY FOLLOW Bの説明のBを、テキストに置き換えたものと同じです。
      • EMPTY FOLLOW EMPTY
        効果なし。(仕様?)
      • EMPTY FOLLOW LEVEL
        効果なし。(仕様?)
      • EMPTY FOLLOW ALL
        • レベル中に1種類(B)のエンティティのみが存在するとき、EMPTY FOLLOW Bと同じです。
        • レベル中に2種類以上のエンティティが存在するとき、EMPTY FOLLOW B AND C (AND D)…と同じです。
      • EMPTY FOLLOW GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、EMPTY FOLLOW Xの効果。

    MIMIC
    • EMPTY MIMIC B
      正しく働きます。

    PLAY
    • EMPTY PLAY 文字列
      正しく働きます。

    動詞とLEVEL

    このセクションはver.389に基づいて作られています。

    本編に登場する動詞
    IS
    • LEVEL IS 形容詞
      レベルと、全てのレベルアイコンは形容詞の特性を得ます。
    • LEVEL IS LEVEL
      全てのLEVEL IS B(ただしB ≠ LEVEL)を無効化します。
    • LEVEL IS B(ただしB ≠ LEVEL)
      • レベルについて:
        • 上位レベルに遷移し、現在プレイ中のレベルに対応する全てのレベルアイコン(それらが変化していたオブジェクトを含む)がBに変化します(解放状態を問わない)。この変化はセーブされます。上位レベル以外のレベルに存在する、現在プレイ中のレベルに対応するレベルアイコンは変化しません。
          • ただし、レベルアイコンがBに変化できるのは、Bが上位レベルのオブジェクトパレットに含まれているか、または、Bが基本オブジェクトのときのみです。
          • Bが上位レベルのオブジェクトパレットに含まれておらず、かつ、Bが基本オブジェクトでないとき、レベルアイコン(が変化していたオブジェクト)は、レベルアイコンに変化します。(LEVEL IS REVERTと同様に。)
        • レベルの変化は、タイルの変化より後に起こります。(TODO:要検証)
      • レベルアイコンについて:
        • 全てのレベルアイコンはBに変化します。
          変化したBは、元のレベルアイコンのレベルメタデータを保持します。
          このようなBは、SELECT状態のオブジェクトで選択することが可能です。
      • LEVEL IS TEXT
        LEVEL IS Bの説明のBを、対応する単語(名詞LEVEL)に置き換えたものと同じです。
      • LEVEL IS EMPTY
        • レベルについて:
          レベルが消失します。
          (全てのオブジェクトが消失します。)
        • レベルアイコンについて:
          LEVEL IS Bの説明のBを、無に置き換えたものと同じです。
      • LEVEL IS ALL
        LEVEL IS Bの説明のBを、ALLに含まれる各種エンティティに置き換えたものと同じです。

        レベルアイコンについて、A IS ALLの効果と異なることに注意してください。
        A IS ALLのとき、Aは変化することなくALLに含まれる各種エンティティを生成しますが、LEVEL IS ALLのとき、レベルアイコンはALLに含まれる各種エンティティに変化します。
        (しかしながら、この変化は本当の変化ではないようです。
        この変化は、REVERTで戻せません。
        (A IS ALLと同様の処理に加えて、レベルアイコンを消失させることでこの働きを実現している?変化の「縦に縮んでから伸びる」演出も無いし。))

      • LEVEL IS GROUP
        レベルについて:

        • レベルはグループに含まれます。
          1つの名詞LEVELが名詞グループに含まれます。
          このルールが条件付きの場合、効果はありません。

        レベルアイコンについて:

        • A IS GROUPと同様です。

        名詞グループに追加される名詞LEVELは、1つのルールにつき1つまでです。

    HAS
    • LEVEL HAS B
      • レベルについて:
        効果なし。
        (レベルが破壊されると、このルールのテキストを含め、全てのオブジェクトが破壊されるため無意味です。)
      • レベルアイコンについて:
        全てのレベルアイコン1は、破壊されたとき、そのマスにレベルアイコン1と同じ向きで、Bを1つ生成します。
      • LEVEL HAS TEXT
        LEVEL HAS Bの説明のBを、対応する単語(名詞LEVEL)に置き換えたものと同じです。
      • LEVEL HAS EMPTY
        LEVEL HAS Bの説明のBを、無に置き換えたものと同じです。
        (何も起きません。無を生成してもわかりません。)
      • LEVEL HAS LEVEL
        LEVEL HAS Bの説明のBを、レベルアイコンに置き換えたものと同じです。
        生成されたレベルアイコンは、元のレベルアイコンのレベルメタデータを保持します。
      • LEVEL HAS ALL
        全てのレベルアイコン1は、破壊されたとき、そのマスにレベルアイコン1と同じ向きで、ALLに含まれる各種エンティティをそれぞれ1つ生成します。
      • LEVEL HAS GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、LEVEL HAS Xの効果。

    MAKE
    • LEVEL MAKE B
      • レベルについて:
        効果なし。
      • レベルアイコンについて:
        全てのレベルアイコン1は、そのマスに無ければ、そのマスにA1と同じ向きで、Bを1つ生成します。
        MAKEによる生成は同時に起こります。そのため、例えば、2 X LEVEL MAKE Bのとき、Bの無いマスにあるレベルアイコンは、2つのBを生成します。
      • LEVEL MAKE TEXT
        LEVEL MAKE Bの説明のBを、対応する単語(名詞LEVEL)に置き換えたものと同じです。
      • LEVEL MAKE EMPTY
        LEVEL MAKE Bの説明のBを、無に置き換えたものと同じです。
        (何も起きません。無を生成してもわかりません。)
      • LEVEL MAKE LEVEL
        効果なし。
        (条件から、レベルアイコンがレベルアイコンを生成することはありえません。)
      • LEVEL MAKE ALL
        全てのレベルアイコン1は、そのマスに無ければ、そのマスにレベルアイコン1と同じ向きで、ALLに含まれる各種エンティティを1つずつ生成します。
      • LEVEL MAKE GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、LEVEL MAKE Xの効果。
    本編に登場しない動詞
    EAT
    • LEVEL EAT B
      • レベルについて:
        全てのBは破壊されます。(浮遊状態を無視します。)(仕様?)
      • レベルアイコンについて:
        A EAT Bの説明のAを、レベルアイコンに置き換えたものと同じです。
      • LEVEL EAT TEXT
        LEVEL EAT Bの説明のBを、テキストに置き換えたものと同じです。
      • LEVEL EAT EMPTY
        LEVEL EAT Bの説明のBを、無に置き換えたものと同じです。
      • LEVEL EAT LEVEL
        非常にバグっぽい挙動のため要検証
        動詞セクションのA EAT LEVELを参照
        レベルアイコンについては、LEVEL EAT Bの説明のBを、レベルアイコンに置き換えたものと同じです。
      • LEVEL EAT ALL
        LEVEL EAT Bの説明のBを、ALLに含まれる各種エンティティに置き換えたものと同じです。
      • LEVEL EAT GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、LEVEL EAT Xの効果。

    FEAR
    • LEVEL FEAR B
      • レベルについて:
        効果なし。
      • レベルアイコンについて:
        A FEAR Bの説明のAを、レベルアイコンに置き換えたものと同じです。
      • LEVEL FEAR TEXT
        LEVEL FEAR Bの説明のBを、テキストに置き換えたものと同じです。
      • LEVEL FEAR EMPTY
        LEVEL FEAR Bの説明のBを、無に置き換えたものと同じです。
        ただし、レベル境界は無だとみなされます。(バグ?)
      • LEVEL FEAR LEVEL
        LEVEL FEAR Bの説明のBを、レベルアイコンに置き換えたものと同じです。
      • LEVEL FEAR ALL
        LEVEL FEAR Bの説明のBを、ALLに含まれる各種エンティティに置き換えたものと同じです。
      • LEVEL FEAR GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、LEVEL FEAR Xの効果。

    FOLLOW
    • LEVEL FOLLOW B
      • レベルについて:
        効果なし。
      • レベルアイコンについて:
        A FOLLOW Bの説明のAを、レベルアイコンに置き換えたものと同じです。
      • LEVEL FOLLOW TEXT
        LEVEL FOLLOW Bの説明のBを、テキストに置き換えたものと同じです。
      • LEVEL FOLLOW EMPTY
        効果なし。
      • LEVEL FOLLOW LEVEL
        LEVEL FOLLOW Bの説明のBを、レベルアイコンに置き換えたものと同じです。
      • LEVEL FOLLOW ALL
        LEVEL FOLLOW Bの説明のBを、ALLに含まれる各種エンティティに置き換えたものと同じです。
      • LEVEL FOLLOW GROUP
        Xをグループに含まれる任意の名詞とするとき、全てのXについて、LEVEL FOLLOW Xの効果。

    MIMIC
    • LEVEL MIMIC B
      正しく働きます。
      A MIMIC Bを参照。

    PLAY
    • LEVEL PLAY 文字列
      • レベルについて:
        効果なし。
      • レベルアイコンについて:
        正しく働きます。
        X PLAY 文字列1を参照。

    条件指定子

    このセクションはver.390に基づいて作られています。

    条件指定子は演算子の一種です。

    条件指定子は次の2種類に分類できます。

    • Prefixな条件指定子
    • 前置詞(Infixな条件指定子)

    条件指定子は、ルールに条件を付けて、ルールが適用される対象を限定します。
    1つのルールにはいくつでも条件を付けることができます。
    条件付きルールは全ての条件を満たす物にのみ適用されます。

    例:NOT LONELY BABA FACING UP AND NEAR FLAG IS WINは、3つの条件「NOT LONELY」、「FACING UP」、「NEAR FLAG」を満たすBABAにのみ適用されます。

    ある物が、物を条件判定の対象に取る時、その物自身は対象になりません。

    例:条件「NOT LONELY BABA」の意味は「BABAと同じマスにオブジェクトがあるとき真」ですが、BABA1にとって、BABA1自身は「同じマスにあるオブジェクト」の対象になりません。
    BABA1とは別のBABA2は対象になります。
    例:「BABA WITHOUT BABA」の意味は「レベル中に1つ以上のBABAがないとき真」ですが、BABA1にとって、BABA1自身は「レベル中にあるオブジェクト」の対象になりません。
    つまり、レベル中に1体だけBABAがいるなら、そのBABAはこの条件を満たします。

    ただし、LEVEL WITHOUT LEVELは例外です。(仕様?)

    レベル中にレベルが1つだけあることは自明ですが、レベルのレベルについての条件「LEVEL WITHOUT LEVEL」は条件を満たしません。
    (「BABA WITHOUT BABA」のとき、レベル中に1体だけBABAがいるなら、そのBABAはこの条件を満たすことと比較すると、少し奇妙です。)

    条件は真偽値を持ちます。条件を満たすとき真であり、条件を満たさないとき偽です。
    条件指定子の直前にNOTを付けることで、条件の真偽を反転することができます。ただし、WITHOUT、FEELINGは例外で、単純な反転ではありません。(詳細はセクション「前置詞の補足」を参照。)

    条件指定子 – Prefixな条件指定子

    このセクションはver.390に基づいて作られています。

    Prefixな条件指定子は最初の主語の前に付きます。

    1つのPrefixな条件指定子は1つの条件になります。

    Prefixな条件指定子同士はANDで結ぶことができます。

    例:LONELY AND POWERED BABA IS YOU

    LONELY
    • LONELY A
      Aと同じマスにオブジェクトがないとき真
    • NOT LONELY A
      Aと同じマスにオブジェクトがあるとき真
    • LONELY EMPTY
      常に真
    • NOT LONELY EMPTY
      常に偽
    • LONELY LEVEL
      • レベルについて:
        常に偽
      • レベルアイコンについて:
        レベルアイコンが他のオブジェクトと同じマスにないとき真
    • NOT LONELY LEVEL
      • レベルについて:
        常に真
      • レベルアイコンについて:
        レベルアイコンが他のオブジェクトと同じマスにあるとき真

    例:
    LONELY A 動詞 補語
    他のオブジェクトと同じマスにないAにA 動詞 補語が適用されます。
    NOT LONELY A 動詞 補語
    他のオブジェクトと同じマスにあるAにA 動詞 補語が適用されます。

    IDLE(本編未登場)
    • IDLE 名詞
      待機したとき真
    • NOT IDLE 名詞
      待機しなかったとき真

    例:
    IDLE A 動詞 補語
    待機したとき、全てのAにA 動詞 補語が適用されます。
    NOT IDLE A 動詞 補語
    待機しなかったとき、全てのAにA 動詞 補語が適用されます。

    LEVEL IS AUTOによるターンの自動経過は待機とみなされ、IDLEは真となります。
    特に、IDLE LEVEL IS AUTOのとき待機すると、次に移動入力するまでターンが自動経過しつづけます。

    IDLE LEVEL IS AUTOでターンを自動経過させるには、2回連続で待機する必要があります。(仕様?)
    ただし、レベル開始時は1回の待機でターンが自動経過し始めます。

    NOT IDLE LEVEL IS AUTOのとき、レベル開始時に自動で1ターン経過します。(バグ?)

    OFTEN(本編未登場)
    • OFTEN 名詞
      3/4の確率で真
    • NOT OFTEN 名詞
      1/4の確率で真

    例:
    OFTEN A 動詞 補語
    それぞれのAについて、3/4の確率でA 動詞 補語が適用されます。
    NOT OFTEN EMPTY 動詞 補語
    それぞれの無について、1/4の確率でEMPTY 動詞 補語が適用されます。
    OFTEN AND NOT OFTEN A 動詞 補語
    それぞれのAについて、3/16の確率でA 動詞 補語が適用されます。

    SELDOM(本編未登場)
    • SELDOM 名詞
      1/6の確率で真
    • NOT SELDOM 名詞
      5/6の確率で真

    例:
    SELDOM A 動詞 補語
    それぞれのAについて、1/6の確率でA 動詞 補語が適用されます。
    NOT SELDOM LEVEL 動詞 補語
    レベルと、それぞれのレベルアイコンについて、5/6の確率でLEVEL 動詞 補語が適用されます。

    「条件付きルールは全ての条件指定子の条件を満たすときのみ適用される」という性質から、OFTEN、SELDOMは、ANDで複数繋いだとき、確率を乗算します。

    例:OFTEN AND SELDOM A IS YOUは、3/24 = 1/8の確率で効果を発揮します。

    効果が重複しないルールであれば、OFTENまたはSELDOM付きのルールを複数作ることで、確率を1に近づけることができます。

    例:2 X OFTEN A IS YOUのとき、それぞれのAについて、
    9/16の確率で2 X A IS YOUが適用され
    6/16の確率でA IS YOUが適用され
    1/16の確率でA IS YOUが適用されない
    ことになりますが、A IS YOUの効果は重複しないため、結果として15/16の確率でA IS YOUが適用と同じになります。

    POWERED(本編未登場)
    • POWERED 名詞
      レベル中にPOWER状態の物が存在するとき真
    • NOT POWERED 名詞
      レベル中にPOWER状態の物が存在しないとき真

    例:
    POWERED A 動詞 補語
    レベル中にPOWER状態の物が存在するとき、全てのAにA 動詞 補語が適用されます。

    (バグ?)
    LEVEL IS POWERはレベルアイコンについて効果がありません。(条件付きLEVEL IS POWERがおかしい?)

    例:LONELY LEVEL IS POWER、POWERED BABA IS YOUで、レベルアイコンがあっても、BABAはYOU状態になりません。

    条件指定子 – 前置詞

    このセクションはver.390に基づいて作られています。

    前置詞は、後ろに単語を伴って、最後の主語の後に付きます。
    前置詞により、後ろに置ける単語の種類は異なります。
    FACINGの後ろには名詞またはDIRs、
    FEELINGの後ろには形容詞、
    それ以外の前置詞の後ろには名詞を置くことができます。

    前置詞の後ろに続く単語同士はANDで結ぶことができます。

    例:KEKE NEAR BABA AND ME IS MELT

    前置詞と後ろに続く単語をまとめて前置詞句と呼びます。

    例:次のルールの下線部は前置詞句です。
    BABA ON FLAG IS WIN
    KEKE NEAR BABA AND ME IS MELT

    1つの前置詞句は、全体として1つの条件になります。

    前置詞句は、後ろに続く単語1種につき1つの「小条件」を作ります。
    主語に対応する物は、ある前置詞句の全ての小条件を満たすときのみ、その前置詞句全体の条件を満たします。
    1つの前置詞句の中に同じ単語が複数あるとき、その単語の小条件は、その単語の数だけ条件を満たすときのみ満たされます。
    詳細についてはセクション「前置詞の補足」を参照。

    例:BABA ON FLAG AND KEKE IS WINのとき、1つ以上のFLAGと1つ以上のKEKEと同じマスにあるBABAにのみ、BABA IS WINが適用されます。
    例:BABA ON FLAG AND FLAG IS WINのとき、2つ以上のFLAGと同じマスにあるBABAにのみ、BABA IS WINが適用されます。

    前置詞句同士はANDで結ぶことができます。

    例:次のルールの下線部は前置詞句です。
    BABA ON LADDER AND FACING UP IS MOVE

    ON
    • A ON B
      Aと同じマスに1つ以上のBがあるとき真
    • A NOT ON B
      Aと同じマスに1つ以上のBがないとき真
    • A ON EMPTY
      常に偽
    • A NOT ON EMPTY
      常に真
    • A ON LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      A ON Bを参照。
    • A NOT ON LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      A NOT ON Bを参照。
    • A ON 名詞1 AND 名詞1
      Aが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • A NOT ON 名詞1 AND 名詞1
      Aが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • A ON 名詞1 AND 名詞2
      Aが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      Aが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • A NOT ON 名詞1 AND 名詞2
      Aが1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      Aが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    A ON B 動詞 補語
    同じマスに1つ以上のBがあるA1にA 動詞 補語が適用されます。
    A1自身は判定の対象になりません。

    NEAR
    • A NEAR B
      Aと同じマスか、周囲8マスに1つ以上のBがあるとき真
    • A NOT NEAR B
      Aと同じマスか、周囲8マスに1つ以上のBがないとき真
    • A NEAR EMPTY
      Aと同じマスか、周囲8マスに1つ以上の無があるとき真
    • A NOT NEAR EMPTY
      Aと同じマスか、周囲8マスに1つ以上の無がないとき真
    • A NEAR LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      A NEAR Bを参照。
    • A NOT NEAR LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      A NOT NEAR Bを参照。
    • A NEAR 名詞1 AND 名詞1
      Aが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • A NOT NEAR 名詞1 AND 名詞1
      Aが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • A NEAR 名詞1 AND 名詞2
      Aが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      Aが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • A NOT NEAR 名詞1 AND 名詞2
      Aが1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      Aが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    A NEAR B 動詞 補語
    同じマスか、周囲8マスに1つ以上のBがあるA1にA 動詞 補語が適用されます。
    A1自身は判定の対象になりません。

    FACING
    • A FACING B
      Aが隣接する1つ以上のBに向いているとき真
    • A NOT FACING B
      Aが隣接する1つ以上のBに向いていないとき真
    • A FACING DIRs1
      AがDIRs1の方向を向いているとき真
    • A NOT FACING DIRs1
      AがDIRs1の方向を向いていないとき真

    DIRs1の代わりにNOT DIRs1を使うこともできます。
    NOT DIRs1はDIRs1以外の方向を指します。

    • A FACING EMPTY
      Aが隣接する無に向いているとき真
    • A NOT FACING EMPTY
      Aが隣接する無に向いていないとき真

    注:Aが向いている無の数は条件に影響しません。Aが無に向いているか否かだけが条件に影響します。(仕様?)

    • A FACING LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      A FACING Bを参照。
    • A NOT FACING LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      A NOT FACING Bを参照。
    • A FACING 単語1 AND 単語1
      Aが2つ以上の単語1に対応する物に対して条件を満たすとき真
    • A NOT FACING 単語1 AND 単語1
      Aが2つ以上の単語1に対応する物に対して条件を満たさないとき真
    • A FACING 単語1 AND 単語2
      Aが1つ以上の単語1に対応する物に対して条件を満たす、
      かつ、
      Aが1つ以上の単語2に対応する物に対して条件を満たすとき真
    • A NOT FACING 単語1 AND 単語2
      Aが1つ以上の単語1に対応する物に対して条件を満たさない、
      または、
      Aが1つ以上の単語2に対応する物に対して条件を満たさないとき真

    例:
    A FACING B 動詞 補語
    隣接する1つ以上のBに向いているAにA 動詞 補語が適用されます。
    A FACING DIRs1 動詞 補語
    DIRs1の方向を向いているAにA 動詞 補語が適用されます。

    WITHOUT(本編未登場)
    • A WITHOUT B
      レベル中に1つ以上のBが存在しないとき真
    • A NOT WITHOUT B
      レベル中に1つ以上のBが存在するとき真
    • A WITHOUT EMPTY
      レベル中に1つ以上の無が存在しないとき真
    • A NOT WITHOUT EMPTY
      レベル中に1つ以上の無が存在するとき真
    • A WITHOUT LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      A WITHOUT Bを参照。
    • A NOT WITHOUT LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      A NOT WITHOUT Bを参照。
    • A WITHOUT 名詞1 AND 名詞1
      Aが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • A NOT WITHOUT 名詞1 AND 名詞1
      Aが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • A WITHOUT 名詞1 AND 名詞2
      Aが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      Aが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • A NOT WITHOUT 名詞1 AND 名詞2
      Aが1つ以上の名詞1に対応する物に対して条件を満たさない、
      かつ、
      Aが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

      注:他の前置詞と異なり、WITHOUTを否定したとき、小条件同士のつながりはand的です。

    例:
    A WITHOUT B 動詞 補語
    レベル中に1つ以上のBが存在しないとき、全てのA1にA 動詞 補語が適用されます。
    A1自身は判定の対象になりません。

    ABOVE(本編未登場)
    • A ABOVE B
      Aが1つ以上のBの上方にあるとき真
    • A NOT ABOVE B
      Aが1つ以上のBの上方にないとき真
    • A ABOVE EMPTY
      Aが1つ以上の無の上方にあるとき真
    • A NOT ABOVE EMPTY
      Aが1つ以上の無の上方にないとき真
    • A ABOVE LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      A ABOVE Bを参照。
    • A NOT ABOVE LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      A NOT ABOVE Bを参照。
    • A ABOVE 名詞1 AND 名詞1
      Aが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • A NOT ABOVE 名詞1 AND 名詞1
      Aが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • A ABOVE 名詞1 AND 名詞2
      Aが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      Aが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • A NOT ABOVE 名詞1 AND 名詞2
      Aが1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      Aが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    A ABOVE B 動詞 補語
    1つ以上のBの上方にあるAにA 動詞 補語が適用されます。

    BELOW(本編未登場)
    • A BELOW B
      Aが1つ以上のBの下方にあるとき真
    • A NOT BELOW B
      Aが1つ以上のBの下方にないとき真
    • A BELOW EMPTY
      Aが1つ以上の無の下方にあるとき真
    • A NOT BELOW EMPTY
      Aが1つ以上の無の下方にないとき真
    • A BELOW LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      A BELOW Bを参照。
    • A NOT BELOW LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      A NOT BELOW Bを参照。
    • A BELOW 名詞1 AND 名詞1
      Aが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • A NOT BELOW 名詞1 AND 名詞1
      Aが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • A BELOW 名詞1 AND 名詞2
      Aが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      Aが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • A NOT BELOW 名詞1 AND 名詞2
      Aが1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      Aが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    A BELOW B 動詞 補語
    1つ以上のBの下方にあるAにA 動詞 補語が適用されます。

    BESIDE←
    BESIDELEFT(本編未登場)

    この見出し下の内容は、ver.417に基づいて記述しています。

    • A BESIDELEFT B
      Aが1つ以上のBの左方にあるとき真
    • A NOT BESIDELEFT B
      Aが1つ以上のBの左方にないとき真

    BESIDE→
    BESIDERIGHT(本編未登場)

    この見出し下の内容は、ver.417に基づいて記述しています。

    • A BESIDERIGHT B
      Aが1つ以上のBの右方にあるとき真
    • A NOT BESIDERIGHT B
      Aが1つ以上のBの右方にないとき真

    FEELING(本編未登場)
    • A FEELING 形容詞1
      Aに1つ以上の形容詞1が適用されているなら真
    • A NOT FEELING 形容詞1
      Aに1つ以上の形容詞1が適用されていないなら真

    形容詞1の代わりにNOT 形容詞1を使うこともできます。
    NOT 形容詞1は、形容詞1以外の形容詞を指します。

    • A FEELING 形容詞1 AND 形容詞1
      Aに2つ以上の形容詞1が適用されているなら真
    • A NOT FEELING 形容詞1 AND 形容詞1
      Aに2つ以上の形容詞1が適用されていないなら真
    • A FEELING 形容詞1 AND 形容詞2
      Aに1つ以上の形容詞1が適用されている、
      かつ、
      Aに1つ以上の形容詞2が適用されているなら真
    • A NOT FEELING 形容詞1 AND 形容詞2
      Aに1つ以上の形容詞1が適用されていない、
      かつ、
      Aに1つ以上の形容詞2が適用されていないなら真

      注:他の前置詞と異なり、FEELINGを否定したとき、小条件同士のつながりはand的です。

    例:
    A FEELING 形容詞1 動詞 補語
    1つ以上の形容詞1が適用されているAにA 動詞 補語が適用されます。
    A FEELING NOT 形容詞1 動詞 補語
    1つ以上の形容詞1でない形容詞が適用されているAにA 動詞 補語が適用されます。

    FEELINGは無限ループの作成に利用できます。

    条件指定子 – 前置詞の補足

    このセクションはver.390に基づいて作られています。

    • 前置詞以後の部分は主語ではありません。

      「A 前置詞1 B AND C 前置詞2 D 動詞1 補語1」は
      「A 前置詞1 B 動詞1 補語1」「C 前置詞2 D 動詞1 補語1」のようには解釈されず、
      「C 前置詞2 D 動詞1 補語1」として解釈されます。
      「A 前置詞1 B AND」の部分は無効です。

    • ランダム性を持たない同じ条件を複数含むルールは、重複する条件を省いたルールと同じ意味になります。
      これは、ランダム性を持たない同じ条件は、ある状況では、常に同じ真偽値を返すためです。

      例:A ON B AND ON B IS YOUは、重複する「ON B」を省いたA ON B IS YOUと同じ意味です。

    • 前置詞句内のALLは、前置詞句にまだ含まれていない、ALLに含まれる各単語を1つ追加します。

      例:ALLにBABA、KEKE、MEが含まれるとき、A ON BABA AND ALLは、A ON BABA AND KEKE AND MEと同じです。(ALLは前置詞句にKEKEとMEを追加します。)
      同じ条件で、A ON BABA AND BABA AND KEKE AND ALLは、A ON BABA AND BABA AND KEKE AND MEと同じです。(ALLは前置詞句にMEを追加します。)
      例:A ON ALL AND ALLは、A ON ALLと同じです。(1つ目のALLは全ての単語を追加し、2つ目のALLは何も追加しません。)

    • ver.390現在、バグにより、前置詞句内のALLは、名詞EMPTYまたは名詞LEVELがレベル中に一度でも存在したなら、それを含みます。

    小条件の補足

    この欄の内容は推測です。
    この欄の内容は抽象的で難解なため、興味がなければ読み飛ばすことをおすすめします。
    ただ、前置詞の理解の助けになるかもしれません。

    前置詞句は、全体として1つの条件(大条件)を作ります。
    「大条件」は1つ以上の「小条件」を持ちます。通常は、全ての「小条件」が真のときのみ、「大条件」も真になります。

    大条件 = 小条件1∧小条件2∧…∧小条件x
    のような感じです。

    「小条件」は前置詞句が含む単語1種について1つ作られます。
    「小条件」は、主語に対応する物のそれぞれと、前置詞句内のある種の単語に関する「何か」とを、前置詞の条件で対応づけます。
    「何か」が具体的に何を指すかは、前置詞の種類と、単語の種類によって決まります。

    例:A ON 名詞1では、「何か」は、名詞1に対応する物です。
    また、A FACING DIRs1では、「何か」は、DIRs1に対応する方向です。
    また、A FEELING 形容詞1では、「何か」は、Aに適用されている形容詞1です。

    例:A ON 名詞1の小条件は、「A」と「1つ以上」の「名詞1に対応する物」が同じマスにあるとき真というものです。
    この例では、小条件が1つのみ含まれているため、大条件と小条件は全く同じです。

    前置詞句に複数種の単語が含まれているとき、それぞれの種類の単語について「小条件」が作られます。

    例:A ON B AND Cでは、前置詞句にBとCの2種類の単語が含まれているので、BとCのそれぞれについて、計2つの小条件が作られます。

    前置詞句に同じ種類の単語が複数含まれているなら、その単語についての「小条件」の「数」が増加します。

    「小条件」は「数」を持ちます。「数」は、前置詞句に含まれるその種類の単語の数に設定されます。

    例:A ON B AND B AND Bのとき、AのBについての小条件の数は3です。
    A FEELING 形容詞1 AND 形容詞1のとき、Aの形容詞1についての小条件の数は2です。

    数がどのような使われ方をするかは前置詞によって決まります。

    例:ONなら、「nつ以上の物と同じマスにあるとき…」のように使われます。
    FEELINGなら、「Aに適用されている形容詞1の数がn以上なら…」のように使われます。

    WITHOUT、FEELINGの否定は、その他の前置詞の否定と異なる

    通常、条件の否定はその真偽を反転します。しかしながら、一部の前置詞句の条件の否定は例外的に、単純な真偽の反転ではありません。
    WITHOUT、FEELINGの否定に限り、前置詞の後の単語のつながりはor的ではなくand的です。

    例としてNEARについて考えてみます。

    • A NEAR B AND C
      = Aと同じマスか周囲8マスに1つ以上のBがある、かつ、Aと同じマスか周囲8マスに1つ以上のCがある

    この条件を否定してみます。

    • A NOT NEAR B AND C
      = (Aと同じマスか周囲8マスに1つ以上のBがあるかつ、Aと同じマスか周囲8マスに1つ以上のCがある)の否定

    これは、ド・モルガンの法則[ja.wikipedia.org]から、次のように言い換えできます。

    • = Aと同じマスか周囲8マスに1つ以上のBがないまたは、Aと同じマスか周囲8マスに1つ以上のCがない

    次の画像の例から、上の考えは正しいと言えそうです。
    //TODO:画像

    WITHOUTについても同様に考えてみます。

    • A WITHOUT B AND C
      = レベル中に1つ以上のBが存在しない、かつ、レベル中に1つ以上のCが存在しない

    先程のNEARの例と同様に、WITHOUTの否定は次のように考えられそうですが、これは正しくありません。

    • A NOT WITHOUT B AND C
      = (レベル中に1つ以上のBが存在しないかつ、レベル中に1つ以上のCが存在しない)の否定
      = レベル中に1つ以上のBが存在するまたは、レベル中に1つ以上のCが存在する

    次の画像の例から、上の考えは正しくないことがわかります。
    //TODO:画像

    実際には次のように働いているようです。

    • A NOT WITHOUT B AND C
      = レベル中に1つ以上のBが存在する、かつ、レベル中に1つ以上のCが存在する

    WITHOUT、FEELINGを使った否定形のルールは、本来無効化するべきでないルールを無効化することがある

    (バグ?)

    次の2つのルールが成立しているとき、

    1. BABA WITHOUT KEKE AND FLAG IS NOT BEST
    2. BABA IS BEST

    1. の意味は「レベル中に1つ以上のKEKEがなく、かつ、レベル中に1つ以上のFLAGがないとき、BABAはBEST状態ではない」のはずです。
    そのため、BABAがBEST状態になるのは、次の時であるように思えます。

    KEKEがある
    KEKEがない
    FLAGがある
    FLAGがない
    ×

    しかしながら、これは実際には正しくありません。
    実際にBABAがBEST状態になるのは、次の時です。

    KEKEがある
    KEKEがない
    FLAGがある
    ×
    FLAGがない
    ×
    ×

    原因の考察
    これが起こる原因は、次の2点であると推測します。

    1. WITHOUT、FEELINGの否定は、単純な真偽値の反転ではない
    2. ルールの否定は、否定形のルールに付いている条件を反転して、対応するルールに加えることで実現されている

    1. は、WITHOUT(FEELING)とその否定が次のような関係になっているというものです。

    • A WITHOUT B AND C
      = レベル中に1つ以上のBがない、かつ、レベル中に1つ以上のCがない
    • A NOT WITHOUT B AND C
      = レベル中に1つ以上のBがある、かつ、レベル中に1つ以上のCがある

    2. については、開発者のDiscordで次のような発言を見つけることができます。

    Hempuli 氏の発言から引用

    When you say “Baba Is Not X”, the game searches through all instances of “Baba Is X” and adds to their conditionals the inverse of “Baba Is Not X”‘s conditional
    so “Baba On Grass Is Not X” means that “Baba Is X” becomes “Baba Not On Grass Is X”

    [link]

    つまり、ルールの否定の際、WITHOUTとその否定NOT WITHOUT(またはFEELINGとNOT FEELING)は、実際には真偽の反転した関係ではないのに、真偽の反転した関係だとして元のルールに加えられることで、この問題が起こっています。

    同じルール&物があっても、前置詞の条件判定の結果が変わることがある

    (バグ?)
    前置詞 NOT A AND NOT Bの形で前置詞句を作ると、レベル中に存在する物とその処理順によっては、前置詞の条件判定の結果が変わることがあります。

    ONの例
    次の配置のレベルでは、BABAは条件を満たしません。

    一方で、次の配置のレベルでは、条件を満たします。

    NEARの例
    次のレベルでは、KEKEとWALLが初期配置のとき、BABAは条件を満たしません。
    しかし、KEKEがWALLより右側、または下側に位置するとき条件を満たします。

    FEELINGの例
    (報告済みのバグ)
    次のレベルでは、BABAは条件を満たしますが、GHOSTは条件を満たしません。

    原因の考察
    ONの例を使って説明します。

    このゲームでは、各オブジェクトは内部IDを持ち、それは処理順に影響します。

    BABA ON NOT FLAG AND NOT WALL IS CYANの条件判定の処理は、次のようであると考えられます。
    まず、全てのオブジェクトを内部IDの若い物から順に見て、NOT FLAGに該当するオブジェクトを探します。
    次に、NOT WALLに該当するオブジェクトを同様に探します。


    この画像のケースでは、KEKEはWALLより内部IDが若いと推測されます。
    このとき、

    1. NOT FLAGに対してはKEKEが当てはめられ
    2. NOT WALLに対しては残りのWALLを当てはめることができず

    条件判定は偽となります。


    一方で、この画像のケースでは、KEKEはWALLより内部IDが古いと推測されます。
    このとき、

    1. NOT FLAGに対してはWALLが当てはめられ
    2. NOT WALLに対しては残りのKEKEを当てはめられるため

    条件判定は真となります。

    条件指定子 – 前置詞と無

    このセクションはver.390に基づいて作られています。

    ON
    • EMPTY ON B
      常に偽
    • EMPTY NOT ON B
      常に真
    • EMPTY ON EMPTY
      常に偽
    • EMPTY NOT ON EMPTY
      常に偽(バグ?)
    • EMPTY ON LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      EMPTY ON Bを参照。
    • EMPTY NOT ON LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      EMPTY NOT ON Bを参照。
    • EMPTY ON 名詞1 AND 名詞1
      無が2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • EMPTY NOT ON 名詞1 AND 名詞1
      無が2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • EMPTY ON 名詞1 AND 名詞2
      無が1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      無が1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • EMPTY NOT ON 名詞1 AND 名詞2
      無が1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      無が1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    EMPTY ON B 動詞 補語
    常に適用されません。

    NEAR
    • EMPTY NEAR B
      無と同じマスか、周囲8マスに1つ以上のBがあるとき真
    • EMPTY NOT NEAR B
      無と同じマスか、周囲8マスに1つ以上のBがないとき真
    • EMPTY NEAR EMPTY
      無と同じマスか、周囲8マスに1つ以上の無があるとき真
    • EMPTY NOT NEAR EMPTY
      無と同じマスか、周囲8マスに1つ以上の無がないとき真
    • EMPTY NEAR LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      EMPTY NEAR Bを参照。
    • EMPTY NOT NEAR LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      EMPTY NOT NEAR Bを参照。
    • EMPTY NEAR 名詞1 AND 名詞1
      無が2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • EMPTY NOT NEAR 名詞1 AND 名詞1
      無が2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • EMPTY NEAR 名詞1 AND 名詞2
      無が1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      無が1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • EMPTY NOT NEAR 名詞1 AND 名詞2
      無が1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      無が1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    EMPTY NEAR B 動詞 補語
    同じマスか、周囲8マスに1つ以上のBがある無1にEMPTY 動詞 補語が適用されます。
    無1自身は判定の対象になりません。
    EMPTY NEAR ALL 動詞 補語
    ALLに含まれる全種類の物と、無とについて、全て条件を満たす無1にEMPTY 動詞 補語が適用されます。
    (「前置詞句内のALLは、名詞EMPTYまたはLEVELが一度でも存在したならそれを含む」というバグにより、ALLは無を含みます。)
    無1自身は判定の対象になりません。

    FACING

    無は向きを持たないため、方向を指定されない限り条件を満たしません。

    • EMPTY FACING B
      無が隣接する1つ以上のBに向いているとき真
    • EMPTY NOT FACING B
      無が隣接する1つ以上のBに向いていないとき真
    • EMPTY FACING DIRs1
      無がDIRs1の方向を向いているとき真
    • EMPTY NOT FACING DIRs1
      無がDIRs1の方向を向いていないとき真

    DIRs1の代わりにNOT DIRs1を使うこともできます。
    NOT DIRs1はDIRs1以外の方向を指します。

    • EMPTY FACING EMPTY
      無が隣接する無に向いているとき真
    • EMPTY NOT FACING EMPTY
      無が隣接する無に向いていないとき真

    注:無が向いている無の数は条件に影響しません。無が無に向いているか否かだけが条件に影響します。

    • EMPTY FACING LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      EMPTY FACING Bを参照。
    • EMPTY NOT FACING LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      EMPTY NOT FACING Bを参照。
    • EMPTY FACING 単語1 AND 単語1
      無が2つ以上の単語1に対応する物に対して条件を満たすとき真
    • EMPTY NOT FACING 単語1 AND 単語1
      無が2つ以上の単語1に対応する物に対して条件を満たさないとき真
    • EMPTY FACING 単語1 AND 単語2
      無が1つ以上の単語1に対応する物に対して条件を満たす、
      かつ、
      無が1つ以上の単語2に対応する物に対して条件を満たすとき真
    • EMPTY NOT FACING 単語1 AND 単語2
      無が1つ以上の単語1に対応する物に対して条件を満たさない、
      または、
      無が1つ以上の単語2に対応する物に対して条件を満たさないとき真

    例:
    EMPTY FACING B 動詞 補語
    隣接する1つ以上のBに向いている無にEMPTY 動詞 補語が適用されます。
    無の方向が指定されていない場合、条件を満たすことはありません。
    EMPTY NOT FACING DIRs1 動詞 補語
    DIRs1の方向を向いていない無にEMPTY 動詞 補語が適用されます。
    無の方向が指定されていない場合、条件を満たすことはありません。

    WITHOUT(本編未登場)
    • EMPTY WITHOUT B
      レベル中に1つ以上のBが存在しないとき真
    • EMPTY NOT WITHOUT B
      レベル中に1つ以上のBが存在するとき真
    • EMPTY WITHOUT EMPTY
      レベル中に1つ以上の無が存在しないとき真
    • EMPTY NOT WITHOUT EMPTY
      レベル中に1つ以上の無が存在するとき真
    • EMPTY WITHOUT LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      EMPTY WITHOUT Bを参照。
    • EMPTY NOT WITHOUT LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      EMPTY NOT WITHOUT Bを参照。
    • EMPTY WITHOUT 名詞1 AND 名詞1
      無が2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • EMPTY NOT WITHOUT 名詞1 AND 名詞1
      無が2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • EMPTY WITHOUT 名詞1 AND 名詞2
      無が1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      無が1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • EMPTY NOT WITHOUT 名詞1 AND 名詞2
      無が1つ以上の名詞1に対応する物に対して条件を満たさない、
      かつ、
      無が1つ以上の名詞2に対応する物に対して条件を満たさないとき真

      注:他の前置詞と異なり、WITHOUTを否定したとき、小条件同士のつながりはand的です。

    例:
    EMPTY WITHOUT B 動詞 補語
    レベル中に1つ以上のBが存在しないとき、全ての無1にEMPTY 動詞 補語が適用されます。
    無1自身は判定の対象になりません。

    ABOVE(本編未登場)
    • EMPTY ABOVE B
      無が1つ以上のBの上方にあるとき真
    • EMPTY NOT ABOVE B
      無が1つ以上のBの上方にないとき真
    • EMPTY ABOVE EMPTY
      無が1つ以上の無の上方にあるとき真
    • EMPTY NOT ABOVE EMPTY
      無が1つ以上の無の上方にないとき真

    ABOVEについて、前置詞句内のNOT EMPTYは非常にバグっぽい挙動です。
    最下段以外のマスでは条件を満たします。(バグ?)

    • EMPTY ABOVE LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      EMPTY ABOVE Bを参照。
    • EMPTY NOT ABOVE LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      EMPTY NOT ABOVE Bを参照。
    • EMPTY ABOVE 名詞1 AND 名詞1
      無が2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • EMPTY NOT ABOVE 名詞1 AND 名詞1
      無が2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • EMPTY ABOVE 名詞1 AND 名詞2
      無が1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      無が1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • EMPTY NOT ABOVE 名詞1 AND 名詞2
      無が1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      無が1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    EMPTY ABOVE B 動詞 補語
    1つ以上のBの上方にある無にEMPTY 動詞 補語が適用されます。

    BELOW(本編未登場)
    • EMPTY BELOW B
      無が1つ以上のBの下方にあるとき真
    • EMPTY NOT BELOW B
      無が1つ以上のBの下方にないとき真
    • EMPTY BELOW EMPTY
      無が1つ以上の無の下方にあるとき真
    • EMPTY NOT BELOW EMPTY
      無が1つ以上の無の下方にないとき真
    • EMPTY BELOW LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      EMPTY BELOW Bを参照。
    • EMPTY NOT BELOW LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      EMPTY NOT BELOW Bを参照。
    • EMPTY BELOW 名詞1 AND 名詞1
      無が2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • EMPTY NOT BELOW 名詞1 AND 名詞1
      無が2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • EMPTY BELOW 名詞1 AND 名詞2
      無が1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      無が1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • EMPTY NOT BELOW 名詞1 AND 名詞2
      無が1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      無が1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    EMPTY BELOW B 動詞 補語
    1つ以上のBの下方にある無にEMPTY 動詞 補語が適用されます。

    FEELING(本編未登場)
    • EMPTY FEELING 形容詞1
      無に1つ以上の形容詞1が適用されているなら真
    • EMPTY NOT FEELING 形容詞1
      無に1つ以上の形容詞1が適用されていないなら真

    NOT 形容詞1は、形容詞1以外の形容詞を指します。
    例:A FEELING NOT 形容詞1は、Aに形容詞1でない形容詞が適用されているとき真になります。

    • EMPTY FEELING 形容詞1 AND 形容詞1
      無に2つ以上の形容詞1が適用されているなら真
    • EMPTY NOT FEELING 形容詞1 AND 形容詞1
      無に2つ以上の形容詞1が適用されていないなら真
    • EMPTY FEELING 形容詞1 AND 形容詞2
      無に1つ以上の形容詞1が適用されている、
      かつ、
      無に1つ以上の形容詞2が適用されているなら真
    • EMPTY NOT FEELING 形容詞1 AND 形容詞2
      無に1つ以上の形容詞1が適用されていない、
      かつ、
      無に1つ以上の形容詞2が適用されていないなら真

      注:他の前置詞と異なり、FEELINGを否定したとき、小条件同士のつながりはand的です。

    例:
    A FEELING 形容詞1 動詞 補語
    1つ以上の形容詞1が適用されている無にEMPTY 動詞 補語が適用されます。

    FEELINGは無限ループの作成に利用できます。

    条件指定子 – 前置詞とレベル

    このセクションはver.390に基づいて作られています。

    ON、NEAR、FACINGに限り、あるレベルに入る際に選択したレベルアイコンの周囲にあるオブジェクトも、そのレベル内での条件判定に影響します。(オブジェクトのみが判定に関わります。無とレベルと、選択したレベルアイコンの向きは関わりません。)

    例:あるレベルアイコンを選択してレベルに入ったとき、そのレベルアイコンがMEと同じマスにあるなら、そのレベルではLEVEL ON MEは常に条件を満たします。

    条件判定は選択したレベルアイコンについてのみ行われます。
    例:「THE MAP」というレベルに、「THE LEVEL」というレベルに対応するレベルアイコンが3つあり、その内1つを選択したとき、選択したレベルアイコン以外は判定に関わりません。

    • LEVEL ON TEXTは、未確認。(テキストスタッキングで組み合わせを増やさないと確かめられなさそう)
    • LEVEL ON LEVELは、レベルアイコンについて正しく働きます。
    • LEVEL NEAR TEXTは、未確認。(テキストスタッキングで組み合わせを増やさないと確かめられなさそう)
    • LEVEL NEAR LEVELは、レベルアイコンについて正しく働きます。
    • LEVEL FACING TEXTは、正しく働きます。
    • LEVEL FACING LEVELは、レベルアイコンについて正しく働きます。
    • LEVEL NEAR EMPTYと、それの否定は働きません。
    • LEVEL FACING EMPTY、LEVEL FACING DIRsと、それらの否定は働きません。
    • LEVEL FACING LEVEL、LEVEL FACING DIRsは働きません。
    ON
    • LEVEL ON B
      レベル内に1つ以上のBがあるとき真
    • LEVEL NOT ON B
      レベル内に1つ以上のBがないとき真
    • LEVEL ON EMPTY
      レベル内に1つ以上の無があるとき真
    • LEVEL NOT ON EMPTY
      レベル内に1つ以上の無がないとき真
    • LEVEL ON LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      レベル内に1つ以上のレベルアイコンがあるとき真
    • LEVEL NOT ON LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      レベル内に1つ以上のレベルアイコンがないとき真
    • LEVEL ON 名詞1 AND 名詞1
      レベルが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • LEVEL NOT ON 名詞1 AND 名詞1
      レベルが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • LEVEL ON 名詞1 AND 名詞2
      レベルが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      レベルが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • LEVEL NOT ON 名詞1 AND 名詞2
      レベルが1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      レベルが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    LEVEL ON B 動詞 補語
    1つ以上のBがあるレベルにLEVEL 動詞 補語が適用されます。
    LEVEL ON LEVEL 動詞 補語
    1つ以上のレベルアイコンがあるレベルにLEVEL 動詞 補語が適用されます。
    (レベル自身は対象にならないためです。)
    LEVEL ON ALL 動詞 補語
    ALLに含まれる全種類の物とレベルアイコンが全て1つ以上あるレベルにLEVEL 動詞 補語が適用されます。
    (「前置詞句内のALLは、名詞EMPTYまたはLEVELが一度でも存在したならそれを含む」というバグにより、ALLはLEVELを含みます。)

    NEAR
    • LEVEL NEAR B
      レベル内に1つ以上のBがあるとき真
    • LEVEL NOT NEAR B
      レベル内に1つ以上のBがないとき真
    • LEVEL NEAR EMPTY
      レベル内に1つ以上の無があるとき真
    • LEVEL NOT NEAR EMPTY
      レベル内に1つ以上の無がないとき真
    • LEVEL NEAR LEVEL
      レベルについて:
      小条件の数によらず、常に真(ver.398)(バグ?)
      レベルアイコンについて:
      常に偽(バグ?)
      (ver.398では確認する方法がない)
    • LEVEL NOT NEAR LEVEL
      レベルについて:
      小条件の数によらず、常に偽(ver.398)(バグ?)
      レベルアイコンについて:
      レベル内に1つ以上のレベルアイコンがないとき真
      (ver.398では確認する方法がない)
    • LEVEL NEAR 名詞1 AND 名詞1
      レベルが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • LEVEL NOT NEAR 名詞1 AND 名詞1
      レベルが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • LEVEL NEAR 名詞1 AND 名詞2
      レベルが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      レベルが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • LEVEL NOT NEAR 名詞1 AND 名詞2
      レベルが1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      レベルが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    LEVEL NEAR B 動詞 補語
    1つ以上のBがあるレベルにLEVEL 動詞 補語が適用されます。
    LEVEL NEAR ALL 動詞 補語
    レベルには常に適用されません。
    (「前置詞句内のALLは、名詞EMPTYまたはLEVELが一度でも存在したならそれを含む」というバグにより、ALLはLEVELを含みます。しかし、レベルはNEAR LEVELの条件を絶対に満たさないので、前置詞句全体の条件が常に偽となります。)

    FACING
    • LEVEL FACING B
      常に偽
    • LEVEL NOT FACING B
      常に真
    • LEVEL FACING DIRs1
      常に偽
    • LEVEL NOT FACING DIRs1
      常に真

    DIRs1の代わりにNOT DIRs1を使うこともできます。
    NOT DIRs1はDIRs1以外の方向を指します。
    (見ての通り、レベルにとっては全く意味がありませんが。)

    • LEVEL FACING EMPTY
      常に偽
    • LEVEL NOT FACING EMPTY
      常に真
    • LEVEL FACING LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      常に偽
    • LEVEL NOT FACING LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      常に真
    • LEVEL FACING 単語1 AND 単語1
      常に偽
    • LEVEL NOT FACING 単語1 AND 単語1
      常に真
    • LEVEL FACING 単語1 AND 単語2
      常に偽
    • LEVEL NOT FACING 単語1 AND 単語2
      常に真

    例:
    LEVEL FACING B 動詞 補語
    レベルには常に適用されません。
    LEVEL NOT FACING NOT UP AND NOT DOWN 動詞 補語
    常にレベルにLEVEL 動詞 補語が適用されます。

    WITHOUT(本編未登場)
    • LEVEL WITHOUT B
      レベル中に1つ以上のBがないとき真
    • LEVEL NOT WITHOUT B
      レベル中に1つ以上のBがあるとき真
    • LEVEL WITHOUT EMPTY
      レベル中に1つ以上の無がないとき真
    • LEVEL NOT WITHOUT EMPTY
      レベル中に1つ以上の無があるとき真
    • LEVEL WITHOUT LEVEL
      • 小条件の数が1のとき:
        常に偽
      • それ以外:
        • レベルについて:
          常に偽
        • レベルアイコンについて:
          レベル中に1つ以上のレベルアイコンがないとき真
    • LEVEL NOT WITHOUT LEVEL
      • 小条件の数が1のとき:
        常に真
      • それ以外:
        • レベルについて:
          常に偽
        • レベルアイコンについて:
          レベル中に1つ以上のレベルアイコンがあるとき真
    • LEVEL WITHOUT 名詞1 AND 名詞1
      レベルが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • LEVEL NOT WITHOUT 名詞1 AND 名詞1
      レベルが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • LEVEL WITHOUT 名詞1 AND 名詞2
      レベルが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      レベルが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • LEVEL NOT WITHOUT 名詞1 AND 名詞2
      レベルが1つ以上の名詞1に対応する物に対して条件を満たさない、
      かつ、
      レベルが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

      注:他の前置詞と異なり、WITHOUTを否定したとき、小条件同士のつながりはand的です。

    例:
    LEVEL WITHOUT B 動詞 補語
    レベル中に1つ以上のBがないとき、レベルにLEVEL 動詞 補語が適用されます。
    LEVEL WITHOUT LEVEL 動詞 補語
    レベルには常に適用されません。
    LEVEL WITHOUT LEVEL AND LEVEL 動詞 補語
    レベル中に2つ以上のレベルアイコンがないとき、レベルにLEVEL 動詞 補語が適用されます。
    レベルのレベルについての条件は常に偽であるため、条件に関わりません。
    LEVEL NOT WITHOUT LEVEL 動詞 補語
    常にレベルにLEVEL 動詞 補語が適用されます。
    LEVEL NOT WITHOUT LEVEL AND LEVEL 動詞 補語
    レベル中に2つ以上のレベルアイコンがあるとき、レベルにLEVEL 動詞 補語が適用されます。
    レベルのレベルについての条件は常に偽であるため、条件に関わりません。

    ABOVE(本編未登場)
    • LEVEL ABOVE B
      レベル内に1つ以上のBがあるとき真
    • LEVEL NOT ABOVE B
      レベル内に1つ以上のBがないとき真
    • LEVEL ABOVE EMPTY
      常に偽
      (バグ?)
    • LEVEL NOT ABOVE EMPTY
      レベル内に1つ以上の無がないとき真
    • LEVEL ABOVE LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      常に偽
      (バグ?)
    • LEVEL NOT ABOVE LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      レベル内に1つ以上のレベルアイコンがないとき真
    • LEVEL ABOVE 名詞1 AND 名詞1
      レベルが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • LEVEL NOT ABOVE 名詞1 AND 名詞1
      レベルが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • LEVEL ABOVE 名詞1 AND 名詞2
      レベルが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      レベルが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • LEVEL NOT ABOVE 名詞1 AND 名詞2
      レベルが1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      レベルが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    LEVEL ABOVE B 動詞 補語
    1つ以上のBがあるレベルにLEVEL 動詞 補語が適用されます。
    LEVEL ABOVE ALL 動詞 補語
    レベルには常に適用されません。
    (「前置詞句内のALLは、名詞EMPTYまたはLEVELが一度でも存在したならそれを含む」というバグにより、ALLはLEVELを含みます。しかし、レベルはABOVE LEVELの条件を絶対に満たさないので、前置詞句全体の条件が常に偽となります。)

    BELOW(本編未登場)
    • LEVEL BELOW B
      レベル内に1つ以上のBがあるとき真
    • LEVEL NOT BELOW B
      レベル内に1つ以上のBがないとき真
    • LEVEL BELOW EMPTY
      レベル内に1つ以上の無があるとき真
    • LEVEL NOT BELOW EMPTY
      レベル内に1つ以上の無がないとき真
    • LEVEL BELOW LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      ver.413
      常に偽(バグ?)
      レベル内に1つ以上のレベルアイコンがあるとき真
    • LEVEL NOT BELOW LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      レベル内に1つ以上のレベルアイコンがないとき真
    • LEVEL BELOW 名詞1 AND 名詞1
      レベルが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • LEVEL NOT BELOW 名詞1 AND 名詞1
      レベルが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • LEVEL BELOW 名詞1 AND 名詞2
      レベルが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      レベルが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • LEVEL NOT BELOW 名詞1 AND 名詞2
      レベルが1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      レベルが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    LEVEL BELOW B 動詞 補語
    1つ以上のBがあるレベルにLEVEL 動詞 補語が適用されます。

    FEELING(本編未登場)
    • LEVEL FEELING 形容詞1
      レベルに1つ以上の形容詞1が適用されているなら真
    • LEVEL NOT FEELING 形容詞1
      レベルに1つ以上の形容詞1が適用されていないなら真

    NOT 形容詞1は、形容詞1以外の形容詞を指します。
    例:A FEELING NOT 形容詞1は、Aに形容詞1でない形容詞が適用されているとき真になります。

    • LEVEL FEELING 形容詞1 AND 形容詞1
      レベルに2つ以上の形容詞1が適用されているなら真
    • LEVEL NOT FEELING 形容詞1 AND 形容詞1
      レベルに2つ以上の形容詞1が適用されていないなら真
    • LEVEL FEELING 形容詞1 AND 形容詞2
      レベルに1つ以上の形容詞1が適用されている、
      かつ、
      レベルに1つ以上の形容詞2が適用されているなら真
    • LEVEL NOT FEELING 形容詞1 AND 形容詞2
      レベルに1つ以上の形容詞1が適用されていない、
      かつ、
      レベルに1つ以上の形容詞2が適用されていないなら真

      注:他の前置詞と異なり、FEELINGを否定したとき、小条件同士のつながりはand的です。

    例:
    LEVEL FEELING 形容詞1 動詞 補語
    1つ以上の形容詞1が適用されているレベルにLEVEL 動詞 補語が適用されます。

    FEELINGは無限ループの作成に利用できます。

    条件指定子 – 前置詞とレベルアイコン

    このセクションはver.390に基づいて作られています。

    ON
    • LEVEL ON B
      レベルアイコンと同じマスに1つ以上のBがあるとき真
    • LEVEL NOT ON B
      レベルアイコンと同じマスに1つ以上のBがないとき真
    • LEVEL ON EMPTY
      常に偽
    • LEVEL NOT ON EMPTY
      常に真
    • LEVEL ON LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      LEVEL ON Bを参照。
    • LEVEL NOT ON LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      LEVEL NOT ON Bを参照。
    • LEVEL ON 名詞1 AND 名詞1
      レベルアイコンが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • LEVEL NOT ON 名詞1 AND 名詞1
      レベルアイコンが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • LEVEL ON 名詞1 AND 名詞2
      レベルアイコンが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      レベルアイコンが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • LEVEL NOT ON 名詞1 AND 名詞2
      レベルアイコンが1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      レベルアイコンが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    LEVEL ON B 動詞 補語
    同じマスに1つ以上のBがあるレベルアイコンにLEVEL 動詞 補語が適用されます。

    NEAR
    • LEVEL NEAR B
      レベルアイコンと同じマスか、周囲8マスに1つ以上のBがあるとき真
    • LEVEL NOT NEAR B
      レベルアイコンと同じマスか、周囲8マスに1つ以上のBがないとき真
    • LEVEL NEAR EMPTY
      レベルアイコンと同じマスか、周囲8マスに1つ以上の無があるとき真
    • LEVEL NOT NEAR EMPTY
      レベルアイコンと同じマスか、周囲8マスに1つ以上の無がないとき真
    • LEVEL NEAR LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      LEVEL NEAR Bを参照。
    • LEVEL NOT NEAR LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      LEVEL NOT NEAR Bを参照。
    • LEVEL NEAR 名詞1 AND 名詞1
      レベルアイコンが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • LEVEL NOT NEAR 名詞1 AND 名詞1
      レベルアイコンが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • LEVEL NEAR 名詞1 AND 名詞2
      レベルアイコンが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      レベルアイコンが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • LEVEL NOT NEAR 名詞1 AND 名詞2
      レベルアイコンが1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      レベルアイコンが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    LEVEL NEAR B 動詞 補語
    同じマスか、周囲8マスに1つ以上のBがあるレベルアイコンにLEVEL 動詞 補語が適用されます。

    FACING
    • LEVEL FACING B
      レベルアイコンが隣接する1つ以上のBに向いているとき真
    • LEVEL NOT FACING B
      レベルアイコンが隣接する1つ以上のBに向いていないとき真
    • LEVEL FACING DIRs1
      レベルアイコンがDIRs1の方向を向いているとき真
    • LEVEL NOT FACING DIRs1
      レベルアイコンがDIRs1の方向を向いていないとき真

    DIRs1の代わりにNOT DIRs1を使うこともできます。
    NOT DIRs1はDIRs1以外の方向を指します。

    • LEVEL FACING EMPTY
      レベルアイコンが隣接する無に向いているとき真
    • LEVEL NOT FACING EMPTY
      レベルアイコンが隣接する無に向いていないとき真

    注:レベルアイコンが向いている無の数は条件に影響しません。レベルアイコンが無に向いているか否かだけが条件に影響します。

    • LEVEL FACING LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      LEVEL FACING Bを参照。
    • LEVEL NOT FACING LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      LEVEL NOT FACING Bを参照。
    • LEVEL FACING 単語1 AND 単語1
      レベルアイコンが2つ以上の単語1に対応する物に対して条件を満たすとき真
    • LEVEL NOT FACING 単語1 AND 単語1
      レベルアイコンが2つ以上の単語1に対応する物に対して条件を満たさないとき真
    • LEVEL FACING 単語1 AND 単語2
      レベルアイコンが1つ以上の単語1に対応する物に対して条件を満たす、
      かつ、
      レベルアイコンが1つ以上の単語2に対応する物に対して条件を満たすとき真
    • LEVEL NOT FACING 単語1 AND 単語2
      レベルアイコンが1つ以上の単語1に対応する物に対して条件を満たさない、
      または、
      レベルアイコンが1つ以上の単語2に対応する物に対して条件を満たさないとき真

    例:
    LEVEL FACING B 動詞 補語
    隣接する1つ以上のBに向いているレベルアイコンにLEVEL 動詞 補語が適用されます。
    LEVEL FACING DIRs1 動詞 補語
    DIRs1の方向を向いているレベルアイコンにLEVEL 動詞 補語が適用されます。

    WITHOUT(本編未登場)
    • LEVEL WITHOUT B
      レベル中に1つ以上のBが存在しないとき真
    • LEVEL NOT WITHOUT B
      レベル中に1つ以上のBが存在するとき真
    • LEVEL WITHOUT EMPTY
      レベル中に1つ以上の無が存在しないとき真
    • LEVEL NOT WITHOUT EMPTY
      レベル中に1つ以上の無が存在するとき真
    • LEVEL WITHOUT LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      LEVEL WITHOUT Bを参照。
    • LEVEL NOT WITHOUT LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      LEVEL NOT WITHOUT Bを参照。
    • LEVEL WITHOUT 名詞1 AND 名詞1
      レベルアイコンが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • LEVEL NOT WITHOUT 名詞1 AND 名詞1
      レベルアイコンが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • LEVEL WITHOUT 名詞1 AND 名詞2
      レベルアイコンが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      レベルアイコンが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • LEVEL NOT WITHOUT 名詞1 AND 名詞2
      レベルアイコンが1つ以上の名詞1に対応する物に対して条件を満たさない、
      かつ、
      レベルアイコンが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

      注:他の前置詞と異なり、WITHOUTを否定したとき、小条件同士のつながりはand的です。

    例:
    LEVEL WITHOUT B 動詞 補語
    レベル中に1つ以上のBが存在しないとき、全てのレベルアイコンにLEVEL 動詞 補語が適用されます。
    LEVEL WITHOUT ALL 動詞 補語
    常に適用されません。
    (「前置詞句内のALLは、名詞EMPTYまたはLEVELが一度でも存在したならそれを含む」というバグにより、ALLはLEVELを含みます。しかし、レベルアイコンはWITHOUT LEVELの条件を絶対に満たさないので、前置詞句全体の条件が常に偽となります。)

    ABOVE(本編未登場)
    • LEVEL ABOVE B
      レベルアイコンが1つ以上のBの上方にあるとき真
    • LEVEL NOT ABOVE B
      レベルアイコンが1つ以上のBの上方にないとき真
    • LEVEL ABOVE EMPTY
      レベルアイコンが1つ以上の無の上方にあるとき真
    • LEVEL NOT ABOVE EMPTY
      レベルアイコンが1つ以上の無の上方にないとき真

    ABOVEについて、NOT EMPTYは非常にバグっぽい挙動です。
    最下段以外のマスでは条件を満たします。(バグ?)

    • LEVEL ABOVE LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      LEVEL ABOVE Bを参照。
    • LEVEL NOT ABOVE LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      LEVEL NOT ABOVE Bを参照。
    • LEVEL ABOVE 名詞1 AND 名詞1
      レベルアイコンが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • LEVEL NOT ABOVE 名詞1 AND 名詞1
      レベルアイコンが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • LEVEL ABOVE 名詞1 AND 名詞2
      レベルアイコンが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      レベルアイコンが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • LEVEL NOT ABOVE 名詞1 AND 名詞2
      レベルアイコンが1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      レベルアイコンが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    LEVEL ABOVE B 動詞 補語
    1つ以上のBの上方にあるレベルアイコンにLEVEL 動詞 補語が適用されます。

    BELOW(本編未登場)
    • LEVEL BELOW B
      レベルアイコンが1つ以上のBの下方にあるとき真
    • LEVEL NOT BELOW B
      レベルアイコンが1つ以上のBの下方にないとき真
    • LEVEL BELOW EMPTY
      レベルアイコンが1つ以上の無の下方にあるとき真
    • LEVEL NOT BELOW EMPTY
      レベルアイコンが1つ以上の無の下方にないとき真
    • LEVEL BELOW LEVEL
      レベルについて:
      常に真
      レベルアイコンについて:
      LEVEL BELOW Bを参照。
    • LEVEL NOT BELOW LEVEL
      レベルについて:
      常に偽
      レベルアイコンについて:
      LEVEL NOT BELOW Bを参照。
    • LEVEL BELOW 名詞1 AND 名詞1
      レベルアイコンが2つ以上の名詞1に対応する物に対して条件を満たすとき真
    • LEVEL NOT BELOW 名詞1 AND 名詞1
      レベルアイコンが2つ以上の名詞1に対応する物に対して条件を満たさないとき真
    • LEVEL BELOW 名詞1 AND 名詞2
      レベルアイコンが1つ以上の名詞1に対応する物に対して条件を満たす、
      かつ、
      レベルアイコンが1つ以上の名詞2に対応する物に対して条件を満たすとき真
    • LEVEL NOT BELOW 名詞1 AND 名詞2
      レベルアイコンが1つ以上の名詞1に対応する物に対して条件を満たさない、
      または、
      レベルアイコンが1つ以上の名詞2に対応する物に対して条件を満たさないとき真

    例:
    LEVEL BELOW B 動詞 補語
    1つ以上のBの下方にあるレベルアイコンにLEVEL 動詞 補語が適用されます。

    FEELING(本編未登場)
    • LEVEL FEELING 形容詞1
      レベルアイコンに1つ以上の形容詞1が適用されているなら真
    • LEVEL NOT FEELING 形容詞1
      レベルアイコンに1つ以上の形容詞1が適用されていないなら真

    NOT 形容詞1は、形容詞1以外の形容詞を指します。
    例:A FEELING NOT 形容詞1は、Aに形容詞1でない形容詞が適用されているとき真になります。

    • LEVEL FEELING 形容詞1 AND 形容詞1
      レベルアイコンに2つ以上の形容詞1が適用されているなら真
    • LEVEL NOT FEELING 形容詞1 AND 形容詞1
      レベルアイコンに2つ以上の形容詞1が適用されていないなら真
    • LEVEL FEELING 形容詞1 AND 形容詞2
      レベルアイコンに1つ以上の形容詞1が適用されている、
      かつ、
      レベルアイコンに1つ以上の形容詞2が適用されているなら真
    • LEVEL NOT FEELING 形容詞1 AND 形容詞2
      レベルアイコンに1つ以上の形容詞1が適用されていない、
      かつ、
      レベルアイコンに1つ以上の形容詞2が適用されていないなら真

      注:他の前置詞と異なり、FEELINGを否定したとき、小条件同士のつながりはand的です。

    例:
    LEVEL FEELING 形容詞1 動詞 補語
    1つ以上の形容詞1が適用されているAにLEVEL 動詞 補語が適用されます。

    FEELINGは無限ループの作成に利用できます。

    AND

    ANDは演算子の一種です。
    ANDは特定の種類のルールの構成要素同士を結びます。
    ルールの構成要素同士をANDで接続したルールは、その部分を各要素で置き換えた複数のルールとして解釈されます。ただし、Prefixな条件指定子の接続、前置詞句の接続、前置詞句中の名詞の接続を除きます。
    (ポーズ画面を開くことで、ルールがどのように解釈されているか確認できます。)

    例:BABA AND KEKE AND ME IS YOUは、「BABA AND KEKE AND ME」の部分を、それぞれの要素「BABA」、「KEKE」、「ME」に置き換えた、BABA IS YOU、KEKE IS YOU、ME IS YOUの3つのルールとして解釈されます。

    ANDには複数の用法があります。

    主語の接続


    主語の後に、AND 名詞をいくつでも繋げることができます。

    • 名詞 (AND 名詞)… 動詞 補語
      各名詞を主語とした複数のルールになります。

    例:BABA AND KEKE AND ME IS YOUは、BABA IS YOU、KEKE IS YOU、ME IS YOUの3つのルールとして解釈されます。

    Prefixな条件指定子の接続

    Prefixな条件指定子の後に、AND Prefixな条件指定子をいくつでも繋げることができます。

    • Prefixな条件指定子 (AND Prefixな条件指定子)… A 動詞 補語
      全てのPrefixな条件指定子の条件を満たすAにのみA 動詞 補語が適用されます。

    前置詞句の接続

    前置詞句の後に、AND 前置詞句をいくつでも繋げることができます。

    • A 前置詞句 (AND 前置詞句)… 動詞 補語
      全ての前置詞句の条件を満たすAにのみA 動詞 補語が適用されます。

    前置詞句中の名詞の接続


    前置詞句の中で単語を接続できます。

    • A 前置詞1 単語 (AND 単語)… 動詞 補語
      前置詞1の前置詞句中の全ての単語について、前置詞1の条件を満たすAにのみA 動詞 補語が適用されます。

    例:BABA NEAR KEKE AND ME IS BESTは、次の条件を全て満たすBABAにのみBABA IS BESTを適用します。

    • 1つ以上のKEKEと同じマス、または周囲8マスにある
    • 1つ以上のMEと同じマス、または周囲8マスにある

    述部または補語の接続


    A 動詞 補語の後に、AND 動詞 補語またはAND 補語をいくつでも繋げることができます。

    • 名詞1 動詞 補語 (AND 動詞 補語 / AND 補語)…
      名詞1を主語とした複数のルールになります。

    例:BABA IS YOU AND BEST AND HAS LOVEは有効なルールで、BABA IS YOU、BABA IS BEST、BABA HAS LOVEの3つのルールとして解釈されます。

    NOT

    このセクションはver.390に基づいて作られています。

    NOTは演算子の一種です。
    NOTは特定の種類のルールの構成要素の前に置くことで、その構成要素を否定できます。

    NOTには複数の用法があります。

    述語の否定

    NOTは、動詞より後にある、補語、または、音名を表す文字列の直前に置くことができます。

    • A 動詞1 NOT 補語1
      全てのA 動詞1 補語1を無効化します。
    • X PLAY NOT 文字列1
      (この説明内では、Aは文字を表します。)
      全てのX PLAY 文字列1を無効化します。
      ただし、X PLAY NOT 文字列1がA音を鳴らします。(バグ?)
    • A IS NOT A
      全てのAが消失します。
      また、全てのA IS Aを無効化します。
    • EMPTY IS NOT EMPTY
      全てのEMPTY IS EMPTYを無効化します。
    • LEVEL IS NOT LEVEL
      レベルについて:

      • レベルが消失します。(レベル内の全てのオブジェクトが破壊されます。)
        また、全てのLEVEL IS LEVELを無効化します。

      レベルアイコンについて:

      • A IS NOT Aと同様です。

    内部的には、ルールの否定は、否定形のルールに付いている条件を反転して、対応するルールに加えることで行われているそうです。
    Hempuli 氏の発言から引用

    When you say “Baba Is Not X”, the game searches through all instances of “Baba Is X” and adds to their conditionals the inverse of “Baba Is Not X”‘s conditional
    so “Baba On Grass Is Not X” means that “Baba Is X” becomes “Baba Not On Grass Is X”

    [link]
    通常の名詞の否定

    NOTは通常の名詞の直前に置くことができます。
    主語として用いる場合と、前置詞句内の単語として用いる場合とで効果が異なります。

    主語として用いられた場合、次を意味します。

    • NOT A
      A以外のエンティティを指します。

    前置詞句内で用いられた場合、次を意味します。

    • NOT A
      A以外のエンティティとレベルアイコンを指します。
      各種オブジェクトは、or的な繋がり方をすることに注意してください。

    動詞より後にあるNOT 名詞は述語の否定として解釈され、通常の名詞の否定としては解釈されません。

    例:NOT BABA IS YOUの「NOT BABA」にレベルアイコンは含まれません。
    一方で、BABA NEAR NOT BABA IS YOUの「NOT BABA」にレベルアイコンは含まれます。

    特殊な名詞の否定

    NOTは特殊な名詞の直前に置くことができます。
    主語として用いる場合と、前置詞句内の単語として用いる場合とで効果が異なります。

    主語として用いられた場合、次を意味します。

    • NOT TEXT
      ALLと同じです。
    • NOT ALL
      TEXT AND EMPTYと同じです。
    • NOT EMPTY
      ALLと同じです。
    • NOT LEVEL
      ALLと同じです。
    • NOT GROUP
      名詞グループに含まれていない名詞に対応する物の内、ALLに含まれるエンティティを指します。

      例:ALL IS WINは、NOT GROUP IS NOT WINによって否定されます(グループが何も含んでいない場合)。このとき否定されたルールに×は付きません。

    前置詞句内で用いられた場合、次を意味します。

    • NOT TEXT
      テキスト以外のオブジェクトのいずれかを指します。
      各種オブジェクトは、or的な繋がり方をすることに注意してください。

      例:BABA ON NOT TEXT IS BESTのとき、BABAはレベルアイコンと同じマスにあるなら、BEST状態になります。

    • NOT ALL
      TEXT AND EMPTYと同じです。
      テキストと無は、and的な繋がり方をすることに注意してください。

      例:BABA NEAR NOT ALL IS BESTのとき、BABAは、1つ以上のテキストと同じマスまたは周囲8マスにあり、かつ、1つ以上の無と同じマスまたは周囲8マスにあるなら、BEST状態になります。

    • NOT EMPTY
      この項目の内容はver.419に基づいて記述されています
      A 前置詞 NOT EMPTY(Aはエンティティ)の時、NOT EMPTYはオブジェクトとレベル境界の内、いずれかを指します。
      各種オブジェクトとレベル境界は、or的な繋がり方をすることに注意してください。
      (AをTEXT、EMPTY、LEVEL、ALLに置き換えた時の振る舞いは調査中です)

      • ONについて、NOT EMPTYはテキストを含みません。
        (つまり、NOT EMPTYはエンティティとレベルアイコンとレベル境界を指します。)
      • NEARについて、NOT EMPTYを同じ前置詞句内で複数用いても、条件の数は増えません。
      • FACINGについて、NOT EMPTYを同じ前置詞句内で複数用いても、条件の数は増えません。
      • WITHOUTについて、NOT EMPTYはテキストとレベル境界を含みません。
        (つまり、NOT EMPTYはエンティティとレベルアイコンを指します。)
      • ABOVE、BELOW、BESIDELEFT、BESIDERIGHTのいずれについても、NOT EMPTYはレベル境界を含みません。また、NOT EMPTYを同じ前置詞句内で複数用いても、条件の数は増えません。
        (つまり、NOT EMPTYはオブジェクトを指します。)

      例:BABA NEAR NOT EMPTY IS BESTのとき、BABAは、1つ以上のテキストと同じマスまたは周囲8マスにあるなら、BEST状態になります。
      また、BABAは、1つ以上のレベル境界と同じマスまたは周囲8マスにあるなら、BEST状態になります。
      例:BABA NEAR NOT EMPTY AND NOT EMPTY IS BESTのとき、BABAは、1つ以上のオブジェクト、または、レベル境界と同じマスまたは周囲8マスにあるなら、BEST状態になります。
      2つ以上のオブジェクト、または、レベル境界に対して条件を満たす必要はありません。

    • NOT LEVEL
      ALLに含まれるエンティティのいずれかを指します。
      各種オブジェクトは、or的な繋がり方をすることに注意してください。

      例:BABA NEAR NOT LEVEL IS BESTのとき、BABAは、1つ以上のKEKEと同じマスまたは周囲8マスにあるなら、BEST状態になります。
      これはBABA NEAR ALL IS BESTとは異なります。そのルールでは、BABAは、KEKEだけでなく、他のBABAについても条件を満たす必要があるからです。(ALLでは、各種エンティティはand的な繋がり方をするということ。)

    • NOT GROUP
      名詞グループに含まれる各名詞にNOTを付け、それらをANDで繋いだ物と同じです。

      例:BABA AND KEKE IS GROUPのとき、前置詞句内におけるNOT GROUPは、NOT BABA AND NOT KEKEと同じです。
      例:EMPTY AND TEXT IS GROUPのとき、前置詞句内におけるNOT GROUPは、NOT EMPTY AND NOT TEXTと同じです。

    条件の否定

    NOTは条件指定子の直前に置くことができます。

    • NOT 条件指定子1
      条件指定子1の条件を反転します。
      WITHOUT、FEELINGは例外で、単純な反転ではありません。セクション「前置詞」を参照。

    例:BABA NOT FACING UP IS FALLとした場合、上を向いていないBABAにのみBABA IS FALLが適用されます。
    (これはBABA FACING NOT UP IS FALLと同じ意味になります。)

    前置詞句内の単語の否定

    NOTは前置詞句内の単語の直前に置くことができます。

    • A 前置詞1 NOT B 動詞 補語
      B以外のエンティティとレベルアイコンのいずれかについて、前置詞1の条件を満たすAにのみ、A 動詞 補語が適用されます。
    • A FACING NOT DIRs1 動詞 補語
      DIRs1以外の方向を向いているAにのみ、A 動詞 補語が適用されます。

      例:BABA FACING NOT UP IS FALLとした場合、上以外の方向を向いているBABAにのみBABA IS FALLが適用されます。
      (これはBABA NOT FACING UP IS FALLと同じ意味になります。)

    • A FEELING NOT 形容詞1 動詞 補語
      形容詞1以外のいずれかの形容詞が適用されているAにのみ、A 動詞 補語が適用されます。
    NOTの否定

    NOTの直前に別のNOTを置くことができます。

    • NOT NOT
      2つのNOTは打ち消し合います。

    つまり、NOTが偶数個連続しているとき、それらNOTはないものとして解釈されます。NOTが奇数個連続しているとき、それらNOTは1つのNOTとして解釈されます。

    例:NOT NOT BABA IS YOU = BABA IS YOU
    です。

    形容詞

    このセクションはver.383、ver.390に基づいて作られています。

    形容詞はテキストの一種です。

    形容詞は主語に対応する物に特性を与えます。
    A IS 形容詞1のように用いることで、Aは形容詞1の特性を得ます。

    一部の形容詞を除いて、形容詞の効果は重複しません。
    ただし、形容詞のパーティクルを発する効果は必ず重複します。

    オブジェクトと形容詞

    以下の説明はオブジェクトに対する効果の説明です。

    一部のオブジェクトは一部の形容詞の効果を受けません。

    • テキストはWORDの効果を受けません。
    • レベルアイコンはパーティクルの発生の効果を受けません。
      (BEST等のパーティクル発生効果のみの形容詞は、検証の際に役立たずです。)
    • レベルアイコンはCOLORsの効果を受けません。
      (同じく検証の際に注意が必要です。)
    • レベルアイコンはSELECTの一部の効果を受けません。
    • 隠しレベルアイコンはSTOPの効果を受けません。
    • レベルアイコンとカーソルはHIDEの効果を受けません。

    本編に登場する形容詞
    YOU
    • YOUerはプレイヤーの入力に応じて移動します。

    WIN
    • WINerがYOUerでもあるときレベルをクリアします。
    • WINerにYOUerが重なるとレベルをクリアします。

    STOP
    • STOPerは進入不可です。
      ただし、隠しレベルアイコンはこの効果を受けません。

    PUSH
    • タイルがPUSHer1に移動しようとする時、PUSHer1も同じ方向に移動します。
      • これによるPUSHer1の移動もまた、他のPUSH状態のタイルに伝播します。
        そのため、複数のPUSH状態のタイルが並んでいれば、まとめて押すことができます。
      • PUSHer1が移動できない場合、PUSHer1は進入不可です。

    「ルールの基本 – 移動」も参照。

    PULL
    • PULLerは進入不可です。
    • PULLer1に隣接するタイルがPULLer1の反対方向に移動する時、PULLer1は同じ方向に移動できるか確認し、移動できるなら移動します。移動できないなら移動しません。
      (移動できない場合は移動しないため、WEAKの破壊など、移動失敗時の効果を受けません。)

      • これによるPULLer1の移動もまた、他のPULL状態のタイルに伝播します。
        そのため、複数のPULL状態のタイルが並んでいれば、まとめて引くことができます。

    「ルールの基本 – 移動」も参照。

    (バグ?)
    SWAP状態のPULLerが引っ張られる時、自身のSWAPによる「進入不可タイルに移動できる」効果は発揮されません。
    例:SWAP状態のPULLerが壁へ引っ張られても移動しません。

    (バグ?)
    複数のPULLerの列が引かれた時、2つ目以降のPULLerは、移動先のマスのタイルの進入不可、または、レベル境界を無視して移動します。

    (バグ?)
    複数のPULLerの列が同じターンに2回以上連続で同じ方向に引かれた時、3つ目以降のPULL状態のタイルは引かれません。

    (バグ?)
    複数のオブジェクトが同じマスから同時に移動してPULLer1を引くとき、2番目以降に移動するオブジェクトが進入不可なら、PULLer1を引けません。
    例:重なっているBABA、KEKE、MEがこの順に移動してPULL状態のFLAGを引く時

    1. BABA IS STOPのとき、FLAGは引かれる
    2. KEKE IS STOPのとき、FLAGは引かれない
    3. ME IS STOPのとき、FLAGは引かれない

    これを教えてくれたカスタムレベル

    PULLer(以後B)を挟むように2つのオブジェクト(以後A)が位置しており(つまりA B Aや、A B B Aのような配置)、片方のAがBを引くように、2つのAが同じタイミングで同じ方向に移動するとき、Aが移動時にBを破壊するような関係(OPEN & SHUT、EAT)であっても、列の後ろのAはBを破壊せずに移動します。
    ここで、列の先頭のAがPUSHerを押すとき、列の後ろのAはBを破壊します。(バグ?)
    Aが無の場合、AとBがEATの関係にある場合は上記と同様ですが、OPEN & SHUTの関係にある場合、Aは移動時にBを破壊します。

    SINK
    • SINKerに1つ以上のオブジェクトが重なると、それらは全て破壊されます。

    DEFEAT
    • DEFEATerがYOUerでもあるとき破壊されます。
    • DEFEATerに重なったYOUerは破壊されます。

    HOT
    • この形容詞のみでは効果なし。
      MELTを参照。

    MELT
    • MELTerがHOTerでもあるとき破壊されます。
    • MELTerがHOTerに重なると破壊されます。

    MOVE
    • MOVEer1がこのターンにまだMOVEまたはCHILLで反転していないなら:
      MOVEer1はその向きに移動できるか確認し、進入不可タイルまたはレベル境界によって妨げられるなら向きを反転します。
      (この段階では移動しません。そのため、WEAKの破壊など、移動失敗時の効果を受けません。)
    • MOVEerはその向きに移動します。
    • MOVE、AUTO、CHILLの効果は重複します。
      詳細はAUTOまたはCHILLを参照。

    MOVEの効果は重複しますが、「跳ね返り」は1ターンに1度だけ発生します。

    MOVEの移動がLOCKEDsやSTILLに阻止された時は反転しません。

    OPEN
    • 進入不可の無効化
      OPENer1とタイル1の浮遊状態が同じ、かつ、
      [OPENer1とタイル1の両方がSAFE状態]ではないとき:
      OPENer1は、進入不可なSHUT状態のタイル1に移動できます。

      例:Aはオブジェクト、A IS OPEN、B IS SHUT AND STOPのとき、AはBに移動できます。
      ここで、A IS FLOAT、または、B IS FLOATのとき、AはBに移動できません。
      また、A AND B IS SAFEのとき、AはBに移動できません。

    • 移動による破壊
      • 移動による破壊は位置の変化の前に起こります。
        つまり、HASによるオブジェクトの生成位置は、移動先ではなく移動前のマスです。
      • OPENer vs SHUTer
        OPENer1が、OPENer1と浮遊状態の同じ1つ以上のSHUTerに移動するとき、それら各SHUTerに対して、次の処理を1度ずつ実行します:
        OPENer1とそのSHUTerが破壊されます。OPENer1が破壊された場合、それ以降のこの処理を中止します。

        注:複数のOPENerが同時に移動するとき、それらの移動は実際には同時ではなく、処理順に依存して1つずつ順次移動します。
        そのため、まずOPENer1が移動し、1つのSHUTerと共に破壊され、次にOPENer2が移動し、1つのSHUTerと共に破壊され…のように処理されます。

        注:どのSHUTerが先に破壊されるかは、それらの処理順(おそらく内部ID)に依存します。

        注:以下の例で、どのオブジェクトが破壊されるかは、それらの処理順に依存します。

        例:1つのOPENerが、6つ重なったSHUTerに移動すると、1つのOPENerと1つのSHUTerが破壊され、5つのSHUTerが残ります。
        例:2つのOPENerが、6つ重なったSHUTerに同時に移動すると、2つのOPENerと2つのSHUTerが破壊され、4つのSHUTerが残ります。
        例:6つのOPENerが、2つ重なったSHUTerに同時に移動すると、2つのOPENerと2つのSHUTerが破壊され、4つのOPENerはSHUTerのあったマスへ移動します。
        例:2つのSAFE状態のOPENerが、6つ重なったSHUTerに同時に移動すると、全てのSHUTerが破壊され、2つのOPENerはSHUTerのあったマスへ移動します。
        例:1つのOPENer1と1つのSAFE状態のOPENer2が、6つ重なったSHUTerに同時に移動するとき、その結果はOPENer1とOPENer2の処理順によって2通りに別れます。
        1つ目は、OPENer1が先に移動し消費されるパターンで、この場合OPENer2のみが残ります。
        2つ目は、OPENer2が先に移動するパターンで、この場合OPENer1が消費されないため、OPENer1とOPENer2の両方が残ります。
        //TODO:画像

      • OPENer vs SHUT状態の無
        1つ以上のOPENerが、浮遊状態の同じSHUT状態の無に同時に移動するとき、それらは全て破壊されます。

        例:KEY IS OPEN、EMPTY IS SHUT、EMPTY HAS FLAGのとき、6つ重なったKEYが無に同時に移動すると、それらが全て破壊されます。
        出現するFLAGの数は1つです。(これはFLAGがあるマスに無がないからだと考えられますが、ではなぜKEYは全て破壊されるのか?)
        //TODO:画像

    • 重なりによる破壊
      1つ以上のOPENerが、1つ以上のSHUTerに重なると、それらの内、1つのOPENerと、全てのSHUTerが破壊されます。

      注:OPENとSHUTの関係を逆にしたとき、同じ挙動ではありません。(バグ?)

      例:2つのOPENerが、6つのSHUTerに重なると、1つのOPENerと全てのSHUTerが破壊され、1つのOPENerが残ります。
      例:6つのOPENerが、2つのSHUTerに重なると、1つのOPENerと全てのSHUTerが破壊され、5つのOPENerが残ります。
      例:6つのOPENerが、2つのSAFE状態のSHUTerに重なると、全てのOPENerが破壊され、2つのSHUTerが残ります。
      例:6つのSAFE状態のOPENerが、2つのSAFE状態のSHUTerに重なると、何も起きません。
      //TODO:画像

    • OPENかつSHUTによる破壊
      OPENerがSHUTerでもあるとき破壊されます。
    • 他のルールとの関係
      • OPEN & SHUTはPUSHに優先します。
        ただし、OPEN & SHUTの進入不可の無効化の条件を満たさない場合は押すことができます。
      • OPEN & SHUTはSWAPに優先します。
        ただし、OPEN & SHUTの進入不可の無効化の条件を満たさない場合は入れ替えできます。
      • OPEN & SHUTはEATに優先します。
        これは移動時と重なりのどちらについても当てはまります。

    SHUT
    • OPENerとSHUTerが重なったときの効果を除き、OPENの説明のOPENとSHUTを入れ替えたものと同じです。
      OPENを参照。

    RED
    • 赤くなります。

    BLUE
    • 青くなります。

    FLOAT
    • 浮遊します。

    用語「浮遊状態」も参照。

    WEAK
    • 進入不可の無効化
      タイルは、浮遊状態が同じなら、進入不可なWEAKerに移動できます。

      例:WALL IS STOP AND WEAK AND SAFEのとき、WALLと浮遊状態が同じオブジェクトは、WALLを破壊することなくWALLに移動できます。

    • 移動失敗時の破壊
      WEAKerが移動しようとしたが、進入不可タイルまたはレベル境界によって妨げられたとき破壊されます。

      STILL、LOCKEDsにより移動が妨げられた時は破壊されません。

    • 重なりによる破壊
      WEAKerが他のオブジェクトに重なると破壊されます。

      無はオブジェクトに重なることができないため、無がWEAK状態のオブジェクトに移動しても破壊できません。

    PUSHとWEAKの関係は次の通りです。

    例:A IS WEAK、B IS PUSH AND WEAKで、A1がB1を壁に向かって押した場合、両者とも移動し、B1が破壊されます。
    同様の条件で、A1がBの列を壁に向かって押した場合、それら全てが移動し、A1から最も遠いBが破壊されます。
    Aが破壊されないことから、Bの破壊は重なりによる破壊ではなく、移動失敗時の破壊だとわかります。

    TELE
    • TELE状態のAが2つ以上存在するとき:
      TELE状態のAに重なった、Aでない各オブジェクトは、別のTELE状態のAのマスにテレポートします。
      各オブジェクトのテレポート先は、それぞれランダムで決まります。

      • Aは、TELE状態でなくとも、Aではテレポートしません。
      例:A IS TELE、B IS TELEで、3つのA(それぞれA1、A2、A3とする)があり、A ≠ Bのとき:

    • A1に重なったAでないオブジェクトは、A2またはA3にテレポートします。
    • A同士が重なっても何も起きません。
      • TELE状態でないAが別のAに重なったとしても何も起きません。
    • 「テレポーター」に重なったオブジェクトは、同種の「テレポーター」へのみテレポートします。
      Aに重なったオブジェクトがBへ、またはその逆にBからAへテレポートすることはありません。
    • A3がTELE状態でないとき、A3に重なったオブジェクトはテレポートしません。
    • A3がTELE状態でないとき、A1に重なったAでないオブジェクトは必ずA2にテレポートします。
    • A1だけがTELE状態のとき、どのAに重なってもオブジェクトはテレポートしません。
    • A1だけがFLOAT状態のとき、FLOAT状態のオブジェクトは、A1に重なるとテレポートしますが、A2またはA3と同じマスにあってもテレポートしません。
      これを利用して、「一方通行のテレポーター」を作り、進入不可オブジェクトを重ねることができます。

    形容詞2

    このセクションはver.383に基づいて作られています。

    SHIFT
    • オブジェクト1がまだSHIFTで向きを変えていないなら:
      SHIFTer1に重なっているオブジェクト1は、SHIFTer1の方向を向きます。
    • SHIFTer1に重なっているオブジェクト1は、オブジェクト1の向きに移動します。
      • 複数のSHIFTerに重なっているオブジェクトは、それらSHIFTerが効果を受けているSHIFTの数の合計の分だけ移動します。
      • 複数のSHIFTerに重なっているオブジェクトが移動する方向は、それらSHIFTerによる向きの変更の処理順に依存します。最も処理順の早いSHIFTerの向きに移動すると考えられます(下記の向きの異なるSHIFTerの重複時の挙動の例を参照)。
    • 移動処理の後、SHIFTerに重なっているオブジェクトは、そのSHIFTerの方向を向きます。
      移動時の向きの変化とは異なり、複数のSHIFTerが重なったとき、それらの向きは、いずれか1つのSHIFTerの向きに揃います。(優先順位は要検証。最も処理順の遅いものが上書きするように見えるが、英wikiでは最も早いものとされている)

      • これは、変化や、TELEによるテレポートより後、HAS / MAKEによる生成や、FALLによる落下より前に起こります。
    • SHIFTの効果は重複します。
      n個のSHIFTの効果を受けているSHIFTerに重なっているオブジェクトは、nマス移動します。

    例:BELT IS SHIFTのとき、2つのBELTが同じマスにあり、同じ方向を向いているなら、それらはそれらの向きに1マス移動します。

    例:2 X ARROW IS SHIFTのとき、ARROW1に重なったBABA1は、ARROW1の向きに2マス移動します。

    例:BELT IS SHIFT、2 X ARROW IS SHIFT、BELT AND ARROW IS STILLで、BELT1とARROW1が同じマスにあり、同じ方向を向いているとき、BABA1がそれらに重なると、BABA1はそれらの向きに3マス移動します。

    例:BELT AND ARROW IS SHIFT AND STILL、BELT IS UP、ARROW IS DOWNで、BELT1とARROW1が同じマスにあるとき、BABA1がそれらに重なると、BABA1は上下どちらかに2マス移動します。
    BABA1が移動する方向が上下のどちらになるかは、BELT1とARROW1の処理順に依存します。

    向きの異なる複数のSHIFTerが重なっている時の挙動:

    • 2つのSHIFTerが相異なる向きで重なっているとき、それらは他方の向きに移動します。
    • 3つ以上のSHIFTerが相異なる向きで重なっているとき、最も処理順の早いSHIFTerは次の処理順のSHIFTerの向きに移動します。残りのSHIFTerは最も処理順の早いSHIFTerの向きに移動します。

    この挙動から、移動前にも向きの変化が起こっていると考えられます。

    注:通常、複数のSHIFTerを重ねると向きが揃ってしまうが、特定の方法で、向きの異なる複数のSHIFTerを重ねることが可能です。
    以下のような方法があります。

    • レベル作成時に重ねておく
    • 向きの異なる複数のオブジェクトを重ねて、HASかMAKEでSHIFTerを生成する
    • FALLでSHIFTerを重ねる

    RIGHT
    UP
    LEFT
    DOWN
    • DIRs状態のオブジェクトは、自身に適用されている数が最も多いDIRsの方向を向きます。
      • 適用されている数が最も多いDIRsが複数種ある場合は、オブジェクトが今向いている方向から時計回りに1回以上回転していった時、最も回転数が少ないような方向を向きます。

      例:A IS UP AND DOWNのとき、上または右を向いているAは下を向きます。下または左を向いているAは上を向きます。

      例:AにDIRsを全種類1つずつ適用したとき、毎ターン、Aは時計回りに回転します。

    • これらの形容詞の効果は重複します。
      (最も数の多いDIRsが効果を持ちます。)

    DIRsによる向きの変化は、1ターンにつき、あるタイミングで1度だけ起こっています。
    そのため、一部のルールの効果は向きの指定を無視するように見えます。

    例:BABA IS UP、BABA IS ALLで、ALLにBABA以外のオブジェクトが含まれていて、BABAが移動するとき、BABAが生成するオブジェクトはBABAが移動した方向を向きます。

    レベル開始時(0ターン目)にはA IS DIRsが適用されません。
    次のターンからA IS DIRsが適用されます。

    SWAP
    • SWAPerは、進入不可タイルに移動できます。
    • タイルは、進入不可なSWAPerに移動できます。
      • ただし、進入不可かつSTILL状態のSWAPerには移動できません。
        また、進入不可かつLOCKEDs状態のSWAPerへ、LOCKEDsに対応する方向から移動することはできません。
    • SWAPerが移動したとき、移動先のマスにあるタイルオブジェクトが移動元のマスに置かれます。
      (無について同様かは確認する方法がない)
    • タイルが移動したとき、移動先のマスにあるSWAPerが移動元のマスに置かれます。
      • タイルはPULLによって移動する無であってはいけません。
        その場合、何も起こりません。(バグ?)
    • SWAPはPUSHに優先します。

      例:A IS SWAP、B IS PUSHで、AがBに移動しようとした場合、AとBの位置が入れ替わり、Bを押すことはできません。

      例:B IS SWAP AND PUSHで、AがBに移動しようとした場合、AとBの位置が入れ替わり、Bを押すことはできません。

    FALL
    • 全てのFALLerが動かなくなるまで次を繰り返します。
      • 各FALLerは順次下へ落下します。
        • 各落下では、FALLerは動かなくなるまで下へFALL移動を繰り返します。
          FALL移動は特殊な移動で、以下の特徴を持ちます。

          • FALL移動の特徴
            • 通常の移動より後に起こります。
            • 各オブジェクトの移動は同時ではありません。
            • 移動しても向きは変化しません。
            • PUSH状態のタイルを押せず、進入不可とみなします。
            • 次の、移動に反応する効果は発揮されません。
              • PUSH状態のタイルを押しません。
              • PULL状態のタイルを引きません。
              • SWAPによる位置の入れ替えを起こしません。
            • FALLerがSWAP状態であっても、進入不可タイルに移動することはできません。
            • FALLerがPHANTOM状態でない限り、WEAKerに移動するとそれを破壊します。
          • 以下は通常の移動と変わりません。
            • 移動時の破壊を起こせます。つまり、OPEN & SHUTの破壊、EATの破壊、WEAK状態の無に移動した時の破壊は起こります。
            • OPEN & SHUT、EAT、WEAKの進入不可の無効化は有効です(FALLerはそれらのタイルに移動できます)。
            • SWAP状態のタイルに移動できます。

    FALLでは、各オブジェクトはABCABC…のように移動するのではなく、AABBCC…のように移動します。これは次の画像のテストからわかります。

    もしABCABC…のように移動するなら、全てのKEKEは条件を満たし続けるためWALLを通り過ぎるはずですが、そうなっていません。

    オブジェクトの落下が一回きりではなく、動かなくなるまで繰り返されるという事実は、次の画像のテストからわかります。

    このテストでは、KEKEは最終的にレベル外側へ飛び出し消失します。

    FALLによる各オブジェクトの移動は同時ではないため、進入不可オブジェクトのスタックの分離に利用できます。

    各オブジェクトの条件判定は、FALLで1マス移動する度に行われます。
    これを説明する良い画像
    [link]

    エディターで利用できる下向きのFALLは、本編に登場するFALLと同一です。
    唯一の違いはスプライトです。

    MORE
    • MORE状態のAは隣接する4マスに自身を複製します。
      ただし、Aがあるマスと、STOP、PUSH、PULLのいずれかの状態のタイルがあるマスを除きます。

      • MORE状態のAは、増殖先のマスのAがMORE状態でなくとも、Aがあるマスには増殖しません。
      • MORE状態のテキストは、テキストの種類に関わらず、テキストがあるマスには増殖しません。

    例:BABA IS MORE、WALL IS STOP、EMPTY IS STOPのとき、BABAは隣接する無またはWALLのマスには増殖しません。

    増殖は同時ではなく、増殖の順番は処理順に依存します。

    例:BABA IS MOREで、2体重なったBABAが隣接する4マスに増殖するとき、増加するBABAの数は8体ではなく、4体です。

    WEAK、EATなどの一部のルールは、タイルの進入不可を無効化し、そこへ移動可能にする効果を持ちますが、これはMOREの増殖の可否とは全く関係ありません。
    増殖先のタイルの進入不可が無効化されていても、MOREerはそれらがあるマスには増殖しません。

    複製されたオブジェクトは、レベルメタデータと、PATHであったかの情報を元のタイルから引き継ぎますが、変化の履歴は引き継ぎません。(そのため、REVERTで戻りません。)

    WORD
    • WORDerはルール中で自身と同じ名前の名詞として解釈されます。
      ただし、テキストはこの効果を受けません。

    WORDは無限ループの作成に利用できます。

    BEST
    • 光り輝きます。

    SLEEP
    • SLEEPerは自身に適用されている、YOU、YOU2、MOVE、AUTO、CHILL、NUDGEs、3D、FEARにより移動しなくなります。
    • 一部のオブジェクト(BABA、KEKE、ANNIなど)はSLEEP用に専用のアニメーションを持ちます。

    HIDE
    • HIDEerは見えなくなります。
      ただし、レベルアイコンとカーソルはこの効果を受けません。
    • 構成するテキストが全てHIDE状態のルールは、ポーズ画面に表示されなくなります。
    • SELECTerはHIDE状態のPATHオブジェクトに移動できません。

    BONUS
    • BONUSerがYOUerでもあるとき破壊されます。
      ボーナスを仮取得します。
    • BONUSerがYOUerに重なると破壊されます。
      ボーナスを仮取得します。
    • ボーナスを仮取得した状態でレベルをクリアすると:
      • 本編なら:
        そのレベルについてボーナスを獲得します。
        獲得済みのボーナスの総数はセーブデータに表示されます。また、MAPまたはポーズ画面右上にも表示されます。
      • カスタムレベルなら:
        レベル選択画面で、レベルに特別なスタンプが付きます。
    • レベルをクリアしなかった場合、仮取得したボーナスは削除されます。
    • 1つのレベルで獲得できるボーナスは1つまでです。

    ver.383
    ボーナスを仮取得したターンをアンドゥした場合、それまでに仮取得した数に関わらず、仮取得したボーナスは全て削除されます。
    (バグ?)

    BONUSの破壊はWINのクリアと同時に起こります。
    例:BABA IS YOU AND WIN AND BONUSのとき、BABAは破壊されますが、レベルはクリアします。
    例:ORB IS WIN AND BONUSのとき、YOUerがORBに重なると、ORBを破壊すると同時にレベルをクリアします。
    //TODO:ボーナスの取得はこれと同時に起こるか調べる

    END
    • 本編のみ:
      ENDerにYOUerが重なるとエンディングが始まります。
    • 本編以外:
      • ENDerがYOUerでもあるときレベルをクリアします。
      • ENDerにYOUerが重なるとレベルをクリアします。

    DONE
    • DONEerは消失します。
    • ALL IS DONEとした場合:
      • 本編なら:
        隠しエンディングが始まります。
      • カスタムレベルなら:
        レベルをクリアします。

    形容詞(本編未登場)

    このセクションはver.385、ver.386、ver.394に基づいて作られています。

    AUTO
    • AUTOerはその向きに移動します。
    • MOVE、AUTO、CHILLの効果は重複します。

    このコラムの内容は要検証です
    MOVE、AUTO、CHILLの移動のタイミングは同じであり、これらの移動は重複します。
    MOVE、AUTO、CHILLは、この順に適用されます。これらが重複した移動は、最も早く適用されている種類の移動として扱われます。
    つまり、

    1. MOVE状態であれば、他2種の適用に関わらず、MOVEの移動として扱われます。
      つまり、移動中に1回まで跳ね返ることができます。
    2. AUTOのみ、または、AUTOかつCHILL状態であれば、AUTOの移動として扱われます。
      つまり、移動中に跳ね返ることはありません。
    3. CHILL状態のみのとき、CHILLの移動として扱われます。
      つまり、移動中に1回まで跳ね返ることができます。

    MOVEとCHILLの移動は全く同じ効果であることから、AUTOの移動のみ違う効果になると言えます。
    また、CHILLが適用されているなら、移動前の向きのランダム化の効果は必ず発揮されます。

    例:A IS MOVE AND AUTOのとき、Aは2マス移動します。
    これらの移動はMOVEとして扱われ、AUTOの移動としては扱われません。つまり、(このターンに跳ね返っていなければ)どちらの移動でも壁にぶつかると跳ね返ります。
    例:A IS AUTO AND CHILLのとき、Aは向きがランダムに決まり、2マス移動します。
    これらの移動はAUTOとして扱われ、CHILLの移動としては扱われません。つまり、壁にぶつかっても跳ね返りません。

    BROKEN
    • BROKEN状態のAは、Aを主語とするルールの内、BROKENとMIMIC以外の効果を受けません。
      • 暗黙のルールも無効化されます。
      • パーティクルの発生は無効化されません。
    • B1がBROKEN状態のとき、一部のA 動詞 Bの一部の効果による、任意のAとB1との間の相互作用が無効化されます。
      次の効果は無効化されます。

      • A EAT Bの、AとBの重なりによるBの破壊
      • A FEAR B
      • A FOLLOW B

    内部的には、ルールには常に条件が存在し、その条件を満たさないようにすることでルールを無効化しているようです。

    A MIMIC B、B IS BROKENのとき、無限ループを引き起こすことはありません。単にAのルールが全て無効化されます。(他のルールよりMIMICの処理が早く、1度だけ実行される?)

    CHILL
    • MOVE、AUTO、CHILLの全体の移動処理の開始時に一度だけ、各CHILLer1の方向をランダムに決定します。
      • CHILLer1がDIRs状態であってもランダムです。
    • CHILLer1がこのターンにまだMOVEまたはCHILLで反転していないなら:
      CHILLer1はその向きに移動できるか確認し、進入不可タイルまたはレベル境界によって妨げられるなら向きを反転します。
    • CHILLerはその向きに移動します。
    • MOVE、AUTO、CHILLの効果は重複します。
      詳細はAUTOを参照。

    CHILLの移動がLOCKEDsやSTILLに阻止された時は反転しません。

    BACK
    • 各BACKerは、その位置と向き、変化、生成を逆再生します。
      これはBACKerがBACK状態になった次のターンから、BACK状態である間、毎ターン起こります。
      以降の説明で、A IS BACKとします。

      • 過去の参照
        毎ターン、A1は自身の過去を参照します。ターンが経過するにつれて、より古い過去が参照されます。
        ただし、参照する過去がレベル開始時(0ターン目)より前になると、そのターン以降は過去の参照を止め、各種逆再生も行いません。
        あるターンにおいて、A1が参照する過去は次の通りです。

        • A1がBACK状態になったターンをb(A1)とする
          b(A1)ターン目、BACKは効果を発揮しない
          b(A1)+1ターン目、b(A1)ターン目を参照する
          b(A1)+2ターン目、b(A1)-1ターン目を参照する

          b(A1)+xターン目、b(A1)-(x-1)ターン目を参照する
      • 位置と向きの逆再生
        A1の位置と向きは、参照する過去でのA1の位置と向きに設定されます。

        • 参照する過去でA1の位置が変化していなかった場合、位置と向きは設定されません。
          ただし、A1がBACK状態になった次のターン(b(A1)+1ターン目)には、位置の変化に関わらず設定されます。
        • SELECTによる位置の変化は、この条件に関わりません。
          (位置が変化しなかったとみなされます。)
      • 変化の逆再生
        別のタイルからA1への変化は、A1がその変化より過去を参照した時、戻されます。

        • B IS AによりB1がA1に変化し、A1が出現したターンをt(A1)とする
          参照する過去がt(A1)-1ターン目になった時、A1はB1に戻る
      • 生成の逆再生
        A1の生成は、A1がその生成より過去を参照した時、戻されます。

        • HASやMAKE等により、A1が生成されたターンをg(A1)とする
          参照する過去がg(A1)-1ターン目になった時、A1は消失する

    位置の逆再生と他のルールの関係

    • BACKerの位置の設定は、STILL、LOCKEDsにより制限されません。
    • BACKかつFALLs状態のオブジェクトは、位置が設定された後に落下します。
    • 位置が設定されたBACKerは、TELE状態のオブジェクトに重なってもテレポートしません。一方で、TELE状態のレベルに重なるとテレポートします。

    位置の設定は移動ではありません。
    そのため、進入不可タイルにより位置の変化を妨げられることはありませんし、PUSH、PULL、SWAP、OPEN & SHUT、EAT、その他移動に反応する効果は発生しません。

    変化の逆再生は変化ではありません。
    そのため、A IS A、A IS NOT B、A IS REVERTのようなルールで無効化できず、REVERTで戻すこともできません。

    A IS ALLは変化ではなく生成です。
    そのため、これにより出現したオブジェクトはBACKでAに戻りません。(バグ?)

    このコラムの内容は推測です
    BACKはUNDOシステムを流用していると思われます。

    FALL
    FALL (RIGHT)
    FALL (UP)
    FALL (LEFT)
    • FALLs状態の全てのオブジェクトが動かなくなるまで次を順に繰り返します。
      1. FALLが有効な各オブジェクトは順次下へ落下します。
      2. FALL (RIGHT)が有効な各オブジェクトは順次右へ落下します。
      3. FALL (UP)が有効な各オブジェクトは順次上へ落下します。
      4. FALL (LEFT)が有効な各オブジェクトは順次左へ落下します。
      • あるオブジェクトにFALLとFALL (UP)が同時に適用されているとき、適用されている数が多い方のみが有効です。
        また、あるオブジェクトにFALL (RIGHT)とFALL (LEFT)が同時に適用されているとき、適用されている数が多い方のみが有効です。
      • 各落下では、オブジェクトは動かなくなるまで対応する方向にFALL移動を繰り返します。
        FALL移動は特殊な移動で、以下の特徴を持ちます。

        • FALL移動の特徴
          • 通常の移動より後に起こります。
          • 各オブジェクトの移動は同時ではありません。
          • 移動しても向きは変化しません。
          • PUSH状態のタイルを押せず、進入不可とみなします。
          • 次の、移動に反応する効果は発揮されません。
            • PUSH状態のタイルを押しません。
            • PULL状態のタイルを引きません。
            • SWAPによる位置の入れ替えを起こしません。
          • FALLerがSWAP状態であっても、進入不可タイルに移動することはできません。
          • FALLerがPHANTOM状態でない限り、WEAKerに移動するとそれを破壊します。
        • 以下は通常の移動と変わりません。
          • 移動時の破壊を起こせます。つまり、OPEN & SHUTの破壊、EATの破壊、WEAK状態の無に移動した時の破壊は起こります。
          • OPEN & SHUT、EAT、WEAKの進入不可の無効化は有効です(FALLerはそれらのタイルに移動できます)。
          • SWAP状態のタイルに移動できます。
    • これらの形容詞の効果は重複します。
      (反対方向のFALLsは同じ数だけ打ち消し合います。)

      例:A IS FALL (UP)、A IS FALLのとき、Aがそれらのルールによって移動することはありません。
      例:A IS FALL (UP)、A IS FALL AND FALLのとき、Aは下に落下します。

    • これらの形容詞を文字で指すには:
      • FALLを文字で指すには”FALL”と綴ります。
      • FALL (RIGHT)を文字で指すには”FALLRIGHT”と綴ります。
      • FALL (UP)を文字で指すには”FALLUP”と綴ります。
      • FALL (LEFT)を文字で指すには”FALLLEFT”と綴ります。

      FALL以外のFALLsは、文字列にFALLが含まれるため、常にFALLが同時に成立します。

    本編に登場するFALLは、エディターで利用できる下向きのFALLと同一です。
    唯一の違いはスプライトです。

    NUDGE (DOWN)
    NUDGE (RIGHT)
    NUDGE (UP)
    NUDGE (LEFT)
    • NUDGEerは対応する方向に移動します。
      ただし、この移動によって向きは変わりません。
    • 各種NUDGEsは次の順に処理されます。
      1. NUDGE (RIGHT)
      2. NUDGE (UP)
      3. NUDGE (LEFT)
      4. NUDGE (DOWN)
    • これらの形容詞の効果は重複します。
    • これらの形容詞を文字で指すには:
      • NUDGE (DOWN)を文字で指すには”NUDGEDOWN”と綴ります。
      • NUDGE (RIGHT)を文字で指すには”NUDGERIGHT”と綴ります。
      • NUDGE (UP)を文字で指すには”NUDGEUP”と綴ります。
      • NUDGE (LEFT)を文字で指すには”NUDGELEFT”と綴ります。

    NUDGEsの移動は、MOVEの後、SHIFTの前に起こります。

    形容詞(本編未登場)2

    このセクションはver.385、ver.386、ver.394に基づいて作られています。

    TURN RIGHT
    • この状態のオブジェクトは、今向いている方向から、時計回りに回転した方向を向きます。
    • この形容詞の効果は重複します。
    • この形容詞を文字で指すには”TURN”と綴ります。

    TURN LEFT
    • この状態のオブジェクトは、今向いている方向から、反時計回りに回転した方向を向きます。
    • この形容詞の効果は重複します。
    • この形容詞を文字で指すには”DETURN”と綴ります。

    TURNsの処理は、DIRsの処理の後に起こります。
    例:A IS UP、A IS TURN RIGHTのとき、Aは右を向きます。

    PHANTOM
    • PHANTOMerの移動時、衝突判定が発生しません。
      • PHANTOMerは進入不可タイルに移動できます。
      • PHANTOMerはレベル境界に移動できます。
      • PHANTOMerはPUSH状態の物(タイル、レベル)を押しません。
      • SWAP状態のPHANTOMerの移動時、自身のSWAPによる入れ替えは起こりません。
        (移動されたタイルのSWAPによる入れ替えは起こります。また、他のタイルがSWAP状態のPHANTOMerに移動したときにも、入れ替えは起こります。)
      • PHANTOMerの移動時、移動による破壊は起こりません。
        次の破壊は起こりません。

        • OPEN & SHUT
        • EAT
        • WEAK状態の無に移動した時の破壊
        • FALL移動中にWEAKerに移動した時の破壊

    PHANTOMをFALLと組み合わせて使用すると、無限ループを引き起こす事ができましたが、アップデートにより発生しなくなりました。

    “whats phantom”に対する Hempuli 氏の返答
    “It’s basically anti-Float
    Float makes overlapping not work but collisions still work
    Phantom makes collisions not work but overlapping still works”
    [link]

    POWER
    • この形容詞のみでは効果なし。
      POWEREDを参照。

    REVERSE

    ver.421dで確認

    • REVERSEerの移動が逆方向になります。
      • 移動時の向きの変化は反転しません。(REVERSEなしの移動で向くはずだった方向を向きます。)
        ただし、SELECTの移動のみ、実際に移動した方向を向きます(バグ?)。

      次の原因による位置の変化に効果があります。

      • YOU、YOU2、3D、MOVE、SHIFT、AUTO、CHILL、NUDGEs、FEARの移動
      • FALLsによるFALL移動
      • SELECTによるSELECT移動

      例:BABA IS YOU、BABA IS REVERSEのとき、右にキー入力すると、BABAは左へ移動し、右を向きます。
      例:BABA IS SELECT、BABA IS REVERSEのとき、右にキー入力すると、BABAは左へ移動し、左を向きます。

    • この形容詞の効果は重複します。
      この形容詞が奇数個適用されている時、REVERSEerは上記の効果を受けます。
      この形容詞が偶数個適用されている時、REVERSEerは上記の効果を受けません。

    LOCKEDsは反転後の移動に対して作用します。
    ただし、SELECTのみ、LOCKEDsは反転前の移動に対して作用します。(バグ?)
    例:BABA IS YOU、BABA IS REVERSE、BABA IS LOCKED (UP)のとき、下にキー入力すると、BABAは上方向に移動しようとしますが、LOCKED (UP)により阻止されます。
    例:BABA IS SELECT、BABA IS REVERSE、BABA IS LOCKED (UP)のとき、下にキー入力すると、BABAは上方向に移動します。
    上にキー入力すると、LOCKED (UP)により阻止されます。

    REVERSEはPUSH、PULL、SWAPに対して作用しません。

    SAFE
    • SAFEerは破壊されなくなります。
      ただし、レベル外側に出た時の破壊は防げません。

    STILL
    • STILLerの位置は変化しなくなります。
      位置の変化が制限されていても、移動による向きの変化は起こります。
      次の原因による位置の変化を防ぎます。

      • YOU、YOU2、3D、MOVE、SHIFT、AUTO、CHILL、NUDGEs、FEAR、PUSH、PULLの移動
      • FALLsによるFALL移動
      • SELECTによるSELECT移動
      • SWAPによる位置の入れ替え
        • 例外として、PUSHまたはPULLの効果によって移動したオブジェクトはSTILLerの位置を入れ替えます。(バグ?)
          これは前者がSWAP状態の場合でも、後者がSWAP状態の場合でも当てはまります。
      • TELEによるテレポート
    • 制限された移動は、移動の失敗とみなされません。
      そのため、次の効果は発動しません。

      • WEAKの移動失敗時の破壊効果
      • MOVEの移動失敗時の反転効果
    • STILLerは、自身のSWAPによる進入不可の無効化の効果を打ち消します。
      STILLer1がSWAP状態かつ進入不可のとき、他のタイルはSTILLer1に移動できません。

      • SWAP状態のタイルは通常通りSTILLer1に移動可能です。

    STILLかつ、PUSHまたはPULL状態のオブジェクトは、STOP状態のように振る舞います。

    LOCKED (DOWN)
    LOCKED (RIGHT)
    LOCKED (UP)
    LOCKED (LEFT)
    • LOCKEDerは、移動が制限され、対応する方向に位置を変化することができません。
      位置の変化が制限されていても、移動による向きの変化は起こります。
      次の原因による位置の変化を防ぎます。

      • YOU、YOU2、3D、MOVE、SHIFT、AUTO、CHILL、NUDGEs、FEAR、PUSH、PULLの移動
      • FALLsによるFALL移動
      • SELECTによるSELECT移動

        (バグ?)
        MOVE、CHILLの反転時の移動は制限されますが、続く移動は制限されません。
        (これはDiscordのバグリポートチャンネルで既に報告されている)

        STILLとは異なり、TELE、SWAP、SELECTによる位置の変化は制限されません。

    • 制限された移動は、移動の失敗とみなされません。
      そのため、次の効果は発動しません。

      • WEAKの移動失敗時の破壊効果
      • MOVEの移動失敗時の反転効果
    • LOCKEDerは、自身のSWAPによる進入不可の無効化の効果を、対応する方向について打ち消します。
      LOCKEDer1がSWAP状態かつ進入不可のとき、他のタイルは対応する方向からLOCKEDer1に移動できません。

      • SWAP状態のタイルは通常通りLOCKEDer1に移動可能です。

      例:A IS LOCKED (UP) AND SWAP AND STOPのとき、他のタイルは上からAに移動できません。他の方向からAには移動できます。

    • これらの形容詞を文字で指すには:
      • LOCKED (DOWN)を文字で指すには”LOCKEDDOWN”と綴ります。
      • LOCKED (RIGHT)を文字で指すには”LOCKEDRIGHT”と綴ります。
      • LOCKED (UP)を文字で指すには”LOCKEDUP”と綴ります。
      • LOCKED (LEFT)を文字で指すには”LOCKEDLEFT”と綴ります。

    形容詞(本編未登場)3

    このセクションはver.385、ver.386、ver.390、ver.407に基づいて作られています。

    YOU2
    • YOU2erは2番目の入力(操作設定で設定されている、2つ目の移動キー)に応じて移動します。
      • YOU2erが1番目の入力によって移動することはありません。
    • YOU2状態のタイルが存在する時、YOU状態のタイルは2番目の入力によって移動しなくなります。
    • YOU状態のタイルに対して効果を発揮する形容詞(例:DEFEATやWIN等)は、YOU2状態のタイルに対しても効果を発揮します。

    REVERT

    AがREVERT状態のとき:

    • 各Aは、自身の変化の履歴の内、最も古い種類のタイルに変化します。

      例:過去にA→Bの順に変化したBは、B IS REVERTによりAに変化します。
      例:過去にA→B→Cの順に変化したCは、C IS REVERTによりAに変化します。
      例:過去に無→Aの順に変化したAは、A IS REVERTにより無に変化します。

      • アップデートにより、次は正しくありません。
        最も古い種類のタイルへの変化が否定されている場合、それより1つ新しい種類のタイルに変化します。そのタイルへの変化も否定されている場合、変化しません。

        例:過去にA→B→C→Dの順に変化したDは、D IS NOT A、D IS REVERTのとき、Bに変化します。
        例:過去にA→B→C→Dの順に変化したDは、D IS NOT A、D IS NOT B、D IS REVERTのとき、変化しません。

      • ver.412での変更により、次は正しくありません。
        変化しようとした種類のタイルへの変化が否定されている場合、それより1つ新しい種類のタイルに変化します。
        これは、変化先が自分自身になるまで繰り返されます。変化先が自分自身の場合、変化しません。

        例:過去にA→B→C→Dの順に変化したDは、D IS NOT A、D IS REVERTのとき、Bに変化します。
        例:過去にA→B→C→Dの順に変化したDは、D IS NOT A、D IS NOT B、D IS REVERTのとき、Cに変化します。
        例:過去にA→B→C→Dの順に変化したDは、D IS NOT A、D IS NOT B、D IS NOT C、D IS REVERTのとき、変化しません。
        注:D IS NOT Aが成立していないなら、D IS NOT Bは、D IS REVERTの変化に何の影響も与えません(DはAに変化します)。

        例:過去にB→A→B→C→Bの順に変化したBは、B IS NOT B、B IS REVERTのとき、Aに変化します。
        例:過去にB→A→B→C→Bの順に変化したBは、B IS NOT B、B IS NOT A、B IS REVERTのとき、Cに変化します。

      • 同時に変化することで増殖したオブジェクトも、変化の履歴を引き継いでいます。

        例:過去にA→B / Bのように変化した2つのBは、両方とも、REVERTによりAに変化します。(結果として2つのAになります。)
        例:過去にA→B / Cのように変化したBとCは、両方とも、REVERTによりAに変化します。(結果として2つのAになります。)

      • HASやMAKE、A IS ALLのような生成は変化ではないため、生成元に変化することはありません。
    • 次のルールがA1に対して有効なとき、そのルールはREVERTによるA1の変化を無効化します。
        BをA1の最も古いタイルとするとき(A = Bも可):

      • A IS NOT B
      • A IS A
    • A IS REVERTがA1に対して有効なとき、次のルールによるA1の変化と消失を無効化します。
      • A IS B(ただしA ≠ B)
      • A IS NOT A

      A IS ALLも無効化されます。
      A IS GROUPは無効化されません。

    • ver.412での変更により、次は正しくありません。
      この形容詞の効果は重複します。
      多重REVERTにより変化すると、それらREVERTの数の分の、最も古いタイルに変化します。

      例:過去にA→Bの順に変化したBは、4 X B IS REVERTにより、4つのAに変化します。

    A IS ALLは変化ではなく生成です。
    そのため、これにより出現したオブジェクトはREVERTでAに戻りません。(バグ?)

    このコラムの内容は推測です
    REVERTはUNDOシステムを流用していると思われます。

    SELECT

    レベルアイコンはSELECTの効果を受けません。

    • SELECTerはプレイヤーの入力に応じてSELECT移動します。
      • SELECT移動は特殊な移動で、以下の特徴を持ちます。
        • 解放されたレベルアイコン(それが変化したオブジェクトを含む)、または、HIDE状態でないPATHオブジェクト(それが変化したオブジェクトを含む)にのみ移動できます。
        • 通常の移動より後に起こります。
        • 移動しようとしたが移動できなかったとき、向きは変化しません。
        • 進入不可オブジェクトに移動できます。
        • 移動によって引き起こされる他タイルの移動は発生しません。
          • PUSHまたはPULL状態のタイルを移動させることはありません。
          • SWAPによる位置の入れ替えは起こりません。
        • OPEN & SHUT、EATによる移動時の破壊は起こりません。
    • SELECTerが、解放されたレベルアイコン(それが変化したオブジェクトを含む)と同じマスにある時に待機キーを入力すると、そのレベルアイコンに対応するレベルに入ることができます。
      ただし、レベルアイコンでないSELECTerに入ることはできません。

      • この効果は他のどんな処理よりも早く起こり、これが起きた時はターン経過しません。
        レベル選択画面を表示させ、キャンセルした時も同じです。
      • SELECTerが複数存在する、またはレベルアイコンが複数重なっているなど、入るレベルアイコンの候補が複数存在する時、レベル選択画面が表示されます。
    • レベルアイコンを選択してレベルに入った後、そのレベルを抜けて上位レベルに戻った時:
      レベル開始時、SELECTerは、最後に選択したレベルアイコンのマスに配置されます。

      • SELECTerが複数存在する場合、処理順が最も早いSELECTer1つだけが配置されます。
    • 待機時、PATHオブジェクトと同じマスにあるSELECTerは特定の方向を向きます。
      この方向は、オブジェクト種(それともID?)によって変わるようです。

      (バグ?)
      この時、SELECTerはどの方向についても、FACING DIRs条件を満たしません。

    • この形容詞の効果は重複します。

    レベル選択の効果も重複します。
    例:2 X BABA IS SELECTで、1体のBABAが「IT’S ME」という名前の1つのレベルアイコンと同じマスにあるとき待機キーを入力すると、レベル選択画面が表示され、「IT’S ME」が2つ表示されます。

    レベル開始直後とリスタート直後の短時間、SELECTによる移動は無視されます。(バグ?)
    例:BABA IS YOUで、BABA、PATHオブジェクトに隣接するCURSORがあるとき、レベル開始時から移動キーを押したままにすると、BABAは移動するにも関わらず、CURSORは移動しません。
    (PATHが出現するまでに時間がかかるとかだろうか?)

    次のレベルは、リスタート時に右入力し続けることでクリア可能です。
    [link]

    LEVEL IS AUTOによる待機では、レベル選択の効果は発動しません。
    「待機時、PATHオブジェクトと同じマスにあるSELECTerは右を向く」効果は発動します。

    SELECTerは他のオブジェクトより上に表示されます。FLOATerよりも上です。
    SELECTer同士の表示順は、Zレベルを無視し、ルールの処理順に依存します。(要検証)

    3D

    レベルアイコンは3Dの効果を受けません。

    • レベルアイコンを除く3Derが存在するとき、1つの3Derが選ばれます(以後これを「主人公」と呼びます)。

      ルールを作るたびに選ばれる3Derは毎回同じです。まず処理順が早いルールの3Derが選ばれ、次いでその中から内部IDの最も若い3Derが選ばれるようです。
      例:レベル作成時、最も左上にKEKE IS 3D、その下にBABA IS 3Dを配置したとき、主人公にはまずKEKEが選ばれます。
      2つのルールの位置を入れ替えると、主人公にはまずBABAが選ばれます。
      ここで、もしBABA1、BABA2の2体のBABAがいて、BABA1の方が内部IDが若いなら、主人公にはBABA1が選ばれます。

    • 画面が主人公を中心とする(Wizardryなどのダンジョンクロウルのような)一人称視点に切り替わります。
      • 上キーで主人公が前進します。
      • 左右キーで主人公が回転します。
      • 下キーで主人公を次の3Derに切り替えます。(他に3Derが存在しない場合、何も起きません。)

        このコラムの内容は推測です
        次の3Derとは:
        3Dのルールは、全ての3Derを収める1つの「リスト」を作るようです。
        ある3Derが主人公であるとはつまり、このリスト中の1つの3Derが主人公として選ばれているということです。
        下キーを押すたびに、現在の主人公の次にリストに収められている3Derが主人公として選ばれます。現在の主人公がリストの終端の3Derの時、次の主人公はリストの先頭の3Derとなります。

      • どのキー入力もターンを経過させます。
    • YOUerに対して効果を発揮する形容詞(WIN、DEFEAT、SLEEP、BONUS、END)は、3Derに対しても効果を発揮します。

    3Dの移動はYOU、YOU2と同時に起こります。

    待機したターンに主人公の向きが変化してもカメラの向きは変化しませんが、主人公の実際の向きは変化しています(バグ?)。

    DIRs状態の主人公は左右キーで回転できません。これは主人公が回転した直後に向きが設定されるためだと思われます。

    3D表示では、主人公からの距離が0~8マスまでのオブジェクトが表示されます。9マス以遠のオブジェクトは表示されません。

    オブジェクトのZ値を変更すると、3D表示での表示のされ方が変わります。

    0~10
    地面に張り付いて表示されます。
    11~15
    柱状に表示されます。
    16~20
    カメラに正対して表示されます。
    21
    一人称視点を無視して、通常通り表示されます。また、最前面に表示されます。

    HPなどのUI表示に便利です。

    主人公がこの方法で表示されているとき、見た目上の向きが変化していないように見えます(バグ?)。実際の向きは正しく変化しています。

    22~30
    一人称視点を無視して、通常通り表示されます。また、最前面に表示されます。

    また、カメラに正対しているかのように見た目上の向きが変化します。例えば、主人公が時計回りに回転すると、この方法で表示されているオブジェクトは反時計回りに回転します。この向きの変化は見た目上のものであり、実際の向きは変化していません。
    主人公が上を向いているとき、この方法で表示されているオブジェクトの見た目上の向きと実際の向きが一致します。

    「ANIMATION STYLE」が「DIRECTIONS」の場合、カメラが回転しても見た目上の向きは変化しません(バグ?)。

    主人公がこの方法で表示されているとき、見た目上の向きが変化していないように見えます(バグ?)。実際の向きは正しく変化しています。

    テスト1
    A IS 3D、B IS 3D、A、Bがこの順に主人公に選ばれるとき、A IS 3Dを崩した後再度成立させた。
    A IS 3Dを成立させた時、Bが主人公のままだった。

    テスト2
    A IS 3D、B IS 3D、C IS 3D、A、B、Cがこの順に主人公に選ばれるとき、A IS 3DとC IS 3Dを崩した。次に、
    1. A IS 3D、C IS 3Dの順に再度成立させた。
    2. C IS 3D、A IS 3Dの順に再度成立させた。
    その後、下キーで主人公を切り替えた。
    どちらの場合も、B→C→A→Bの順に主人公が切り替わった。

    テスト3
    A IS 3D、B IS 3D、C IS 3D、A、B、Cがこの順に主人公に選ばれるとき、B IS 3D、C IS 3DのBとCを入れ替え、A IS 3D、C IS 3D、B IS 3Dとした。
    その後、下キーで主人公を切り替えた。A→C→B→Aの順に主人公が切り替わった。

    考察
    3Dのルールを変えても(3Derのリストを更新しても)、現在の主人公が主人公のまま(現在の主人公が3D状態でなくなる場合を除く)。
    また、3Dのルールが成立している位置によって、3Derをリストに追加する順番が変わる?

    RED
    ORANGE
    YELLOW
    LIME
    GREEN
    CYAN
    BLUE
    PURPLE
    PINK
    ROSY
    BLACK
    GREY
    SILVER
    WHITE
    BROWN

    レベルアイコンはCOLORsの効果を受けません。

    • COLORs状態のオブジェクトの色は対応する色になります。
    • 複数種のCOLORsを同時に適用した場合、上に記されている色の順に繰り返し変化します。

    PARTY
    • 紙吹雪のパーティクルを出します。

    PET
    • 撫でる手のパーティクルを出します。

    SAD
    • 涙のパーティクルを出します。

    WONDER
    • ?のパーティクルを出します。

    形容詞と無

    このセクションはver.387、ver389に基づいて作られています。

    本編に登場する形容詞
    YOU
    • YOU状態の無はプレイヤーの入力に応じて移動します。

    WIN
    • WIN状態の無がYOU状態でもあるときレベルをクリアします。

    STOP
    • STOP状態の無は進入不可です。

    PUSH
    • PUSH状態の無は押すことができます。
      複数のPUSH状態のタイルが並んでいれば、まとめて押すことができます。
    • それ以上押すことができない場合、PUSH状態の無は進入不可です。

    「ルールの基本 – 移動」も参照。

    PULL
    • PULL状態の無は進入不可です。
    • PULL状態の無は引っ張ることができます。
      複数のPULL状態のタイルが並んでいれば、まとめて引くことができます。

    「ルールの基本 – 移動」も参照。

    SINK
    • 無に重なることはできないため効果がありません。

    DEFEAT
    • DEFEAT状態の無がYOU状態でもあるとき破壊されます。

    HOT
    • 効果なし。
      MELTを参照。

    MELT
    • MELT状態の無がHOT状態でもあるとき破壊されます。

    MOVE
    • 各MOVEまたはCHILL状態の無1はランダムな向きに移動できるか確認し、移動できるならその向きに移動します。移動できないなら反対の向きに移動します。
      • 無1がDIRs状態のとき、ランダムではなくその方向に移動できるか確認します。
    • MOVE、CHILL、AUTOの効果は重複しません。
      MOVE、CHILLまたはAUTO状態の無は、適用されているMOVE、CHILL、AUTOの数に関わらず、一度だけ移動します。(無は同じ移動ステップで1マスしか移動できない?)(バグ?)

    無について、MOVEとCHILLは全く同じ効果を持ちます。

    OPEN
    • 進入不可の無効化
      • 無 vs オブジェクト
        無1とSHUTer1の浮遊状態が同じ、かつ、
        [無1とSHUTer1の両方がSAFE状態]ではないとき:
        OPEN状態の無1は、進入不可なSHUTer1に移動できます。

        例:EMPTY IS OPEN、DOOR IS SHUT AND STOPのとき、無はDOORに移動できます。
        ここで、DOOR IS FLOATのとき、無はDOORに移動できません。
        また、EMPTY AND DOOR IS SAFEのとき、無はDOORに移動できません。

      • 無 vs 無
        [OPEN状態の無1とSHUT状態の無2の両方がSAFE状態]ではないとき:
        無1は、進入不可な無2に移動できます。
    • 移動時の破壊
      • 移動による破壊は位置の変化の前に起こります。
        つまり、HASによるオブジェクトの生成位置は、移動先ではなく移動前のマスです。
      • OPEN状態の無 vs SHUTer
        OPEN状態の無1が、浮遊状態の同じ1つ以上のSHUTerに移動するとき、それら各SHUTerに対して、次の処理を1度ずつ実行します:
        無1とそのSHUTerが破壊されます。無1が破壊された場合、これ以降のこの処理を中止します。

        注:どのSHUTerが先に破壊されるかは、それらの処理順(おそらく内部ID)に依存します。

        例:EMPTY IS OPEN、DOOR IS SHUTのとき、1つの無が、6つ重なったDOORに移動すると、5つのDOORが残ります。
        例:上の例に加えて、EMPTY IS SAFEのとき、1つの無が、6つ重なったDOORに移動すると、全てのDOORが破壊されます。

      • OPEN状態の無 vs SHUT状態の無
        OPEN状態の無が、SHUT状態の無に移動するとき、両方が破壊されます。
    • OPENかつSHUTによる破壊
      OPEN状態の無がSHUT状態でもあるとき破壊されます。
    • 他のルールとの関係
      • OPEN & SHUTはPUSHに優先します。
        ただし、OPEN & SHUTの進入不可の無効化の条件を満たさない場合は押すことができます。
      • OPEN & SHUTはSWAPに優先します。
        ただし、OPEN & SHUTの進入不可の無効化の条件を満たさない場合は入れ替えできます。
      • OPEN & SHUTはEATに優先します。
        これは移動時と重なりのどちらについても当てはまります。

    SHUT
    • OPENの説明のOPENとSHUTを入れ替えたものと同じです。
      OPENを参照。

    RED
    • 見えないので効果がありません。

    BLUE
    • 見えないので効果がありません。

    FLOAT
    • 浮遊します。

    用語「浮遊状態」も参照。

    無同士が相互作用するとき、それらの浮遊状態は無視されているように見えます。(バグ?)
    例えば:

    • WEAK状態の無1が、WEAKかつSTOPかつFLOAT状態の無2に移動すると、破壊は起こりません。(無1が無2に移動できている)
      一方同じ条件で、WEAK状態のBABA1が、無2に移動すると、BABA1は破壊されます。(BABA1が無2に移動できない)
    • OPEN状態の無1が、SHUTかつFLOAT状態の無2に移動すると、破壊が起こります。
      一方同じ条件で、OPEN状態のBABA1が、無2に移動すると、BABA1は破壊されません。

    ただ、これは条件のバグかもしれない。(条件を使わない限り個別の無同士を相互作用させることができないため)

    WEAK
    • 進入不可の無効化
      • オブジェクト vs 無
        オブジェクト1と無1の浮遊状態が同じ、かつ、無1がSAFE状態でないとき:
        任意のオブジェクト1は、進入不可なWEAK状態の無1に移動できます。
      • 無 vs 無
        無1がSAFE状態でないとき:
        任意の無は、進入不可なWEAK状態の無1に移動できます。
    • オブジェクトが無に移動する時の破壊
      任意のオブジェクトがWEAK状態の無1に移動したとき、無1は破壊されます。
    • 移動失敗時の破壊
      WEAK状態の無が移動しようとしたが移動できなかったとき破壊されます。

    例:EMPTY IS STOP AND WEAK AND SAFEのとき、タイルは、無に移動することができません。

    EMPTY IS PUSH AND WEAKで、オブジェクトが無に移動したとき、無は押される前に破壊されます。

    オブジェクトがWEAK状態の無に移動する時の破壊は、オブジェクトがWEAK状態のオブジェクトに移動する時の破壊とは違い、重なりのタイミングではなく移動のタイミングで起こっています。
    また、タイルはWEAKかつ進入不可なSAFE状態の無に移動できません。
    これらはWEAKよりもむしろEATに近い挙動だと言えます。

    TELE
    • パーティクルが出ます。
    • 無に重なることはできないため効果がありません。

    SHIFT
    • 無に重なることはできないため効果がありません。

    RIGHT
    UP
    LEFT
    DOWN
    • この状態の無は向きを持ち、対応する方向を向きます。
    • ある無に複数種のDIRsを同時に適用したとき、最後に処理されるDIRsのみ有効です。
      処理順はレベル内でルールを作る位置により変化します。(要検証)

    SWAP
    • SWAP状態の無は、全てのタイルに移動できます。
    • 全てのタイルは、SWAP状態の無に移動できます。
      • ただし、状況によっては、進入不可かつ、STILLまたはLOCKED状態のSWAP状態の無には移動できないことがあります。
        詳細はSTILL、LOCKEDsを参照。
    • SWAP状態の無が移動したとき、移動先のマスにあるタイルオブジェクトが移動元のマスに置かれます。
      (無について同様かは確認する方法がない)
    • タイルが移動したとき、移動先のマスにあるSWAP状態の無が移動元のマスに置かれます。
      (確認する方法がない)
    • SWAPはPUSHに優先します。

      例:EMPTY IS SWAP、B IS PUSHで、無がBに移動しようとした場合、無とBの位置が入れ替わり、Bを押すことはできません。

      例:B IS SWAP AND PUSHで、無がBに移動しようとした場合、無とBの位置が入れ替わり、Bを押すことはできません。

    FALL
    • 効果なし。

    MORE
    • 効果なし。

    WORD
    • 効果なし。

    BEST
    • 光り輝きます。

    SLEEP
      眠ります。

    • SLEEP状態の無はYOU、YOU2、MOVE、CHILL、AUTO、NUDGEs、FEARによって移動しなくなります。

    HIDE
    • 見えないので効果がありません。

    BONUS
    • BONUS状態の無がYOU状態でもあるとき破壊されます。
      ボーナスを仮取得します。
    • ボーナスを仮取得した状態でレベルをクリアすると:
      • 本編なら:
        そのレベルについてボーナスを獲得します。
        獲得済みのボーナスの総数はセーブデータに表示されます。また、MAPまたはポーズ画面右上にも表示されます。
      • カスタムレベルなら:
        レベル選択画面で、レベルに特別なスタンプが付きます。
    • レベルをクリアしなかった場合、仮取得したボーナスは削除されます。
    • 1つのレベルにつき、ボーナスの獲得は1度までです。

    EMPTY IS YOU AND WIN AND BONUSのとき、レベルをクリアすることはありません。
    (バグ?)

    ver.383
    ボーナスを仮取得したターンをアンドゥした場合、それまでに仮取得した数に関わらず、仮取得したボーナスは全て削除されます。
    (バグ?)

    END
    • 効果なし。

    DONE
    • DONE状態の無は消失します。
      (確認する方法は無いが、少なくとも効果音は鳴る)

    形容詞と無(本編未登場)

    このセクションはver.387に基づいて作られています。

    AUTO
    • AUTO状態の無1はランダムな向きに移動します。
      • 無1がDIRs状態のとき、ランダムではなくその方向に移動します。
    • MOVE、CHILL、AUTOの効果は重複しません。
      MOVE、CHILLまたはAUTO状態の無は、適用されているMOVE、CHILL、AUTOの数に関わらず、一度だけ移動します。(無は同じ移動ステップで1マスしか移動できない?)

    BROKEN

    (ver.407で確認)

    • BROKEN状態の無は、EMPTYを主語とするルールの内、一部のルールの効果を受けません。
      • 次の形容詞の効果は無効化されます。
        • YOU
        • MOVE
        • AUTO
        • CHILL
        • NUDGEs

          これら以外のルールは一切無効化されません。
          例:
          EMPTY IS YOU AND WINや、EMPTY IS YOU AND DEFEATは無効化されません(YOU側の効果ではないため)。
          移動のみ無効化されているように見えますが、EMPTY FEAR Aは無効化されません。

      • パーティクルの発生は無効化されません。

    CHILL
    • 各CHILLまたはMOVE状態の無1はランダムな向きに移動できるか確認し、移動できるならその向きに移動します。移動できないなら反対の向きに移動します。
      • 無1がDIRs状態のとき、ランダムではなくその方向に移動できるか確認します。(バグ?)
    • MOVE、CHILL、AUTOの効果は重複しません。
      MOVE、CHILLまたはAUTO状態の無は、適用されているMOVE、CHILL、AUTOの数に関わらず、一度だけ移動します。(無は同じ移動ステップで1マスしか移動できない?)

    無について、CHILLとMOVEは全く同じ効果を持ちます。

    BACK
    • 効果がありません。

    FALL
    FALL (RIGHT)
    FALL (UP)
    FALL (LEFT)
    • 効果がありません。

    NUDGE (DOWN)
    NUDGE (RIGHT)
    NUDGE (UP)
    NUDGE (LEFT)
    • NUDGE状態の無は対応する方向に移動します。
    • 複数種のNUDGEsを同時に適用した時、優先順位の高いNUDGEsから処理されます。
      優先順位は高い方から順に、RIGHT、UP、LEFT、DOWNです。
    • 各種類のNUDGEsの効果は重複しません。
      無は、適用されている同種のNUDGEsの数に関わらず、一度だけ移動します。(EMPTYは同じ移動ステップで1マスしか移動できない?)

    TURN RIGHT
    • 効果がありません。

    TURN LEFT
    • 効果がありません。

    PHANTOM
    • PHANTOM状態の無の移動時、衝突判定が発生しません。
      • PHANTOM状態の無は進入不可タイルに移動できます。
      • PHANTOM状態の無はレベル境界に移動できます。
      • PHANTOM状態の無はPUSH状態の物(タイル、レベル)を押しません。
      • SWAPかつPHANTOM状態の無の移動時、自身のSWAPによる入れ替えは起こりません。
      • OPEN & SHUT、EATによる移動時の破壊は起こりません。

    POWER

    ver.413で効果を発揮するように修正されていることを確認(ver.403で修正されたらしい)

    • この形容詞のみでは効果なし。
      POWEREDを参照。

    REVERSE

    ver.413で確認

    • REVERSE状態の無の移動が反転します。
      次の原因による移動に効果があります。

      • YOU、YOU2、MOVE、AUTO、CHILL、NUDGEs、FEARの移動
    • この形容詞の効果は重複します。
      この形容詞が奇数個適用されている無は上記の効果を受けます。
      この形容詞が偶数個適用されている無は上記の効果を受けません。

    LOCKEDsは反転後の移動に対して作用します。
    例:EMPTY IS YOU、EMPTY IS REVERSE、EMPTY IS LOCKED (UP)のとき、下にキー入力すると、EMPTYは上方向に移動しようとしますが、LOCKED (UP)により阻止されます。

    REVERSEはPUSH、PULL、SWAPに対して作用しません。

    SAFE
    • SAFE状態の無は破壊されなくなります。
      ただし、レベル外側に出た時の破壊は防げません。

    オブジェクトがSAFE状態のときとは違い、BONUSによる破壊を防ぎます。

    STILL
    • STILL状態の無の位置は変化しなくなります。
      以下の原因による位置の変化を防ぎます。

      • YOU、YOU2、MOVE、AUTO、CHILL、NUDGEs、FEAR、PUSH、PULLの移動
    • 制限された移動は、移動の失敗とみなされません。
      そのため、次の効果は発動しません。

      • WEAKの移動失敗時の破壊効果
    • STILL状態の無は、自身のSWAPによる進入不可の無効化の効果を打ち消します。
      無1がSTILL状態かつSWAP状態かつ進入不可のとき、他のタイルは無1に移動できません。

      • SWAP状態のタイルの進入を妨げることはありません。
        SWAP状態のタイルは、通常通り無1に移動可能です。

    STILLかつ、PUSHまたはPULL状態の無は、STOP状態のように振る舞います。

    LOCKED (DOWN)
    LOCKED (RIGHT)
    LOCKED (UP)
    LOCKED (LEFT)
    • LOCKED状態の無は、移動が制限され、対応する方向に位置を変化することができません。
      以下の原因による位置の変化を防ぎます。

      • YOU、YOU2、MOVE、CHILL、NUDGEs、FEAR、PUSH、PULLの移動
        • MOVE、CHILLの移動は、反転後の移動のみ制限されます。(バグ?)
        • PULLは、逆方向の移動が制限されます。(バグ。ver.398)

          ver.387
          例:EMPTY IS LOCKED (UP)、EMPTY IS PULL、BOX IS PULLのとき、EMPTYを上に引くことができ、それによりBOXを上に引くことができます。EMPTYを下に引くことはできません。

        オブジェクトがLOCKED状態のときとは違い、AUTOによる移動は制限しません。(バグ?)

    • 制限された移動は、移動の失敗とみなされません。
      そのため、次の効果は発動しません。

      • WEAKの移動失敗時の破壊効果
    • LOCKED状態の無は、自身のSWAPによる進入不可の無効化の効果を、対応する方向について打ち消します。
      無1がLOCKED状態かつSWAP状態かつ進入不可のとき、他のタイルは対応する方向から無1に移動できません。

      • SWAP状態のタイルの進入を妨げることはありません。
        SWAP状態のタイルは、通常通り無1に移動可能です。

    YOU2
    • YOU2状態の無は2番目の入力(操作設定で設定されている、2つ目の移動キー)に応じて移動します。
      • YOU2状態の無が1番目の入力によって移動することはありません。
    • YOU2状態のタイルが存在する時、YOU状態のタイルは2番目の入力によって移動しなくなります。
    • YOU状態のタイルに対して効果を発揮する形容詞(例:DEFEATやWIN等)は、YOU2状態のタイルに対しても効果を発揮します。

    REVERT
    • EMPTY IS REVERTは、次のルールによる無1の変化を無効化します。
      この効果は、無1がREVERT状態でなくとも有効です。(バグ?)
      また、A IS NOT REVERTが成立していても有効です。(バグ?)

      • EMPTY IS B

      EMPTY IS ALLも無効化されます。
      EMPTY IS GROUPは無効化されません。

    SELECT
    • 効果がありません。

    3D
    • 効果がありません。

    RED
    ORANGE
    YELLOW
    LIME
    GREEN
    CYAN
    BLUE
    PURPLE
    PINK
    ROSY
    BLACK
    GREY
    SILVER
    WHITE
    BROWN
    • 無は見えないので効果がありません。

    PARTY
    • 紙吹雪のパーティクルを出します。

    PET
    • 撫でる手のパーティクルを出します。

    SAD
    • 涙のパーティクルを出します。

    WONDER
    • ?のパーティクルを出します。

    形容詞とレベル

    このセクションはver.387に基づいて作られています。

    以下の説明はレベルに対する形容詞の効果の説明です。
    レベルアイコンに対する形容詞の効果については、形容詞のセクションを参照してください。

    一部の形容詞の効果によってレベルが移動したり、回転したりすることがありますが、見た目上の演出であり、レベル中のオブジェクトには影響を与えません。

    レベルの見た目上の移動は画面に対して行われます。
    例えば、LEVEL IS RIGHTでレベルが右に90度回転している時、LEVEL IS MOVEはレベルを右へ移動させます。レベルが右へ移動するというのは、レベルから見て右、つまり画面下へ移動するように思えますが、実際には画面右へ移動します。

    パーティクルの発生は、オブジェクトが無いマスでのみ起こります。

    ここで、レベルの破壊とは、全てのオブジェクトの破壊を意味します。

    本編に登場する形容詞
    YOU
    • YOU状態のレベルはプレイヤーの入力に応じて移動します。
    • レベルは移動に対応する方向を向きます。
    • YOU状態のレベルがWIN状態のタイルに重なるとレベルをクリアします。
    • YOU状態のレベルがDEFEAT状態のタイルに重なると、レベルが破壊されます。

    WIN
    • WIN状態のレベルがYOU状態でもあるときレベルをクリアします。
    • WIN状態のレベルにYOU状態のタイルが重なるとレベルをクリアします。

    STOP
    • 効果がありません。

    PUSH
    • PUSH状態のレベルは押すことができます。
      タイルがレベル境界へ移動したとき、レベルがそのタイルと同じ方向へ移動します。
    • レベルは1ターンに1回まで押すことができます。レベルが1ターンに複数回押された場合、最後の移動のみが適用されます。

    PUSH状態のタイルがレベル境界に向かって押されたとき、それは実際には移動しないため、レベルを押すことはありません。

    PULL
    • PULL状態のレベルは引っ張ることができます。
      タイルがレベル境界の反対方向に移動したとき、レベルがそのタイルと同じ方向へ移動します。
    • レベルは1ターンに1回まで引くことができます。レベルが1ターンに複数回引かれた場合、最後の移動のみが適用されます。

    例:YOU、MOVE、SHIFTのそれぞれによって移動する3つのオブジェクトが同じターンにレベルを引いたとき、レベルはSHIFTで移動したタイルによってのみ移動します。
    これは移動の処理がYOU、MOVE、SHIFTの順に行われるためです。

    LEVEL IS PUSHかつLEVEL IS PULLの場合、それぞれが一度ずつレベルを移動させることができます。

    SINK
    • SINK状態のレベルにオブジェクトが重なると、レベルが破壊されます。

    DEFEAT
    • DEFEAT状態のレベルがYOU状態でもあるとき、レベルが破壊されます。
    • DEFEAT状態のレベルに重なったYOU状態のタイルは破壊されます。

    HOT
    • HOT状態のレベルと重なっているMELT状態のタイルを破壊します。

    MELT
    • MELT状態のレベルがHOT状態でもあるとき、レベルが破壊されます。
    • MELT状態のレベルがHOT状態のタイルに重なると、レベルが破壊されます。

    MOVE
    • MOVE状態のレベルはその向きに移動します。
    • MOVEの効果は重複します。

    OPEN
    • OPEN状態のレベルがSHUT状態でもあるとき、レベルが破壊されます。
    • OPEN状態のレベルがSHUT状態のタイルに重なると、レベルが破壊されます。

    SHUT
    • OPENの説明のOPENとSHUTを入れ替えたものと同じです。
      OPENを参照。

    RED
    • レベルの背景が赤色になります。

    BLUE
    • レベルの背景が青色になります。

    その他のCOLORsも参照。

    FLOAT
    • 浮遊します。

    用語「浮遊状態」も参照。

    WEAK
    • WEAK状態のレベルにオブジェクトが重なると、レベルが破壊されます。

    TELE
    • TELE状態のレベルに重なっている各オブジェクトは、レベル内のランダムな位置にテレポートします。

    SHIFT
    • SHIFT状態のレベルに重なっている各オブジェクトは、レベルの向きに移動します。
    • SHIFTの効果は重複しません。

    RIGHT
    UP
    LEFT
    DOWN
    • これらの状態のレベルは対応する方向を向きます。
    • 見た目上、レベルは対応する方向を向きます。
    • レベルに複数種のDIRsを同時に適用したとき、最後に処理されるDIRsのみ有効です。
      処理順はレベル内でルールを作る位置により変化します。(要検証)

    見た目上の向きが変化すると、レベルの下部が画面の対応する方向に向くように、レベルが回転します。

    デフォルトでは、レベルの実際の向きと見た目上の向きは、どちらも下向きです。

    SWAP
    • 効果がありません。

    FALL
    • FALL状態のレベルは、1画面分、画面下へ移動します。
    • この形容詞の効果は重複します。

    MORE
    • 効果がありません。

    WORD
    • 効果がありません。

    BEST
    • 光り輝きます。

    SLEEP
    • SLEEP状態のレベルはMOVE、NUDGEsによって移動しなくなります。

    SLEEP状態のオブジェクトとは異なり、YOU、YOU2による移動は無効化しません。

    HIDE
    • レベルがHIDE状態のとき、全てのオブジェクトが見えなくなります。
      ただし、レベルアイコンとカーソルはこの効果を受けません。

    A IS NOT HIDEが成立していても、Aは不可視になります。
    (もっとも、A IS NOT HIDEが無効化するルールはA IS HIDEだけなので、LEVEL IS HIDEの効果を無効化しないのは当然ですが…)

    BONUS
    • BONUS状態のレベルがYOU状態でもあるとき、レベルが破壊されます。
    • BONUS状態のレベルとYOU状態のタイルが重なると、レベルが破壊されます。

    ver.387
    LEVEL IS YOU AND WIN AND BONUSのとき、レベルをクリアしますが、ボーナスは獲得できません。(バグ?)
    LEVEL IS WIN AND BONUSのとき、レベルにYOU状態のタイルが重なるとクリアしますが、ボーナスは獲得できません。(BABA、無で確認)(バグ?)

    END
    • END状態のレベルがYOU状態でもあるときレベルをクリアします。
    • END状態のレベルにYOU状態のタイルが重なるとレベルをクリアします。

    DONE
    • レベルがDONE状態のとき、全てのオブジェクトが消失します。
    • ALL IS DONEのとき、レベルをクリアします。

    LEVEL IS DONEかつALL IS DONEの場合は、レベルのクリアが優先します。

    LEVEL IS DONEのとき、ALL IS DONEと同じ効果音が流れますが、他の効果はありません。

    形容詞とレベル(本編未登場)

    このセクションはver.387、ver.390に基づいて作られています。

    AUTO
    • レベルがAUTO状態のとき、一定時間毎にターンが自動で経過します。
      また、キー入力時にターン経過しなくなります。
      ターン経過までに入力を行わなかった場合(キーの押しっぱなしによる再入力が間に合わない場合も)、待機したとみなされます。
    • ターン経過の間隔は、レベル作成時の設定の「’LEVEL IS AUTO’ DELAY」の項目で変更可能です。
    • この形容詞の効果は重複します。
      一定時間毎にLEVEL IS AUTOの数だけターンが経過します。

    LEVEL IS AUTOによるターンの自動経過は待機とみなされ、IDLEは真となります。
    特に、IDLE LEVEL IS AUTOのとき待機すると、次に移動入力するまでターンが自動経過しつづけます。

    興味深いことに、レベルがAUTO状態のとき、1番目の移動キーと2番目の移動キーを同時に入力することで、YOUとYOU2による移動を同じターンに起こすことができます。
    これを利用して、複数の進入不可オブジェクトをスタックすることができます。

    これを教えてくれたカスタムレベル

    BROKEN
    • BROKEN状態のレベルは、LEVELを主語とするルールの内、BROKENとMIMIC以外の効果を受けません。
      • パーティクルの発生は無効化されます。

    CHILL
    • 効果がありません。

    BACK
    • 効果がありません。

    FALL
    FALL (RIGHT)
    FALL (UP)
    FALL (LEFT)
    • FALL状態のレベルは、1画面分、画面の対応する方向へ移動します。
    • これらの形容詞の効果は重複します。

    NUDGE (DOWN)
    NUDGE (RIGHT)
    NUDGE (UP)
    NUDGE (LEFT)
    • NUDGE状態のレベルは対応する方向に移動します。
      ただし、この移動によって向きは変わりません。
    • これらの形容詞の効果は重複します。

    TURN RIGHT
    • TURN RIGHT状態のレベルの見た目上の向きは、レベルの向きと同じになります。
    • TURN RIGHT状態のレベルは今向いている方向から、時計回りに回転した方向を向きます。
    • レベルがDIRs状態のとき、この形容詞の効果は無効化されます。
    • この形容詞の効果は重複します。

    TURN LEFT
    • TURN LEFT状態のレベルの見た目上の向きは、レベルの向きと同じになります。
    • TURN LEFT状態のレベルは今向いている方向から、反時計回りに回転した方向を向きます。
    • レベルがDIRs状態のとき、この形容詞の効果は無効化されます。
    • この形容詞の効果は重複します。

    (バグ?)
    この解説は推測です。

    1番目の効果と2番目の効果は、その順に処理されます。
    そのため、レベルの見た目上の向きと、レベルの実際の向きが一致しない現象が起こります。
    例:レベル開始直後、LEVEL IS TURN LEFTを成立させてすぐに崩します。

    1. レベルの見た目上の向きは実際の向きと同じになります。
      レベル開始直後、見た目上の向き(下)と実際の向き(下)は一致しているため、見た目上の向きは下のまま変わりません(下→下)。
    2. 実際の向きは回転して右を向きます(下→右)。

    ここでLEVEL IS MOVEを成立させると、レベルの見た目上の向きは下向きであるにも関わらず、レベルは画面右へ移動します。これは実際の向きが右向きのためです。

    その後、再度LEVEL IS TURN LEFTを成立させてすぐに崩します。

    1. レベルの見た目上の向きは実際の向きと同じになります。
      今回は、見た目上の向き(下)と実際の向き(右)は一致していないため、見た目上の向きは右になります(下→右)。
    2. 実際の向きは回転して上を向きます(右→上)。

    ここでLEVEL IS MOVEを成立させると、レベルの見た目上の向きは右向きであるにも関わらず、レベルは画面上へ移動します。これは実際の向きが上向きのためです。

    PHANTOM
    • 効果がありません。

    POWER

    ver.413で効果を発揮するように修正されていることを確認(ver.403で修正されたらしい)

    • この形容詞のみでは効果なし。
      POWEREDを参照。

    REVERSE

    ver.417で確認

    • REVERSE状態のレベルの移動が逆方向になります。
      • 移動時の向きの変化も反転します。
        移動により向きが変化する時、レベルは実際に移動する方向を向きます。

      次の移動に対して効果があります。

      • YOU、YOU2、MOVE、FALLs、NUDGEsの移動

    REVERSEはPUSH、PULLに対して作用しません。

    SAFE
    • SAFE状態のレベルは破壊されなくなります。
      ただし、BONUS状態のレベルにYOUerが重なった時の破壊は防げません。
      (BONUS状態のレベルがYOU状態でもあるときの破壊、BONUS状態のレベルにYOU状態の無が重なったときの破壊は防ぎます。)(バグ?)

    次の破壊は防げることを確認した。
    YOU状態のレベルがDEFEAT状態のタイルに重なった時の破壊
    SINKによる破壊(テキストを破壊しないときに限る)
    DEFEATによる破壊
    MELTによる破壊
    OPEN & SHUT
    WEAK

    STILL
    • STILL状態のレベルの位置は変化しなくなります。
      以下の原因による位置の変化を防ぎます。

      • YOU、YOU2、MOVE、NUDGEs、FALLsによる移動

    (バグ?)
    PUSH、PULLによる位置の変化は防げません。

    (バグ?)
    YOUによる移動は、制限されるのではなく、そもそも移動しません。
    (レベルはYOUの移動による向きの変化を起こしません。)

    LOCKED (DOWN)
    LOCKED (RIGHT)
    LOCKED (UP)
    LOCKED (LEFT)
    • LOCKED状態のレベルは、移動が制限され、対応する方向に位置を変化することができません。
      以下の原因による位置の変化を防ぎます。

      • YOU、YOU2、MOVE、NUDGEs、FALLs

      (バグ?)
      PUSH、PULLによる位置の変化は防げません。

      (バグ?)
      YOUによる移動は、制限されるのではなく、そもそも移動しません。
      (レベルはYOUの移動による向きの変化を起こしません。)

      (バグ?)
      NUDGEsは、レベルが対応する方向を向いているときの移動のみ制限されます。
      ver.407
      例:LEVEL IS LOCKED (UP)、LEVEL IS NUDGE (UP)のとき、上を向いているレベルは移動できません。それ以外の方向を向いているレベルは移動できます。

    YOU2
    • YOU2状態のレベルは2番目の入力(操作設定で設定されている、2つ目の移動キー)に応じて移動します。
      • YOU2状態のレベルが1番目の入力によって移動することはありません。
    • YOU状態のレベルに対して効果を発揮する形容詞(例:DEFEATやWIN等)は、YOU2状態のレベルに対しても効果を発揮します。

    レベルがYOU2状態であっても、YOU状態のタイルは2番目の入力によって移動します。(バグ?)
    (オブジェクト、または無がYOU2状態の場合と比較してください。)

    REVERT
    • レベルがREVERT状態のとき:
      上位レベルに遷移し、このレベルに対応する全てのレベルアイコン(が変化していたオブジェクト)がレベルアイコンに変化します。
    • 次のルールがレベルに対して有効なとき、そのルールはREVERTによるレベルの変化を無効化します。
      • LEVEL IS LEVEL
    • LEVEL IS REVERTは、次のルールによる変化を無効化します。
      この効果は、レベルがREVERT状態でなくとも有効です。(バグ?)
      また、LEVEL IS NOT REVERTが成立していても有効です。(バグ?)

      • LEVEL IS B(ただしB ≠ LEVEL)

      例:LONELY LEVEL IS REVERTはレベルに対して有効ではありませんが、LEVEL IS Bを無効化します。

    SELECT
    • 効果がありません。

    3D
    • 効果がありません。

    RED
    ORANGE
    YELLOW
    LIME
    GREEN
    CYAN
    BLUE
    PURPLE
    PINK
    ROSY
    BLACK
    GREY
    SILVER
    WHITE
    BROWN
    • レベルの背景が対応する色になります。
    • 複数種のCOLORsを同時に適用した場合、上に記されている色の順に繰り返し変化します。
      (ルールの処理順のような気もする)

    PARTY
    • 紙吹雪のパーティクルを出します。

    PET
    • 撫でる手のパーティクルを出します。

    SAD
    • 涙のパーティクルを出します。

    WONDER
    • ?のパーティクルを出します。

    雑多な情報

    ID

    この項目は個人的推測を含みます。
    ゲーム内部では、各オブジェクトはIDを持ちます。IDはオブジェクトが生成された時に割り振られます。
    同時に発生する処理はIDの順に行われます。
    例えば、複数のMOVE状態のオブジェクトがどの順番で移動するかはIDによって決まります。

    内部IDについて言及している開発者の発言
    [link]

    Originally posted by Hempuli:

    As far as I can remember, the only truly random things in the game at the moment are Tele destinations and Empty Is X initial facing. However, there are some edge cases where what happens is determined by the internal IDs of the objects, which isn’t actually random but is arbitrary enough to nearly qualify. For example, if you have a stack of two different Open and Push objects and open a Shut object with them, which Open object gets used changes if you undo because the destroyed object has a different internal ID then.

    アンドゥによるIDの変化

    この項目は個人的推測を含みます。
    あるオブジェクトが変化したり破壊された後アンドゥすると、そのオブジェクトは元に戻りますが、これは再度オブジェクトを生成することで実現されているようです。
    これにより同じオブジェクトのIDが変化します。
    IDの変化が原因で、同じ操作の繰り返しでも結果が変化することがあります。

    例えば、重なった複数のOPEN状態のオブジェクトが移動して、SHUT状態のオブジェクトを破壊するとき、どのOPEN状態のオブジェクトが破壊されるかは移動する順(即ちID)によって決まるため、破壊->アンドゥを繰り返すことで破壊されるOPEN状態のオブジェクトが変化することがあります。

    無限ループ

    Baba Is Youは無限ループ検知&防止のための仕組みを持ちます。
    ルールが評価されるタイミングで一定回数(200回)ルールが評価された場合、無限ループと判断され、ルールの評価は中断され全てのオブジェクトが消失します。

    例:
    ここで、岩 = ROCK(エンティティ)とします。
    ROCK IS WORD、岩 IS NOT WORDを同時に成立させようとすると、

    1. ROCK IS WORDにより岩 IS NOT WORDが成立する
    2. 岩 IS NOT WORDによりROCK IS WORDが無効化される
    3. ROCK IS WORDが無効化されたことで岩 IS NOT WORDが成立しなくなる
    4. 1へ戻る

    となり、無限ループを起こします。

    無限ループには専用の演出と効果音が用意されています。

    [link]

    再入力遅延とBPM

    再入力遅延の設定は14段階あり、右端で最も間隔が長く、左端で最も間隔が短い。
    右から左へ順に1~14と番号を振り、4分音符 = 1拍とするとき、おおよそのBPMは:

    BPM (ターン = 4分音符)
    BPM (ターン = 16分音符)
    1
    180.0
    45.0
    2
    189.4
    47.4
    3
    200.0
    50.0
    4
    211.7
    52.9
    5
    225.0
    56.3
    6
    240.1
    60.0
    7
    257.0
    64.3
    8
    276.6
    69.2
    9
    299.8
    75.0
    10
    327.2
    81.8
    11
    359.7
    89.9
    12
    399.9
    100.0
    13
    450.1
    112.5
    14
    514.2
    128.55

    注意:測定は筆者が手動で行ったものであり、誤差があります。
    また、処理落ちなどの影響で、ターンの長さは常に均一であるとは限りません。

    測定方法:移動キーを押したまま20~40秒程録音し、wavetoneでBPMを目測で合わせて測定した。
    1~13はターン / 分を小数点第一位まで測定して左列に記し、それを4で割り小数点第二位を四捨五入したものを右列に記している。
    14のみ逆。

    レベル制作に使えそうなルール

    主語LEVELでレベルとレベルアイコンを別々に指す

    ルール
    以下はレベルアイコンを指す方法。条件を反転すればレベルを指すことができる。

    • LONELY LEVEL
      レベルアイコンに他のオブジェクトが重なっていないとき使える。
      レベルはLONELYを常に満たさないことを利用する。
    • LEVEL NOT ON EMPTY
      レベル中に無があれば使える。
      レベルは、その中に無があるとき、ON EMPTYを満たすことと、レベルアイコンは無と同じマスに存在できず、ON EMPTYを絶対に満たさないことを利用する。

    解説
    LEVELはレベルとレベルアイコンの両方を指すため、LEVELを主語にすると両方にルールの効果が与えられてしまう。
    両者は実際には別個の存在であり、個別に条件判定が行われる。そのため、「レベルは条件を満たすが、レベルアイコンは条件を満たさない」ような条件を付けることで、両者を別々に指すことが可能。

    前置詞句内のLEVELでレベルではなくレベルアイコンを指す

    ルール

    • A 前置詞 LEVEL AND LEVEL
      Aが1つ以上のレベルアイコンについて条件を満たしていれば真になる。(2つのLEVELの内1つは、レベルが条件を満たす。)
      2つ以上のレベルアイコンについて条件を作る時は、その分だけ「AND LEVEL」を増やせばいい。

    解説
    「前置詞 LEVEL」のように前置詞句の中でLEVELを使うと、レベルまたはレベルアイコンについての条件を設定できる。
    レベルまたはレベルアイコンについての条件は、必ずレベルについて先に判定されるため、LEVELを1つだけ使うと、レベルアイコンについての条件として利用できない。
    条件は「ある前置詞句の中では、1つの物について1度しか判定されない」という性質を持つ。また、レベルは1つしかない。
    そのため、「前置詞 LEVEL AND LEVEL」のように前置詞句の中でLEVELを2つ以上使うと、1つ目のLEVELに対してはレベルが判定され、2つ目以降のLEVELに対してはレベルアイコンが判定され、レベルアイコンについての条件として利用できる。

    何かが隣接しているか調べる

    ルール

    • A FOLLOW B
      A FACING B 動詞 補語
      Bに隣接しているAに、A 動詞 補語が適用される。

    注意点

    • 隣接しているBの数はわからない。わかるのは、隣接しているか、していないかだけ。
    • 複数種類のタイルに同時に隣接しているか調べることはできない。例えば、AがBとCに隣接しているかを調べることはできない。
      (複数種類のタイルのいずれかに隣接しているか調べることはできる。例えば、AがBかCのどちらかに隣接しているか調べることはできる。)

    解説
    「A FOLLOW B」とすると、Aは最も近いBに向く。隣接しているBがあるならそれに向く。
    「A FACING B 動詞 補語」とすると、隣接しているBに向いているAに、A 動詞 補語が適用される。

    奇妙な / バグっぽい挙動まとめ

    全てver.398で確認。

    EMPTY
    無は同じ移動ステップで1マスしか移動できない

    見出しの通り。
    例えば、EMPTY IS MOVE AND MOVEは、EMPTY IS MOVEと同じ。

    無同士の相互作用では、浮遊状態が無視されてるように見える

    見出しの通り。
    ただし、これは条件のバグかもしれない。(条件を使わない限り、浮遊状態の違う無を作ることができない&無同士を相互作用させることができないため)

    NOT GROUPは、EMPTYが一度でも存在すると名詞EMPTYを含む
    見出しの通り。
    ver.398では修正済み。


    動詞
    〇〇 IS ALLと、文字列で表された名詞が存在する時、本来ありえないオブジェクトが出現することがある

    オブジェクトパレットが大量に埋まっていると起こるようだ。
    例:
    VC47-EMCG
    (ver.398、editor beta 1.1.4、両方のwin版で確認)
    例では、BABA IS ALL、M O O Nがあるとき、PHANTOMが生成される。
    オブジェクトが出現するか否かと出現するオブジェクトの種類は、オブジェクトパレットに含まれるオブジェクトと文字列の名詞に依存する(例ではM Eでは出現しない)。

    TEXT IS ALL、LEVEL IS ALL(レベルアイコン)で元のオブジェクトが消える

    A IS ALLでは、Aは消えずに、そのマスにないALLに含まれるオブジェクトが生成される。
    一方、TEXT IS ALL、LEVEL IS ALLでは、元のオブジェクトが消えて、そのマスにないALLに含まれるオブジェクトが生成される。
    一貫していない。

    EMPTY IS ALLで生成されるエンティティは右を向く

    本来ならランダムな方向を向くべきなはず。

    〇〇 EAT LEVELの挙動が謎

    〇〇に対応する物がタイルなら、レベルアイコンが存在するとき、レベルが破壊される。
    〇〇がなくても発動する。SAFEで防ぐことはできる。
    つまり、BABA EAT LEVEL、EMPTY EAT LEVEL、LEVEL EAT LEVELはいずれもこのバグを起こしうる。(LEVEL EAT LEVELではレベルアイコンが〇〇を満たす)
    レベルとレベルアイコンがごっちゃになってそう。

    LEVEL EAT Bで、レベルが、浮遊状態を無視してBを破壊する

    オブジェクト同士のEATでは浮遊状態を考慮されること、LEVEL IS DEFEATなどでレベルとタイルの浮遊状態が考慮されることを考えると、一貫していない。

    n X A FEAR B、m X A FEAR Cの挙動が謎

    挙動は一貫していることが判明したが、やっぱりバグっぽいと思う。

    〇〇 FEAR EMPTYで、レベル境界は無だとみなされる

    見出しの通り。

    EMPTY FOLLOW EMPTYは効果がない

    見出しの通り。

    EMPTY FOLLOW LEVELは効果がない

    レベルアイコンについての話。

    EMPTY FOLLOW B AND Cの挙動が謎

    予測できない。

    PLAYの音高

    ずれてる。

    X PLAY NOT 文字列はX PLAY 文字列を無効化するが、X PLAY NOT 文字列自体がA音を鳴らす

    見出しの通り。

    グループがレベルアイコンを含み、GROUP IS NOT GROUPのとき、レベルが破壊される


    Prefixな条件指定子
    NOT LONELY EMPTYが常に真

    LONELY EMPTYが常に真であることを考えると、その逆になるべきでは?

    IDLE LEVEL IS AUTOのとき、ターンの自動経過を始めるには、2回連続で待機する必要がある
    見出しの通り。
    ver.398では修正済み。

    NOT IDLE LEVEL IS AUTOのとき、レベル開始時に自動で1ターン経過する

    見出しの通り。


    前置詞
    前置詞句内のALLは、まだ条件に含まれていない、ALLに含まれる単語を1つずつ追加する

    例えば、BABA ON ALLと、BABA ON ALL AND ALLは全く同じ効果。(1つ目のALLは全ての単語を追加し、2つ目のALLは何も追加しない。)
    必ずALLに含まれる単語を1つずつ追加する方がわかりやすいと思うが、仕様だろうか?

    前置詞句内のALLは、名詞EMPTYまたは名詞LEVELがレベル中に一度でも存在したなら、それを含む

    見出しの通り。
    ver.398時点では、EMPTYを含まないように修正されているが、LEVELはまだ残っている。
    一部の前置詞限定っぽい?ONでは確認できないが、WITHOUTでは確認できた。
    (BABA ON ALL IS BEST, L E V E Lでは起こらないが、WITHOUTに変えると起きる)
    LEVELが主語の時はONでも起こる。

    A FACING EMPTY (AND EMPTY)…のとき、Aが無に向いているか否かだけが判定に使われ、無の数は考慮されない

    A NEAR EMPTY (AND EMPTY)…のとき、Aの周囲にある無の数は考慮される。
    そのことを考えると、一貫していないように思う。

    〇〇 ABOVE NOT EMPTYの挙動が謎

    最下段以外のマスでは条件を満たす。

    EMPTY NOT ON EMPTYが常に偽

    EMPTY ON EMPTYが常に偽であることを考えると、その逆になるべきでは?

    レベルのレベルについての条件、LEVEL NEAR LEVELが常に真

    ver.398
    小条件の数によらず常に真。
    NOT NEARも同様に常に偽。
    LEVEL ON LEVELが常に偽であることを考えると変(というか以前のバージョンでは常に偽だった)。

    レベルのレベルアイコンについての条件、LEVEL NEAR LEVELが常に偽

    LEVEL NEAR BABAでは、レベルはBABAを条件判定の対象に取る。(「見る」ことができる)
    LEVEL NEAR LEVELでは、レベルはレベルアイコンを「見る」ことができない。
    一貫していないように思う。
    参考に、LEVEL NOT NEAR LEVELでは、レベルはレベルアイコンを「見る」ことができる。
    ver.398では上のバグにより確認する方法がない。

    レベルのレベルについての条件、LEVEL WITHOUT LEVELが常に偽

    BABA WITHOUT BABAは、BABAがレベル内に1つだけあるなら真となる。
    レベルが1つだけある物と考えれば、LEVEL WITHOUT LEVELも同様に真となるべきだが、そうではない。
    「前置詞句の条件では、主語に対応する物は自身を判定の対象に取らない」という原則を無視している。

    レベルの無についての条件、LEVEL ABOVE EMPTYが常に偽

    参考に、BELOWでは、無がレベル中にあれば真。

    レベルのレベルアイコンについての条件、LEVEL ABOVE LEVELが常に偽

    LEVEL ABOVE BABAでは、レベルはBABAを「見る」ことができる。
    LEVEL ABOVE LEVELでは、レベルはレベルアイコンを「見る」ことができない。
    一貫していないように思う。
    参考に、LEVEL NOT ABOVE LEVELでは、レベルはレベルアイコンを「見る」ことができる。

    同じルールでも、FEELINGの条件判定の結果が変わることがある

    詳細は前置詞の補足のコラム参照。


    形容詞
    OPEN & SHUTの重なりによる破壊が、OPENとSHUTで対称でない

    重なっているOPENer、SHUTerの数に関わらず、1つのOPENerと全てのSHUTerが破壊される。

    PULLで引っ張られた無は、移動先のSWAPerを入れ替えない

    見出しの通り。
    無がSWAP状態のときは入れ替える。

    STILLerは、PUSHまたはPULLで移動したオブジェクトによって、SWAPで入れ替わる

    見出しの通り。
    STILLerがSWAP状態の場合でも、PUSHerまたはPULLerがSWAP状態の場合でも当てはまる。

    LOCKEDは、MOVEとCHILLの反転後の移動を制限しない
    見出しの通り。
    ver.398では修正済み。

    LOCKEDは、オブジェクトがNUDGEsに対応する方向を向いている時のみ、移動を制限する
    見出しの通り。
    ver.398では修正済み。

    〇〇 IS REVERTは、有効でない(条件を満たさない、〇〇 IS NOT REVERTがある)ときも変化を無効化する

    オブジェクト、無、レベル、全てに当てはまる。

    A IS REVERTは、A IS ALLで出現したオブジェクトを元のタイルに戻さない。

    見出しの通り。
    TEXT IS ALLとLEVEL IS ALL(レベルアイコン)も同じく。
    A IS ALLが実際にはA MAKE ALLのような働きをしているためだと思われる。

    レベル開始直後の短時間、SELECTによる移動は無視される

    見出しの通り。
    リスタートも同じだが、より時間が長くなる。
    PATHオブジェクトが出現するまでに時間がかかるとかだろうか?

    ボーナスを仮取得したターンをアンドゥすると、仮取得したボーナスが全て削除される

    見出しの通り。
    これはBONUSerが2つ以上あるとき問題になる。

    EMPTY IS YOU AND WIN AND BONUSのとき、レベルをクリアしない

    見出しの通り。
    オブジェクトだとクリアできる。

    EMPTY IS CHILLのとき、無の向きが指定されているとその向きに移動する

    見出しの通り。
    オブジェクトだと向きが指定されていてもランダム。

    EMPTY IS LOCKEDsのとき、MOVE、CHILL、AUTOによる移動が制限されない

    見出しの通り。
    オブジェクトだといずれも制限される。
    ver.398ではNUDGEsは修正済み。

    EMPTY IS LOCKEDsでは、EMPTY IS PULLの移動が逆方向だとみなされている

    例えば、EMPTY IS LOCKED (UP)、EMPTY IS PULLのとき、無を上方向に引っ張れるが、下方向には引っ張れない。

    LEVEL IS YOU AND WIN AND BONUSのとき、レベルをクリアするが、ボーナスは獲得できない

    見出しの通り。

    LEVEL IS WIN AND BONUSのとき、レベルにYOU状態のタイルが重なるとクリアするが、ボーナスは獲得できない

    見出しの通り。

    レベルがTURNs状態のとき、レベルの実際の向きと、見た目上の向きがずれる

    見出しの通り。
    詳細は対応するコラム参照。

    レベルがSAFE状態でも、BONUS状態のレベルにYOUerが重なったときの破壊は防げない

    見出しの通り。
    BONUS状態のレベルがYOU状態でもあるときの破壊、BONUS状態のレベルにYOU状態の無が重なったときの破壊は防ぐ。

    レベルがSTILL状態のとき、YOUによる移動を制限されるのでなく、そもそも移動しない

    見出しの通り。
    オブジェクトでは、位置は変わらないが移動するので、向きが変化する。
    一方レベルでは、移動そのものが発生しないので、向きが変わらない。

    レベルがSTILL状態のとき、PUSHとPULLによる移動が制限されない

    見出しの通り。
    オブジェクトだといずれも制限される。

    レベルがLOCKEDs状態のとき、YOUによる移動を制限されるのでなく、そもそも移動しない

    見出しの通り。
    STILLと同じ。

    レベルがLOCKEDs状態のとき、PUSHとPULLによる移動が制限されない

    見出しの通り。
    STILLと同じ。

    レベルがYOU2状態のとき、YOU状態のタイルは2番目の入力で移動しなくならない

    見出しの通り。
    YOU2状態のタイルが存在するとき、YOU状態のタイルは2番目の入力で移動しなくなるが、YOU2状態のレベルではそうならない。


    その他
    ZOOM MODE変更時にレベルの位置が戻る

    見出しの通り。

    個人的メモ

    文字から作れる単語を検索できるサイト(Baba Search)


    [link]

    EBNFで記述したルールの文法
    nots = { NOT }; noun = nots, NOUN; nouns = noun, { AND, noun }; complement = nots, ( NOUN | PROPERTY ); complements = complement, { AND, complement }; letter_atog = nots, ( A | B | C | D | E | F | G ); letters_atog = letter_atog, { AND, letter_atog }; direction = nots, ( UP | DOWN | LEFT | RIGHT ); NorD = ( noun | direction ); NorDs = NorD { AND, NorD }; has_verb = HAS | MAKE | EAT | FEAR | FOLLOW; is_predicate = IS, complements; has_predicate = has_verb, nouns; play_predicate = PLAY, letters_atog; predicate = ( is_predicate | has_predicate | play_predicate); predicates = predicate, { AND, predicate }; preposition = nots, ( ON | NEAR | FACING ); prepositional phrase = preposition, nouns | nots, FACING, NorDs; prepositional phrase_mp = preposition, noun, AND, noun, { AND, noun } | nots, FACING, NorD, AND, NorD, { AND, NorD }; prepositional phrases = { prepositional phrase_mp }, [ prepositional phrase ], [ AND, prepositional phrase ]; subject = [ nots, LONELY ], nouns, [ prepositional phrases ]; expression = subject, predicate;

    IS ALLとMAKE ALL
    • A IS ALLは特殊で、Aを置き換えることなく、そのマスに存在しない全てのエンティティを出現させる。
    • この振る舞いはA IS BのルールではなくA MAKE Bのルールと同じと言えるが、A IS ALLはA MAKE ALLと処理順が違うために同じ結果にならないことがある。
    • BABA IS YOU、BABA IS RIGHT、KEKEがあるとき:
      加えてBABA IS ALLがあるときにBABAが下に移動するとKEKEは下向きに生成される。
      加えてBABA MAKE ALLがあるときにBABAが下に移動するとKEKEは右向きに生成される。

      • おそらく移動、A IS ALL、向きの適用、A MAKE ALLの順に処理されている。
    • A IS ALLとA MAKE ALLではA IS ALLの方が優先順位が高い(処理順が早い)。

    また別の例

    ver.HXの話なので今はどうだか…

    移動と向きの変化

    移動したオブジェクトは移動した方向を向く。
    方向を指定する形容詞で向きを決められている場合でも、移動による向きの変化は発生する。

    形容詞のエフェクトの重複

    一部の形容詞はタイルやレベルにエフェクトを発生させる。
    そのような形容詞を同じタイルやレベルに複数適用すると、その分だけエフェクトが発生する。

    βの処理順(調査中 / 放棄)

    ver.330ぐらいの処理順。βでなくなるまではもうやらない

    YOU / YOU2
    MOVE / CHILL
    NUDGE
    FEAR
    SHIFT
    DIRs
    SELECT
    TURNs
    TELE
    FALLs

    MORE
    SINK
    WEAK
    HOT & MELT
    DEFEAT
    SHUT & OPEN
    EAT
    WIN & BONUS & END

    変化が起こるタイミングは複数存在する。
    例えば、BABA IS YOU、BABA IS TURN RIGHT、BABA FACING RIGHT IS MEだと、BABAが上へ進んでも、右へ進んでも変化する。どちらもMEは右向き。
    これは、上へ進んだ時はTURN RIGHTの後に変化しており、右へ進んだ時はTURN RIGHTの前に変化していることを示している。

    EX1.以下の効果は、各移動に付随する。
    PUSH、PULL自体も移動である。
    押された時、SHUT / OPEN、EATは最も近い物同士で反応する。
    押された時、WEAKは最も遠い物が反応する。
    SHUT & OPEN
    EAT
    SWAP
    PUSH
    PULL
    WEAK(移動失敗時)

    EX2.方向を指定する形容詞
    RIGHT
    UP
    LEFT
    DOWN
    (実際の処理順は不明だが、優先順位がDLURなので処理順はおそらくこの逆)

    個人的メモ – バグ

    マイナー 非バグ
    クレジットに余計な空白がある

    中文 (简体 )のように、「简体」の次に空白がある。
    非BIYフォントのクレジットで起こる。
    credit.txtを改変して確かめた所、意図的に入れているらしい。BIYフォントだと「体」と「)」が重なってしまう。

    バグ(フリーズ)
    セーブスロット選択時に決定キーを高速で連打すると、ソフトロックする

    本編の方のみ。カスタムレベルの方のスロット選択では発生しなかった。
    移動やレベル選択もできず、ポーズ画面も開かないので、ゲームをリセットするか、再起動するしかない。
    Ctrl + F2によるリセットは有効。
    ver.394で確認。

    修正済み UI
    一部の言語で、無限ループ演出がUNDO後も残ってしまう

    日本語、韓国語、タイ語、ベトナム語。(日本語、KOREAN、THAI、TIẾNG VIỆT)
    通常はUNDOすると演出が消える。
    ver.253で確認。
    ver.259で修正済み。

    修正済み UI
    一部の言語で、セーブデータを削除する時の表示がおかしい

    日本語、韓国語、タイ語、ベトナム語。(日本語、KOREAN、THAI、TIẾNG VIỆT)
    ver.259で確認。
    ver.272で修正済み。

    修正済み バグ 本編で再現不可
    CURSOR IS ALLがオブジェクトを生成しない

    ver.HXで確認。
    ver.318で確認。
    ver.319で修正済み。

    修正済み クラッシュ 本編で再現不可
    FALLとWEAK

    FALL状態のオブジェクトがWEAK状態のオブジェクトに重なるように落ちた場合ゲームがクラッシュする。
    ver.253で修正済み。

    修正済み エラー 本編で再現不可
    LEVEL IS PULLでレベルを引いた後、LEVEL IS MOVEまたはLEVEL IS SHIFTする時のエラー

    LEVEL IS MOVEのエラー:

    Lua error: Data/blocks.lua:1984: attempt to index a nil value (local ‘drs’) Please report this to the developers.

    LEVEL IS SHIFTのエラー:

    Lua error: Data/movement.lua:406: attempt to index a nil value (local ‘ndrs’) Please report this to the developers.

    ver.315で確認。
    ver.317で修正済み。

    修正済み エラー 本編で再現不可
    WEAK & MOVE & PUSH状態のオブジェクトが壁に移動した後、アンドゥする時のエラー
    Lua error: Data/undo.lua:64: attempt to index a nil value (local ‘unit’) Please report this to the developers.

    ver.259で確認。
    ver.317で確認。
    ver.318で修正済み。

    修正済み エラー 本編で再現不可
    レベル開始時にTEXTが存在している時のA IS ALL

    Luaエラーが出る。
    レベル開始時にTEXTが存在していると、A IS ALLによって全てが生成される時エラーが出る。
    AはTEXT以外。

    Lua error: Data/tools.lua:581: bad argument #1 to ‘MF_emptycreate’ (string expected, got nil) Please report this to the developers.

    ver.253で確認。
    ver.259で確認。
    ver.318で修正済み。

    修正済み エラー 本編で再現不可 未使用ルール
    EMPTY EAT A

    Luaエラーが出る。
    レベルのサイズ、ルールの位置、Aの種類は影響なし。
    ver.HX(old-editor)

    Lua error: Data/blocks.lua:907: attempt to index a number value (local ‘unit’) Please report this to the developers.

    ver.253
    ver.259

    Lua error: Data/blocks.lua:1007: attempt to index a number value (local ‘unit’) Please report this to the developers.

    ver.318で修正済み。

    修正済み エラー 本編で再現不可 未使用ルール
    EMPTY FEAR A

    Luaエラーが出る。
    レベルのサイズ、ルールの位置、Aの種類は影響なし。
    ver.HX(old-editor)

    Lua error: Data/blocks.lua:1844: attempt to index a nil value (local ‘unit’) Please report this to the developers.

    ver.253
    ver.259

    Lua error: Data/blocks.lua:1944: attempt to index a nil value (local ‘unit’) Please report this to the developers.

    ver.318

    Lua error: Data/blocks.lua:2269: attempt to index a nil value (local ‘unit’) Please report this to the developers.

    ver.387で修正済みを確認。

    修正済み バグ 本編で再現不可
    EMPTY IS EMPTY、EMPTY IS NOT ALLがEMPTY IS ALLを無効化しない

    ver.HXで確認。
    ver.318で確認。
    ver.387で修正済みを確認。

    修正済み バグ 本編で再現不可
    ISでない動詞について、A 動詞 NOT ALLがA 動詞 ALLを無効化しない

    ver.HXで確認。
    ver.318で確認。
    ver.387で修正済みを確認。

    修正済み エラー 本編で再現不可
    LEVEL IS ALL

    2種類以上の通常の名詞かTEXT、またはエンティティが存在する時エラーが出る。
    ・正確には2種類以上の名前がALLに含まれている状態でLEVEL IS ALLが有効な時。
    なので、BABA一種の時に文字でM Eを作りMEをALLに含めるとエラーが出る。
    また、TEXTがALLに含まれるのはレベル開始時にTEXTが存在している時だけのようで、後から文字でT E X Tを作ってもエラーは出ない。

    Lua error: Data/conditions.lua:44: bad argument #1 to ‘sub’ (string expected, got nil) Please report this to the developers.

    ver.253で確認。
    ver.259で確認。
    ver.387で修正済みを確認。

    修正済み マイナー
    一部の言語で、クレジット後にタイトルへ遷移しない

    日本語、韓国語、タイ語、ベトナム語。(日本語、KOREAN、THAI、TIẾNG VIỆT)
    タイトル画面のCREDITを見終わると自動でタイトル画面に戻るはずだが、上記言語では操作するまで戻らない。
    ver.253で確認。
    ver.259で確認。
    ver.274で確認。
    ver.387で修正済みを確認。

    マイナー UI
    一部の言語で、ターン経過するとレベル名がちらつく

    日本語、韓国語、タイ語、ベトナム語。(日本語、KOREAN、THAI、TIẾNG VIỆT)
    ver.253で確認。
    ver.259で確認。
    ver.274で確認。
    ver.387で確認。

    マイナー UI
    一部の言語で、無限ループ演出がポーズ画面のメニューより前に表示される

    日本語、韓国語、タイ語、ベトナム語。(日本語、KOREAN、THAI、TIẾNG VIỆT)
    ver.259で確認。
    ver.272で確認。
    ver.387で文字が手前に表示されることを確認。

    アーカイブ – 前置詞句の特殊な接続

    このセクションの情報はver.HXに基づいて作られています。
    現行版には当てはまらない可能性があります。

    特定の形で前置詞句同士を接続することができます。

    次のように表記を定めるとき、

    • (ルールの構成要素)
      = 0または1つのルールの構成要素
    • (ルールの構成要素)…
      = 0以上連続するルールの構成要素
    • NorD
      = 名詞 または 方向を指定する形容詞
    • PP
      = 前置詞 名詞 (AND 名詞)… または FACING NorD (AND NorD)…

      • 前置詞句
    • PPM
      = 前置詞 名詞 AND 名詞 (AND 名詞)… または FACING NorD AND NorD (AND NorD)…

      • 複数要素の前置詞句
      • PPMはPPに含まれます。

    A 前置詞句 動詞 補語
    この文の前置詞句を以下の形に置き換えできます。

    • PP
      • 通常の前置詞句。
    • (AND) PP
      • 前置詞句が1つなら、その前にANDを置いてもよい。
      • このANDは単に無視されます。
    • PP (AND PP)
      • 最後にAND 前置詞句を置いてもよい。
    • PPM (PPM)… (PP) (AND PP)
      • 最初に来るのが複数要素の前置詞句なら、その後にいくつでも複数要素の前置詞句を置いてもよい。
        その後に前置詞句を1つ置いてもよい。
        最後にAND 前置詞句を置いてもよい。

    例えば、以下のルールは全て有効なルールです。

    • BABA ON KEKE IS YOU
      • PP
        通常の前置詞句です。
    • BABA AND ON KEKE IS YOU
      • AND PP
        通常の前置詞句と同じように解釈されます。
    • BABA ON KEKE AND NEAR ME IS YOU
      • PP AND PP
    • BABA ON KEKE AND FLAG NEAR ME IS YOU
      • PPM PP
    • BABA ON KEKE AND FLAG NEAR ME AND GHOST IS YOU
      • PPM PPM
    • BABA ON KEKE AND FLAG NEAR ME AND GHOST FACING SKULL IS YOU
      • PPM PPM PP
    • BABA ON KEKE AND FLAG NEAR ME AND GHOST AND ON ROCK IS YOU
      • PPM PPM AND PP
    • BABA ON KEKE AND FLAG NEAR ME AND GHOST FACING SKULL AND ON ROCK IS YOU
      • PPM PPM PP AND PP

    SteamSolo.com