Closed koi-chan closed 7 years ago
DiceRoll プラグインはこれで完成です。 単純に、日本語ダイス機能を使ったときに呼び出されるメソッドの頭に return を追加して処理を止めました。
Trpg::Detatoko プラグインの実装を悩んでいます。 与えられたコマンドが日本語かそうでないかを特に区別せずに実行する物ばかりなので、DiceRoll ほど単純に実装できないからです。 日本語ダイス機能が無効なときには match の部分を実行しないというのがいいのではないかと思うのですが、それだとメソッドの中に match を書くことになるため、メソッドがないというエラーを発生させてしまいます。
元々この機能が必要となった SW2_DLL の AsciiCalc 機能には、何の日本語ダイスが含まれているのかが分からないのも、どこまで RGRB に日本語ダイス機能の有効・無効を設定で変えられるようにするかを悩ませる原因です。 どうやらでたとこサーガ用のダイスには、SW2_DLL は日本語ダイス機能を搭載していないようにも思えるのですが……。
DiceRollの変更ありがとうございます! 確かに match
の有無を変えようとすると大変そうなので、ハンドラの中で設定を調べて分岐させる方法が簡明だと思います。
でたとこのは、確かに難しいですね。SW2_DLLやBCDiceのようにそのゲームのダイスを使うかどうかと、その上で日本語の機能を使うかというように条件を分けて考えるべきところなのかな、と思いました。ただ、コマンドを見るとSW2_DLLのものと重複しなさそうな感じがします(「何の日本語ダイスが含まれているのかが分からない」のは事実なので推測ではありますが)。
一番ぶつかりやすいDiceRollの日本語コマンドについて解決したということで、一旦ここで止めて様子を見るのはいかがでしょうか?
ではそうさせてもらうとします。
DiceRoll / Trpg::Detatoko にある日本語ダイス機能の有効・無効を切り替えられるようにする。 これは、ダイス機能自体は有効にしつつ、SW2_DLL など、他の日本語ダイス機能を持つボットプログラムとの干渉を防ぐために搭載したい。