Closed NanasuNANA closed 2 years ago
加算ダイスをDSL化して、式の項をダイスボットで増やせるようにするという手もありそう
add_dice = AddDice.new
add_dice.unary_op("DA") do |x|
# DAx の処理をして、結果を返す
end
add_dice.roll("DA1+1d4+3")
Discordより:
先日私がニンジャスレイヤーTRPGの
BCDice#bdice
でやったように、AddDice.new
の形で加算ロールを作って実行し、結果の文字列を後ろにくっつけるようにすれば汎用性があるのかな、と ただ、現段階ではAddDice#roll
が、普通の加算ロールとして振ったときを想定した文字列を返すようになっているので、そこは使いにくそう
代わりにnDxKH
類が追加されているので、クローズします。
例えばD&D5thの判定では、有利/不利が付き(D20を2つ振り、有利なら大きい方、不利なら小さい方を取る)、さらにそれに呪文の効果などで任意のダイスを増減する(ブレスの効果で+1d4など)。
D&D5thの有利/不利をDAx、DDx(xは数値)等と実装して、D20を複数振って大きい/小さい方を取ったのち、後の処理(任意のダイスの結果を増減、プラス、マイナス修正)を標準ダイスボットに委譲するようなことがしたい。
例 DA2+1d4+3 D20を2つ振って大きい方を取り、その値に1d4の結果と3を足す