bcdice 3.13.0 → 3.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +104 -0
- data/i18n/Arianrhod/ko_kr.yml +3 -0
- data/i18n/Cthulhu/en_us.yml +11 -0
- data/i18n/Cthulhu/zh_hant.yml +1 -1
- data/i18n/CyberpunkRed/ja_jp.yml +389 -0
- data/i18n/CyberpunkRed/ko_kr.yml +389 -0
- data/i18n/DoubleCross/ja_jp.yml +53 -0
- data/i18n/DoubleCross/ko_kr.yml +52 -0
- data/i18n/FinalFantasyXIV/en_us.yml +4 -0
- data/i18n/FinalFantasyXIV/ja_jp.yml +4 -0
- data/i18n/FutariSousa/ja_jp.yml +284 -127
- data/i18n/KillDeathBusiness/ja_jp.yml +198 -0
- data/i18n/KizunaBullet/ja_jp.yml +653 -0
- data/i18n/MagicaLogia/ko_kr.yml +2 -2
- data/i18n/MonotoneMuseum/ja_jp.yml +246 -14
- data/i18n/MonotoneMuseum/ko_kr.yml +227 -0
- data/i18n/SkynautsBouken/ja_jp.yml +114 -0
- data/i18n/SkynautsBouken/ko_kr.yml +114 -0
- data/i18n/StratoShout/ko_kr.yml +102 -102
- data/i18n/TensaiGunshiNiNaro/ja_jp.yml +126 -0
- data/i18n/UnsungDuet/ja_jp.yml +62 -0
- data/i18n/UnsungDuet/ko_kr.yml +62 -0
- data/i18n/en_us.yml +5 -0
- data/i18n/zh_hant.yml +5 -0
- data/lib/bcdice/dice_table/range_table.rb +24 -0
- data/lib/bcdice/game_system/Agnostos.rb +248 -0
- data/lib/bcdice/game_system/Aionia.rb +131 -0
- data/lib/bcdice/game_system/AniMalus.rb +99 -59
- data/lib/bcdice/game_system/Arianrhod_Korean.rb +32 -0
- data/lib/bcdice/game_system/ArknightsFan.rb +245 -87
- data/lib/bcdice/game_system/BlackJacket.rb +244 -0
- data/lib/bcdice/game_system/BlackJacket_Korean.rb +244 -0
- data/lib/bcdice/game_system/CharonSanctions.rb +112 -0
- data/lib/bcdice/game_system/ConvictorDrive.rb +5 -4
- data/lib/bcdice/game_system/Cthulhu7th.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu7th_ChineseTraditional/full_auto.rb +293 -0
- data/lib/bcdice/game_system/Cthulhu7th_ChineseTraditional/rollable.rb +43 -0
- data/lib/bcdice/game_system/Cthulhu7th_ChineseTraditional.rb +470 -306
- data/lib/bcdice/game_system/Cthulhu_English.rb +59 -0
- data/lib/bcdice/game_system/CyberpunkRed.rb +15 -6
- data/lib/bcdice/game_system/CyberpunkRed_Korean.rb +66 -0
- data/lib/bcdice/game_system/DivineCharger.rb +841 -0
- data/lib/bcdice/game_system/DoubleCross.rb +18 -1
- data/lib/bcdice/game_system/DoubleCross_Korean.rb +5 -1
- data/lib/bcdice/game_system/FinalFantasyXIV.rb +115 -0
- data/lib/bcdice/game_system/FinalFantasyXIV_English.rb +39 -0
- data/lib/bcdice/game_system/FullFace.rb +63 -12
- data/lib/bcdice/game_system/FutariSousa.rb +105 -13
- data/lib/bcdice/game_system/Garactier.rb +479 -0
- data/lib/bcdice/game_system/GardenOrder.rb +390 -9
- data/lib/bcdice/game_system/GundogRevised.rb +8 -8
- data/lib/bcdice/game_system/Insane_Korean.rb +1 -1
- data/lib/bcdice/game_system/InvisibleLiar.rb +79 -0
- data/lib/bcdice/game_system/KillDeathBusiness.rb +155 -3
- data/lib/bcdice/game_system/KimitoYell.rb +568 -0
- data/lib/bcdice/game_system/KizunaBullet.rb +240 -0
- data/lib/bcdice/game_system/KyokoShinshoku.rb +51 -8
- data/lib/bcdice/game_system/Magius.rb +125 -0
- data/lib/bcdice/game_system/Magius_3rdNewTokyoCity.rb +62 -0
- data/lib/bcdice/game_system/MonotoneMuseum.rb +14 -1
- data/lib/bcdice/game_system/MonotoneMuseum_Korean.rb +4 -4
- data/lib/bcdice/game_system/NRR.rb +2 -2
- data/lib/bcdice/game_system/NSSQ.rb +17 -9
- data/lib/bcdice/game_system/NervWhitePaper.rb +129 -0
- data/lib/bcdice/game_system/RogueLikeHalf.rb +198 -0
- data/lib/bcdice/game_system/RuneQuestRoleplayingInGlorantha.rb +16 -13
- data/lib/bcdice/game_system/ShinobiGami.rb +73 -43
- data/lib/bcdice/game_system/ShuumatsuBargainWars.rb +203 -0
- data/lib/bcdice/game_system/SkynautsBouken.rb +49 -134
- data/lib/bcdice/game_system/SkynautsBouken_Korean.rb +57 -0
- data/lib/bcdice/game_system/StratoShout_Korean.rb +1 -1
- data/lib/bcdice/game_system/SwordWorld.rb +5 -1
- data/lib/bcdice/game_system/SwordWorld2_5.rb +3 -2
- data/lib/bcdice/game_system/TensaiGunshiNiNaro.rb +262 -0
- data/lib/bcdice/game_system/TheIndieHack.rb +82 -0
- data/lib/bcdice/game_system/TheOneRing2nd.rb +406 -0
- data/lib/bcdice/game_system/TheUnofficialHollowKnightRPG.rb +185 -0
- data/lib/bcdice/game_system/TorgEternity.rb +35 -6
- data/lib/bcdice/game_system/TrailOfCthulhu.rb +139 -0
- data/lib/bcdice/game_system/UnsungDuet.rb +17 -75
- data/lib/bcdice/game_system/UnsungDuet_Korean.rb +41 -0
- data/lib/bcdice/game_system/Utakaze.rb +55 -2
- data/lib/bcdice/game_system/Warhammer4.rb +124 -3
- data/lib/bcdice/game_system/WoW.rb +161 -0
- data/lib/bcdice/game_system/YankeeMustDie.rb +192 -0
- data/lib/bcdice/game_system/YearZeroEngine.rb +225 -28
- data/lib/bcdice/game_system/Yotabana.rb +62 -0
- data/lib/bcdice/game_system/YuMyoKishi.rb +141 -0
- data/lib/bcdice/game_system/cyberpunk_red/tables.rb +111 -473
- data/lib/bcdice/game_system/kizuna_bullet/tables.rb +171 -0
- data/lib/bcdice/game_system/sword_world/rating_lexer.rb +1 -0
- data/lib/bcdice/game_system/sword_world/rating_options.rb +4 -1
- data/lib/bcdice/game_system/sword_world/rating_parsed.rb +5 -0
- data/lib/bcdice/game_system/sword_world/rating_parser.rb +129 -115
- data/lib/bcdice/game_system.rb +31 -0
- data/lib/bcdice/version.rb +1 -1
- metadata +50 -6
|
@@ -38,6 +38,11 @@ module BCDice
|
|
|
38
38
|
・製作委員決定表 PCDT/実際どうだったのか表 OHT
|
|
39
39
|
・タスク表 ヘルライオン PCT1/ヘルクロウ PCT2/ヘルスネーク PCT3/
|
|
40
40
|
ヘルドラゴン PCT4/ヘルフライ PCT5/ヘルゴート PCT6/ヘルベア PCT7
|
|
41
|
+
・大喜利スペシャル表 (-OT)
|
|
42
|
+
お題決定表(TOT)、〇〇を見て一言表(OOT)
|
|
43
|
+
単語表(WOT, WOTx) xに英字(A,B,C)で単語表A(人物)(AOT)、単語表B(物)(BOT)、単語表C(場所)を個別ロール
|
|
44
|
+
動詞表(VOT)、長め単語表(LOT)
|
|
45
|
+
ヘル司会者 リアクション表(好印象ver)(POT)、ヘル司会者 リアクション表(不満ver)(NOT)
|
|
41
46
|
・D66ダイスあり
|
|
42
47
|
INFO_MESSAGE_TEXT
|
|
43
48
|
|
|
@@ -156,21 +161,37 @@ module BCDice
|
|
|
156
161
|
when /^ST(\d)?$/
|
|
157
162
|
# シーン表
|
|
158
163
|
type = Regexp.last_match(1).to_i
|
|
159
|
-
|
|
160
164
|
tableName, result, number = getSceneTableResult(type)
|
|
161
165
|
when /^NAME(\d)?$/
|
|
162
166
|
# 万能命名表
|
|
163
167
|
type = Regexp.last_match(1).to_i
|
|
164
168
|
tableName, result, number = getNameTableResult(type)
|
|
165
169
|
when /^EST$/i, /^sErviceST$/i
|
|
170
|
+
# サービスシーン表
|
|
166
171
|
tableName, result, number = getServiceSceneTableResult()
|
|
167
172
|
when /^HSAT(\d)?$/
|
|
173
|
+
# ヘルスタイリスト罵倒表
|
|
168
174
|
type = Regexp.last_match(1).to_i
|
|
169
175
|
tableName, result, number = getHairStylistAbuseTableResult(type)
|
|
170
|
-
|
|
171
176
|
when /^EXT(\d)?$/
|
|
177
|
+
# エキストラ表
|
|
172
178
|
type = Regexp.last_match(1).to_i
|
|
173
179
|
tableName, result, number = getExtraTableResult(type)
|
|
180
|
+
when /^TOT?$/
|
|
181
|
+
# お題決定表
|
|
182
|
+
tableName, result, number = getThemeTableResult()
|
|
183
|
+
when /^OOT?$/
|
|
184
|
+
# 一言決定表
|
|
185
|
+
tableName, result, number = getOneWordTableResult()
|
|
186
|
+
when /^WOT?$/
|
|
187
|
+
# 単語決定表
|
|
188
|
+
tableName, result, number = getWordTableResult()
|
|
189
|
+
when /^POT?$/
|
|
190
|
+
# ヘル司会者 リアクション表(好印象ver)
|
|
191
|
+
tableName, result, number = getPositiveTableResult()
|
|
192
|
+
when /^NOT?$/
|
|
193
|
+
# ヘル司会者 リアクション表(不満ver)
|
|
194
|
+
tableName, result, number = getNegativeTableResult()
|
|
174
195
|
end
|
|
175
196
|
|
|
176
197
|
if result.empty?
|
|
@@ -333,6 +354,127 @@ module BCDice
|
|
|
333
354
|
return tableName, result, number
|
|
334
355
|
end
|
|
335
356
|
|
|
357
|
+
def getThemeTableResult()
|
|
358
|
+
tableName = translate("KillDeathBusiness.table.TOT.name")
|
|
359
|
+
|
|
360
|
+
result = ''
|
|
361
|
+
d6 = @randomizer.roll_once(6)
|
|
362
|
+
|
|
363
|
+
case d6
|
|
364
|
+
when 1
|
|
365
|
+
oneTableName, oneResult, oneD6, one = getOneWordTableResult()
|
|
366
|
+
result += "[#{oneTableName}]を見て一言。\n#{oneTableName}(#{oneD6}) > #{oneResult}\n> "
|
|
367
|
+
result += translate("KillDeathBusiness.table.TOT.items.1", one: one)
|
|
368
|
+
when 2
|
|
369
|
+
word1TableName, word1Result, word1D6, word1 = getWordTableResult()
|
|
370
|
+
word2TableName, word2Result, word2D6, word2 = getWordTableResult()
|
|
371
|
+
result += "この[#{word1TableName}]、ひょっとして[#{word1TableName}]かも、どうしてそう思った?\n#{word1TableName}(#{word1D6}) > #{word1Result}\n#{word2TableName}(#{word2D6}) > #{word2Result}\n> "
|
|
372
|
+
result += translate("KillDeathBusiness.table.TOT.items.2", word1: word1, word2: word2)
|
|
373
|
+
when 3
|
|
374
|
+
vot = self.class::TABLES["VOT"].roll(@randomizer)
|
|
375
|
+
verbTableName = vot.table_name
|
|
376
|
+
verb = vot.body
|
|
377
|
+
number = vot.value
|
|
378
|
+
wordTableName, wordResult, wordD6, word = getWordTableResult()
|
|
379
|
+
result += "[#{verbTableName}]した[#{wordTableName}]が言いそうなこと。\n#{verbTableName}(#{number}) > #{verb}\n#{wordTableName}(#{wordD6}) > #{wordResult}\n> "
|
|
380
|
+
result += translate("KillDeathBusiness.table.TOT.items.3", verb: verb, word: word)
|
|
381
|
+
when 4
|
|
382
|
+
word1TableName, word1Result, word1D6, word1 = getWordTableResult()
|
|
383
|
+
word2TableName, word2Result, word2D6, word2 = getWordTableResult()
|
|
384
|
+
result += "[#{word1TableName}]が[#{word1TableName}]になった世界ではどんなことが起こる?\n#{word1TableName}(#{word1D6}) > #{word1Result}\n#{word2TableName}(#{word2D6}) > #{word2Result}\n> "
|
|
385
|
+
result += translate("KillDeathBusiness.table.TOT.items.4", word1: word1, word2: word2)
|
|
386
|
+
when 5
|
|
387
|
+
wordTableName, wordResult, wordD6, word = getWordTableResult()
|
|
388
|
+
result += "こんな[#{wordTableName}]は嫌だ。どんなの?\n#{wordTableName}(#{wordD6}) > #{wordResult}\n> "
|
|
389
|
+
result += translate("KillDeathBusiness.table.TOT.items.5", word: word)
|
|
390
|
+
when 6
|
|
391
|
+
lot = self.class::TABLES["LOT"].roll(@randomizer)
|
|
392
|
+
longTableName = lot.table_name
|
|
393
|
+
long = lot.body
|
|
394
|
+
number = lot.value
|
|
395
|
+
result += "[#{longTableName}]みたいなことを言って下さい。\n#{longTableName}(#{number}) > #{long}\n> "
|
|
396
|
+
result += translate("KillDeathBusiness.table.TOT.items.6", long: long)
|
|
397
|
+
end
|
|
398
|
+
|
|
399
|
+
return tableName, result, d6
|
|
400
|
+
end
|
|
401
|
+
|
|
402
|
+
def getOneWordTableResult()
|
|
403
|
+
tableName = translate("KillDeathBusiness.table.OOT.name")
|
|
404
|
+
|
|
405
|
+
result = ''
|
|
406
|
+
d6 = @randomizer.roll_once(6)
|
|
407
|
+
|
|
408
|
+
case d6
|
|
409
|
+
when 1, 2
|
|
410
|
+
oneWord = translate("KillDeathBusiness.table.OOT.items.1")
|
|
411
|
+
result = oneWord
|
|
412
|
+
when 3, 4
|
|
413
|
+
oneWord = translate("KillDeathBusiness.table.OOT.items.3")
|
|
414
|
+
result = oneWord
|
|
415
|
+
when 5, 6
|
|
416
|
+
wordTableName, wordResult, wordD6, word = getWordTableResult()
|
|
417
|
+
result += "[#{wordTableName}]で検索して出てくる6番目の画像\n#{wordTableName}(#{wordD6}) > #{wordResult}\n> "
|
|
418
|
+
oneWord = translate("KillDeathBusiness.table.OOT.items.5", word: word)
|
|
419
|
+
result += oneWord
|
|
420
|
+
end
|
|
421
|
+
|
|
422
|
+
return tableName, result, d6, oneWord
|
|
423
|
+
end
|
|
424
|
+
|
|
425
|
+
def getWordTableResult()
|
|
426
|
+
tableName = "単語表"
|
|
427
|
+
|
|
428
|
+
d6 = @randomizer.roll_once(6)
|
|
429
|
+
table =
|
|
430
|
+
case d6
|
|
431
|
+
when 1, 2
|
|
432
|
+
self.class::TABLES["WOTA"]
|
|
433
|
+
when 3, 4
|
|
434
|
+
self.class::TABLES["WOTB"]
|
|
435
|
+
when 5, 6
|
|
436
|
+
self.class::TABLES["WOTC"]
|
|
437
|
+
end
|
|
438
|
+
|
|
439
|
+
result = table.roll(@randomizer)
|
|
440
|
+
|
|
441
|
+
return tableName, result.to_s, d6, result.body
|
|
442
|
+
end
|
|
443
|
+
|
|
444
|
+
def getPositiveTableResult()
|
|
445
|
+
tableName = translate("KillDeathBusiness.table.POT.name")
|
|
446
|
+
|
|
447
|
+
table = [
|
|
448
|
+
lambda { return translate("KillDeathBusiness.table.POT.items.1", size: @randomizer.roll_sum(1, 6).to_s) },
|
|
449
|
+
lambda { return translate("KillDeathBusiness.table.POT.items.2", size: @randomizer.roll_sum(1, 6).to_s) },
|
|
450
|
+
lambda { return translate("KillDeathBusiness.table.POT.items.3", size: @randomizer.roll_sum(2, 6).to_s) },
|
|
451
|
+
lambda { return translate("KillDeathBusiness.table.POT.items.4", size: @randomizer.roll_sum(2, 6).to_s) },
|
|
452
|
+
translate("KillDeathBusiness.table.POT.items.5"),
|
|
453
|
+
lambda { return translate("KillDeathBusiness.table.POT.items.6", size: (@randomizer.roll_sum(1, 6) - 3).to_s) },
|
|
454
|
+
]
|
|
455
|
+
|
|
456
|
+
result, number = get_table_by_1d6(table)
|
|
457
|
+
|
|
458
|
+
return tableName, result, number
|
|
459
|
+
end
|
|
460
|
+
|
|
461
|
+
def getNegativeTableResult()
|
|
462
|
+
tableName = translate("KillDeathBusiness.table.NOT.name")
|
|
463
|
+
|
|
464
|
+
table = [
|
|
465
|
+
translate("KillDeathBusiness.table.NOT.items.1"),
|
|
466
|
+
translate("KillDeathBusiness.table.NOT.items.2"),
|
|
467
|
+
lambda { return translate("KillDeathBusiness.table.NOT.items.3", size: @randomizer.roll_sum(1, 6).to_s) },
|
|
468
|
+
lambda { return translate("KillDeathBusiness.table.NOT.items.4", size: @randomizer.roll_sum(1, 6).to_s) },
|
|
469
|
+
lambda { return translate("KillDeathBusiness.table.NOT.items.5", size: @randomizer.roll_sum(1, 6).to_s) },
|
|
470
|
+
translate("KillDeathBusiness.table.NOT.items.6"),
|
|
471
|
+
]
|
|
472
|
+
|
|
473
|
+
result, number = get_table_by_1d6(table)
|
|
474
|
+
|
|
475
|
+
return tableName, result, number
|
|
476
|
+
end
|
|
477
|
+
|
|
336
478
|
ALIAS = {
|
|
337
479
|
"DeathWT" => "DWT",
|
|
338
480
|
"RevengeWT" => "RWT",
|
|
@@ -396,6 +538,11 @@ module BCDice
|
|
|
396
538
|
"PASPT" => DiceTable::Table.from_i18n("KillDeathBusiness.table.PASPT", locale),
|
|
397
539
|
"POSPT" => DiceTable::Table.from_i18n("KillDeathBusiness.table.POSPT", locale),
|
|
398
540
|
"UMSPT" => DiceTable::Table.from_i18n("KillDeathBusiness.table.UMSPT", locale),
|
|
541
|
+
"WOTA" => DiceTable::D66Table.from_i18n("KillDeathBusiness.table.WOTA", locale),
|
|
542
|
+
"WOTB" => DiceTable::D66Table.from_i18n("KillDeathBusiness.table.WOTB", locale),
|
|
543
|
+
"WOTC" => DiceTable::D66Table.from_i18n("KillDeathBusiness.table.WOTC", locale),
|
|
544
|
+
"VOT" => DiceTable::D66Table.from_i18n("KillDeathBusiness.table.VOT", locale),
|
|
545
|
+
"LOT" => DiceTable::D66Table.from_i18n("KillDeathBusiness.table.LOT", locale),
|
|
399
546
|
}
|
|
400
547
|
end
|
|
401
548
|
|
|
@@ -413,7 +560,12 @@ module BCDice
|
|
|
413
560
|
'EST', 'sErviceST',
|
|
414
561
|
'HSAT[1-2]?',
|
|
415
562
|
'EXT[1-4]?',
|
|
416
|
-
'JD'
|
|
563
|
+
'JD',
|
|
564
|
+
'TOT',
|
|
565
|
+
'OOT',
|
|
566
|
+
'WOT',
|
|
567
|
+
'POT',
|
|
568
|
+
'NOT'
|
|
417
569
|
)
|
|
418
570
|
register_prefix(TABLES.keys, register_prefix(ALIAS.keys), RTT.prefixes)
|
|
419
571
|
end
|