EHAはシステムイベントを構成するオブジェクトの一つですが、最も膨大なものになります。というのも、EHAはEHの数に比例して増えるからです。
現在実装予定のEHは200。割り当て予定フラグの数は10です。
・EH状態区分 isAppear(外部出現フラグ) isDie isLast isWander ? isIn 1 isIn 2 isIn 3 isIn 4 ※フラグが2000は要る。どこのメモリを使おうか?
EHAには現在8つのメソッドが実装を予定されています。この資料には各アクションの仕様と、単独EHAオブジェクトのプロトタイプを記述(予定)します。
以下の要素説明はそのままはEHのライフサイクルと実際に画面に表示されるアクションについての記述になります。
実際の処理もこの順番に行われます。
EHが既に「死亡」アクションを起こしている場合、以降のアクションは起こさない。
EHが出現していることをメインイベントをのフラグを参照して確認する。確認できない場合は以下のイベントを起こさない。
EHがLH化しており、なおかつ該当するLHが消失している場合、そのEHは完全に死んだと判定し、専用のイベントを発動する。
EHが消失状態の場合、クラスチェンジ, 帰還アクションに備えてここで帰還先のマスターを確認する。
帰還先マスターが存在しない場合、このアクションをさらに動かして別のマスターに所属する事を試みる。所属の移動に明確に成功した場合は専用のイベントを起こす。
あらかじめ帰還するようこのアクションに登録されているマスターが全ていなくなっている場合、このEHは浮動化し、存在するマスターのどれかに、ランダムに所属する事になる。
プレイヤー側の観点から、このイベントはあまり高確率ではなく、対象マスターになんらかのリスクと選択肢を与えるものでなければならない。
浮動化したEHは、消失状態になる度にこのアクションを発動させる。
EHが消失状態にある時、特定の条件が整っているとEHの代わりにLHを再配置する(これを仮に「LH化」と呼ぶ)
LH化したEHは災害ブロック以下のアクションを全く起こさない。(リソース・作業量節約のため)
元に戻すアクションを追加実装するかどうかは未定
EHが消失状態にあり、LH化していない場合、特定の条件でEHを指定のマスターのbaseareaに再配置する。
帰還アクションのイベントは頻発するのでできるだけ短く(可能なら1クリックのみ)しなければならない。
EHが待機状態にあり、かつ所属エリアが災害イベント登録されている場合、このアクションを起こしてブロックを試みる。
ブロックに成功した場合のみ、災害ブロックアクションを行ったとみなす。
EHが待機状態にあり、なおかつ所属エリアに特定のEHが存在する場合、一定の条件でこのアクションを起こす。
ロジックが複雑になるのを避けるため、このアクションは常に一方的である。このアクションが起こっても、対象になったEHは独自のアクションを起こすことができる。
EHが待機状態にある場合、一定の条件で所属エリア、または特定のマスターに対してのアクションを起こす。
下記「通常アクション」アクションの強化版。
上記のいずれのEHAも起こすことなく待機状態の場合は、そのEH独特の小さなパラメータ変化を画面非表示で行う。
a = 状態区分 (0:未出現 1:待機 2:アクション済 3:「死亡」) b = 配置対象マスター c = イベント人材の番号?
EHAの定型的なテンプレート。可読性のため、一部記述を抽象化しています。
まだ記述中