bcdice 3.1.3 → 3.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +186 -76
- data/README.md +3 -2
- data/i18n/BeginningIdol/ja_jp.yml +2806 -0
- data/i18n/BeginningIdol/ko_kr.yml +1400 -0
- data/i18n/Cthulhu/zh_hans.yml +11 -0
- data/i18n/KillDeathBusiness/ja_jp.yml +1 -1
- data/i18n/MagicaLogia/ja_jp.yml +1 -1
- data/i18n/MagicaLogia/zh_hans.yml +564 -0
- data/i18n/MonotoneMuseum/ko_kr.yml +526 -53
- data/i18n/StellarKnights/ja_jp.yml +498 -0
- data/i18n/StellarKnights/ko_kr.yml +498 -0
- data/i18n/zh_hans.yml +7 -0
- data/lib/bcdice/command/parsed.rb +11 -3
- data/lib/bcdice/command/parser.rb +179 -100
- data/lib/bcdice/common_command/add_dice.rb +1 -1
- data/lib/bcdice/common_command/barabara_dice/node.rb +2 -2
- data/lib/bcdice/common_command/barabara_dice/result.rb +6 -0
- data/lib/bcdice/common_command/calc.rb +1 -1
- data/lib/bcdice/common_command/choice.rb +82 -7
- data/lib/bcdice/common_command/tally_dice/node.rb +135 -0
- data/lib/bcdice/common_command/tally_dice/parser.rb +302 -0
- data/lib/bcdice/common_command/tally_dice.rb +19 -0
- data/lib/bcdice/common_command.rb +2 -0
- data/lib/bcdice/dice_table/d66_half_grid_table.rb +33 -0
- data/lib/bcdice/dice_table/d66_left_range_table.rb +29 -0
- data/lib/bcdice/dice_table/d66_one_third_table.rb +34 -0
- data/lib/bcdice/dice_table/d66_table.rb +5 -1
- data/lib/bcdice/dice_table.rb +3 -0
- data/lib/bcdice/game_system/AceKillerGene.rb +1 -1
- data/lib/bcdice/game_system/Ainecadette.rb +68 -0
- data/lib/bcdice/game_system/Airgetlamh.rb +1 -1
- data/lib/bcdice/game_system/Alsetto.rb +1 -1
- data/lib/bcdice/game_system/AlterRaise.rb +2 -2
- data/lib/bcdice/game_system/Amadeus.rb +110 -93
- data/lib/bcdice/game_system/AngelGear.rb +10 -5
- data/lib/bcdice/game_system/AnimaAnimus.rb +16 -9
- data/lib/bcdice/game_system/Aoharubaan.rb +91 -0
- data/lib/bcdice/game_system/Arianrhod.rb +6 -8
- data/lib/bcdice/game_system/AssaultEngine.rb +91 -0
- data/lib/bcdice/game_system/Avandner.rb +1 -1
- data/lib/bcdice/game_system/BadLife.rb +264 -289
- data/lib/bcdice/game_system/Bakenokawa.rb +244 -0
- data/lib/bcdice/game_system/BarnaKronika.rb +1 -1
- data/lib/bcdice/game_system/BattleTech.rb +109 -28
- data/lib/bcdice/game_system/BeastBindTrinity.rb +28 -12
- data/lib/bcdice/game_system/BeginningIdol.rb +118 -2392
- data/lib/bcdice/game_system/BeginningIdol_Korean.rb +10 -2312
- data/lib/bcdice/game_system/BladeOfArcana.rb +1 -1
- data/lib/bcdice/game_system/BlindMythos.rb +39 -38
- data/lib/bcdice/game_system/BloodCrusade.rb +6 -7
- data/lib/bcdice/game_system/BloodMoon.rb +9 -8
- data/lib/bcdice/game_system/CardRanker.rb +8 -7
- data/lib/bcdice/game_system/CastleInGray.rb +133 -0
- data/lib/bcdice/game_system/ChaosFlare.rb +21 -15
- data/lib/bcdice/game_system/Chill.rb +10 -10
- data/lib/bcdice/game_system/Chill3.rb +9 -9
- data/lib/bcdice/game_system/CodeLayerd.rb +39 -39
- data/lib/bcdice/game_system/ColossalHunter.rb +34 -47
- data/lib/bcdice/game_system/CrashWorld.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu.rb +3 -3
- data/lib/bcdice/game_system/Cthulhu7th.rb +56 -18
- data/lib/bcdice/game_system/Cthulhu7th_ChineseTraditional.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu7th_Korean.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu_SimplifiedChinese.rb +60 -0
- data/lib/bcdice/game_system/DarkBlaze.rb +0 -11
- data/lib/bcdice/game_system/DarkDaysDrive.rb +8 -7
- data/lib/bcdice/game_system/DeadlineHeroes.rb +11 -10
- data/lib/bcdice/game_system/DemonParasite.rb +5 -13
- data/lib/bcdice/game_system/DesperateRun.rb +1 -1
- data/lib/bcdice/game_system/DoubleCross.rb +8 -1
- data/lib/bcdice/game_system/Dracurouge.rb +3 -2
- data/lib/bcdice/game_system/EclipsePhase.rb +14 -14
- data/lib/bcdice/game_system/Elric.rb +18 -14
- data/lib/bcdice/game_system/Elysion.rb +1 -1
- data/lib/bcdice/game_system/EmbryoMachine.rb +9 -8
- data/lib/bcdice/game_system/Emoklore.rb +25 -20
- data/lib/bcdice/game_system/FateCoreSystem.rb +117 -0
- data/lib/bcdice/game_system/Fiasco.rb +1 -1
- data/lib/bcdice/game_system/FilledWith.rb +4 -0
- data/lib/bcdice/game_system/FutariSousa.rb +12 -10
- data/lib/bcdice/game_system/GURPS.rb +17 -28
- data/lib/bcdice/game_system/Garako.rb +1 -1
- data/lib/bcdice/game_system/GardenOrder.rb +12 -7
- data/lib/bcdice/game_system/GeishaGirlwithKatana.rb +1 -1
- data/lib/bcdice/game_system/GoblinSlayer.rb +1 -1
- data/lib/bcdice/game_system/Gorilla.rb +2 -8
- data/lib/bcdice/game_system/GranCrest.rb +189 -417
- data/lib/bcdice/game_system/Gundog.rb +9 -8
- data/lib/bcdice/game_system/GundogRevised.rb +10 -9
- data/lib/bcdice/game_system/GundogZero.rb +1 -1
- data/lib/bcdice/game_system/GurpsFW.rb +16 -16
- data/lib/bcdice/game_system/HarnMaster.rb +19 -26
- data/lib/bcdice/game_system/HatsuneMiku.rb +1 -1
- data/lib/bcdice/game_system/Hieizan.rb +12 -21
- data/lib/bcdice/game_system/HouraiGakuen.rb +1 -1
- data/lib/bcdice/game_system/HuntersMoon.rb +5 -10
- data/lib/bcdice/game_system/InfiniteFantasia.rb +19 -17
- data/lib/bcdice/game_system/Insane.rb +13 -20
- data/lib/bcdice/game_system/Irisbane.rb +154 -0
- data/lib/bcdice/game_system/IthaWenUa.rb +8 -15
- data/lib/bcdice/game_system/JamesBond.rb +10 -10
- data/lib/bcdice/game_system/JekyllAndHyde.rb +1 -1
- data/lib/bcdice/game_system/Kamigakari.rb +1 -1
- data/lib/bcdice/game_system/KanColle.rb +4 -9
- data/lib/bcdice/game_system/Karukami.rb +84 -0
- data/lib/bcdice/game_system/KemonoNoMori.rb +26 -39
- data/lib/bcdice/game_system/KillDeathBusiness.rb +7 -15
- data/lib/bcdice/game_system/KurayamiCrying.rb +142 -3
- data/lib/bcdice/game_system/LiveraDoll.rb +254 -304
- data/lib/bcdice/game_system/LogHorizon.rb +10 -7
- data/lib/bcdice/game_system/MagicaLogia_SimplifiedChinese.rb +66 -0
- data/lib/bcdice/game_system/MeikyuDays.rb +10 -8
- data/lib/bcdice/game_system/MeikyuKingdom.rb +26 -26
- data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +4 -3
- data/lib/bcdice/game_system/MetalHead.rb +12 -22
- data/lib/bcdice/game_system/MetalHeadExtream.rb +5 -5
- data/lib/bcdice/game_system/MonotoneMuseum.rb +8 -6
- data/lib/bcdice/game_system/MonotoneMuseum_Korean.rb +4 -4
- data/lib/bcdice/game_system/Nechronica.rb +63 -90
- data/lib/bcdice/game_system/NinjaSlayer.rb +6 -7
- data/lib/bcdice/game_system/NjslyrBattle.rb +8 -11
- data/lib/bcdice/game_system/OneWayHeroics.rb +1 -1
- data/lib/bcdice/game_system/Paradiso.rb +1 -1
- data/lib/bcdice/game_system/ParasiteBlood.rb +1 -1
- data/lib/bcdice/game_system/Peekaboo.rb +4 -9
- data/lib/bcdice/game_system/Pendragon.rb +7 -7
- data/lib/bcdice/game_system/PersonaO.rb +86 -0
- data/lib/bcdice/game_system/PhantasmAdventure.rb +8 -8
- data/lib/bcdice/game_system/Postman.rb +1 -1
- data/lib/bcdice/game_system/PulpCthulhu.rb +1 -1
- data/lib/bcdice/game_system/Raisondetre.rb +2 -2
- data/lib/bcdice/game_system/Revulture.rb +123 -0
- data/lib/bcdice/game_system/RuneQuest.rb +8 -8
- data/lib/bcdice/game_system/Ryutama.rb +1 -1
- data/lib/bcdice/game_system/SRS.rb +17 -16
- data/lib/bcdice/game_system/SamsaraBallad.rb +38 -11
- data/lib/bcdice/game_system/Satasupe.rb +32 -32
- data/lib/bcdice/game_system/ScreamHighSchool.rb +5 -5
- data/lib/bcdice/game_system/SharedFantasia.rb +19 -23
- data/lib/bcdice/game_system/ShinobiGami.rb +14 -6
- data/lib/bcdice/game_system/Skynauts.rb +103 -142
- data/lib/bcdice/game_system/SkynautsBouken.rb +228 -0
- data/lib/bcdice/game_system/StarryDolls.rb +318 -0
- data/lib/bcdice/game_system/SteamPunkers.rb +25 -7
- data/lib/bcdice/game_system/StellarKnights.rb +85 -706
- data/lib/bcdice/game_system/StellarKnights_Korean.rb +79 -0
- data/lib/bcdice/game_system/{SterileLife.rb → StellarLife.rb} +162 -226
- data/lib/bcdice/game_system/StratoShout.rb +8 -16
- data/lib/bcdice/game_system/Strave.rb +1 -1
- data/lib/bcdice/game_system/SwordWorld.rb +22 -9
- data/lib/bcdice/game_system/SwordWorld2_0.rb +22 -7
- data/lib/bcdice/game_system/SwordWorld2_5.rb +8 -2
- data/lib/bcdice/game_system/TalesFromTheLoop.rb +83 -0
- data/lib/bcdice/game_system/TherapieSein.rb +1 -1
- data/lib/bcdice/game_system/TokumeiTenkousei.rb +4 -3
- data/lib/bcdice/game_system/TokyoGhostResearch.rb +1 -1
- data/lib/bcdice/game_system/TorgEternity.rb +2 -2
- data/lib/bcdice/game_system/ToshiakiHolyGrailWar.rb +92 -0
- data/lib/bcdice/game_system/TrinitySeven.rb +279 -280
- data/lib/bcdice/game_system/TunnelsAndTrolls.rb +1 -1
- data/lib/bcdice/game_system/Utakaze.rb +53 -48
- data/lib/bcdice/game_system/Villaciel.rb +1 -1
- data/lib/bcdice/game_system/WARPS.rb +11 -9
- data/lib/bcdice/game_system/WaresBlade.rb +4 -9
- data/lib/bcdice/game_system/Warhammer.rb +15 -6
- data/lib/bcdice/game_system/Warhammer4.rb +15 -11
- data/lib/bcdice/game_system/WitchQuest.rb +1 -1
- data/lib/bcdice/game_system/YankeeYogSothoth.rb +4 -9
- data/lib/bcdice/game_system/YearZeroEngine.rb +40 -19
- data/lib/bcdice/game_system/Yggdrasill.rb +1 -1
- data/lib/bcdice/game_system/ZettaiReido.rb +20 -25
- data/lib/bcdice/game_system/beginning_idol/accessories_table.rb +31 -0
- data/lib/bcdice/game_system/beginning_idol/bad_status_table.rb +43 -0
- data/lib/bcdice/game_system/beginning_idol/chain_d66_table.rb +29 -0
- data/lib/bcdice/game_system/beginning_idol/chain_table.rb +37 -0
- data/lib/bcdice/game_system/beginning_idol/costume_table.rb +37 -0
- data/lib/bcdice/game_system/beginning_idol/d6_twice_table.rb +36 -0
- data/lib/bcdice/game_system/beginning_idol/item_table.rb +51 -0
- data/lib/bcdice/game_system/beginning_idol/my_skill_name_table.rb +44 -0
- data/lib/bcdice/game_system/beginning_idol/random_event_table.rb +31 -0
- data/lib/bcdice/game_system/beginning_idol/skill_table.rb +63 -0
- data/lib/bcdice/game_system/beginning_idol/table.rb +193 -0
- data/lib/bcdice/game_system/beginning_idol/with_abnormality.rb +74 -0
- data/lib/bcdice/game_system/beginning_idol/work_table.rb +57 -0
- data/lib/bcdice/game_system/meikyu_kingdom_basic/kingdom_table.rb +1 -1
- data/lib/bcdice/game_system/one_way_heroics/random_event_table.rb +4 -4
- data/lib/bcdice/game_system/sword_world/rating_parsed.rb +50 -7
- data/lib/bcdice/game_system/sword_world/rating_parser.rb +148 -107
- data/lib/bcdice/game_system/sword_world/transcendent_test.rb +26 -8
- data/lib/bcdice/game_system.rb +18 -1
- data/lib/bcdice/repl.rb +1 -1
- data/lib/bcdice/result.rb +26 -0
- data/lib/bcdice/version.rb +1 -1
- metadata +48 -6
@@ -0,0 +1,318 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "bcdice/dice_table/chain_table"
|
4
|
+
require "bcdice/dice_table/sai_fic_skill_table"
|
5
|
+
require "bcdice/dice_table/table"
|
6
|
+
require "bcdice/format"
|
7
|
+
|
8
|
+
module BCDice
|
9
|
+
module GameSystem
|
10
|
+
class StarryDolls < Base
|
11
|
+
# ゲームシステムの識別子
|
12
|
+
ID = "StarryDolls"
|
13
|
+
|
14
|
+
# ゲームシステム名
|
15
|
+
NAME = "スタリィドール"
|
16
|
+
|
17
|
+
# ゲームシステム名の読みがな
|
18
|
+
SORT_KEY = "すたりいとおる"
|
19
|
+
|
20
|
+
# ダイスボットの使い方
|
21
|
+
HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
|
22
|
+
・行為判定 nD6±m@s>=t
|
23
|
+
nD6の行為判定を行う。スペシャル/ファンブル/成功/失敗を判定。
|
24
|
+
n: ダイス数
|
25
|
+
m: 修正(省略可)
|
26
|
+
s: スペシャル値(省略時 12)
|
27
|
+
t: 目標値(?指定可)
|
28
|
+
・各種表
|
29
|
+
・ランダム特技決定表 RTTn (n:分野番号、省略可能)
|
30
|
+
1願望 2元素 3星使い 4動作 5召喚 6人間性
|
31
|
+
・ランダム分野表 RCT
|
32
|
+
・ランダム星座表 HOR
|
33
|
+
ランダム星座表A HORA/ランダム星座表B HORB
|
34
|
+
・主人関係表 MRT/関係属性表 RAT
|
35
|
+
・奇跡表 MIR
|
36
|
+
・戦果表 BRT
|
37
|
+
・事件表 TRO
|
38
|
+
・遭遇表 ENC
|
39
|
+
・致命傷表 FWT
|
40
|
+
・カタストロフ表 CAT
|
41
|
+
・回想表
|
42
|
+
〈魔術師の庭〉回想表 JDSRT/〈セブンス・ヘブン〉回想表 SHRT
|
43
|
+
/〈祝福の鐘〉回想表 BCRT/〈オメガ探偵社〉回想表 ODRT
|
44
|
+
・D66ダイスあり
|
45
|
+
INFO_MESSAGE_TEXT
|
46
|
+
|
47
|
+
def initialize(command)
|
48
|
+
super(command)
|
49
|
+
|
50
|
+
@d66_sort_type = D66SortType::ASC
|
51
|
+
end
|
52
|
+
|
53
|
+
def eval_game_system_specific_command(command)
|
54
|
+
action_roll(command) ||
|
55
|
+
roll_tables(command, TABLES) ||
|
56
|
+
RTT.roll_command(@randomizer, command)
|
57
|
+
end
|
58
|
+
|
59
|
+
private
|
60
|
+
|
61
|
+
SPECIAL = "スペシャル(【星命力】を1D6点回復)"
|
62
|
+
FUMBLE = "ファンブル(ランダムなサインが【蝕】状態へ変化)"
|
63
|
+
|
64
|
+
RTT = DiceTable::SaiFicSkillTable.new(
|
65
|
+
[
|
66
|
+
["願望", ["創造", "研究", "守護", "絆", "*かに座", "夢", "*しし座", "自由", "恋愛", "脚光", "世界"]],
|
67
|
+
["元素", ["光", "雷", "*ふたご座", "水", "火", "風", "木", "氷", "*おとめ座", "土", "闇"]],
|
68
|
+
["星使い", ["*おうし座", "幸運", "幻影", "テレパシー", "予知夢", "星読み", "治癒", "天候", "変身", "時間停止", "*てんびん座"]],
|
69
|
+
["動作", ["*おひつじ座", "精密", "高速", "怪力", "隠密", "飛行", "言霊", "模倣", "軽業", "歌舞", "*さそり座"]],
|
70
|
+
["召喚", ["リボン", "照明具", "*うお座", "料理", "獣", "花", "乗り物", "書物", "*いて座", "武器", "財宝"]],
|
71
|
+
["人間性", ["勇気", "知恵", "熱意", "調和", "*みずがめ座", "愛情", "*やぎ座", "センス", "根気", "礼節", "理性"]],
|
72
|
+
]
|
73
|
+
)
|
74
|
+
|
75
|
+
def action_roll(command)
|
76
|
+
parser = Command::Parser.new("D6", round_type: round_type)
|
77
|
+
.has_prefix_number
|
78
|
+
.restrict_cmp_op_to(:>=)
|
79
|
+
.enable_critical
|
80
|
+
.enable_question_target
|
81
|
+
cmd = parser.parse(command)
|
82
|
+
return nil unless cmd
|
83
|
+
|
84
|
+
times = cmd.prefix_number
|
85
|
+
return nil if times < 1
|
86
|
+
|
87
|
+
fumble = 2
|
88
|
+
special = cmd.critical || 12
|
89
|
+
|
90
|
+
if special <= fumble
|
91
|
+
special = fumble + 1 # p.180
|
92
|
+
cmd.critical = special
|
93
|
+
end
|
94
|
+
|
95
|
+
dice_list = @randomizer.roll_barabara(times, 6)
|
96
|
+
dice_total = dice_list.sum()
|
97
|
+
total = dice_total + cmd.modify_number
|
98
|
+
|
99
|
+
result =
|
100
|
+
if dice_total <= fumble
|
101
|
+
Result.fumble(FUMBLE)
|
102
|
+
elsif dice_total >= special
|
103
|
+
Result.critical(SPECIAL)
|
104
|
+
elsif cmd.question_target?
|
105
|
+
Result.new
|
106
|
+
elsif total >= cmd.target_number
|
107
|
+
Result.success("成功")
|
108
|
+
else
|
109
|
+
Result.failure("失敗")
|
110
|
+
end
|
111
|
+
|
112
|
+
sequence = [
|
113
|
+
"(#{cmd.to_s(:after_modify_number)})",
|
114
|
+
"#{dice_total}[#{dice_list.join(',')}]#{Format.modifier(cmd.modify_number)}",
|
115
|
+
total,
|
116
|
+
result.text
|
117
|
+
].compact
|
118
|
+
|
119
|
+
result.text = sequence.join(" > ")
|
120
|
+
result
|
121
|
+
end
|
122
|
+
|
123
|
+
HOR_TABLE_A = DiceTable::Table.new(
|
124
|
+
"ランダム星座表A", # p.177
|
125
|
+
"1D6",
|
126
|
+
[
|
127
|
+
"おひつじ座",
|
128
|
+
"おうし座",
|
129
|
+
"ふたご座",
|
130
|
+
"かに座",
|
131
|
+
"しし座",
|
132
|
+
"おとめ座",
|
133
|
+
]
|
134
|
+
)
|
135
|
+
|
136
|
+
HOR_TABLE_B = DiceTable::Table.new(
|
137
|
+
"ランダム星座表B", # p.177
|
138
|
+
"1D6",
|
139
|
+
[
|
140
|
+
"てんびん座",
|
141
|
+
"さそり座",
|
142
|
+
"いて座",
|
143
|
+
"やぎ座",
|
144
|
+
"みずがめ座",
|
145
|
+
"うお座",
|
146
|
+
]
|
147
|
+
)
|
148
|
+
|
149
|
+
TABLES = {
|
150
|
+
"HORA" => HOR_TABLE_A,
|
151
|
+
"HORB" => HOR_TABLE_B,
|
152
|
+
"HOR" => DiceTable::ChainTable.new(
|
153
|
+
"ランダム星座表", # p.177
|
154
|
+
"1D6",
|
155
|
+
[
|
156
|
+
HOR_TABLE_A,
|
157
|
+
HOR_TABLE_A,
|
158
|
+
HOR_TABLE_A,
|
159
|
+
HOR_TABLE_B,
|
160
|
+
HOR_TABLE_B,
|
161
|
+
HOR_TABLE_B,
|
162
|
+
]
|
163
|
+
),
|
164
|
+
"MRT" => DiceTable::Table.new(
|
165
|
+
"主人関係表", # p.186
|
166
|
+
"1D6",
|
167
|
+
[
|
168
|
+
"親",
|
169
|
+
"友人",
|
170
|
+
"恩師",
|
171
|
+
"相棒",
|
172
|
+
"上司",
|
173
|
+
"恋人",
|
174
|
+
]
|
175
|
+
),
|
176
|
+
"RAT" => DiceTable::Table.new(
|
177
|
+
"関係属性表", # p.186
|
178
|
+
"1D6",
|
179
|
+
[
|
180
|
+
"尊敬/優越感",
|
181
|
+
"理解/反抗",
|
182
|
+
"愉快/恐怖",
|
183
|
+
"友情/競争",
|
184
|
+
"恋心/不気味",
|
185
|
+
"庇護/劣等感",
|
186
|
+
]
|
187
|
+
),
|
188
|
+
"MIR" => DiceTable::Table.new(
|
189
|
+
"奇跡表", # p.177
|
190
|
+
"1D6",
|
191
|
+
[
|
192
|
+
"空から降る一筋の光が星人形の体を包み込み、不思議な力を与えてくれる。",
|
193
|
+
"守護星座に関連する人や動物が現れ、星人形に力を貸してくれる。",
|
194
|
+
"運命が不自然なまでに星人形の味方をし、すべてが上手く進んでいく。",
|
195
|
+
"星人形の必要とするものが空中から次々と現れる。",
|
196
|
+
"少しの間だけ〈劇場〉の住人が正気に戻り、一致団結して星人形に協力してくれる。",
|
197
|
+
"体中に星命力が溢れ出し、限界を超えた大規模な星術を扱えるようになる。",
|
198
|
+
]
|
199
|
+
),
|
200
|
+
"BRT" => DiceTable::Table.new(
|
201
|
+
"戦果表", # p.191
|
202
|
+
"1D6",
|
203
|
+
[
|
204
|
+
"所持しているアイテムから一つを選び、同じものをもう一つ獲得する。所持していない場合はもう一度戦果表を使用する。",
|
205
|
+
"時計を獲得する。",
|
206
|
+
"ロザリオを獲得する。",
|
207
|
+
"コンパスを獲得する。",
|
208
|
+
"星の欠片を獲得する。",
|
209
|
+
"自由なアイテムを一つ獲得する。",
|
210
|
+
]
|
211
|
+
),
|
212
|
+
"TRO" => DiceTable::Table.new(
|
213
|
+
"事件表", # p.193
|
214
|
+
"2D6",
|
215
|
+
[
|
216
|
+
"〈変晶体〉を手にした途端、人形兵の軍勢に見つかり追われることに……! なんとかして振り切ろう!",
|
217
|
+
"〈変晶体〉を乗せた物体が空を飛んでいる。接触する方法はないだろうか。",
|
218
|
+
"不気味な商人が現れた。価値あるものを差し出せば、〈変晶体〉と交換してくれるという。上手く交渉しよう。",
|
219
|
+
"〈変晶体〉の影響で理性を失った人々が大喧嘩をしている。これでは浄化するのも困難だ……仲間と協力して仲裁しよう。",
|
220
|
+
"〈変晶体〉は建物の中にあるようだが、警備が厳重だ。どうやって侵入しようか……。",
|
221
|
+
"罪のない人たちが〈変晶体〉を持つ敵に捕らわれているようだ。仲間と共に人々を助け出し、〈変晶体〉を浄化しよう。",
|
222
|
+
"〈変晶体〉に操られた人々がこちらへ敵意の目を向けている。危害は加えたくないが、一体どうすれば……!",
|
223
|
+
"〈変晶体〉に取り憑かれた動物が、仲間に襲いかかった! 早く助け出さなければ!",
|
224
|
+
"仲間が敵にさらわれてしまった! 敵は〈変晶体〉も持っているようだ。追跡して仲間を助けなければ!",
|
225
|
+
"入り組んだ場所に迷い込んでしまった。〈変晶体〉の気配は近いはずだが、どこにあるのだろう?",
|
226
|
+
"〈変晶体〉は深い水の底に沈んでいるようだ。浄化する方法はないだろうか……。",
|
227
|
+
]
|
228
|
+
),
|
229
|
+
"ENC" => DiceTable::Table.new(
|
230
|
+
"遭遇表", # p.193
|
231
|
+
"1D6",
|
232
|
+
[
|
233
|
+
"『弁士』コオロギのパルランテ\n指定特技: 《調和/人間性5》\n効果: プラネタリカードルール非採用時、このセッション中【運命力】を1点上昇させる。\nプラネタリカードルール採用時、ベネフィックを1枚獲得する。",
|
234
|
+
"『航空士』鳩のコロンボ\n指定特技: 《熱意/人間性4》\n効果: コンパスを1つ獲得する。",
|
235
|
+
"『医者』カラスのコルヴォ\n指定特技: 《礼節/人間性11》\n効果: 星の欠片を1つ獲得する。",
|
236
|
+
"『御者』むく犬のメドーラ\n指定特技: 《知恵/人間性3》\n効果: 時計を1つ獲得する。",
|
237
|
+
"『道化』ピエロのアルレッキーノ\n指定特技: 《センス/人間性9》\n効果: 【関係】の使用チェックをすべてはずす。使用チェックがなければ、アルレッキーノに【関係】を獲得する。",
|
238
|
+
"『少女』ヤギのカプレッティーナ\n指定特技: 《愛情/人間性7》\n効果: ロザリオを1つ獲得する。",
|
239
|
+
]
|
240
|
+
),
|
241
|
+
"FWT" => DiceTable::Table.new(
|
242
|
+
"致命傷表", # p.184
|
243
|
+
"1D6",
|
244
|
+
[
|
245
|
+
"敵の攻撃は星人形の瞳を直撃し、宝石は鮮血のごとく砕け散った。PCは形骸化する。",
|
246
|
+
"なんとか致命傷は免れたが、もう戦闘は難しそうだ……。PCは戦闘から脱落する。",
|
247
|
+
"最後の力をふり絞り、星人形は持っていたものを仲間へ投げ渡した。PCは所持しているアイテムを誰かに譲渡したのち戦闘から脱落する。",
|
248
|
+
"星人形は自分の気持ちを誰かに託しながら、地面に倒れ込んだ。仲間のうち誰か一人がPCに対する【関係】を獲得したのち、PCは戦闘から脱落する。",
|
249
|
+
"ただでやられるわけにはいかない……! 星人形は捨て身の攻撃を放つ。PCはエネミー1体に霧装の【耐久値】と同じダメージを与えたのち、戦闘から脱落する。",
|
250
|
+
"こんなところで倒れるわけにはいかない。星人形は【星命力】1点で戦闘に復帰する。再度【星命力】が0になった場合、PCは致命傷表を使用せず戦闘から脱落する。",
|
251
|
+
]
|
252
|
+
),
|
253
|
+
"CAT" => DiceTable::Table.new(
|
254
|
+
"カタストロフ表", # p.198
|
255
|
+
"1D6",
|
256
|
+
[
|
257
|
+
"〈劇場〉全体が大きく揺れ、空間に裂け目が生じる。現実は塗り替えられ……〈変容区〉と化した。最も恐れていた事態に、星人形たちは呆然と立ち尽くすほかなかった。",
|
258
|
+
"激しい地鳴りと共に人形兵たちの増援が押し寄せ、形成が逆転してしまう。星人形たちはやむを得ず〈劇場〉を後にした。",
|
259
|
+
"「時間切れです」戦場に〈悪魔派〉がやってきた。星座の加護は遮られ、星人形の体から力が抜けていく。「いずれまた」という声を最後に星人形の意識は途絶え……現実世界で目を覚ました。",
|
260
|
+
"突如〈型堕ち〉が苦しみ始め、体に残っていた〈悪夢の霧〉を爆発させた。意識を失った星人形たちが目覚めたのは現実世界だった。……まだ再挑戦する時間はあるはずだ。",
|
261
|
+
"〈型堕ち〉は自分を制御できなくなり、〈悪夢の霧〉に呑まれて姿を消してしまった。主を失った〈劇場〉は成長も衰退もしないまま、鏡の中に残り続けることになるだろう。",
|
262
|
+
"〈型堕ち〉の体は膨張する〈悪夢の霧〉の圧力に耐えきれず、宝石を内側から破壊してしまった。〈型堕ち〉に残された命はあとわずかだ。星人形は〈型堕ち〉の最期を看取ることになる。",
|
263
|
+
]
|
264
|
+
),
|
265
|
+
"JDSRT" => DiceTable::Table.new(
|
266
|
+
"〈魔術師の庭〉回想表", # p.187
|
267
|
+
"1D6",
|
268
|
+
[
|
269
|
+
"仕事に必要な道具が不足し、急遽買い出しへ。荷物が重くなりそうだからと、キーNPCも手伝ってくれることになった。",
|
270
|
+
"キーNPCはあなたの仕事に感謝し、プレゼントを贈ってくれた。箱の中身はキーNPCのお気に入りの一品らしい。",
|
271
|
+
"主人はお客さんと話し込んでいる。あなたが部屋の片隅で退屈そうにしていると、キーNPCと目が合った。",
|
272
|
+
"整備作業がひと区切りついたところで、キーNPCがお茶とお菓子を持ってきてくれた。少し休憩しよう。",
|
273
|
+
"整備中、星人形の体に傷が見つかった。どこで付けたのだろう? あなたはキーNPCに聞いてみることにした。",
|
274
|
+
"部屋を移動中、あるものが目に留まる。それはキーNPCにとって思い出深いものであるようだ。",
|
275
|
+
]
|
276
|
+
),
|
277
|
+
"SHRT" => DiceTable::Table.new(
|
278
|
+
"〈セブンス・ヘブン〉回想表", # p.187
|
279
|
+
"1D6",
|
280
|
+
[
|
281
|
+
"掃除をしていたら、お家のものを引っ掛けて壊してしまった! そこへキーNPCがやってきて……。",
|
282
|
+
"キーNPCはちょっとお疲れの様子。あなたはお茶とお菓子を持って労ってあげることにした。",
|
283
|
+
"料理の材料を取りたいのに、棚に手が届かない……。あなたはキーNPCに助けを求めた。",
|
284
|
+
"キーNPCの仕事をお手伝い。こんな体験は初めてだ! あなたはワクワクしながら挑戦する。",
|
285
|
+
"お客さんの星人形に制服を貸し出して、一緒に写真撮影をすることに。照れてるだろうか? それともノリノリ?",
|
286
|
+
"今日はセブンス・ヘブンのファン感謝イベント。会場には、差し入れを持ったキーNPCの姿もあった。",
|
287
|
+
]
|
288
|
+
),
|
289
|
+
"BCRT" => DiceTable::Table.new(
|
290
|
+
"〈祝福の鐘〉回想表", # p.187
|
291
|
+
"1D6",
|
292
|
+
[
|
293
|
+
"終演後のエントランスで挨拶をしていると、キーNPCが誰かと話し込んでいる。ちょっと様子を見に行こう。",
|
294
|
+
"次の公演に向けて衣装合わせ。どんな役をやる? 衣装のフィット具合はどう? 確認していると、キーNPCが様子を見にやってきた。",
|
295
|
+
"基礎練習。地道なルーチンワークの間、スパイスとなるのはキーNPCとのおしゃべりだ。",
|
296
|
+
"学校での公演。終わったあと、子どもたちに囲まれてもみくちゃになる。キーNPCは、子どもが好きだったっけ?",
|
297
|
+
"地方巡業。一緒に移動するキーNPCと、あれこれ話し込んでいると、意外な話題に移っていって……。",
|
298
|
+
"撤収作業も終わりに近づくステージの上。誰もいない客席に向けて、キーNPCが遠い目をしている。",
|
299
|
+
]
|
300
|
+
),
|
301
|
+
"ODRT" => DiceTable::Table.new(
|
302
|
+
"〈オメガ探偵社〉回想表", # p.187
|
303
|
+
"1D6",
|
304
|
+
[
|
305
|
+
"事件調査のため、キーNPCに聞き込み。何か有益な情報は出るだろうか。世間話になってしまうかも?",
|
306
|
+
"依頼もなく平和な探偵事務所へ、キーNPCがやってきた。これが事件の序章に……なるんだろうか?",
|
307
|
+
"みんなで、近所の家のペット探し。キーNPCの見知ったペットらしく、ちょっと心配そうな顔をしている。",
|
308
|
+
"警察の事件調査を手伝うことに。キーNPCは、事件の重要参考人として呼び出されているようだ。",
|
309
|
+
"地道な張り込み調査をしているところへ、キーNPCがやってきた。あなたに差し入れもあるようだ。",
|
310
|
+
"華麗なる事件解決! 主人の推理をたくさん手伝うことができた。キーNPCも、あなたに一目置いてくれそう。",
|
311
|
+
]
|
312
|
+
),
|
313
|
+
}.freeze
|
314
|
+
|
315
|
+
register_prefix('\d+D6', RTT.prefixes, TABLES.keys)
|
316
|
+
end
|
317
|
+
end
|
318
|
+
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'bcdice/base'
|
3
4
|
require 'bcdice/dice_table/d66_range_table'
|
4
5
|
|
5
6
|
module BCDice
|
@@ -20,7 +21,7 @@ module BCDice
|
|
20
21
|
・表
|
21
22
|
・プロフ(Profile):年齢表 PAT, 性別表 PST, 国籍表 PCT
|
22
23
|
・名前表(Name):イギリス NIT, アメリカ NAT, フランス NFT, ドイツ NGT, ソビエト NST, 日本表 NJT
|
23
|
-
・過去表(Past):トゥルース PTT, ガーディアン PGT, ノーブル PNT, デヴォート PDT, エセティック PET, チャレンジ
|
24
|
+
・過去表(Past):トゥルース PTT, ガーディアン PGT, ノーブル PNT, デヴォート PDT, エセティック PET, チャレンジ PACT
|
24
25
|
・経緯表(Background):ギガントアームズ BGT, アーマードリム BAT, エッジモービル BET, クロノウェポン BCT, スパイテック BST, スチームウェア BWT
|
25
26
|
・特徴表(Feature):特徴表S FST, 特徴表P FPT
|
26
27
|
・関係性表(Relationship):関係性表S RST, 関係性表P RPT
|
@@ -52,19 +53,23 @@ module BCDice
|
|
52
53
|
|
53
54
|
result =
|
54
55
|
if dice_list.all? { |x| x == 1 }
|
55
|
-
"ファンブル"
|
56
|
+
Result.fumble("ファンブル")
|
56
57
|
elsif target_number
|
57
|
-
successes >= target_number ? "成功" : "失敗"
|
58
|
+
successes >= target_number ? Result.success("成功") : Result.failure("失敗")
|
59
|
+
else
|
60
|
+
Result.new
|
58
61
|
end
|
59
62
|
|
60
|
-
|
63
|
+
result.text = [
|
61
64
|
"(#{command})",
|
62
65
|
"[#{dice_list_text}]",
|
63
66
|
"成功数:#{successes}, 失敗数:#{failures}",
|
64
|
-
result
|
65
|
-
].compact
|
67
|
+
result.text
|
68
|
+
].compact.join(" > ")
|
66
69
|
|
67
|
-
|
70
|
+
result.critical = dice_list.include?(6)
|
71
|
+
|
72
|
+
return result
|
68
73
|
end
|
69
74
|
|
70
75
|
# スチームパンカーズ用のテーブル
|
@@ -271,6 +276,19 @@ module BCDice
|
|
271
276
|
"【報復】 あなたの恩師は過去に蒸気事件で犠牲となっている。あなたはいつか、その犯人に報復するつもりだ。"
|
272
277
|
]
|
273
278
|
),
|
279
|
+
"PACT" => SPTable.new(
|
280
|
+
"過去表『チャレンジ』",
|
281
|
+
[
|
282
|
+
"【誓い】 とある陰謀により、あなたは大切な何かを失った。いつか陰謀を暴く……それがあなたの誓いだ。",
|
283
|
+
"【研究】 あなたは蒸気犯罪で用いられるスチームギアを撲滅するために、常に研究を続けている。",
|
284
|
+
"【反抗】 あなたは夢や努力を嘲笑されて育った。そのせいか、人々を虐げる蒸気事件が我慢ならない。",
|
285
|
+
"【克服】 あなたは恐ろしい蒸気事件に遭遇した過去がある。その恐怖を克服するため、蒸気事件に挑むのだ。",
|
286
|
+
"【修練】 あなたは修練により、己を高める術を知っている。そして修練のため、蒸気事件に挑むのだ。",
|
287
|
+
"【挑戦】 あなたは幼少時から困難に立ち向かい続けてきた。ゆえに、蒸気事件であろうと立ち向かうのだ。",
|
288
|
+
"【決着】 あなたは怨敵である蒸気事件の犯人を追っている。いつの日か、そいつとは決着をつけるつもりだ。",
|
289
|
+
"【異質】 あなたは困難に立ち向かうことでしか高揚できない。そして、蒸気事件以上の困難など存在しないのだ。"
|
290
|
+
]
|
291
|
+
),
|
274
292
|
"BGT" => SPTable.new(
|
275
293
|
"経緯表『ギガントアームズ』",
|
276
294
|
[
|