bcdice 3.0.0.pre.alpha.1 → 3.0.0.pre.alpha.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +1 -1
- data/.rubocop.yml +12 -0
- data/.rubocop_todo.yml +1 -0
- data/CHANGELOG.md +34 -0
- data/Gemfile +6 -3
- data/Rakefile +52 -18
- data/bcdice.gemspec +2 -0
- data/i18n/Amadeus/ja_jp.yml +386 -0
- data/i18n/Amadeus/ko_kr.yml +148 -0
- data/i18n/Cthulhu/ja_jp.yml +11 -0
- data/i18n/Cthulhu/ko_kr.yml +11 -0
- data/i18n/Cthulhu/zh_hant.yml +11 -0
- data/i18n/DetatokoSaga/ja_jp.yml +74 -0
- data/i18n/DetatokoSaga/ko_kr.yml +74 -0
- data/i18n/DoubleCross/ja_jp.yml +53 -0
- data/i18n/DoubleCross/ko_kr.yml +53 -0
- data/i18n/Dracurouge/ja_jp.yml +1374 -0
- data/i18n/Dracurouge/ko_kr.yml +295 -0
- data/i18n/Fiasco/ja_jp.yml +10 -0
- data/i18n/Fiasco/ko_kr.yml +10 -0
- data/i18n/FutariSousa/ja_jp.yml +720 -0
- data/i18n/FutariSousa/ko_kr.yml +746 -0
- data/i18n/Insane/ja_jp.yml +454 -0
- data/i18n/Insane/ko_kr.yml +502 -0
- data/i18n/Kamigakari/ja_jp.yml +276 -0
- data/i18n/Kamigakari/ko_kr.yml +204 -0
- data/i18n/KillDeathBusiness/ja_jp.yml +1092 -0
- data/i18n/KillDeathBusiness/ko_kr.yml +1062 -0
- data/i18n/LogHorizon/ja_jp.yml +3082 -0
- data/i18n/LogHorizon/ko_kr.yml +923 -0
- data/i18n/MagicaLogia/ja_jp.yml +564 -0
- data/i18n/MonotoneMuseum/ja_jp.yml +525 -0
- data/i18n/MonotoneMuseum/ko_kr.yml +89 -0
- data/i18n/Nechronica/ja_jp.yml +57 -0
- data/i18n/Nechronica/ko_kr.yml +14 -0
- data/i18n/StratoShout/ja_jp.yml +160 -0
- data/i18n/StratoShout/ko_kr.yml +160 -0
- data/i18n/ja_jp.yml +5 -0
- data/i18n/ko_kr.yml +7 -0
- data/i18n/zh_hant.yml +3 -0
- data/lib/bcdice/arithmetic/node.rb +154 -0
- data/lib/bcdice/base.rb +87 -101
- data/lib/bcdice/common_command.rb +2 -0
- data/lib/bcdice/common_command/add_dice.rb +5 -41
- data/lib/bcdice/common_command/add_dice/node.rb +92 -16
- data/lib/bcdice/common_command/add_dice/parser.rb +374 -274
- data/lib/bcdice/common_command/add_dice/parser.y +153 -0
- data/lib/bcdice/common_command/add_dice/randomizer.rb +25 -33
- data/lib/bcdice/common_command/barabara_dice.rb +6 -47
- data/lib/bcdice/common_command/barabara_dice/node.rb +84 -0
- data/lib/bcdice/common_command/barabara_dice/parser.rb +336 -0
- data/lib/bcdice/common_command/barabara_dice/parser.y +107 -0
- data/lib/bcdice/common_command/calc.rb +7 -30
- data/lib/bcdice/common_command/calc/node.rb +30 -0
- data/lib/bcdice/common_command/calc/parser.rb +271 -0
- data/lib/bcdice/common_command/calc/parser.y +79 -0
- data/lib/bcdice/common_command/choice.rb +137 -19
- data/lib/bcdice/common_command/d66_dice.rb +48 -34
- data/lib/bcdice/common_command/lexer.rb +46 -0
- data/lib/bcdice/common_command/repeat.rb +102 -0
- data/lib/bcdice/common_command/reroll_dice.rb +8 -158
- data/lib/bcdice/common_command/reroll_dice/node.rb +198 -0
- data/lib/bcdice/common_command/reroll_dice/parser.rb +421 -0
- data/lib/bcdice/common_command/reroll_dice/parser.y +158 -0
- data/lib/bcdice/common_command/upper_dice.rb +10 -129
- data/lib/bcdice/common_command/upper_dice/node.rb +181 -0
- data/lib/bcdice/common_command/upper_dice/parser.rb +412 -0
- data/lib/bcdice/common_command/upper_dice/parser.y +143 -0
- data/lib/bcdice/common_command/version.rb +9 -17
- data/lib/bcdice/deprecated/checker.rb +78 -0
- data/lib/bcdice/dice_table/d66_grid_table.rb +8 -0
- data/lib/bcdice/dice_table/d66_table.rb +10 -0
- data/lib/bcdice/dice_table/sai_fic_skill_table.rb +75 -17
- data/lib/bcdice/dice_table/sai_fic_skill_table/category.rb +25 -0
- data/lib/bcdice/dice_table/sai_fic_skill_table/skill.rb +23 -0
- data/lib/bcdice/dice_table/table.rb +8 -0
- data/lib/bcdice/game_system.rb +7 -1
- data/lib/bcdice/game_system/AFF2e.rb +1 -1
- data/lib/bcdice/game_system/AceKillerGene.rb +2 -2
- data/lib/bcdice/game_system/Airgetlamh.rb +3 -3
- data/lib/bcdice/game_system/Alsetto.rb +1 -1
- data/lib/bcdice/game_system/Alshard.rb +1 -1
- data/lib/bcdice/game_system/AlterRaise.rb +2 -2
- data/lib/bcdice/game_system/Amadeus.rb +46 -507
- data/lib/bcdice/game_system/Amadeus_Korean.rb +12 -456
- data/lib/bcdice/game_system/AnimaAnimus.rb +1 -1
- data/lib/bcdice/game_system/Arianrhod.rb +0 -1
- data/lib/bcdice/game_system/ArsMagica.rb +1 -1
- data/lib/bcdice/game_system/Avandner.rb +1 -1
- data/lib/bcdice/game_system/BBN.rb +1 -1
- data/lib/bcdice/game_system/BadLife.rb +1 -1
- data/lib/bcdice/game_system/BarnaKronika.rb +1 -1
- data/lib/bcdice/game_system/BeastBindTrinity.rb +1 -2
- data/lib/bcdice/game_system/BeginningIdol.rb +2 -3
- data/lib/bcdice/game_system/BeginningIdol_Korean.rb +2 -3
- data/lib/bcdice/game_system/BladeOfArcana.rb +2 -2
- data/lib/bcdice/game_system/BlindMythos.rb +1 -1
- data/lib/bcdice/game_system/BloodCrusade.rb +0 -1
- data/lib/bcdice/game_system/BloodMoon.rb +0 -1
- data/lib/bcdice/game_system/CardRanker.rb +1 -2
- data/lib/bcdice/game_system/ChaosFlare.rb +1 -1
- data/lib/bcdice/game_system/Chill.rb +1 -1
- data/lib/bcdice/game_system/CodeLayerd.rb +1 -1
- data/lib/bcdice/game_system/ColossalHunter.rb +1 -2
- data/lib/bcdice/game_system/Comes.rb +50 -0
- data/lib/bcdice/game_system/CrashWorld.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu.rb +94 -97
- data/lib/bcdice/game_system/Cthulhu7th.rb +108 -67
- 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/CthulhuTech.rb +8 -14
- data/lib/bcdice/game_system/Cthulhu_ChineseTraditional.rb +7 -190
- data/lib/bcdice/game_system/Cthulhu_Korean.rb +5 -186
- data/lib/bcdice/game_system/DarkBlaze.rb +9 -5
- data/lib/bcdice/game_system/DarkDaysDrive.rb +17 -15
- data/lib/bcdice/game_system/DarkSouls.rb +1 -1
- data/lib/bcdice/game_system/DeadlineHeroes.rb +2 -2
- data/lib/bcdice/game_system/DemonParasite.rb +1 -2
- data/lib/bcdice/game_system/DetatokoSaga.rb +48 -149
- data/lib/bcdice/game_system/DetatokoSaga_Korean.rb +6 -274
- data/lib/bcdice/game_system/DiceOfTheDead.rb +9 -6
- data/lib/bcdice/game_system/DoubleCross.rb +102 -81
- data/lib/bcdice/game_system/DoubleCross_Korean.rb +13 -330
- data/lib/bcdice/game_system/Dracurouge.rb +376 -1678
- data/lib/bcdice/game_system/Dracurouge_Korean.rb +16 -271
- data/lib/bcdice/game_system/EarthDawn.rb +1 -1
- data/lib/bcdice/game_system/EarthDawn3.rb +1 -1
- data/lib/bcdice/game_system/EarthDawn4.rb +1 -1
- data/lib/bcdice/game_system/Elysion.rb +3 -4
- data/lib/bcdice/game_system/EmbryoMachine.rb +1 -1
- data/lib/bcdice/game_system/Emoklore.rb +131 -0
- data/lib/bcdice/game_system/EndBreaker.rb +1 -2
- data/lib/bcdice/game_system/EtrianOdysseySRS.rb +1 -1
- data/lib/bcdice/game_system/Fiasco.rb +87 -70
- data/lib/bcdice/game_system/Fiasco_Korean.rb +7 -95
- data/lib/bcdice/game_system/FilledWith.rb +462 -566
- data/lib/bcdice/game_system/FullMetalPanic.rb +1 -1
- data/lib/bcdice/game_system/FutariSousa.rb +103 -938
- data/lib/bcdice/game_system/FutariSousa_Korean.rb +7 -948
- data/lib/bcdice/game_system/{Gurps.rb → GURPS.rb} +184 -217
- data/lib/bcdice/game_system/Garako.rb +131 -39
- data/lib/bcdice/game_system/GardenOrder.rb +2 -2
- data/lib/bcdice/game_system/GehennaAn.rb +1 -1
- data/lib/bcdice/game_system/GeishaGirlwithKatana.rb +1 -1
- data/lib/bcdice/game_system/GoblinSlayer.rb +1 -1
- data/lib/bcdice/game_system/GoldenSkyStories.rb +1 -1
- data/lib/bcdice/game_system/Gorilla.rb +1 -1
- data/lib/bcdice/game_system/GranCrest.rb +2 -3
- data/lib/bcdice/game_system/GundogRevised.rb +1 -1
- data/lib/bcdice/game_system/GundogZero.rb +1 -1
- data/lib/bcdice/game_system/GurpsFW.rb +2 -3
- data/lib/bcdice/game_system/HarnMaster.rb +2 -2
- data/lib/bcdice/game_system/HatsuneMiku.rb +1 -2
- data/lib/bcdice/game_system/HouraiGakuen.rb +1 -1
- data/lib/bcdice/game_system/HuntersMoon.rb +1 -2
- data/lib/bcdice/game_system/Illusio.rb +2 -2
- data/lib/bcdice/game_system/Insane.rb +90 -717
- data/lib/bcdice/game_system/Insane_Korean.rb +7 -719
- data/lib/bcdice/game_system/Kamigakari.rb +47 -242
- data/lib/bcdice/game_system/Kamigakari_Korean.rb +6 -394
- data/lib/bcdice/game_system/KanColle.rb +3 -3
- data/lib/bcdice/game_system/KemonoNoMori.rb +1 -1
- data/lib/bcdice/game_system/KillDeathBusiness.rb +162 -1144
- data/lib/bcdice/game_system/KillDeathBusiness_Korean.rb +6 -1459
- data/lib/bcdice/game_system/KurayamiCrying.rb +1 -1
- data/lib/bcdice/game_system/LiveraDoll.rb +2 -2
- data/lib/bcdice/game_system/LogHorizon.rb +350 -3379
- data/lib/bcdice/game_system/LogHorizon_Korean.rb +55 -1357
- data/lib/bcdice/game_system/LostRecord.rb +0 -1
- data/lib/bcdice/game_system/LostRoyal.rb +1 -2
- data/lib/bcdice/game_system/MagicaLogia.rb +158 -1044
- data/lib/bcdice/game_system/MeikyuDays.rb +1 -2
- data/lib/bcdice/game_system/MeikyuKingdom.rb +4 -4
- data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +4 -5
- data/lib/bcdice/game_system/MetalHead.rb +1 -1
- data/lib/bcdice/game_system/MetalHeadExtream.rb +2 -2
- data/lib/bcdice/game_system/MetallicGuardian.rb +1 -1
- data/lib/bcdice/game_system/MonotoneMuseum.rb +38 -239
- data/lib/bcdice/game_system/MonotoneMuseum_Korean.rb +10 -270
- data/lib/bcdice/game_system/NSSQ.rb +159 -0
- data/lib/bcdice/game_system/Nechronica.rb +34 -73
- data/lib/bcdice/game_system/Nechronica_Korean.rb +11 -128
- data/lib/bcdice/game_system/NeverCloud.rb +1 -1
- data/lib/bcdice/game_system/NightWizard.rb +1 -1
- data/lib/bcdice/game_system/NightWizard3rd.rb +1 -1
- data/lib/bcdice/game_system/NinjaSlayer.rb +12 -11
- data/lib/bcdice/game_system/NjslyrBattle.rb +1 -1
- data/lib/bcdice/game_system/OneWayHeroics.rb +1 -2
- data/lib/bcdice/game_system/OracleEngine.rb +1 -1
- data/lib/bcdice/game_system/OrgaRain.rb +2 -2
- data/lib/bcdice/game_system/Paradiso.rb +1 -1
- data/lib/bcdice/game_system/Paranoia.rb +1 -1
- data/lib/bcdice/game_system/ParanoiaRebooted.rb +1 -1
- data/lib/bcdice/game_system/ParasiteBlood.rb +1 -1
- data/lib/bcdice/game_system/Peekaboo.rb +22 -122
- data/lib/bcdice/game_system/Postman.rb +2 -2
- data/lib/bcdice/game_system/PulpCthulhu.rb +3 -3
- data/lib/bcdice/game_system/Raisondetre.rb +2 -2
- data/lib/bcdice/game_system/RecordOfLodossWar.rb +1 -1
- data/lib/bcdice/game_system/RecordOfSteam.rb +1 -1
- data/lib/bcdice/game_system/RokumonSekai2.rb +1 -1
- data/lib/bcdice/game_system/RuinBreakers.rb +296 -0
- data/lib/bcdice/game_system/Ryutama.rb +1 -1
- data/lib/bcdice/game_system/SRS.rb +1 -2
- data/lib/bcdice/game_system/SamsaraBallad.rb +1 -1
- data/lib/bcdice/game_system/Satasupe.rb +1 -2
- data/lib/bcdice/game_system/ScreamHighSchool.rb +2 -2
- data/lib/bcdice/game_system/SevenFortressMobius.rb +1 -1
- data/lib/bcdice/game_system/ShadowRun5.rb +2 -2
- data/lib/bcdice/game_system/SharedFantasia.rb +1 -1
- data/lib/bcdice/game_system/ShinMegamiTenseiKakuseihen.rb +1 -1
- data/lib/bcdice/game_system/ShinkuuGakuen.rb +2 -2
- data/lib/bcdice/game_system/ShinobiGami.rb +1 -2
- data/lib/bcdice/game_system/ShoujoTenrankai.rb +2 -2
- data/lib/bcdice/game_system/Skynauts.rb +1 -1
- data/lib/bcdice/game_system/SteamPunkers.rb +1 -1
- data/lib/bcdice/game_system/StellarKnights.rb +1 -2
- data/lib/bcdice/game_system/SterileLife.rb +1 -1
- data/lib/bcdice/game_system/StrangerOfSwordCity.rb +1 -2
- data/lib/bcdice/game_system/StratoShout.rb +44 -247
- data/lib/bcdice/game_system/StratoShout_Korean.rb +6 -282
- data/lib/bcdice/game_system/Strave.rb +2 -2
- data/lib/bcdice/game_system/SwordWorld.rb +8 -9
- data/lib/bcdice/game_system/SwordWorld2_0.rb +2 -3
- data/lib/bcdice/game_system/SwordWorld2_5.rb +2 -3
- data/lib/bcdice/game_system/TherapieSein.rb +1 -1
- data/lib/bcdice/game_system/TokumeiTenkousei.rb +1 -1
- data/lib/bcdice/game_system/TokyoGhostResearch.rb +2 -2
- data/lib/bcdice/game_system/Torg.rb +2 -2
- data/lib/bcdice/game_system/Torg1_5.rb +1 -1
- data/lib/bcdice/game_system/TorgEternity.rb +1 -1
- data/lib/bcdice/game_system/TrinitySeven.rb +1 -1
- data/lib/bcdice/game_system/TunnelsAndTrolls.rb +1 -1
- data/lib/bcdice/game_system/TwilightGunsmoke.rb +1 -2
- data/lib/bcdice/game_system/UnsungDuet.rb +139 -0
- data/lib/bcdice/game_system/Utakaze.rb +1 -1
- data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +1 -1
- data/lib/bcdice/game_system/Villaciel.rb +1 -2
- data/lib/bcdice/game_system/Warhammer.rb +1 -1
- data/lib/bcdice/game_system/Warhammer4.rb +329 -0
- data/lib/bcdice/game_system/WitchQuest.rb +1 -1
- data/lib/bcdice/game_system/WorldOfDarkness.rb +1 -1
- data/lib/bcdice/game_system/YankeeYogSothoth.rb +15 -15
- data/lib/bcdice/game_system/YearZeroEngine.rb +1 -1
- data/lib/bcdice/game_system/ZettaiReido.rb +1 -1
- data/lib/bcdice/game_system/filled_with/cook_tables.rb +119 -0
- data/lib/bcdice/game_system/filled_with/lot_tables.rb +155 -0
- data/lib/bcdice/loader.rb +6 -8
- data/lib/bcdice/preprocessor.rb +15 -40
- data/lib/bcdice/repl.rb +1 -1
- data/lib/bcdice/result.rb +83 -0
- data/lib/bcdice/translate.rb +11 -0
- data/lib/bcdice/version.rb +1 -1
- metadata +80 -4
@@ -1,24 +1,16 @@
|
|
1
1
|
module BCDice
|
2
2
|
module CommonCommand
|
3
|
-
|
3
|
+
module Version
|
4
4
|
PREFIX_PATTERN = /BCDiceVersion/.freeze
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
def secret?
|
15
|
-
false
|
16
|
-
end
|
17
|
-
|
18
|
-
# @return [String, nil]
|
19
|
-
def eval
|
20
|
-
if @command == "BCDICEVERSION"
|
21
|
-
"BCDice Ver#{BCDice::VERSION}"
|
6
|
+
class << self
|
7
|
+
def eval(command, _game_system, _randomizer)
|
8
|
+
command = command.split(" ", 2).first
|
9
|
+
if command.match?(/^BCDiceVersion$/i)
|
10
|
+
Result.new.tap do |r|
|
11
|
+
r.text = "BCDice Ver#{BCDice::VERSION}"
|
12
|
+
end
|
13
|
+
end
|
22
14
|
end
|
23
15
|
end
|
24
16
|
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module BCDice
|
4
|
+
module Deprecated
|
5
|
+
# 2D6などの特定の加算ダイスの結果をゲームシステムごとにカスタマイズするための
|
6
|
+
# @deprecate Base#result_2d6 等を利用してください
|
7
|
+
module Checker
|
8
|
+
private
|
9
|
+
|
10
|
+
# @param total [Integer] コマンド合計値
|
11
|
+
# @param rand_results [Array<CommonCommand::AddDice::Randomizer::RandResult>] ダイスの一覧
|
12
|
+
# @param cmp_op [Symbol] 比較演算子
|
13
|
+
# @param target [Integer, String] 目標値の整数か'?'
|
14
|
+
# @return [Result, nil]
|
15
|
+
def check_result_legacy(total, rand_results, cmp_op, target)
|
16
|
+
sides_list = rand_results.map(&:sides)
|
17
|
+
value_list = rand_results.map(&:value)
|
18
|
+
dice_total = value_list.sum()
|
19
|
+
|
20
|
+
ret =
|
21
|
+
case sides_list
|
22
|
+
when [100]
|
23
|
+
check_1D100(total, dice_total, cmp_op, target)
|
24
|
+
when [20]
|
25
|
+
check_1D20(total, dice_total, cmp_op, target)
|
26
|
+
when [6, 6]
|
27
|
+
check_2D6(total, dice_total, value_list, cmp_op, target)
|
28
|
+
end
|
29
|
+
|
30
|
+
return Result.new(ret.delete_prefix(" > ")) unless ret.nil? || ret.empty?
|
31
|
+
|
32
|
+
ret =
|
33
|
+
case sides_list.uniq
|
34
|
+
when [10]
|
35
|
+
check_nD10(total, dice_total, value_list, cmp_op, target)
|
36
|
+
when [6]
|
37
|
+
check_nD6(total, dice_total, value_list, cmp_op, target)
|
38
|
+
end
|
39
|
+
|
40
|
+
return Result.new(ret.delete_prefix(" > ")) unless ret.nil? || ret.empty?
|
41
|
+
|
42
|
+
return nil
|
43
|
+
end
|
44
|
+
|
45
|
+
# @param total [Integer]
|
46
|
+
# @param dice_total [Integer]
|
47
|
+
# @param cmp_op [Symbol]
|
48
|
+
# @param target
|
49
|
+
# @return [String, nil]
|
50
|
+
# @deprecate Base#result_1d100 を使ってください
|
51
|
+
def check_1D100(total, dice_total, cmp_op, target); end
|
52
|
+
|
53
|
+
# @param (see #check_1D100)
|
54
|
+
# @return [String, nil]
|
55
|
+
# @deprecate Base#result_1d20 を使ってください
|
56
|
+
def check_1D20(total, dice_total, cmp_op, target); end
|
57
|
+
|
58
|
+
# @param total [Integer]
|
59
|
+
# @param dice_total [Integer]
|
60
|
+
# @param dice_list [Array<Integer>]
|
61
|
+
# @param cmp_op [Symbol]
|
62
|
+
# @param target
|
63
|
+
# @return [String, nil]
|
64
|
+
# @deprecate Base#result_nd10 を使ってください
|
65
|
+
def check_nD10(total, dice_total, dice_list, cmp_op, target); end
|
66
|
+
|
67
|
+
# @param (see #check_nD10)
|
68
|
+
# @return [String, nil]
|
69
|
+
# @deprecate Base#result_2d6 を使ってください
|
70
|
+
def check_2D6(total, dice_total, dice_list, cmp_op, target); end
|
71
|
+
|
72
|
+
# @param (see #check_nD10)
|
73
|
+
# @return [String, nil]
|
74
|
+
# @deprecate Base#result_nd6 を使ってください
|
75
|
+
def check_nD6(total, dice_total, dice_list, cmp_op, target); end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -2,6 +2,14 @@ module BCDice
|
|
2
2
|
module DiceTable
|
3
3
|
# D66を振って6x6マスの表を参照する
|
4
4
|
class D66GridTable
|
5
|
+
# @param key [String]
|
6
|
+
# @param locale [Symbol]
|
7
|
+
# @return [D66GridTable]
|
8
|
+
def self.from_i18n(key, locale)
|
9
|
+
table = I18n.t(key, locale: locale, raise: true)
|
10
|
+
new(table[:name], table[:items])
|
11
|
+
end
|
12
|
+
|
5
13
|
# @param [String] name 表の名前
|
6
14
|
# @param [Array<Array<String>>] items 表の項目の配列
|
7
15
|
def initialize(name, items)
|
@@ -2,6 +2,16 @@ module BCDice
|
|
2
2
|
module DiceTable
|
3
3
|
# D66を振って出目を昇順/降順にして表を参照する
|
4
4
|
class D66Table
|
5
|
+
# @param key [String]
|
6
|
+
# @param locale [Symbol]
|
7
|
+
# @return [D66Table]
|
8
|
+
def self.from_i18n(key, locale)
|
9
|
+
table = I18n.t(key, locale: locale)
|
10
|
+
sort_type = D66SortType.const_get(table[:d66_sort_type])
|
11
|
+
|
12
|
+
new(table[:name], sort_type, table[:items])
|
13
|
+
end
|
14
|
+
|
5
15
|
# @param [String] name 表の名前
|
6
16
|
# @param [Symbol] sort_type 出目入れ替えの方式 BCDice::D66SortType
|
7
17
|
# @param [Hash] items 表の項目 Key は数値
|
@@ -1,31 +1,89 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "bcdice/dice_table/sai_fic_skill_table/category"
|
4
|
+
require "bcdice/dice_table/sai_fic_skill_table/skill"
|
5
|
+
|
1
6
|
module BCDice
|
2
7
|
module DiceTable
|
3
8
|
class SaiFicSkillTable
|
4
|
-
|
5
|
-
|
6
|
-
|
9
|
+
# @param key [String]
|
10
|
+
# @param locale [Symbol]
|
11
|
+
# @param rtt [String] RTTに相当するコマンド
|
12
|
+
# @param rct [String] RCTに相当するコマンド
|
13
|
+
# @param rttn [Array] RTT1~6に相当するコマンドの配列
|
14
|
+
# @return [SaiFicSkillTable]
|
15
|
+
def self.from_i18n(key, locale, rtt: nil, rct: nil, rttn: nil)
|
16
|
+
global = I18n.t("RTT", locale: locale, raise: false, default: {})
|
17
|
+
table = global.merge(I18n.t(key, locale: locale, raise: true))
|
18
|
+
items = table[:items]
|
19
|
+
table = table.select { |k, _| [:rtt_format, :rttn_format, :rct_format, :s_format].include?(k) }
|
20
|
+
new(items, **table, rtt: rtt, rct: rct, rttn: rttn)
|
7
21
|
end
|
8
22
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
23
|
+
DEFAULT_RTT = "ランダム特技表(%<category_dice>d,%<row_dice>d) > %<text>s"
|
24
|
+
DEFAULT_RCT = "ランダム分野表(%<category_dice>d) > %<category_name>s"
|
25
|
+
DEFAULT_RTTN = "%<category_name>s分野ランダム特技表(%<row_dice>d) > %<text>s"
|
26
|
+
DEFAULT_S = "《%<skill_name>s/%<category_name>s%<row_dice>d》"
|
13
27
|
|
14
|
-
|
15
|
-
|
16
|
-
|
28
|
+
# サイコロ・フィクション用ダイステーブルを初期化する。
|
29
|
+
# 既存の実装の互換性維持とルールブックの記載に準拠するために、コマンドと書式文字列を指定できる。
|
30
|
+
# @param items [Array] 特技リスト
|
31
|
+
# @param rtt [String] RTTに相当するコマンド
|
32
|
+
# @param rct [String] RCTに相当するコマンド
|
33
|
+
# @param rttn [Array] RTT1~6に相当するコマンドの配列
|
34
|
+
# @param rtt_format [String] RTTコマンドの出力用の書式文字列
|
35
|
+
# @param rct_format [String] RCTコマンドの出力用の書式文字列
|
36
|
+
# @param rttn_format [String] RTTNコマンドの出力用の書式文字列
|
37
|
+
# @param s_format [String] Skill#to_s出力用の書式文字列
|
38
|
+
def initialize(items, rtt: nil, rct: nil, rttn: nil, rtt_format: DEFAULT_RTT, rct_format: DEFAULT_RCT, rttn_format: DEFAULT_RTTN, s_format: DEFAULT_S)
|
39
|
+
@categories = items.map.with_index(1) do |(name, skills), index|
|
40
|
+
SaiFicSkillTable::Category.new(name, skills, index, s_format)
|
41
|
+
end
|
42
|
+
@rtt = rtt
|
43
|
+
@rct = rct
|
44
|
+
@rttn = rttn.to_a
|
45
|
+
@rtt_format = rtt_format
|
46
|
+
@rct_format = rct_format
|
47
|
+
@rttn_format = rttn_format
|
48
|
+
end
|
17
49
|
|
18
|
-
|
50
|
+
RTTN = ["RTT1", "RTT2", "RTT3", "RTT4", "RTT5", "RTT6"].freeze
|
51
|
+
attr_reader :categories
|
52
|
+
|
53
|
+
# コマンドを解釈し、結果を取得する
|
54
|
+
# return [String]
|
55
|
+
def roll_command(randomizer, command)
|
56
|
+
c = command
|
57
|
+
if ["RTT", @rtt].include?(c)
|
58
|
+
format_skill(@rtt_format, roll_skill(randomizer))
|
59
|
+
elsif ["RCT", @rct].include?(c)
|
60
|
+
cat = roll_category(randomizer)
|
61
|
+
format(@rct_format, category_dice: cat.dice, category_name: cat.name)
|
62
|
+
elsif (index = RTTN.index(c)) || (index = @rttn.index(c))
|
63
|
+
format_skill(@rttn_format, @categories[index].roll(randomizer))
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
# 1D6を振り、ランダムで分野を決定する
|
68
|
+
# @return [SaiFicSkillTable::Category]
|
69
|
+
def roll_category(randomizer)
|
70
|
+
@categories[randomizer.roll_once(6) - 1]
|
71
|
+
end
|
72
|
+
|
73
|
+
# 1D6と2D6を振り、ランダムで特技を決定する
|
74
|
+
# @return [SaiFicSkillTable::Skill]
|
75
|
+
def roll_skill(randomizer)
|
76
|
+
roll_category(randomizer).roll(randomizer)
|
77
|
+
end
|
78
|
+
|
79
|
+
def prefixes
|
80
|
+
([/RTT[1-6]?/i, "RCT", @rtt, @rct] + @rttn).compact
|
19
81
|
end
|
20
82
|
|
21
83
|
private
|
22
84
|
|
23
|
-
def
|
24
|
-
|
25
|
-
"《#{skill}/#{category}#{skill_dice}》"
|
26
|
-
else
|
27
|
-
"#{category}《#{skill}》"
|
28
|
-
end
|
85
|
+
def format_skill(format_string, skill)
|
86
|
+
format(format_string, category_dice: skill.category_dice, row_dice: skill.row_dice, category_name: skill.category_name, skill_name: skill.name, text: skill.to_s)
|
29
87
|
end
|
30
88
|
end
|
31
89
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module BCDice
|
4
|
+
module DiceTable
|
5
|
+
class SaiFicSkillTable
|
6
|
+
class Category
|
7
|
+
def initialize(name, skills, dice, s_format)
|
8
|
+
@name = name
|
9
|
+
@skills = skills.map.with_index(2) { |s, index| SaiFicSkillTable::Skill.new(name, s, dice, index, s_format) }
|
10
|
+
@dice = dice
|
11
|
+
end
|
12
|
+
|
13
|
+
def roll(randomizer)
|
14
|
+
skills[randomizer.roll_sum(2, 6) - 2]
|
15
|
+
end
|
16
|
+
|
17
|
+
def to_s
|
18
|
+
@name
|
19
|
+
end
|
20
|
+
|
21
|
+
attr_reader :name, :dice, :skills
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module BCDice
|
4
|
+
module DiceTable
|
5
|
+
class SaiFicSkillTable
|
6
|
+
class Skill
|
7
|
+
def initialize(category_name, skill_name, category_dice, row_dice, s_format)
|
8
|
+
@category_name = category_name
|
9
|
+
@name = skill_name
|
10
|
+
@category_dice = category_dice
|
11
|
+
@row_dice = row_dice
|
12
|
+
@s_format = s_format
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_s
|
16
|
+
format(@s_format, category_dice: @category_dice, row_dice: @row_dice, category_name: @category_name, skill_name: @name)
|
17
|
+
end
|
18
|
+
|
19
|
+
attr_reader :category_name, :name, :category_dice, :row_dice
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -2,6 +2,14 @@ module BCDice
|
|
2
2
|
module DiceTable
|
3
3
|
# 表を表すクラス
|
4
4
|
class Table
|
5
|
+
# @param key [String]
|
6
|
+
# @param locale [Symbol]
|
7
|
+
# @return [Table]
|
8
|
+
def self.from_i18n(key, locale)
|
9
|
+
table = I18n.t(key, locale: locale)
|
10
|
+
new(table[:name], table[:type], table[:items])
|
11
|
+
end
|
12
|
+
|
5
13
|
# @param [String] name 表の名前
|
6
14
|
# @param [String] type 項目を選ぶときのダイスロールの方法 '1D6'など
|
7
15
|
# @param [Array<String>] items 表の項目の配列
|
data/lib/bcdice/game_system.rb
CHANGED
@@ -27,6 +27,7 @@ require "bcdice/game_system/Chill"
|
|
27
27
|
require "bcdice/game_system/Chill3"
|
28
28
|
require "bcdice/game_system/CodeLayerd"
|
29
29
|
require "bcdice/game_system/ColossalHunter"
|
30
|
+
require "bcdice/game_system/Comes"
|
30
31
|
require "bcdice/game_system/CrashWorld"
|
31
32
|
require "bcdice/game_system/Cthulhu"
|
32
33
|
require "bcdice/game_system/Cthulhu7th"
|
@@ -56,6 +57,7 @@ require "bcdice/game_system/EclipsePhase"
|
|
56
57
|
require "bcdice/game_system/Elric"
|
57
58
|
require "bcdice/game_system/Elysion"
|
58
59
|
require "bcdice/game_system/EmbryoMachine"
|
60
|
+
require "bcdice/game_system/Emoklore"
|
59
61
|
require "bcdice/game_system/EndBreaker"
|
60
62
|
require "bcdice/game_system/EtrianOdysseySRS"
|
61
63
|
require "bcdice/game_system/Fiasco"
|
@@ -75,7 +77,7 @@ require "bcdice/game_system/GranCrest"
|
|
75
77
|
require "bcdice/game_system/Gundog"
|
76
78
|
require "bcdice/game_system/GundogRevised"
|
77
79
|
require "bcdice/game_system/GundogZero"
|
78
|
-
require "bcdice/game_system/
|
80
|
+
require "bcdice/game_system/GURPS"
|
79
81
|
require "bcdice/game_system/GurpsFW"
|
80
82
|
require "bcdice/game_system/HarnMaster"
|
81
83
|
require "bcdice/game_system/HatsuneMiku"
|
@@ -117,6 +119,7 @@ require "bcdice/game_system/NightWizard3rd"
|
|
117
119
|
require "bcdice/game_system/NightmareHunterDeep"
|
118
120
|
require "bcdice/game_system/NinjaSlayer"
|
119
121
|
require "bcdice/game_system/NjslyrBattle"
|
122
|
+
require "bcdice/game_system/NSSQ"
|
120
123
|
require "bcdice/game_system/Nuekagami"
|
121
124
|
require "bcdice/game_system/OneWayHeroics"
|
122
125
|
require "bcdice/game_system/OracleEngine"
|
@@ -137,6 +140,7 @@ require "bcdice/game_system/RecordOfLodossWar"
|
|
137
140
|
require "bcdice/game_system/RecordOfSteam"
|
138
141
|
require "bcdice/game_system/RokumonSekai2"
|
139
142
|
require "bcdice/game_system/RoleMaster"
|
143
|
+
require "bcdice/game_system/RuinBreakers"
|
140
144
|
require "bcdice/game_system/RuneQuest"
|
141
145
|
require "bcdice/game_system/RyuTuber"
|
142
146
|
require "bcdice/game_system/Ryutama"
|
@@ -174,12 +178,14 @@ require "bcdice/game_system/TorgEternity"
|
|
174
178
|
require "bcdice/game_system/TrinitySeven"
|
175
179
|
require "bcdice/game_system/TunnelsAndTrolls"
|
176
180
|
require "bcdice/game_system/TwilightGunsmoke"
|
181
|
+
require "bcdice/game_system/UnsungDuet"
|
177
182
|
require "bcdice/game_system/Utakaze"
|
178
183
|
require "bcdice/game_system/VampireTheMasquerade5th"
|
179
184
|
require "bcdice/game_system/Villaciel"
|
180
185
|
require "bcdice/game_system/WARPS"
|
181
186
|
require "bcdice/game_system/WaresBlade"
|
182
187
|
require "bcdice/game_system/Warhammer"
|
188
|
+
require "bcdice/game_system/Warhammer4"
|
183
189
|
require "bcdice/game_system/WitchQuest"
|
184
190
|
require "bcdice/game_system/WorldOfDarkness"
|
185
191
|
require "bcdice/game_system/YankeeYogSothoth"
|
@@ -41,9 +41,9 @@ module BCDice
|
|
41
41
|
・15AAx4c0 → 15d10で目標値6、威力4、クリティカル無しの命中判定。
|
42
42
|
MESSAGETEXT
|
43
43
|
|
44
|
-
register_prefix(
|
45
|
-
|
46
|
-
|
44
|
+
register_prefix(
|
45
|
+
'(\d+)?A(A|L)(\d+)?((x|\*)(\d+)(\+(\d+))?)?(C(\d+))?'
|
46
|
+
)
|
47
47
|
|
48
48
|
def initialize(command)
|
49
49
|
super(command)
|
@@ -34,10 +34,10 @@ module BCDice
|
|
34
34
|
QUI:平穏・経験表をダイスロール
|
35
35
|
MESSAGETEXT
|
36
36
|
|
37
|
-
register_prefix(
|
37
|
+
register_prefix(
|
38
38
|
'EMA(\d+)?', 'PER(\d+)?', 'LOC(\d+)?', 'QUI(\d+)?', 'DEL(\d+)?',
|
39
39
|
'TRA(\d+)?', 'SCE(\d+)?', 'STA(\d+)?', 'EMO(\d+)?'
|
40
|
-
|
40
|
+
)
|
41
41
|
|
42
42
|
def eval_game_system_specific_command(command)
|
43
43
|
output =
|
@@ -49,26 +49,7 @@ module BCDice
|
|
49
49
|
text = amadeusDice(command)
|
50
50
|
return text unless text.nil?
|
51
51
|
|
52
|
-
|
53
|
-
return nil if info.nil?
|
54
|
-
|
55
|
-
name = info[:name]
|
56
|
-
type = info[:type]
|
57
|
-
table = info[:table]
|
58
|
-
|
59
|
-
text, number =
|
60
|
-
case type
|
61
|
-
when '1D6'
|
62
|
-
get_table_by_1d6(table)
|
63
|
-
when '2D6'
|
64
|
-
get_table_by_2d6(table)
|
65
|
-
when 'D66'
|
66
|
-
get_table_by_d66_swap(table)
|
67
|
-
end
|
68
|
-
|
69
|
-
return nil if text.nil?
|
70
|
-
|
71
|
-
return "#{name}(#{number}) > #{text}"
|
52
|
+
return roll_tables(command, self.class::TABLES)
|
72
53
|
end
|
73
54
|
|
74
55
|
def amadeusDice(command)
|
@@ -107,7 +88,9 @@ module BCDice
|
|
107
88
|
achieve = dice + modify
|
108
89
|
result = check_success(achieve, dice, signOfInequality, target, specialNum)
|
109
90
|
if is_loop
|
110
|
-
|
91
|
+
inga_table = translate("Amadeus.inga_table")
|
92
|
+
inga = inga_table[dice - 1]
|
93
|
+
message += "#{achieve}_#{result}[#{dice}#{inga}]"
|
111
94
|
else
|
112
95
|
message += "#{achieve}_#{result}[#{dice}]"
|
113
96
|
end
|
@@ -117,506 +100,62 @@ module BCDice
|
|
117
100
|
end
|
118
101
|
|
119
102
|
def check_success(total_n, dice_n, signOfInequality, diff, special_n)
|
120
|
-
return "
|
121
|
-
return "
|
103
|
+
return translate("Amadeus.fumble") if dice_n == 1
|
104
|
+
return translate("Amadeus.special") if dice_n >= special_n
|
122
105
|
|
123
106
|
cmp_op = Normalize.comparison_operator(signOfInequality)
|
124
107
|
target_num = diff.to_i
|
125
108
|
|
126
109
|
if total_n.send(cmp_op, target_num)
|
127
|
-
"
|
110
|
+
translate("success")
|
128
111
|
else
|
129
|
-
"
|
112
|
+
translate("failure")
|
130
113
|
end
|
131
114
|
end
|
132
115
|
|
133
116
|
CHECK_DICE_COUNT = {"S" => 4, "A" => 3, "B" => 2, "C" => 1, "D" => 2}.freeze
|
134
|
-
INGA_TABLE = [nil, "黒", "赤", "青", "緑", "白", "任意"].freeze
|
135
117
|
|
136
|
-
|
118
|
+
def self.translate_tables(locale)
|
137
119
|
{
|
138
|
-
"ECT" =>
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
"
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
"
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
'大切(プラス)/面倒(マイナス)'
|
174
|
-
],
|
175
|
-
},
|
176
|
-
|
177
|
-
"PRT" => {
|
178
|
-
name: "親心表",
|
179
|
-
type: '1D6',
|
180
|
-
table: [
|
181
|
-
'かわいい(プラス)/生意気(マイナス)',
|
182
|
-
'期待(プラス)/脅威(マイナス)',
|
183
|
-
'自慢(プラス)/恥(マイナス)',
|
184
|
-
'愛情(プラス)/無関心(マイナス)',
|
185
|
-
'有用(プラス)/心配(マイナス)',
|
186
|
-
'過保護(プラス)/執着(マイナス)'
|
187
|
-
],
|
188
|
-
},
|
189
|
-
|
190
|
-
"FT" => {
|
191
|
-
name: "ファンブル表",
|
192
|
-
type: '1D6',
|
193
|
-
table: [
|
194
|
-
'運命の輪が回転する。運命の輪の上にある赤の領域のインガを青の領域に、青の領域のインガを緑の領域に、緑の領域のインガを白の領域に、白の領域のインガを赤の領域に、それぞれ同時に移動させる。',
|
195
|
-
'仲間に迷惑をかけてしまう。自分以外のPC全員の【生命力】が1点減少する。',
|
196
|
-
'この失敗は後に祟るかもしれない……。自分の【生命力】が1D6点減少する。',
|
197
|
-
'あまりの失敗に、みんなの態度が変わる。自分に対して一番高い【想い】の値を持っているキャラクター全員の、【想い】の属性が反転する。',
|
198
|
-
'心に大きな乱れが生まれる。自分の属性に対応した変調を受ける(黒なら絶望、赤なら憤怒、青なら臆病1、緑なら堕落、白なら恥辱)。',
|
199
|
-
'周囲から活気が失われる。運命の輪のなかから、黒以外の領域のインガがすべて1つずつ減少する。'
|
200
|
-
],
|
201
|
-
},
|
202
|
-
|
203
|
-
"BT" => {
|
204
|
-
name: "休憩表",
|
205
|
-
type: 'D66',
|
206
|
-
table: [
|
207
|
-
[11, "土着の怪物が襲いかかってきた! なんとか撃退するが、傷を負ってしまった。1D6点のダメージを受ける。"],
|
208
|
-
[12, "美女の沐浴をのぞいてしまった。1D6を振る。1~2なら「堕落」、3~4なら「恥辱」、5~6なら「重傷1」の変調を受ける。"],
|
209
|
-
[13, "強欲な商人に出会う。このシーンに登場したキャラクターは、アイテムを購入することができる。ただし、すべてのアイテムの価格は通常の値段より1高い。"],
|
210
|
-
[14, "自分の過去の話をする。なんで、こんな話しちゃったんだろう? PCの中から、自分に対してもっとも高い【想い】を持つPC全員の、関係の属性が反転する。"],
|
211
|
-
[15, "周囲の空気が変わった。運命の輪が動き出す予感!運命の輪の上にある赤の領域のインガを青の領域に、青の領域のインガを緑の領域に、緑の領域のインガを白の領域に、白の領域のインガを赤の領域に、それぞれ同時に移動させる。"],
|
212
|
-
[16, "突然の空腹に襲われる。このシーン中に食事を行わなかったPCは「重傷2」の変調を受ける。この変調は、食事を行うと回復できる(ほかの方法でも回復可能)。"],
|
213
|
-
[22, "<絶界>の外の世界の友人のことを思い出す。みんなは元気にしているだろうか? この出目を振ったプレイヤーのPCは、【日常】で判定を行うことができる。成功すると、自分の変調を1つ回復するか、黒の領域からインガを1つ取り除くことができる。"],
|
214
|
-
[23, "奇妙な商人に出会う。このシーンに登場したキャラクターは、アイテムを購入することができる。"],
|
215
|
-
[24, "喋る動物に願いごとをされる。動物たちも、この神話災害で苦しんでいるようだ。あなたは、「この怪物の本体の【生命力】を0にする」という追加の【任務】を受けることができる。この【任務】を達成すると、追加で経験値を20点もらうことができる。"],
|
216
|
-
[25, "素敵な夢を見る。この出目を振ったプレイヤーは、自分のPC以外の好きなキャラクター一人に対する【想い】が1点上昇する。"],
|
217
|
-
[26, "大切な人から、あなたを心配するメールが届いていた。なんて返そう? この出目を振ったプレイヤーのPCは、【日常】で判定を行うことができる。成功すると、自分の変調を1つ回復するか、自分の好きなパトスマークについたチェックを1つ消す。"],
|
218
|
-
[33, "親切な商人に出会う。このシーンに登場したキャラクターは、アイテムを購入することができる。ただし、すべてのアイテムの価格は通常の値段より1低い(価格1未満にはならない)。"],
|
219
|
-
[34, "武器の手入れを行う。この出目を振ったプレイヤーのPCは、【日常】で判定を行うことができる。成功すると、そのセッションの間、自分の武器1つの威力を1点上昇させることができる。"],
|
220
|
-
[35, "最後に買い物をしたときに、おつりを多くもらっていたことに気がついた。1神貨を手に入れる。"],
|
221
|
-
[36, "食事をしながら、仲間と大いに語り合う。このシーンに登場して、食事を行ったキャラクターは、自分の好きなパトスマークについたチェックを一つ消す。"],
|
222
|
-
[44, "一眠りしてしまったのか、不思議な夢を見る。この出目を振ったプレイヤーのPCは、【霊力】で判定を行うことができる。成功すると、好きな予言カード1枚を選び、その【真実】を見ることができる。"],
|
223
|
-
[45, "チンピラにからまれている異性の子を見つける。この出目を振ったプレイヤーのPCは、【武勇】で判定を行うことができる。成功すると、その子は、そのPCに対して【想い】を1点獲得する。この子を協力者にするなら、そのプレイヤーはその子の名前と関係を自由に決めること。"],
|
224
|
-
[46, "心地よい風に吹かれる。運命があなたに味方してくれるような気がした。好きな領域にインガを1つ配置する。"],
|
225
|
-
[55, "目が覚めると、枕元に贈り物が。誰からだろう……? この出目を振ったプレイヤーのPCは、「ランダムアイテム表」を使用する。"],
|
226
|
-
[56, "困っている神話生物を助けてあげた。【日常】で判定を行う。成功すると、次に移動判定を行うことになったとき、自動的にそれを成功にすることができる(達成値が必要な場合6として扱う)。"],
|
227
|
-
[66, "親神が、あなたに話しかけてくる。親子の会話だ。この出目を振ったプレイヤーのPCは、【日常】で判定を行うことができる。成功すると、自分の親神に対する【想い】か、親神の自分に対する【想い】のいずれかを1点上昇する。"],
|
228
|
-
],
|
229
|
-
},
|
230
|
-
|
231
|
-
"FWT" => {
|
232
|
-
name: "致命傷表",
|
233
|
-
type: '1D6',
|
234
|
-
table: [
|
235
|
-
'絶望的な攻撃を受ける。そのキャラクターは死亡する。',
|
236
|
-
'苦痛の悲鳴をあげ、無惨にも崩れ落ちる。そのキャラクターは行動不能になる。また、黒の領域のインガが1つ増える。',
|
237
|
-
'攻撃を受けた武器が砕け、敵の攻撃が直撃する。そのキャラクターは行動不能になる。また、自分の武器一つを破壊する。',
|
238
|
-
'強烈な一撃を受けて気絶する。そのキャラクターは行動不能になる。',
|
239
|
-
'意識はあるが、立ち上がることができない。そのキャラクターは行動不能になる。次のシーンになったら【生命力】が1点に回復する。',
|
240
|
-
'奇跡的に持ちこたえる。【生命力】1点で踏みとどまる。'
|
241
|
-
],
|
242
|
-
},
|
243
|
-
|
244
|
-
"BRT" => {
|
245
|
-
name: "戦果表",
|
246
|
-
type: '1D6',
|
247
|
-
table: [
|
248
|
-
'1神貨を獲得する。',
|
249
|
-
'1D6神貨を獲得する。',
|
250
|
-
'好きな領域にインガを1つ置く。',
|
251
|
-
'黒の領域からインガを1つ取り除く。',
|
252
|
-
'「ランダムアイテム」表で、アイテムを入手できる。',
|
253
|
-
'PC全員、自分の人物欄の中から、パトスのチェックを1つ消すことができる。'
|
254
|
-
],
|
255
|
-
},
|
256
|
-
|
257
|
-
"RIT" => {
|
258
|
-
name: "ランダムアイテム表",
|
259
|
-
type: '2D6',
|
260
|
-
table: [
|
261
|
-
'「鎧」を1個獲得する。',
|
262
|
-
'「手がかり」を1個獲得する。',
|
263
|
-
'「お洒落」を1個獲得する。',
|
264
|
-
'「護符」を1個獲得する。',
|
265
|
-
'「甘露」を1個獲得する。',
|
266
|
-
'「食料」を1D6個獲得する。',
|
267
|
-
'「お香」を1個獲得する。',
|
268
|
-
'「供物」を1個獲得する。',
|
269
|
-
'「霊薬」を1個獲得する。',
|
270
|
-
'「ごちそう」を1個獲得する。',
|
271
|
-
'「爆弾」を1個獲得する。'
|
272
|
-
],
|
273
|
-
},
|
274
|
-
|
275
|
-
"WT" => {
|
276
|
-
name: "損傷表",
|
277
|
-
type: '1D6',
|
278
|
-
table: [
|
279
|
-
'自分の【生命力】を1D6点減少する。',
|
280
|
-
'1D6神貨を失う。',
|
281
|
-
'黒の領域にインガを1つ置く。',
|
282
|
-
'「臆病2」の変調を受ける。',
|
283
|
-
'「重傷3」の変調を受ける。',
|
284
|
-
'自分の人物欄のもっとも高い【想い】1つを選び、それを1点減少する。'
|
285
|
-
],
|
286
|
-
},
|
287
|
-
|
288
|
-
"NMT" => {
|
289
|
-
name: "悪夢表",
|
290
|
-
type: '1D6',
|
291
|
-
table: [
|
292
|
-
'絶望の闇に視界を遮断される。背後に怪物の気配を感じたと思ったときは遅かった。卑劣な攻撃があなたを襲う。好きな能力値で判定を行う。失敗すると死亡する。',
|
293
|
-
'絶望の闇の中、悲痛な叫びが聞こえてくる。事件の被害者たちだろうか。あなたは、救えなかったのだ。【日常】で判定を行う。失敗すると、「絶望」の呪いを受ける。',
|
294
|
-
'絶望の闇の中で怪物の笑いがこだまする。それは嘲りの笑いだった。怪物や仲間たち……何より自分への怒りがわき上がる。【日常】で判定を行う。失敗すると、「憤怒」の呪いを受ける。',
|
295
|
-
'絶望の闇の中に一人取り残される。誰もあなたに気づかない。孤独に耐えながら、何とか日常へ帰還したが……そのときの恐怖がぬぐえない。【日常】で判定を行う。失敗すると、「臆病3」の呪いを受ける。',
|
296
|
-
'絶望の闇から帰還したあなたを待っていたのは、代わり映えのない日常だった。あなたが任務に失敗しても、世界は変わらない。なら、もう、あんな怖い目をする必要はないんじゃないか? 【日常】で判定を行う。失敗すると、「堕落」の呪いを受ける。',
|
297
|
-
'絶望の闇の中を必死で逃げ出した。背後から仲間の声が聞こえた気がする。しかし、あなたは振り返ることができなかった。【日常】で判定を行う。失敗すると、「恥辱」の呪いを受ける。'
|
298
|
-
],
|
299
|
-
},
|
300
|
-
|
301
|
-
"TGT" => {
|
302
|
-
name: "目標表",
|
303
|
-
type: '1D6',
|
304
|
-
table: [
|
305
|
-
'悪意。PCの中でもっとも【生命力】の低いもの一人を目標に選ぶ。もっとも低い【生命力】の持ち主が複数いる場合、その中から、GMが自由に一人目標を選ぶ。',
|
306
|
-
'狡猾。もっとも数値が高いパラグラフにいるPC一人を目標に選ぶ。全員が欄外にいる場合、欄外にいるPC全員を目標に選ぶ。',
|
307
|
-
'非道。PCの中でもっとも低いランクの【武勇】の持ち主一人を目標に選ぶ。もっとも低いランクの持ち主が複数いる場合、その中から、もっとも低いモッドの持ち主一人を目標に選ぶ。モッドも同じ値だった場合、GMがその中から自由に一人目標を選ぶ。',
|
308
|
-
'堅実。PCの中でもっとも低いランクの【技術】の持ち主一人を目標に選ぶ。もっとも低いランクの持ち主が複数いる場合、その中から、もっとも低いモッドの持ち主一人を目標に選ぶ。モッドも同じ値だった場合、GMがその中から自由に一人目標を選ぶ。',
|
309
|
-
'豪快。PCの中でもっとも高いランクの【武勇】の持ち主一人を目標に選ぶ。もっとも高いランクの持ち主が複数いる場合、その中から、もっとも高いモッドの持ち主一人を目標に選ぶ。モッドも同じ値だった場合、GMがその中から自由に一人目標を選ぶ。',
|
310
|
-
'単純。もっとも数値が低いパラグラフにいるPC一人を目標に選ぶ。全員が欄外にいる場合、欄外にいるPC全員を目標に選ぶ。'
|
311
|
-
],
|
312
|
-
},
|
313
|
-
|
314
|
-
"CST" => {
|
315
|
-
name: "制約表",
|
316
|
-
type: '1D6',
|
317
|
-
table: [
|
318
|
-
'短命',
|
319
|
-
'誘惑',
|
320
|
-
'悪影響',
|
321
|
-
'束縛',
|
322
|
-
'喧嘩',
|
323
|
-
'干渉'
|
324
|
-
],
|
325
|
-
},
|
326
|
-
|
327
|
-
"GCVT" => {
|
328
|
-
name: "ギリシャ神群試練表",
|
329
|
-
type: '1D6',
|
330
|
-
table: [
|
331
|
-
'山の向こうから一つ目の巨人、サイクロプスがこちらを見ている。岩を投げてきた!1D6点のダメージを受ける。',
|
332
|
-
'水音に目を向けると、アルテミスが泉で水浴びをしていた。美しい……あ、気づかれた?自分が男性なら、「重傷2」の変調を受ける。自分が女性なら、「恥辱」の変調を受ける。',
|
333
|
-
'海を渡ろうとすると、海が渦巻き乗った船が引き寄せられていく。中心にいるのは怪物カリュブディスだ。このままだと、船ごと飲み込まれてしまう。[青の領域にあるインガの数]点ダメージを受ける。',
|
334
|
-
'デュオニソスの女性信者、マイナスたちに取り囲まれる。彼女たちは完全に酔っ払っており、話は通じない上、酒を飲めと強要してくる。【生命力】が1点回復し、「堕落」の変調を受ける。',
|
335
|
-
'巨大な天井を支えている巨人と出会う。巨人は「少しの間、支えるのを代わってくれないか?」と頼んでくる。断りにくい雰囲気だ……。【愛】で判定を行う。失敗すると、そのセッションの間、所持品の欄が一つ使えなくなる。その欄にアイテムが記入されていれば、それを捨てること。',
|
336
|
-
'「あなた最近、調子に乗ってない?」アフロディーテに難癖をつけられた。「自分のことだけ見てればいいんじゃない?」鏡に映る自分が、とても美しく思えてきた。自分への【想い】が2点上昇し、それ以外の人物欄のパトスすべてにチェックを入れる。'
|
337
|
-
],
|
338
|
-
},
|
339
|
-
|
340
|
-
"YCVT" => {
|
341
|
-
name: "ヤマト神群試練表",
|
342
|
-
type: '1D6',
|
343
|
-
table: [
|
344
|
-
'空が急に暗くなる。太陽がどこにも見えない。もしかして、アマテラスが隠れてしまったのか?黒の領域にインガを一つ配置する。',
|
345
|
-
'いつのまにか、黄泉国に迷い込んでしまっていた。周囲は黄泉軍に取り囲まれている。どうにかして、逃げなくては!移動判定を行う。失敗すると、3点のダメージを受け、もう一度「試練表」を振る。',
|
346
|
-
'目の前の海はワニザメでいっぱいだ。この海を渡らなければ、目的地にはたどり着けないのに。青の領域のインガを二つ取り除くか、自分が2D6点のダメージを受けるかを選ぶ。',
|
347
|
-
'「みんなー楽しんでるー!?」ここはウズメが歌い踊るライブ会場だ。どうしよう、目的を忘れそうなほど楽しい!自分は、自分の属性のインガを一つ取り除くか、「堕落」の変調を受けるかを選ぶ。',
|
348
|
-
'「龍の首の珠を取るのを手伝ってくれませんか?そうしたら、船に乗せてさしあげます」平安貴族のような格好をした男が話しかけてくる。手伝うしかないようだ。「重傷1」の変調を受ける。',
|
349
|
-
'海岸でいじめられている亀を助けたら、海の中の宮殿につれてきてくれた。トヨタマヒメが現れ、盛大にもてなしてくれる。あっという間に、夢のような時間が過ぎていく。でも、そろそろ行かなくては。【日常】で判定する。失敗すると、自分の年齢を6D6歳増やし、「絶望」の変調を受ける。'
|
350
|
-
],
|
351
|
-
},
|
352
|
-
|
353
|
-
"ECVT" => {
|
354
|
-
name: "エジプト神群試練表",
|
355
|
-
type: '1D6',
|
356
|
-
table: [
|
357
|
-
'大蛇アペプが今にも目の前の空で輝く太陽を、飲み込もうとしている!止めなくては!【武勇】で判定する。失敗すると、黒の領域にインガを二つ配置する。',
|
358
|
-
'気がつけば、魂が羽の生えたバーだけになって、空を飛んでいた。早く肉体に戻らなくては。【霊力】で判定する。自分の【生命力】を1D6点減少し、もう一度「試練表」を振る。',
|
359
|
-
'ぐつぐつと沸き立つ湖と、流れる火の川が見える。目的地は、この川を越えた先にある。【技術】で判定する。失敗すると、炎タグのついた2D6点のダメージを受け、黒以外の領域のインガが一つずつ取り除かれる。',
|
360
|
-
'冥界ドゥアトの番人たちが、目の前に現れた。と畜場より来る吸血鬼、下半身の排泄物を喰らうものが近づいてくる。ここは冥界なのか、それとも、やつらが地上に這い出してきたのか。自分は、「重傷1」の変調を受けるか、「恥辱」の変調を受けるかを選ぶ。',
|
361
|
-
'目の前にアヌビスがいる。アヌビスは天秤を掲げて、心臓を要求してくる。「お前の罪を数えろ」【日常】で判定を行う。失敗すると、【活力】が0点になる。この効果によって【生命力】の現在値が最大値を超えた場合、最大値と同じ値に調整する。',
|
362
|
-
'獅子頭の神、シェセムが、悪人の頭を砕いて、死者のためのワインにしている。悪人と見なされれば、頭をもがれてしまうだろう。【日常】で判定を行う。失敗すると、「重傷2」の変調を受ける。'
|
363
|
-
],
|
364
|
-
},
|
365
|
-
|
366
|
-
"CCVT" => {
|
367
|
-
name: "クトゥルフ神群試練表",
|
368
|
-
type: '1D6',
|
369
|
-
table: [
|
370
|
-
'新聞記者たちが忙しく行き来しているオフィスにいる。ここは、新聞社アーカムアドバタイザーの編集部だ。「君が大きなニュースを持っていると聞いたんだけれど」記者の一人が尋ねてくる。自分の【真実】が公開されていなければ、「臆病1」の変調を受ける。',
|
371
|
-
'魚の顔と鱗に覆われた身体をもつ、ディープワンに取り囲まれる。あなたが女性ならば、彼らのすみかに連れ去られてしまう。男性ならば、暴力を振るわれ、1D6点のダメージを受ける。女性なら、衣服を奪われ、「恥辱」の変調を受ける。',
|
372
|
-
'ここはどうやら夢の中らしい。目の前にクトゥルフがいる。「余になんの用だ。余を目覚めさせる気なら、容赦はしない」寝ぼけ眼のくせに、クトゥルフは怒っているようだ。「絶望」の変調を受ける。',
|
373
|
-
'地下のもぐり酒場で一息つけた……と思ったら、トンプソン機関銃を構えた男たちが飛び込んできた。マフィアの抗争だ!4点のダメージを受ける。',
|
374
|
-
'古ぼけた本を手に入れた。どうやら、魔導書のようだ。読むと正気を失う可能性もあるが、力が手に入る可能性も高い。【霊力】のランクがA以上なら、好きな領域にインガを二つ配置する。そうでない場合、「絶望」と「臆病2」の変調を受ける。',
|
375
|
-
'なんの変哲も無い民家にいる。アーカムの静かな風景が……ああ、窓に!窓に!黒の領域にインガを一つ配置する。'
|
376
|
-
],
|
377
|
-
},
|
378
|
-
|
379
|
-
"NCVT" => {
|
380
|
-
name: "北欧神群試練表",
|
381
|
-
type: '1D6',
|
382
|
-
table: [
|
383
|
-
'美しい乙女が告げる。「あなたはエインヘリアルたる資格がある」どうやら、戦乙女ヴァルキュリャに見初められたらしい。彼女たちは、戦死した者の魂を連れていくのだが。自分は、戦乙女から【想い】を2点獲得する。この【想い】の関係はマイナスの「殺意」となる。',
|
384
|
-
'雄叫びと共に現れたのは、獣の皮を被った屈強な戦士たち、ベルセルクだった。手に手に斧を構え、こちらに向かってくる!【武勇】で判定を行う。失敗すると、2D6点のダメージを受ける。',
|
385
|
-
'オーディンの神子、エインヘリアルたちの宴会に紛れ込んでしまった。山のように積まれたご馳走を好きに食べていいと思ったら、「勝負だ!」という声。食べ比べを挑まれている。神子としては、負けるわけにはいかない。【日常】で判定を行う。失敗すると、「恥辱」の変調を受ける。',
|
386
|
-
'「ここは我々の土地だ。ただで通れると思っているのか?」ドヴェルグが行く手を塞ぎ、神貨を要求してくる。彼らはがめついことで有名だ。神貨を2点支払う。支払わない場合、自分の【生命力】を1点減少して、もう一度「試練表」を使用する。',
|
387
|
-
'「このまま冒険を続けても簡単すぎるんじゃないか?」ロキが話し掛けてきた。気がつくと君は狼の姿に変わっていた。このセッションの間、自分に「獣」のタグがつき、【愛】のランクが1段階低くなる(Dは変化しない)。',
|
388
|
-
'巨人が話し掛けてくる。「お前に力をやってもいい。代わりに、片目か、片腕をよこせ」オーディンは片目を差し出して、知恵を手に入れた。嘘ではないだろうが……。【生命力】を3D6点減少することで、好きな領域にインガを二つ配置できる。減少しなかった場合、「臆病1」の変調を受ける。'
|
389
|
-
],
|
390
|
-
},
|
391
|
-
|
392
|
-
"DGVT" => {
|
393
|
-
name: "ダンジョン試練表",
|
394
|
-
type: '1D6',
|
395
|
-
table: [
|
396
|
-
'照明が切れてしまい、暗闇の中に放り出される。前が見えない。白の領域からインガを一つ取り除く。',
|
397
|
-
'罠だ!こちらに向かって、巨大な岩が転がって来る!【技術】で判定する。失敗すると、2D6点のダメージを受ける。',
|
398
|
-
'宝箱発見。罠がないかを慎重に調べてみよう。【技術】で判定する。成功すると、1神貨を獲得する。失敗すると、「憤怒」と「恥辱」の変調を受ける。',
|
399
|
-
'謎解きが必要な部分に迷い込む。この謎を解かなければ、罠を無理矢理突破しなければならない。【頭脳】で判定を行う。失敗すると、「絶望」の変調を受け、1D6点のダメージを受ける。',
|
400
|
-
'粘液が飛び散る部屋に入ってしまった。まずい、何でも溶かす酸だ!自分が装備しているアイテムの中から一つを選ぶ。選んだアイテムを破壊する。【食料】を選んだ場合は、すべての【食料】を破壊する。',
|
401
|
-
'怪物たちのすみかに迷い込んでしまったようだ。怪物が一斉に襲ってくる!【武勇】で判定を行う。失敗すると、2D6点のダメージを受ける。'
|
402
|
-
],
|
403
|
-
},
|
404
|
-
|
405
|
-
"DAVT" => {
|
406
|
-
name: "日常試練表",
|
407
|
-
type: '1D6',
|
408
|
-
table: [
|
409
|
-
'仲間と移動していると、一般人の友達と偶然出会ってしまう。今何をしているかを聞かれたので、なんとかごまかす。自分に対して【想い】の値を持っているPC全員の属性が反転する。',
|
410
|
-
'仕事や勉強を催促する電話がかかってきた。今はそれどころじゃないんだって!「憤怒」の変調を受ける。',
|
411
|
-
'ふと、見たかったテレビ番組を見逃していたことに気づいてしまう。録画もしてない。ちょっと凹む。自分の属性と同じ領域にあるインガを一つ取り除く。',
|
412
|
-
'警官に捕まって、職務質問を受ける。ちょっと言えない理由で、急いでいるんですけど。黒の領域にインガを一つ配置する。',
|
413
|
-
'自分の格好や言動が浮いていたらしい、自分を噂するひそひそ話が聞こえてきてしまう。「恥辱」の変調を受けるか、【食料】以外のアイテムを1つ破壊する。',
|
414
|
-
'乗りたかった電車やバスに乗り遅れる。仕方ないから、走るか。移動判定を行う。失敗すると、「堕落」の変調を受け、もう一度「試練表」を使用する。'
|
415
|
-
],
|
416
|
-
},
|
417
|
-
|
418
|
-
"PRCT" => {
|
419
|
-
name: "挑戦テーマ表【武勇】",
|
420
|
-
type: '1D6',
|
421
|
-
table: [
|
422
|
-
'腕相撲',
|
423
|
-
'喧嘩',
|
424
|
-
'度胸試し',
|
425
|
-
'レスリング',
|
426
|
-
'狩り',
|
427
|
-
'武勇伝自慢'
|
428
|
-
],
|
429
|
-
},
|
430
|
-
|
431
|
-
"TCCT" => {
|
432
|
-
name: "挑戦テーマ表【技術】",
|
433
|
-
type: '1D6',
|
434
|
-
table: [
|
435
|
-
'織物',
|
436
|
-
'戦車レース',
|
437
|
-
'マラソン',
|
438
|
-
'アクションゲーム',
|
439
|
-
'射的',
|
440
|
-
'資格自慢'
|
441
|
-
],
|
442
|
-
},
|
443
|
-
|
444
|
-
"INCT" => {
|
445
|
-
name: "挑戦テーマ表【頭脳】",
|
446
|
-
type: '1D6',
|
447
|
-
table: [
|
448
|
-
'パズル',
|
449
|
-
'謎かけ',
|
450
|
-
'チェス',
|
451
|
-
'筆記試験',
|
452
|
-
'禅問答',
|
453
|
-
'学歴自慢'
|
454
|
-
],
|
455
|
-
},
|
456
|
-
|
457
|
-
"PSCT" => {
|
458
|
-
name: "挑戦テーマ表【霊力】",
|
459
|
-
type: '1D6',
|
460
|
-
table: [
|
461
|
-
'詩作',
|
462
|
-
'動物を手なずける',
|
463
|
-
'北風と太陽',
|
464
|
-
'絵画',
|
465
|
-
'演奏',
|
466
|
-
'のど自慢'
|
467
|
-
],
|
468
|
-
},
|
469
|
-
|
470
|
-
"LVCT" => {
|
471
|
-
name: "挑戦テーマ表【愛】",
|
472
|
-
type: '1D6',
|
473
|
-
table: [
|
474
|
-
'ナンパ勝負',
|
475
|
-
'誰かからより愛される',
|
476
|
-
'美人コンテスト',
|
477
|
-
'ティッシュ配り',
|
478
|
-
'借り物競争',
|
479
|
-
'恋愛自慢'
|
480
|
-
],
|
481
|
-
},
|
482
|
-
|
483
|
-
"DACT" => {
|
484
|
-
name: "挑戦テーマ表【日常】",
|
485
|
-
type: '1D6',
|
486
|
-
table: [
|
487
|
-
'料理',
|
488
|
-
'大食い',
|
489
|
-
'呑み比べ',
|
490
|
-
'倹約生活',
|
491
|
-
'サバイバル',
|
492
|
-
'リア充自慢'
|
493
|
-
],
|
494
|
-
},
|
495
|
-
|
496
|
-
"RGT" => {
|
497
|
-
name: "ランダムギフト表",
|
498
|
-
type: '1D6',
|
499
|
-
table: [
|
500
|
-
'ランダムに選んだPCと同じ親神の親神ギフトの中から選ぶ。',
|
501
|
-
'GMが選んだキャラクターと同じ親神の親神ギフトの中から選ぶ。',
|
502
|
-
'ランダムに選んだPCと同じ神群の神群ギフトの中から選ぶ。',
|
503
|
-
'GMが選んだキャラクターと同じ神群の神群ギフトの中から選ぶ。',
|
504
|
-
'好きな背景ギフトの中から選ぶ。',
|
505
|
-
'好きな汎用ギフトの中から選ぶ。'
|
506
|
-
],
|
507
|
-
},
|
508
|
-
|
509
|
-
"FBT" => {
|
510
|
-
name: "決戦戦果表",
|
511
|
-
type: '1D6',
|
512
|
-
table: [
|
513
|
-
'1D6枚の神貨を獲得する。',
|
514
|
-
'[戦闘に経過した偵察・乱戦・追撃ラウンド数の合計+2]枚の神貨を獲得する。',
|
515
|
-
'[倒した怪物の本体レベル+2]枚の神貨を獲得する。',
|
516
|
-
'[黒の領域の覚醒段階+2]枚の神貨を獲得。',
|
517
|
-
'「ランダムアイテム表」で、アイテムを入手できる。',
|
518
|
-
'「ランダムアイテム表」で、アイテムを入手できる。'
|
519
|
-
],
|
520
|
-
},
|
521
|
-
|
522
|
-
"CHVT" => {
|
523
|
-
name: "中華神群試練表",
|
524
|
-
type: '1D6',
|
525
|
-
table: [
|
526
|
-
'たどりついた場所は、桃源郷であった。すべてを忘れて、しばらく楽しんでしまう。年齢が2D6点上昇し、「堕落」の変調を受ける。',
|
527
|
-
'風にさらわれて、仙人に出会う。仙人は、稽古をつけてくれるが、激しい修行に体はボロボロになってしまった。好きな領域にインガを一つ配置し、「重傷4」の変調を受ける。',
|
528
|
-
'美男・美女に誘惑されるが、それは妖怪の化けた姿だった。たぶらかされたことに、怒りを覚える。「憤怒」の変調を受ける。',
|
529
|
-
'名前を呼ばれたので、返事をしたら、瓶の中に吸い込まれてしまった。瓶の中から脱出をするまでに苦労をする。2D6点のダメージを受け、「恥辱」の変調を受ける。',
|
530
|
-
'地府で行われてる閻魔の裁判に参考人として招集される。下手な証言をしたために、疑われて地獄に落とされかかった。「絶望」の変調を受ける。',
|
531
|
-
'麒麟の死骸を発見してしまう。これは、不吉の前触れだ。黒の領域にインガを一つ配置する。'
|
532
|
-
],
|
533
|
-
},
|
534
|
-
|
535
|
-
"LCVT" => {
|
536
|
-
name: "ラストクロニクル神群試練表",
|
537
|
-
type: '1D6',
|
538
|
-
table: [
|
539
|
-
'レ・ムゥの五色の太陽がすべて輝きを失う「千年夜」の到来を幻視する。これは起こりうる未来なのだろうか……。黒の領域にインガを1つ配置する。',
|
540
|
-
'召喚された小野小町が退屈を持て余してる。彼女の退屈を紛らわせるため【頭脳】か【愛】で判定する。失敗した場合、黒の領域にインガを1つ配置する。',
|
541
|
-
'血肉を貨幣代わりに扱う商人・ブラッドトレーダーと出会う。ラストクロニクル神群の聖地の買い物リストからアイテムを1つ選ぶ。【生命力】を「価格×3点」消費することで、選んだアイテムを獲得する。',
|
542
|
-
'あなたは旅の途中で美女と出会い、意気投合する。しかし、その女性はメレドゥスの魔闘士・メニズマだった。彼女は去り際にあなたの精気を奪い取る。【生命力】と【活力】がそれぞれ1D6点減少する。',
|
543
|
-
'強欲なる司都官が治める街に迷い込んでしまう。通行料として神貨を1D6点支払う。支払えない場合、2D6点ダメージを受ける。',
|
544
|
-
'放浪の勇者・アルマイルから挨拶代わりの一撃を受ける。1D6点ダメージを受け、アルマイルからの【想い】が1点上昇する。'
|
545
|
-
],
|
546
|
-
},
|
547
|
-
|
548
|
-
"KCVT" => {
|
549
|
-
name: "ケルト神群試練表",
|
550
|
-
type: '1D6',
|
551
|
-
table: [
|
552
|
-
'怪物が奏でる銀の竪琴の音色が聞こえてきて、しばらくの間、眠ってしまう。眠っている間に、妖精たちに悪戯された。「恥辱」の変調を受け、アイテムを一つ選んで失う。',
|
553
|
-
'かつて倒した敵の娘から呪いをかけられてしまい、左腕が麻痺して動かなくなる。このセッションの間、【武勇】のランクが一段階減少する(Dより下にはならない)。',
|
554
|
-
'エイネーという女性に、泉の底にある指輪を取ってきて欲しいと頼まれる。泉の底に潜って戻って来ると、自分が加齢してしまっていることに気付く。罠だったのだ。自分の年齢をD66歳増やし、【活力】が0点になる。',
|
555
|
-
'悪いドルイド僧から求婚を迫られる。急な話に戸惑っていると、ドルイド僧は怒りだし、PCを鹿に変える呪いをかけた。このセッションの間、【日常】のランクが一段階減少する(Dより下にはならない)。',
|
556
|
-
'ウィッカーマンに閉じ込められ、焼かれてしまう。「重傷4」の変調を受ける。',
|
557
|
-
'道案内をしてくれた美女にそそのかされて、女人の国にたどりついてしまう。誘惑に耐えながら、なんとか脱出する。「堕落」と「臆病2」の変調を受ける。'
|
558
|
-
],
|
559
|
-
},
|
560
|
-
|
561
|
-
"SAT" => {
|
562
|
-
name: "店内雰囲気表",
|
563
|
-
type: 'D66',
|
564
|
-
table: [
|
565
|
-
[11, "山の中にある峠の茶屋"],
|
566
|
-
[12, "煙草の煙がたゆたうセルフ式コーヒーチェーン店"],
|
567
|
-
[13, "山上りの座卓がある和風茶寮"],
|
568
|
-
[14, "ロココ調の優美で華やかな雰囲気の高級サロン"],
|
569
|
-
[15, "ヴィクトリア調のシックで上品なティーハウス"],
|
570
|
-
[16, "古い歌謡曲がかかり、テーブル筐体が懐かしい純喫茶"],
|
571
|
-
[22, "若い子で賑わうポップな内装のいかにもなチェーン店"],
|
572
|
-
[23, "ミッドセンチュリーの家具がお洒落なカフェ"],
|
573
|
-
[24, "ジュークボックスが目立つアメリカンダイナー"],
|
574
|
-
[25, "ピアノ曲が静かに流れる落ち着いた喫茶店"],
|
575
|
-
[26, "ノマドな若者が目立つコーヒーチェーン店"],
|
576
|
-
[33, "かわいい給仕さんがたくさんいるメイドカフェ"],
|
577
|
-
[34, "独特の茶器でゆったりお茶を楽しめる中国茶館"],
|
578
|
-
[35, "アースカラーが懐かしい健康志向なナチュラルカフェ"],
|
579
|
-
[36, "見晴らしのいいカフェテラスが自慢のオープンカフェ"],
|
580
|
-
[44, "壁一面にレコードが飾られているジャズ喫茶"],
|
581
|
-
[45, "24時間営業で荒れた雰囲気の漫画喫茶"],
|
582
|
-
[46, "色々なアナログゲームが楽しめるゲームカフェ"],
|
583
|
-
[55, "ショッピングモールのフードコート内にある出店"],
|
584
|
-
[56, "ビジネスマンたちが商談にいそしむ談話室"],
|
585
|
-
[66, "水タバコを吸いながら会話に興じる中東風カフェ"],
|
586
|
-
],
|
587
|
-
},
|
588
|
-
|
589
|
-
"SMT" => {
|
590
|
-
name: "特殊メニュー表",
|
591
|
-
type: 'D66',
|
592
|
-
table: [
|
593
|
-
[11, "アド・パトレス(ケルト)"],
|
594
|
-
[12, "アムブロシア(ギリシア)"],
|
595
|
-
[13, "ネクタル(ギリシア)"],
|
596
|
-
[14, "アムリタ(インド)"],
|
597
|
-
[15, "ソーマ(インド)"],
|
598
|
-
[16, "ヤシオリ(ヤマト)"],
|
599
|
-
[22, "変若水/おちみず(ヤマト)"],
|
600
|
-
[23, "天舐酒/あまのたむけざけ(ヤマト)"],
|
601
|
-
[24, "エリクサー(錬金術)"],
|
602
|
-
[25, "ハオマ(ペルシア)"],
|
603
|
-
[26, "金丹(中華)"],
|
604
|
-
[33, "神農茶(中華)"],
|
605
|
-
[34, "チョコラトル(アステカ)"],
|
606
|
-
[35, "クヴァシル(北欧)"],
|
607
|
-
[36, "ヘイズルーンの乳(北欧)"],
|
608
|
-
[44, "ホワイト・ドロップ(エジプト)"],
|
609
|
-
[45, "リキッド・ゴールド(エジプト)"],
|
610
|
-
[46, "ジヴァヤ・ヴォジャ(スラブ)"],
|
611
|
-
[55, "スハルジク(メソポタミア)"],
|
612
|
-
[56, "ニンフサグのミルク(メソポタミア)"],
|
613
|
-
[66, "黄金の蜂蜜酒(クトゥルフ)"],
|
614
|
-
],
|
615
|
-
},
|
120
|
+
"ECT" => DiceTable::Table.from_i18n("Amadeus.table.ECT", locale),
|
121
|
+
"BST" => DiceTable::Table.from_i18n("Amadeus.table.BST", locale),
|
122
|
+
"RT" => DiceTable::Table.from_i18n("Amadeus.table.RT", locale),
|
123
|
+
"PRT" => DiceTable::Table.from_i18n("Amadeus.table.PRT", locale),
|
124
|
+
"FT" => DiceTable::Table.from_i18n("Amadeus.table.FT", locale),
|
125
|
+
"BT" => DiceTable::D66Table.from_i18n("Amadeus.table.BT", locale),
|
126
|
+
"FWT" => DiceTable::Table.from_i18n("Amadeus.table.FWT", locale),
|
127
|
+
"BRT" => DiceTable::Table.from_i18n("Amadeus.table.BRT", locale),
|
128
|
+
"RIT" => DiceTable::Table.from_i18n("Amadeus.table.RIT", locale),
|
129
|
+
"WT" => DiceTable::Table.from_i18n("Amadeus.table.WT", locale),
|
130
|
+
"NMT" => DiceTable::Table.from_i18n("Amadeus.table.NMT", locale),
|
131
|
+
"TGT" => DiceTable::Table.from_i18n("Amadeus.table.TGT", locale),
|
132
|
+
"CST" => DiceTable::Table.from_i18n("Amadeus.table.CST", locale),
|
133
|
+
"GCVT" => DiceTable::Table.from_i18n("Amadeus.table.GCVT", locale),
|
134
|
+
"YCVT" => DiceTable::Table.from_i18n("Amadeus.table.YCVT", locale),
|
135
|
+
"ECVT" => DiceTable::Table.from_i18n("Amadeus.table.ECVT", locale),
|
136
|
+
"CCVT" => DiceTable::Table.from_i18n("Amadeus.table.CCVT", locale),
|
137
|
+
"NCVT" => DiceTable::Table.from_i18n("Amadeus.table.NCVT", locale),
|
138
|
+
"DGVT" => DiceTable::Table.from_i18n("Amadeus.table.DGVT", locale),
|
139
|
+
"DAVT" => DiceTable::Table.from_i18n("Amadeus.table.DAVT", locale),
|
140
|
+
"PRCT" => DiceTable::Table.from_i18n("Amadeus.table.PRCT", locale),
|
141
|
+
"TCCT" => DiceTable::Table.from_i18n("Amadeus.table.TCCT", locale),
|
142
|
+
"INCT" => DiceTable::Table.from_i18n("Amadeus.table.INCT", locale),
|
143
|
+
"PSCT" => DiceTable::Table.from_i18n("Amadeus.table.PSCT", locale),
|
144
|
+
"LVCT" => DiceTable::Table.from_i18n("Amadeus.table.LVCT", locale),
|
145
|
+
"DACT" => DiceTable::Table.from_i18n("Amadeus.table.DACT", locale),
|
146
|
+
"RGT" => DiceTable::Table.from_i18n("Amadeus.table.RGT", locale),
|
147
|
+
"FBT" => DiceTable::Table.from_i18n("Amadeus.table.FBT", locale),
|
148
|
+
"CHVT" => DiceTable::Table.from_i18n("Amadeus.table.CHVT", locale),
|
149
|
+
"LCVT" => DiceTable::Table.from_i18n("Amadeus.table.LCVT", locale),
|
150
|
+
"KCVT" => DiceTable::Table.from_i18n("Amadeus.table.KCVT", locale),
|
151
|
+
"SAT" => DiceTable::D66Table.from_i18n("Amadeus.table.SAT", locale),
|
152
|
+
"SMT" => DiceTable::D66Table.from_i18n("Amadeus.table.SMT", locale),
|
153
|
+
}
|
154
|
+
end
|
616
155
|
|
617
|
-
|
156
|
+
TABLES = translate_tables(:ja_jp)
|
618
157
|
|
619
|
-
register_prefix(
|
158
|
+
register_prefix('R[A-DS]', TABLES.keys)
|
620
159
|
end
|
621
160
|
end
|
622
161
|
end
|