Skip to content

プレシャスデイズの専用ダイスボットの追加#833

Merged
ysakasin merged 6 commits intobcdice:masterfrom
neutron317:master
Feb 21, 2026
Merged

プレシャスデイズの専用ダイスボットの追加#833
ysakasin merged 6 commits intobcdice:masterfrom
neutron317:master

Conversation

@neutron317
Copy link
Contributor

F.E.A.R.の新作であるプレシャスデイズのダイスボットを実装しました。

■ 判定 (nPD+m>=x
nD6のダイスロールをして、その合計が x を超えていたら成功。
出目6が2個以上あればクリティカル。出目が全て1ならファンブル。
n: ダイス数(省略時 2)
m: 修正値(省略可)
x: 目標値(省略可)
例) PD, PD+5>=6, 3PD>=10
■ 表

  • 出自表 ORT
  • 秘密表 SCT
  • 未来表 FTT
  • 第一印象表 FIT
  • 命名表(男性名) MAT
  • 命名表(女性名) FMT
  • 命名表(家名) FAT
  • プライズ表(物品) PIT
  • プライズ表(自身の変化) PCT
  • プライズ表(友人) PFT
  • 師匠の呼び名表 TCT

以上、お手すきの際にご確認お願いします。

@ysakasin
Copy link
Member

寄稿ありがとうございます。

BCDiceではセッション中に使うコマンドのみ受け付けています。命名表などがセッション中に使うものでなければ削除して欲しいのですが、各表を使うタイミングはどうなっていますか?

@neutron317
Copy link
Contributor Author

ご確認いただきありがとうございます。
セッション中に使用しない命名表などは消去しました。
第一印象表と師匠の呼び名表はセッションの導入時、プライズ表はシナリオ終了時(「シナリオ終了」がセッション中に複数回発生する可能性があります)に使用します。

private

def roll_pd(command)
parser = Command::Parser.new(/\d*PD/, round_type: round_type)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

数値の部分は正規表現でなく、Command::Parser#enable_prefix_number を使用することでパースするようにしてください。

参考:
https://github.com/bcdice/BCDice/blob/master/lib/bcdice/game_system/DemonSpike.rb#L32-L43

@neutron317 neutron317 requested a review from ysakasin February 21, 2026 02:15
@neutron317
Copy link
Contributor Author

確認ありがとうございます。
ご指摘の箇所を修正しました。

@ysakasin ysakasin merged commit bbba2b5 into bcdice:master Feb 21, 2026
8 checks passed
@ysakasin
Copy link
Member

寄稿ありがとうございます。マージしました

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants