170行目:
170行目:
@randResults = nil
@randResults = nil
end
end
+
end
+
</syntaxhighlight>
+
+
== dice_command ==
+
+
https://github.com/torgtaitai/BCDice/blob/86b8dd03ae00f8ea6a8787f9f514a5d83b2e3d41/src/bcdiceCore.rb#L769-L801
+
+
ダイスロールを実行する。以下の順で、実行できる処理があればそれを実行し、できなければ次の処理を試すことを繰り返す。
+
+
# 指定されたゲームシステムの固有コマンド
+
# D66ロール
+
# 加算ロール <code><var>x</var>D<var>n</var></code>
+
# バラバラロール <code><var>x</var>B<var></var></code>
+
# 個数振り足しロール <code><var>x</var>R<var>n</var></code>
+
# 上方無限ロール <code><var>x</var>U<var>n</var></code>
+
# ランダム選択 <code>choice[<var>A</var>, <var>B</var>, ...]</code>
+
# 独自の表から項目を引く
+
+
戻り値は、結果のメッセージと、シークレットロールかどうか。すべての処理に失敗した場合は結果のメッセージが <code>"1"</code> となることに注意。これはPerl時代の名残りと思われる。
+
+
<syntaxhighlight lang="ruby">
+
def dice_command # ダイスコマンドの分岐処理
+
arg = @message.upcase
+
+
debug('dice_command arg', arg)
+
+
output, secret = @diceBot.dice_command(@message, @nick_e)
+
return output, secret if( output != '1' )
+
+
output, secret = rollD66(arg)
+
return output, secret unless( output.nil? )
+
+
output, secret = checkAddRoll(arg)
+
return output, secret unless( output.nil? )
+
+
output, secret = checkBDice(arg)
+
return output, secret unless( output.nil? )
+
+
output, secret = checkRnDice(arg)
+
return output, secret unless( output.nil? )
+
+
output, secret = checkUpperRoll(arg)
+
return output, secret unless( output.nil? )
+
+
output, secret = checkChoiceCommand(arg)
+
return output, secret unless( output.nil? )
+
+
output, secret = getTableDataResult(arg)
+
return output, secret unless( output.nil? )
+
+
output = '1'
+
secret = false
+
return output, secret
end
end
</syntaxhighlight>
</syntaxhighlight>