人生

やっていきましょう

1119日目

ウディタでキャラクターチェンジのスキルを実装しようとした。具体的にはある特定の2キャラに限り、戦闘中にメンバー交換できるというスキルを作りたかった。しかしただ単にメンバーを入れ替えると、なぜかチェンジしたキャラクターのhp,spが保存されず、チェンジするたびに全回復してしまっていた。

この原因は明らかだ。自分ははじめ主人公のステータスを直接演算していた。しかしどうやら、移動中のステータスと戦闘中のステータスは別々に管理されているらしい。戦闘中に移動時のステータスを操作しても戦闘中に変化したhpやspは反映されず、参照されるのは常に戦闘前のステータスである。

この問題を解決するためには戦闘中のステータスを管理している場所から特定のキャラクターのhpとsp値を取得し、操作すればよい。だが実際、自分には戦闘中のステータスがどこで管理されているのかが分からなかった。戦闘時はキャラクター自身ではなく、戦闘スロットと呼ばれるところで管理されている。頭からn番目のスロットに該当者の戦闘中のステータス変動が反映されているという仕組みである。特定のキャラクターから直接情報を引き出せるわけではない。

つまり自分に必要なのは、戦闘スロットとキャラクターを紐づける情報をどこで取得できるかということである。番号140代のコモンイベントを弄れば良さそうだが、未だ解決策が見つからない。この問題についてしばらく考えてみる。