bcdice 3.0.0.pre.alpha.1 → 3.0.0.pre.alpha.2
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/.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
|