Skip to content

Commit

Permalink
ジャンク表の追加
Browse files Browse the repository at this point in the history
  • Loading branch information
Faceless192x committed Oct 15, 2024
1 parent de290c6 commit 58f2c59
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 3 deletions.
28 changes: 25 additions & 3 deletions lib/bcdice/game_system/FullFace.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ class FullFace < Base
FF<=2,1: 能力値2,難易度1で判定し、その結果(成功数,1の目の数,6の目の数,成功・失敗,バースト)を表示。
6FF<=3,2&1:ヒート6,能力値3,難易度2,基本ダメージ1で戦闘判定し、その結果(成功数,1の目の数,6の目の数,ダメージ,バースト)を表示。
INFO_MESSAGETEXT
■ジャンク表 JKT
register_prefix('([+\d]+)*FF')
INFO_MESSAGETEXT

def initialize(command)
super(command)
Expand All @@ -33,7 +33,8 @@ def initialize(command)
end

def eval_game_system_specific_command(command)
resolute_action(command)
resolute_action(command) ||
roll_tables(command, TABLES)
end

private
Expand Down Expand Up @@ -116,6 +117,27 @@ def resolute_action(command)
result.text = sequence.join(" > ")
end
end

TABLES = {
"JKT" => DiceTable::Table.new(
"ジャンク表",
"2D6",
[
"命欲しさに重要な情報を吐いた。セッションのボスに関する情報を得る。",
"ユニットの機密文書だ。この戦闘で獲得したユニットがあるなら、そのうち好きなユニット1つを経験点を消費せずに常備化できる。",
"違法アップロードされた個人情報のデータだ。このセッション中、エネミーと出会ったとき、詳細なデータが即座に公開される(GMはできるだけ拒否しないこと)。",
"鍵を持っていた。近くに施錠された扉や箱などがあるなら、そのうちの1つを開けることができる。",
"何も見つけられなかったが、敵を倒したことによって自信を得た。このセッション中のみ、1回だけ自身の判定で出た6の目を1つ消すことができる。",
"自爆装置だ。何も残らなかった。",
"使い捨ての武器を手に入れた。このセッション中のみ、1回だけ「近接攻撃5『本能』」の攻撃アクションを行える。",
"敵が改心した。倒されたキャラクターがまだ生きているなら、そのうちの一人が君たちに協力を申し込んでくる(このセッション限定の恩恵「人脈:協力者」を得る)。",
"金を手に入れた。キャラクター全員、アフターフェイズに配布される経験点が1増加する。",
"強力なユニットを隠し持っていた。好きな組織専用ユニットを1つ獲得する。",
"大金を手に入れた。キャラクター全員、アフターフェイズに配布される経験点が3増加する。",
]
),
}.freeze
register_prefix('([+\d]+)*FF', TABLES.keys)
end
end
end
17 changes: 17 additions & 0 deletions test/data/FullFace.toml
Original file line number Diff line number Diff line change
Expand Up @@ -187,3 +187,20 @@ rands = [
{ sides = 6, value = 3 },
]

[[ test ]]
game_system = "FullFace"
input = "JKT ジャンク表"
output = "ジャンク表(2) > 命欲しさに重要な情報を吐いた。セッションのボスに関する情報を得る。"
rands = [
{ sides = 6, value = 1 },
{ sides = 6, value = 1 },
]
[[ test ]]
game_system = "FullFace"
input = "JKT ジャンク表"
output = "ジャンク表(12) > 大金を手に入れた。キャラクター全員、アフターフェイズに配布される経験点が3増加する。"
rands = [
{ sides = 6, value = 6 },
{ sides = 6, value = 6 },
]

0 comments on commit 58f2c59

Please sign in to comment.