Dicenomiconでダブルクロスの判定ロール(クリティカルあり)を行うマクロ及び定型(修正版)
http://www.gandreas.com/iphone/dicenomicon/
※ファンブル判定等を追加た完全版を公開しました。詳しくは「Dicenomiconでダブルクロスの判定ロール(クリティカルあり)を行うマクロ及び定型(完全版) - こげこげ堂はてな支舗」にて。
先日のに根本的なミスがあったので作り直しました。
今回はマクロではなく定型が主となっているので、Sharing内にあるWeb-based Editorを利用するのが便利だと思います。
マクロ
Settings > Customize > Roll Macros
Edit
Add Roll Macros...
項目 | 内容 | 説明 |
---|---|---|
Name | DX | 数式で利用する名前 |
Desc | DX Critical | 説明なので適当で良い |
Default Dice Sides | 10 | 10面ダイスを利用 |
Color | Black | ダイスの色。上書きできるので適当で良い |
Has Target Number | ON | クリティカル値をマクロ引数で取得 |
Default Target | 10 | デフォルトのクリティカル値。上書きできるので適当で良い |
Action Based Opens | OFF | 振り直しを行わないのでOFF |
Actions
項目 | 内容 | 説明 |
---|---|---|
if | face >= tn: | 出目がtn(マクロ引数。クリティカル値)より高い場合 |
Re-Roll | N/A | 振り直しは行わない |
Badge | Plus | ダイスにプラスマークを追加 |
Value | face | 出目が結果 |
Actions
項目 | 内容 | 説明 |
---|---|---|
if | true: | 上記以外の時。つまりクリティカル以外の場合 |
Re-Roll | N/A | 振り直しは行わない |
Badge | (None) | マークを追加しない |
Value | face | 出目が結果 |
グローバル関数
Globals > Global Functions
TIMES | if #1 = 1 then #1 else 1 ... #1 end | ループ用 |
---|
定型
Settings > Favorite Rolls
Edit
Add Roll
DX Skill
項目 | 内容 | 説明 |
---|---|---|
タイトル | DX Skill | 名前 |
本文 | 下記 | 【引数1】個のダイスを、クリティカル値【引数2】で振る。クリティカルしたら"DX Skill CR"をロールする |
#3 <- 0. @CRITICAL <- #2. . @MAX <- 0. @CRITICALCOUNT <- 0. . for @I in @TIMES(#1) do @ROLL <- d DX#2. @MAX <- @MAX \/ @ROLL. @CRITICALCOUNT <- @CRITICALCOUNT + (@ROLL >= @CRITICAL) end. . @TOTAL <- #3 + @MAX. if @CRITICALCOUNT = 0 then @TOTAL else :next:("Critical", "DX Skill CR", @CRITICALCOUNT, @TOTAL) end
Parameter #1
項目 | 内容 | 説明 |
---|---|---|
Prompt: | COUNT | 入力時の説明。個数。適当で良い |
Default: | 1 | デフォルト個数 |
Style: | >=0 | 0以上の整数 |
Choices: | リストでないので空 |
Parameter #2
項目 | 内容 | 説明 |
---|---|---|
Prompt: | CRITICAL | 入力時の説明。クリティカル値。適当で良い |
Default: | 10 | デフォルトクリティカル値 |
Style: | リスト | 一番右 |
Choices: | 10,9,8,7,6,5,4,3,2,1 | 10〜1のクリティカル値 |
DX Skill CR
項目 | 内容 | 説明 |
---|---|---|
タイトル | DX Skill CR | 名前。名前は固定。振り直し用なので手動では使用しない |
本文 | 下記 | DX Skillの先頭を変更したもの |
#3 <- #2. #2 <- @CRITICAL. . @MAX <- 0. @CRITICALCOUNT <- 0. . for @I in @TIMES(#1) do @ROLL <- d DX#2. @MAX <- @MAX \/ @ROLL. @CRITICALCOUNT <- @CRITICALCOUNT + (@ROLL >= @CRITICAL) end. . @TOTAL <- #3 + @MAX. if @CRITICALCOUNT = 0 then @TOTAL else :next:("Critical", "DX Skill CR", @CRITICALCOUNT, @TOTAL) end