
自宅での予習でSleep状態の場合に何も出来ずに手番が次へ回り、Phaseが追加され、Moveが回復し、状態異常カウントが1マイナスされるというのをどこに書けば良いかが判明。On-keyに渡す関数のBATTLE-C-LISTのキー入力部分、Cond内に書けば望み通りの動きが行われると判明、やったぜ!

という訳でBATTLE-TEXTに状態異常を書き込む手続きをOn-tickに書きまして

Sleepだけしか書いて無かったところにその他の行動制限系の状態異常も追加しまして・・SilenceとPoisonは別のところに書くのでメモだけ

ダメージ計算の部分をLet*にしてSleepならダメージ2倍の場合分けをしまして

Sleep状態なら攻撃命中率を無視して必中にしまして

リスト内のすべての要素に対して条件にあってれば真、一つでもあってない場合は偽を返す述語を(ChatGPTが)作りまして

すでに何か状態異常を持ってる相手に対しては通常攻撃のみを行うようにしまして

Sleepでの被ダメチェック、クリティカルで無いのに12はあり得ないので正しく動作してると判断、よっしゃ!

眠ってる時に攻撃を受けると目が覚めるようにしまして

目覚めのチェック、第五ターンで睡眠効果時間6だが・・

次のターンまでに攻撃を受けたので目が覚めてるのを確認、よっしゃ!

麻痺も必中なのでhit?に追加したところで23時半、今日はここまでにしておくか!
次回はその他の状態異常も一通り処理を書いた後にメッセージ部分で「眠ってしまった!」とか「石化してしまった!」とか食らった時の表示を作っていこう、と。