bcdice 3.0.0.pre.alpha.1
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 +7 -0
- data/.editorconfig +21 -0
- data/.github/.codecov.yaml +10 -0
- data/.github/workflows/coverage.yaml +21 -0
- data/.github/workflows/lint.yaml +13 -0
- data/.github/workflows/test.yml +20 -0
- data/.gitignore +14 -0
- data/.rubocop.yml +96 -0
- data/.rubocop_todo.yml +113 -0
- data/CHANGELOG.md +868 -0
- data/Gemfile +11 -0
- data/LICENSE +29 -0
- data/README.md +38 -0
- data/ROADMAP.md +30 -0
- data/Rakefile +118 -0
- data/bcdice.gemspec +27 -0
- data/bin/repl.rb +21 -0
- data/docs/README.txt +2028 -0
- data/docs/dicebot_sort_key.md +72 -0
- data/docs/how_to_make_dicebot.md +453 -0
- data/lib/bcdice.rb +8 -0
- data/lib/bcdice/arithmetic_evaluator.rb +167 -0
- data/lib/bcdice/base.rb +423 -0
- data/lib/bcdice/command_parser.rb +242 -0
- data/lib/bcdice/common_command.rb +23 -0
- data/lib/bcdice/common_command/add_dice.rb +54 -0
- data/lib/bcdice/common_command/add_dice/node.rb +488 -0
- data/lib/bcdice/common_command/add_dice/parser.rb +282 -0
- data/lib/bcdice/common_command/add_dice/randomizer.rb +48 -0
- data/lib/bcdice/common_command/barabara_dice.rb +57 -0
- data/lib/bcdice/common_command/calc.rb +39 -0
- data/lib/bcdice/common_command/choice.rb +35 -0
- data/lib/bcdice/common_command/d66_dice.rb +63 -0
- data/lib/bcdice/common_command/reroll_dice.rb +190 -0
- data/lib/bcdice/common_command/upper_dice.rb +165 -0
- data/lib/bcdice/common_command/version.rb +26 -0
- data/lib/bcdice/dice_table.rb +8 -0
- data/lib/bcdice/dice_table/chain_table.rb +33 -0
- data/lib/bcdice/dice_table/d66_grid_table.rb +26 -0
- data/lib/bcdice/dice_table/d66_range_table.rb +26 -0
- data/lib/bcdice/dice_table/d66_table.rb +34 -0
- data/lib/bcdice/dice_table/range_table.rb +267 -0
- data/lib/bcdice/dice_table/roll_result.rb +43 -0
- data/lib/bcdice/dice_table/sai_fic_skill_table.rb +32 -0
- data/lib/bcdice/dice_table/table.rb +35 -0
- data/lib/bcdice/enum.rb +15 -0
- data/lib/bcdice/format.rb +36 -0
- data/lib/bcdice/game_system.rb +187 -0
- data/lib/bcdice/game_system/AFF2e.rb +141 -0
- data/lib/bcdice/game_system/AceKillerGene.rb +55 -0
- data/lib/bcdice/game_system/Airgetlamh.rb +117 -0
- data/lib/bcdice/game_system/Alsetto.rb +124 -0
- data/lib/bcdice/game_system/Alshard.rb +27 -0
- data/lib/bcdice/game_system/AlterRaise.rb +282 -0
- data/lib/bcdice/game_system/Amadeus.rb +622 -0
- data/lib/bcdice/game_system/Amadeus_Korean.rb +501 -0
- data/lib/bcdice/game_system/AnimaAnimus.rb +96 -0
- data/lib/bcdice/game_system/Arianrhod.rb +50 -0
- data/lib/bcdice/game_system/ArsMagica.rb +149 -0
- data/lib/bcdice/game_system/Avandner.rb +101 -0
- data/lib/bcdice/game_system/BBN.rb +143 -0
- data/lib/bcdice/game_system/BadLife.rb +435 -0
- data/lib/bcdice/game_system/BarnaKronika.rb +188 -0
- data/lib/bcdice/game_system/BattleTech.rb +530 -0
- data/lib/bcdice/game_system/BeastBindTrinity.rb +348 -0
- data/lib/bcdice/game_system/BeginningIdol.rb +2527 -0
- data/lib/bcdice/game_system/BeginningIdol_Korean.rb +2378 -0
- data/lib/bcdice/game_system/BladeOfArcana.rb +252 -0
- data/lib/bcdice/game_system/BlindMythos.rb +460 -0
- data/lib/bcdice/game_system/BloodCrusade.rb +423 -0
- data/lib/bcdice/game_system/BloodMoon.rb +213 -0
- data/lib/bcdice/game_system/CardRanker.rb +249 -0
- data/lib/bcdice/game_system/ChaosFlare.rb +181 -0
- data/lib/bcdice/game_system/Chill.rb +163 -0
- data/lib/bcdice/game_system/Chill3.rb +52 -0
- data/lib/bcdice/game_system/CodeLayerd.rb +132 -0
- data/lib/bcdice/game_system/ColossalHunter.rb +569 -0
- data/lib/bcdice/game_system/CrashWorld.rb +81 -0
- data/lib/bcdice/game_system/Cthulhu.rb +252 -0
- data/lib/bcdice/game_system/Cthulhu7th.rb +767 -0
- data/lib/bcdice/game_system/Cthulhu7th_ChineseTraditional.rb +386 -0
- data/lib/bcdice/game_system/Cthulhu7th_Korean.rb +383 -0
- data/lib/bcdice/game_system/CthulhuTech.rb +263 -0
- data/lib/bcdice/game_system/Cthulhu_ChineseTraditional.rb +243 -0
- data/lib/bcdice/game_system/Cthulhu_Korean.rb +240 -0
- data/lib/bcdice/game_system/DarkBlaze.rb +207 -0
- data/lib/bcdice/game_system/DarkDaysDrive.rb +425 -0
- data/lib/bcdice/game_system/DarkSouls.rb +91 -0
- data/lib/bcdice/game_system/DeadlineHeroes.rb +583 -0
- data/lib/bcdice/game_system/DemonParasite.rb +524 -0
- data/lib/bcdice/game_system/DetatokoSaga.rb +310 -0
- data/lib/bcdice/game_system/DetatokoSaga_Korean.rb +310 -0
- data/lib/bcdice/game_system/DiceBot.rb +17 -0
- data/lib/bcdice/game_system/DiceOfTheDead.rb +111 -0
- data/lib/bcdice/game_system/DoubleCross.rb +373 -0
- data/lib/bcdice/game_system/DoubleCross_Korean.rb +371 -0
- data/lib/bcdice/game_system/Dracurouge.rb +1856 -0
- data/lib/bcdice/game_system/Dracurouge_Korean.rb +310 -0
- data/lib/bcdice/game_system/DungeonsAndDragons.rb +19 -0
- data/lib/bcdice/game_system/EarthDawn.rb +225 -0
- data/lib/bcdice/game_system/EarthDawn3.rb +275 -0
- data/lib/bcdice/game_system/EarthDawn4.rb +272 -0
- data/lib/bcdice/game_system/EclipsePhase.rb +51 -0
- data/lib/bcdice/game_system/Elric.rb +36 -0
- data/lib/bcdice/game_system/Elysion.rb +1213 -0
- data/lib/bcdice/game_system/EmbryoMachine.rb +227 -0
- data/lib/bcdice/game_system/EndBreaker.rb +132 -0
- data/lib/bcdice/game_system/EtrianOdysseySRS.rb +27 -0
- data/lib/bcdice/game_system/Fiasco.rb +123 -0
- data/lib/bcdice/game_system/Fiasco_Korean.rb +122 -0
- data/lib/bcdice/game_system/FilledWith.rb +1543 -0
- data/lib/bcdice/game_system/FullMetalPanic.rb +27 -0
- data/lib/bcdice/game_system/FutariSousa.rb +994 -0
- data/lib/bcdice/game_system/FutariSousa_Korean.rb +994 -0
- data/lib/bcdice/game_system/Garako.rb +559 -0
- data/lib/bcdice/game_system/GardenOrder.rb +451 -0
- data/lib/bcdice/game_system/GehennaAn.rb +136 -0
- data/lib/bcdice/game_system/GeishaGirlwithKatana.rb +120 -0
- data/lib/bcdice/game_system/GoblinSlayer.rb +168 -0
- data/lib/bcdice/game_system/GoldenSkyStories.rb +77 -0
- data/lib/bcdice/game_system/Gorilla.rb +44 -0
- data/lib/bcdice/game_system/GranCrest.rb +518 -0
- data/lib/bcdice/game_system/Gundog.rb +52 -0
- data/lib/bcdice/game_system/GundogRevised.rb +294 -0
- data/lib/bcdice/game_system/GundogZero.rb +261 -0
- data/lib/bcdice/game_system/Gurps.rb +403 -0
- data/lib/bcdice/game_system/GurpsFW.rb +2330 -0
- data/lib/bcdice/game_system/HarnMaster.rb +208 -0
- data/lib/bcdice/game_system/HatsuneMiku.rb +706 -0
- data/lib/bcdice/game_system/Hieizan.rb +48 -0
- data/lib/bcdice/game_system/HouraiGakuen.rb +270 -0
- data/lib/bcdice/game_system/HuntersMoon.rb +503 -0
- data/lib/bcdice/game_system/Illusio.rb +89 -0
- data/lib/bcdice/game_system/InfiniteFantasia.rb +51 -0
- data/lib/bcdice/game_system/Insane.rb +822 -0
- data/lib/bcdice/game_system/Insane_Korean.rb +773 -0
- data/lib/bcdice/game_system/IthaWenUa.rb +38 -0
- data/lib/bcdice/game_system/JamesBond.rb +45 -0
- data/lib/bcdice/game_system/Kamigakari.rb +394 -0
- data/lib/bcdice/game_system/Kamigakari_Korean.rb +428 -0
- data/lib/bcdice/game_system/KanColle.rb +938 -0
- data/lib/bcdice/game_system/KemonoNoMori.rb +258 -0
- data/lib/bcdice/game_system/KillDeathBusiness.rb +1420 -0
- data/lib/bcdice/game_system/KillDeathBusiness_Korean.rb +1510 -0
- data/lib/bcdice/game_system/KurayamiCrying.rb +49 -0
- data/lib/bcdice/game_system/LiveraDoll.rb +375 -0
- data/lib/bcdice/game_system/LogHorizon.rb +3567 -0
- data/lib/bcdice/game_system/LogHorizon_Korean.rb +1407 -0
- data/lib/bcdice/game_system/LostRecord.rb +30 -0
- data/lib/bcdice/game_system/LostRoyal.rb +242 -0
- data/lib/bcdice/game_system/MagicaLogia.rb +1148 -0
- data/lib/bcdice/game_system/MeikyuDays.rb +415 -0
- data/lib/bcdice/game_system/MeikyuKingdom.rb +466 -0
- data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +269 -0
- data/lib/bcdice/game_system/MetalHead.rb +249 -0
- data/lib/bcdice/game_system/MetalHeadExtream.rb +917 -0
- data/lib/bcdice/game_system/MetallicGuardian.rb +31 -0
- data/lib/bcdice/game_system/MonotoneMuseum.rb +354 -0
- data/lib/bcdice/game_system/MonotoneMuseum_Korean.rb +304 -0
- data/lib/bcdice/game_system/Nechronica.rb +211 -0
- data/lib/bcdice/game_system/Nechronica_Korean.rb +160 -0
- data/lib/bcdice/game_system/NeverCloud.rb +74 -0
- data/lib/bcdice/game_system/NightWizard.rb +231 -0
- data/lib/bcdice/game_system/NightWizard3rd.rb +24 -0
- data/lib/bcdice/game_system/NightmareHunterDeep.rb +117 -0
- data/lib/bcdice/game_system/NinjaSlayer.rb +274 -0
- data/lib/bcdice/game_system/NjslyrBattle.rb +54 -0
- data/lib/bcdice/game_system/Nuekagami.rb +293 -0
- data/lib/bcdice/game_system/OneWayHeroics.rb +134 -0
- data/lib/bcdice/game_system/OracleEngine.rb +265 -0
- data/lib/bcdice/game_system/OrgaRain.rb +77 -0
- data/lib/bcdice/game_system/Oukahoushin3rd.rb +162 -0
- data/lib/bcdice/game_system/Paradiso.rb +323 -0
- data/lib/bcdice/game_system/Paranoia.rb +64 -0
- data/lib/bcdice/game_system/ParanoiaRebooted.rb +109 -0
- data/lib/bcdice/game_system/ParasiteBlood.rb +231 -0
- data/lib/bcdice/game_system/Pathfinder.rb +21 -0
- data/lib/bcdice/game_system/Peekaboo.rb +324 -0
- data/lib/bcdice/game_system/Pendragon.rb +39 -0
- data/lib/bcdice/game_system/PhantasmAdventure.rb +73 -0
- data/lib/bcdice/game_system/Postman.rb +185 -0
- data/lib/bcdice/game_system/PulpCthulhu.rb +184 -0
- data/lib/bcdice/game_system/Raisondetre.rb +171 -0
- data/lib/bcdice/game_system/RecordOfLodossWar.rb +58 -0
- data/lib/bcdice/game_system/RecordOfSteam.rb +149 -0
- data/lib/bcdice/game_system/RokumonSekai2.rb +110 -0
- data/lib/bcdice/game_system/RoleMaster.rb +24 -0
- data/lib/bcdice/game_system/RuneQuest.rb +47 -0
- data/lib/bcdice/game_system/RyuTuber.rb +266 -0
- data/lib/bcdice/game_system/Ryutama.rb +199 -0
- data/lib/bcdice/game_system/SRS.rb +348 -0
- data/lib/bcdice/game_system/SamsaraBallad.rb +111 -0
- data/lib/bcdice/game_system/Satasupe.rb +1173 -0
- data/lib/bcdice/game_system/ScreamHighSchool.rb +128 -0
- data/lib/bcdice/game_system/SevenFortressMobius.rb +34 -0
- data/lib/bcdice/game_system/ShadowRun.rb +26 -0
- data/lib/bcdice/game_system/ShadowRun4.rb +49 -0
- data/lib/bcdice/game_system/ShadowRun5.rb +80 -0
- data/lib/bcdice/game_system/SharedFantasia.rb +69 -0
- data/lib/bcdice/game_system/ShinMegamiTenseiKakuseihen.rb +85 -0
- data/lib/bcdice/game_system/ShinkuuGakuen.rb +506 -0
- data/lib/bcdice/game_system/ShinobiGami.rb +680 -0
- data/lib/bcdice/game_system/ShoujoTenrankai.rb +677 -0
- data/lib/bcdice/game_system/Skynauts.rb +324 -0
- data/lib/bcdice/game_system/SteamPunkers.rb +485 -0
- data/lib/bcdice/game_system/StellarKnights.rb +856 -0
- data/lib/bcdice/game_system/SterileLife.rb +452 -0
- data/lib/bcdice/game_system/StrangerOfSwordCity.rb +103 -0
- data/lib/bcdice/game_system/StratoShout.rb +316 -0
- data/lib/bcdice/game_system/StratoShout_Korean.rb +314 -0
- data/lib/bcdice/game_system/Strave.rb +223 -0
- data/lib/bcdice/game_system/SwordWorld.rb +491 -0
- data/lib/bcdice/game_system/SwordWorld2_0.rb +295 -0
- data/lib/bcdice/game_system/SwordWorld2_5.rb +121 -0
- data/lib/bcdice/game_system/TherapieSein.rb +93 -0
- data/lib/bcdice/game_system/TokumeiTenkousei.rb +96 -0
- data/lib/bcdice/game_system/TokyoGhostResearch.rb +122 -0
- data/lib/bcdice/game_system/TokyoNova.rb +19 -0
- data/lib/bcdice/game_system/Torg.rb +364 -0
- data/lib/bcdice/game_system/Torg1_5.rb +139 -0
- data/lib/bcdice/game_system/TorgEternity.rb +414 -0
- data/lib/bcdice/game_system/TrinitySeven.rb +364 -0
- data/lib/bcdice/game_system/TunnelsAndTrolls.rb +287 -0
- data/lib/bcdice/game_system/TwilightGunsmoke.rb +527 -0
- data/lib/bcdice/game_system/Utakaze.rb +153 -0
- data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +132 -0
- data/lib/bcdice/game_system/Villaciel.rb +555 -0
- data/lib/bcdice/game_system/WARPS.rb +33 -0
- data/lib/bcdice/game_system/WaresBlade.rb +34 -0
- data/lib/bcdice/game_system/Warhammer.rb +336 -0
- data/lib/bcdice/game_system/WitchQuest.rb +275 -0
- data/lib/bcdice/game_system/WorldOfDarkness.rb +135 -0
- data/lib/bcdice/game_system/YankeeYogSothoth.rb +440 -0
- data/lib/bcdice/game_system/YearZeroEngine.rb +134 -0
- data/lib/bcdice/game_system/ZettaiReido.rb +142 -0
- data/lib/bcdice/game_system/meikyu_kingdom/item_table.rb +383 -0
- data/lib/bcdice/game_system/meikyu_kingdom/kingdom_name_table.rb +89 -0
- data/lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb +196 -0
- data/lib/bcdice/game_system/meikyu_kingdom/name_tables.rb +223 -0
- data/lib/bcdice/game_system/meikyu_kingdom/placename_table.rb +214 -0
- data/lib/bcdice/game_system/meikyu_kingdom/tables.rb +610 -0
- data/lib/bcdice/game_system/meikyu_kingdom/word_table.rb +117 -0
- data/lib/bcdice/game_system/meikyu_kingdom_basic/item_table.rb +380 -0
- data/lib/bcdice/game_system/meikyu_kingdom_basic/kingdom_table.rb +184 -0
- data/lib/bcdice/game_system/meikyu_kingdom_basic/name_table.rb +417 -0
- data/lib/bcdice/game_system/meikyu_kingdom_basic/table.rb +912 -0
- data/lib/bcdice/game_system/meikyu_kingdom_basic/word_table.rb +121 -0
- data/lib/bcdice/game_system/one_way_heroics/dungeon_table.rb +67 -0
- data/lib/bcdice/game_system/one_way_heroics/random_event_table.rb +166 -0
- data/lib/bcdice/game_system/one_way_heroics/tables.rb +668 -0
- data/lib/bcdice/loader.rb +37 -0
- data/lib/bcdice/normalize.rb +38 -0
- data/lib/bcdice/preprocessor.rb +87 -0
- data/lib/bcdice/randomizer.rb +137 -0
- data/lib/bcdice/repl.rb +155 -0
- data/lib/bcdice/user_defined_dice_table.rb +153 -0
- data/lib/bcdice/version.rb +3 -0
- metadata +304 -0
@@ -0,0 +1,994 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module BCDice
|
4
|
+
module GameSystem
|
5
|
+
class FutariSousa_Korean < Base
|
6
|
+
# ゲームシステムの識別子
|
7
|
+
ID = 'FutariSousa:Korean'
|
8
|
+
|
9
|
+
# ゲームシステム名
|
10
|
+
NAME = '둘이서 수사(후타리소우사)'
|
11
|
+
|
12
|
+
# ゲームシステム名の読みがな
|
13
|
+
SORT_KEY = '国際化:Korean:둘이서 수사'
|
14
|
+
|
15
|
+
# ダイスボットの使い方
|
16
|
+
HELP_MESSAGE = <<~MESSAGETEXT
|
17
|
+
・판정용 커맨드
|
18
|
+
탐정용:【DT】…10면체 주사위를 2개 굴려 판정합니다.『유리』라면【3DT】, 『불리』라면【1DT】를 사용합니다.
|
19
|
+
조수용:【AS】…6면체 주사위를 2개 굴려 판정합니다. 『유리』라면【3AS】, 『불리』라면【1AS】를 사용합니다.
|
20
|
+
・각종표
|
21
|
+
【조사】
|
22
|
+
이상한 버릇 결정표 SHRD
|
23
|
+
지껄이다표 SHFM/강압적인 수사표 SHBT/시치미 떼기표 SHPI
|
24
|
+
사건에 몰두표 SHEG/파트너와……표 SHWP/무언가 하고 있다표 SHDS
|
25
|
+
기상천외표 SHFT/갑작스런 번뜩임표 SHIN/희노애락표 SHEM
|
26
|
+
이벤트표
|
27
|
+
현장에서 EVS/어째서? EVW/협력자와 함께 EVN
|
28
|
+
상대쪽에서 EVC/VS용의자 EVV
|
29
|
+
조사의 장애표 OBT 변조표 ACT 목격자표 EWT 미제사건표 WMT
|
30
|
+
【설정】
|
31
|
+
배경표
|
32
|
+
탐정 운명의 혈통 BGDD/천상의 재능 BGDG/마니아 BGDM
|
33
|
+
조수 정의로운 사람 BGAJ/정렬적인 사람 BGAP/말려든 사람 BGAI
|
34
|
+
신장표 HT 아지트표 BT 관계표 GRT 추억의 물건 결정표 MIT
|
35
|
+
직업표A・B JBT66・JBT10 패션 특징표A・B FST66・FST10
|
36
|
+
감정표A・B FLT66・FLT10 좋아하는 것/싫어하는 것표A・B LDT66・LDT10
|
37
|
+
호칭표A・B NCT66・NCT10
|
38
|
+
MESSAGETEXT
|
39
|
+
|
40
|
+
def initialize(command)
|
41
|
+
super(command)
|
42
|
+
|
43
|
+
@enabled_d66 = true
|
44
|
+
@d66_sort_type = D66SortType::ASC
|
45
|
+
|
46
|
+
@success_threshold = 4 # 成功の目標値(固定)
|
47
|
+
@special_dice = 6 # スペシャルとなる出目(ダイスの種別によらず固定)
|
48
|
+
end
|
49
|
+
|
50
|
+
register_prefix(
|
51
|
+
['(\d+)?DT', '(\d+)?AS', 'SHRD', 'SHFM', 'SHBT', 'SHPI', 'SHEG', 'SHWP', 'SHDS', 'SHFT', 'SHIN', 'SHEM', 'EVS', 'EVW', 'EVN', 'EVC', 'EVV', 'OBT', 'ACT', 'EWT', 'WMT', 'BGDD', 'BGDG', 'BGDM', 'BGAJ', 'BGAP', 'BGAI', 'HT', 'BT', 'GRT', 'MIT', 'JBT66', 'JBT10', 'FST66', 'FST10', 'FLT66', 'FLT10', 'LDT66', 'LDT10', 'NCT66', 'NCT10',]
|
52
|
+
)
|
53
|
+
|
54
|
+
def eval_game_system_specific_command(command)
|
55
|
+
output = '1'
|
56
|
+
type = ""
|
57
|
+
diceText = ""
|
58
|
+
|
59
|
+
case command
|
60
|
+
when /^(\d+)?DT$/i
|
61
|
+
type = command
|
62
|
+
count = (Regexp.last_match(1) || 2).to_i
|
63
|
+
output, diceText = get_dt(count)
|
64
|
+
when /^(\d+)?AS$/i
|
65
|
+
type = command
|
66
|
+
count = (Regexp.last_match(1) || 2).to_i
|
67
|
+
output, diceText = get_as(count)
|
68
|
+
when 'SHRD'
|
69
|
+
type = '이상한 버릇 결정표'
|
70
|
+
output, diceText = get_strange_habit_random
|
71
|
+
when 'SHFM'
|
72
|
+
type = '이상한 버릇・지껄이다표'
|
73
|
+
output, diceText = get_strange_habit_from_mouth
|
74
|
+
when 'SHBT'
|
75
|
+
type = '이상한 버릇・강압적인 수사표'
|
76
|
+
output, diceText = get_strange_habit_bull_through
|
77
|
+
when 'SHPI'
|
78
|
+
type = '이상한 버릇・시치미 떼기표'
|
79
|
+
output, diceText = get_strange_habit_play_innocent
|
80
|
+
when 'SHEG'
|
81
|
+
type = '이상한 버릇・사건에 몰두표'
|
82
|
+
output, diceText = get_strange_habit_engrossed
|
83
|
+
when 'SHWP'
|
84
|
+
type = '이상한 버릇・파트너와……표'
|
85
|
+
output, diceText = get_strange_habit_with_partner
|
86
|
+
when 'SHDS'
|
87
|
+
type = '이상한 버릇・무언가 하고 있다표'
|
88
|
+
output, diceText = get_strange_habit_do_something
|
89
|
+
when 'SHFT'
|
90
|
+
type = '이상한 버릇・기상천외표'
|
91
|
+
output, diceText = get_strange_habit_fantastic
|
92
|
+
when 'SHIN'
|
93
|
+
type = '이상한 버릇・갑작스런 번뜩임표'
|
94
|
+
output, diceText = get_strange_habit_inspiration
|
95
|
+
when 'SHEM'
|
96
|
+
type = '이상한 버릇・희노애락표'
|
97
|
+
output, diceText = get_strange_habit_emotion
|
98
|
+
when 'EVS'
|
99
|
+
type = '현장에서/이벤트표'
|
100
|
+
output, diceText = get_event_scene
|
101
|
+
when 'EVW'
|
102
|
+
type = '어째서?/이벤트표'
|
103
|
+
output, diceText = get_event_why
|
104
|
+
when 'EVN'
|
105
|
+
type = '협력자와 함께/이벤트표'
|
106
|
+
output, diceText = get_event_npc
|
107
|
+
when 'EVC'
|
108
|
+
type = '상대쪽에서/이벤트표'
|
109
|
+
output, diceText = get_event_coming
|
110
|
+
when 'EVV'
|
111
|
+
type = 'VS용의자/이벤트표'
|
112
|
+
output, diceText = get_event_vs
|
113
|
+
when 'OBT'
|
114
|
+
type = '조사의 장애표'
|
115
|
+
output, diceText = get_obstruction_table
|
116
|
+
when 'ACT'
|
117
|
+
type = '변조표'
|
118
|
+
output, diceText = get_abnormal_condition
|
119
|
+
when 'EWT'
|
120
|
+
type = '목격자표'
|
121
|
+
output, diceText = get_eyewitness_table
|
122
|
+
when 'WMT'
|
123
|
+
type = '미제사건표'
|
124
|
+
output, diceText = get_wrapped_in_mystery_table
|
125
|
+
when 'BGDD'
|
126
|
+
type = '탐정・운명의 혈통 배경표'
|
127
|
+
output, diceText = get_background_detective_destiny
|
128
|
+
when 'BGDG'
|
129
|
+
type = '탐정・천성의 재능 배경표'
|
130
|
+
output, diceText = get_background_detective_genius
|
131
|
+
when 'BGDM'
|
132
|
+
type = '탐정・마니아 배경표'
|
133
|
+
output, diceText = get_background_detective_mania
|
134
|
+
when 'BGAJ'
|
135
|
+
type = '조수・정의로운 사람 배경표'
|
136
|
+
output, diceText = get_background_assistant_justice
|
137
|
+
when 'BGAP'
|
138
|
+
type = '조수・정렬적인 사람 배경표'
|
139
|
+
output, diceText = get_background_assistant_passion
|
140
|
+
when 'BGAI'
|
141
|
+
type = '조수・말려든 사람 배경표'
|
142
|
+
output, diceText = get_background_assistant_involved
|
143
|
+
when 'HT'
|
144
|
+
type = '신장표'
|
145
|
+
output, diceText = get_height_table
|
146
|
+
when 'BT'
|
147
|
+
type = '아지트표'
|
148
|
+
output, diceText = get_base_table
|
149
|
+
when 'GRT'
|
150
|
+
type = '관계표'
|
151
|
+
output, diceText = get_guest_relation_table
|
152
|
+
when 'MIT'
|
153
|
+
type = '추억의 물건 결정표'
|
154
|
+
output, diceText = get_memorial_item_table
|
155
|
+
when 'JBT66'
|
156
|
+
type = '직업표A'
|
157
|
+
output, diceText = get_job_table_66
|
158
|
+
when 'JBT10'
|
159
|
+
type = '직업표B'
|
160
|
+
output, diceText = get_job_table_10
|
161
|
+
when 'FST66'
|
162
|
+
type = '패션 특징표A'
|
163
|
+
output, diceText = get_fashion_table_66
|
164
|
+
when 'FST10'
|
165
|
+
type = '패션 특징표B'
|
166
|
+
output, diceText = get_fashion_table_10
|
167
|
+
when 'FLT66'
|
168
|
+
type = '감정표A'
|
169
|
+
output, diceText = get_feeling_table_66
|
170
|
+
when 'FLT10'
|
171
|
+
type = '감정표B'
|
172
|
+
output, diceText = get_feeling_table_10
|
173
|
+
when 'LDT66'
|
174
|
+
type = '좋아하는 것/싫어하는 것표A'
|
175
|
+
output, diceText = get_like_dislike_table_66
|
176
|
+
when 'LDT10'
|
177
|
+
type = '좋아하는 것/싫어하는 것표B'
|
178
|
+
output, diceText = get_like_dislike_table_10
|
179
|
+
when 'NCT66'
|
180
|
+
type = '호칭표A'
|
181
|
+
output, diceText = get_name_to_call_table_66
|
182
|
+
when 'NCT10'
|
183
|
+
type = '호칭표B'
|
184
|
+
output, diceText = get_name_to_call_table_10
|
185
|
+
end
|
186
|
+
|
187
|
+
return "#{type}(#{diceText}) > #{output}"
|
188
|
+
end
|
189
|
+
|
190
|
+
# DT
|
191
|
+
def get_dt(count)
|
192
|
+
diceList = @randomizer.roll_barabara(count, 10)
|
193
|
+
|
194
|
+
output = get_dt_result(diceList)
|
195
|
+
diceText = diceList.join(",")
|
196
|
+
|
197
|
+
return output, diceText
|
198
|
+
end
|
199
|
+
|
200
|
+
def get_dt_result(diceList)
|
201
|
+
max = diceList.max
|
202
|
+
|
203
|
+
return "펌블(변조를 받고, 조수의 마음고생이 1점 상승)" if max <= 1
|
204
|
+
return "스페셜(조수의 여유를 1점 획득)" if diceList.include?(@special_dice)
|
205
|
+
return "성공" if max >= @success_threshold
|
206
|
+
|
207
|
+
return "실패"
|
208
|
+
end
|
209
|
+
|
210
|
+
# AS
|
211
|
+
def get_as(count)
|
212
|
+
diceList = @randomizer.roll_barabara(count, 6)
|
213
|
+
|
214
|
+
output = get_as_result(diceList)
|
215
|
+
diceText = diceList.join(",")
|
216
|
+
|
217
|
+
return output, diceText
|
218
|
+
end
|
219
|
+
|
220
|
+
def get_as_result(diceList)
|
221
|
+
max = diceList.max
|
222
|
+
|
223
|
+
return "펌블(변조를 받고, 조수의 마음고생이 1점 상승)" if max <= 1
|
224
|
+
return "스페셜(여유 2점과, 탐정의 조수를 향한 감정을 획득)" if diceList.include?(@special_dice)
|
225
|
+
return "성공(여유 1점과, 탐정의 조수를 향한 감정을 획득)" if max >= @success_threshold
|
226
|
+
|
227
|
+
return "실패"
|
228
|
+
end
|
229
|
+
|
230
|
+
def getTableResult(table, dice)
|
231
|
+
number, text, command = table.assoc(dice)
|
232
|
+
|
233
|
+
if command.respond_to?(:call)
|
234
|
+
text += command.call(self)
|
235
|
+
end
|
236
|
+
|
237
|
+
return number, text
|
238
|
+
end
|
239
|
+
|
240
|
+
def getAddRoll(command)
|
241
|
+
return command if /^\s/.match(command)
|
242
|
+
|
243
|
+
text = eval_game_system_specific_command(command)
|
244
|
+
return " > #{command} is NOT found." if text.nil?
|
245
|
+
|
246
|
+
return " > \n #{command} > #{text}"
|
247
|
+
end
|
248
|
+
|
249
|
+
# 異常な癖決定表(이상한 버릇 결정표)
|
250
|
+
def get_strange_habit_random
|
251
|
+
table = [
|
252
|
+
[1, '「이상한 버릇・지껄이다표」를 사용한다.'],
|
253
|
+
[2, '「이상한 버릇・강압적인 수사표」를 사용한다.'],
|
254
|
+
[3, '「이상한 버릇・시치미 떼기표」를 사용한다.'],
|
255
|
+
[4, '「이상한 버릇・사건에 몰두표」를 사용한다.'],
|
256
|
+
[5, '「이상한 버릇・파트너와……표」를 사용한다.'],
|
257
|
+
[6, '「이상한 버릇・무언가 하고 있다표」를 사용한다.'],
|
258
|
+
[7, '「이상한 버릇・기상천외표」를 사용한다.'],
|
259
|
+
[8, '「이상한 버릇・갑작스런 번뜩임표」를 사용한다.'],
|
260
|
+
[9, '「이상한 버릇・희노애락표」를 사용한다.'],
|
261
|
+
[10, '원하는「이상한 버릇표」를 사용한다.'],
|
262
|
+
]
|
263
|
+
diceText = @randomizer.roll_once(10)
|
264
|
+
output = get_table_by_number(diceText, table)
|
265
|
+
return output, diceText
|
266
|
+
end
|
267
|
+
|
268
|
+
def get_strange_habit_from_mouth
|
269
|
+
table = [
|
270
|
+
[1, '맹렬하게 감사인사를 한다.'],
|
271
|
+
[2, '빈정거리는 투로 말해버린다.'],
|
272
|
+
[3, '상대의 말을 긍정한 뒤 부정한다.'],
|
273
|
+
[4, '히죽히죽 웃으며 사과한다.'],
|
274
|
+
[5, '상대의 말을 듣지 않고 자신만 말한다.'],
|
275
|
+
[6, '「이렇게는 생각할 수 없을까요?」'],
|
276
|
+
[7, '「아니면, 뭔가 숨기고 있는 거라도 있나요?」'],
|
277
|
+
[8, '「묘하네요.」'],
|
278
|
+
[9, '「대충 알겠어요.」'],
|
279
|
+
[10, '「잠자코 있어.」'],
|
280
|
+
]
|
281
|
+
diceText = @randomizer.roll_once(10)
|
282
|
+
output = get_table_by_number(diceText, table)
|
283
|
+
return output, diceText
|
284
|
+
end
|
285
|
+
|
286
|
+
def get_strange_habit_bull_through
|
287
|
+
table = [
|
288
|
+
[1, '마음대로 수사대상의 가방이나 서랍을 연다.'],
|
289
|
+
[2, '경찰의 수사에 끼어든다.'],
|
290
|
+
[3, '수사를 위해 해킹이나 불법침입을 한다.'],
|
291
|
+
[4, '허가 받지 않은 곳에 들어간다.'],
|
292
|
+
[5, '경찰의 수사를 엿보거나 엿듣는다.'],
|
293
|
+
[6, '증거품을 허가 없이 해체한다.'],
|
294
|
+
[7, '수사대상을 속여 정보를 캐낸다.'],
|
295
|
+
[8, '마음대로 관계자의 소지품을 만진다.'],
|
296
|
+
[9, '증거품을 마음대로 들고 다닌다.'],
|
297
|
+
[10, '마음대로 감식을 시작한다.'],
|
298
|
+
]
|
299
|
+
diceText = @randomizer.roll_once(10)
|
300
|
+
output = get_table_by_number(diceText, table)
|
301
|
+
return output, diceText
|
302
|
+
end
|
303
|
+
|
304
|
+
def get_strange_habit_play_innocent
|
305
|
+
table = [
|
306
|
+
[1, '자신의 신분을 속이고 관계자에게 이야기를 듣는다'],
|
307
|
+
[2, '정보를 숨기며 이야기를 듣는다'],
|
308
|
+
[3, '파트너와 연기를 하며 정보를 캐내려 한다'],
|
309
|
+
[4, '행인인 척하며 관계자의 이야기를 엿듣는다.'],
|
310
|
+
[5, '우연을 가장해 증거품을 손에 넣어버린다.'],
|
311
|
+
[6, '부자연스럽게 시치미를 뗀다.'],
|
312
|
+
[7, '관계자를 화나게 하는 연기를 하여 정보를 끌어낸다.'],
|
313
|
+
[8, '완곡하게 관계자를 위협한다'],
|
314
|
+
[9, '물건을 잃어버렸다고 말하며 현장이나 증거품을 뒤진다.'],
|
315
|
+
[10, '관계자에게 유도 신문을 한다.'],
|
316
|
+
]
|
317
|
+
diceText = @randomizer.roll_once(10)
|
318
|
+
output = get_table_by_number(diceText, table)
|
319
|
+
return output, diceText
|
320
|
+
end
|
321
|
+
|
322
|
+
def get_strange_habit_engrossed
|
323
|
+
table = [
|
324
|
+
[1, '파트너의 몸을 사용해 사건을 재현하려고 한다'],
|
325
|
+
[2, '수수께끼를 푸는 것이 즐거워서 웃어 버린다'],
|
326
|
+
[3, '먹지도 자지도 않고 수사를 하다 갑자기 쓰러진다'],
|
327
|
+
[4, '생각을 하느라 누구의 목소리도 들리지 않는다.'],
|
328
|
+
[5, '사건의 관계도를 가까운 벽이나 바닥에 그리기 시작한다'],
|
329
|
+
[6, '사건에 관계되는 말을 계속해서 말해나간다.'],
|
330
|
+
[7, '사건 해결 이외의 것은 전혀 생각하고 있지 않다.'],
|
331
|
+
[8, '사건의 흐름을 중얼중얼 말하기 시작한다.'],
|
332
|
+
[9, '사건 현장을 파고들어 조사를 한다.'],
|
333
|
+
[10, '식사중이라도, 상관 없이 사건 이야기를 한다.'],
|
334
|
+
]
|
335
|
+
diceText = @randomizer.roll_once(10)
|
336
|
+
output = get_table_by_number(diceText, table)
|
337
|
+
return output, diceText
|
338
|
+
end
|
339
|
+
|
340
|
+
def get_strange_habit_with_partner
|
341
|
+
table = [
|
342
|
+
[1, '파트너의 신뢰에 응석부린다.'],
|
343
|
+
[2, '파트너를 두고 먼저 가버린다.'],
|
344
|
+
[3, '파트너에게 사건에 대해 어떻게 생각하는지 질문한다.'],
|
345
|
+
[4, '파트너에게 자랑한다.'],
|
346
|
+
[5, '파트너에게 사건에 관한 퀴즈를 낸다.'],
|
347
|
+
[6, '파트너와 사소한 일로 싸움을 한다.'],
|
348
|
+
[7, '파트너에게 선생님 행세를 한다.'],
|
349
|
+
[8, '파트너가 따라오는 전제로 멋대로 움직인다.'],
|
350
|
+
[9, '파트너에 대해서 친절하고 정중하게 사건을 설명한다.'],
|
351
|
+
[10, '파트너의 귓가에 갑자기 말하기 시작한다.'],
|
352
|
+
]
|
353
|
+
diceText = @randomizer.roll_once(10)
|
354
|
+
output = get_table_by_number(diceText, table)
|
355
|
+
return output, diceText
|
356
|
+
end
|
357
|
+
|
358
|
+
def get_strange_habit_do_something
|
359
|
+
table = [
|
360
|
+
[1, '많은 양의 책을 읽고 있다.'],
|
361
|
+
[2, '좋아하는 음악을 큰 소리로 틀고 있다.'],
|
362
|
+
[3, '어떤 수식을 풀고 있다.'],
|
363
|
+
[4, '많은 양의 좋아하는 음식을 계속 먹고 있다.'],
|
364
|
+
[5, '계속 컴퓨터나 스마트폰 등의 화면과 마주보며 조사하고 있다.'],
|
365
|
+
[6, '작은 수수께끼를 풀고 있다.'],
|
366
|
+
[7, '체스나 장기 등을 두고 있다.'],
|
367
|
+
[8, '찻집 자리에 앉아 무언가를 기다리고 있다.'],
|
368
|
+
[9, '계속 잠들어 있다가 갑자기 일어난다.'],
|
369
|
+
[10, '잠시 아무 것도 하지 않는다.'],
|
370
|
+
]
|
371
|
+
diceText = @randomizer.roll_once(10)
|
372
|
+
output = get_table_by_number(diceText, table)
|
373
|
+
return output, diceText
|
374
|
+
end
|
375
|
+
|
376
|
+
def get_strange_habit_fantastic
|
377
|
+
table = [
|
378
|
+
[1, '그만두라는 말을 듣고 있는 일을 한다.'],
|
379
|
+
[2, '잠시 사라졌다가 돌아온다.'],
|
380
|
+
[3, '예상치 못한 곳(땅 속이나 공중 등)에서 등장한다.'],
|
381
|
+
[4, '뭔가 생각나서 갑자기 달리기 시작한다.'],
|
382
|
+
[5, '한심한 자신을 비난한다.'],
|
383
|
+
[6, '모르는 사이에 사건의 수수께끼를 하나 풀고 있었다.'],
|
384
|
+
[7, '사건에 대해 알아차린 모양이지만 누구에게도 가르쳐 주지 않는다.'],
|
385
|
+
[8, '두고 가는 편지나 메일로 보고를 하면 모습이 보이지 않는다.'],
|
386
|
+
[9, '시계를 보고 갑자기 움직인다.'],
|
387
|
+
[10, '사건과는 관계 없을 것 같은 신문의 기사를 읽고 있다.'],
|
388
|
+
]
|
389
|
+
diceText = @randomizer.roll_once(10)
|
390
|
+
output = get_table_by_number(diceText, table)
|
391
|
+
return output, diceText
|
392
|
+
end
|
393
|
+
|
394
|
+
def get_strange_habit_inspiration
|
395
|
+
table = [
|
396
|
+
[1, '식사를 하고 있으면 갑자기 수수께끼가 풀린다.'],
|
397
|
+
[2, '조수와의 아무렇지도 않은 대화에서 갑자기 수수께끼가 풀린다.'],
|
398
|
+
[3, '들려온 대화로부터 갑자기 수수께끼가 풀린다.'],
|
399
|
+
[4, '목욕을 하고 있으면 갑자기 수수께끼가 풀린다.'],
|
400
|
+
[5, '꿈 속에서 갑자기 수수께끼가 풀린다.'],
|
401
|
+
[6, '바람이 불어 날아온 물건으로 수수께끼가 풀린다.'],
|
402
|
+
[7, '책을 읽다가 사건의 힌트가 발견된다.'],
|
403
|
+
[8, '현장을 다시 방문하니 번뜩인다.'],
|
404
|
+
[9, '자료를 확인하는 중에 번뜩인다.'],
|
405
|
+
[10, '관계자와 대화를 나누는 중에 번뜩이다.'],
|
406
|
+
]
|
407
|
+
diceText = @randomizer.roll_once(10)
|
408
|
+
output = get_table_by_number(diceText, table)
|
409
|
+
return output, diceText
|
410
|
+
end
|
411
|
+
|
412
|
+
def get_strange_habit_emotion
|
413
|
+
table = [
|
414
|
+
[1, '갑자기 운다.'],
|
415
|
+
[2, '갑자기 화낸다.'],
|
416
|
+
[3, '갑자기 웃기 시작한다.'],
|
417
|
+
[4, '갑자기 하이텐션이 된다.'],
|
418
|
+
[5, '갑자기 기뻐한다.'],
|
419
|
+
[6, '갑자기 소리친다.'],
|
420
|
+
[7, '갑자기 히죽거리기 시작한다.'],
|
421
|
+
[8, '갑자기 이 사건의 슬픔을 말한다.'],
|
422
|
+
[9, '담담하게 일을 진행한다.'],
|
423
|
+
[10, '로봇처럼 정해진 것만 한다.'],
|
424
|
+
]
|
425
|
+
diceText = @randomizer.roll_once(10)
|
426
|
+
output = get_table_by_number(diceText, table)
|
427
|
+
return output, diceText
|
428
|
+
end
|
429
|
+
|
430
|
+
# イベント表
|
431
|
+
def get_event_scene
|
432
|
+
table = [
|
433
|
+
"신경쓰이는 것(P.165)\n 사건이 일어난 현장은 아직 남아 있다.\n 여기서 일어난 '무언가'는 안개 저편에 숨겨져 있었다.\n 그 안개에 손을 뻗는 자들이 있다.",
|
434
|
+
"거북해하다(P.166)\n 한 형사가 현장을 열심히 둘러보고 있다.\n 이 사건의 담당을 맡은 오사카베 마사요시(刑部正義)라는 남자다.\n 그는 PC들의 얼굴을 보자마자 얼굴을 찡그린다. 환영받지 못하고 있다.",
|
435
|
+
"탐문(P.167)\n PC들은 현장 부근을 지나다니거나 사건을 목격한 인물이 없는지 찾아다녔다.\n 그러나 어디서 무엇을 물어도 그럴 듯한 단서는 없다.\n 슬슬 다리에 피로가 쌓이기 시작했다.",
|
436
|
+
"완고한 관계자(P.168)\n 사건 현장에 어떤 인물이 나타났다.\n PC들은, 신묘한 얼굴로 현장을 바라보던 그 인물이 궁금해 말을 건다.\n 그 인물은 자신을 피해자의 관계자라고 자칭했다…….",
|
437
|
+
"현장을 철저히 조사!(P.169)\n 사건 현장에 남겨진 증거는 거의 찾아냈다.\n ……과연 정말 그럴까?\n 모든 각도에서 조사와 검증을 하여 현장에 남겨진 것은 없는지 찾아보게 됐다.",
|
438
|
+
"도망친 인물(P.170)\n 매우 빠르게 누군가가 현장에서 도망치고 있다.\n 그 인물의 달리는 모습이나 초조해하는 모습은 평범하지 않았다.\n 이건, 무언가를 알고 있다. 혹은 무언가를 가지고 떠났을 가능성이 있다.\n PC들은 쫓기 시작했다.",
|
439
|
+
]
|
440
|
+
return get_table_by_1d6(table)
|
441
|
+
end
|
442
|
+
|
443
|
+
def get_event_why
|
444
|
+
table = [
|
445
|
+
"이동 루트(P.171)\n 이 길을 지나갔을 때, 그 사람은 무슨 생각을 했을까?\n 이 길을 지나갔을 때, 그 사람은 무엇을 해야 했을까?\n 사건관계자들의 행적에는 사건에 이어지는 무언가가 남아 있다.\n 그렇게 믿으며, 길을 걷는다.",
|
446
|
+
"자신이라면……(P.172)\n 탐정과 조수가 사건에 대해 이야기를 나누고 있었다.\n 이야기의 주제는,「 이 상황에서 자신이 범인이라면 어떻게 할 것인가.」\n 그 가정은 힌트를 줄 수도 있다.",
|
447
|
+
"수수께끼의 메시지(P.173)\n 그것은, 수수께끼의 말이었다.\n 단순한 문자열일 수도 있고 뜻 모를 말일 수도 있다.\n 사건과 관련된 장소에 있었다고 해서, 사건에 관련되어 있다고는 할 수 없다.\n 하지만, 이것은 사건에 연루되어 있다. 그렇게 직감이 고하고 있다.",
|
448
|
+
"사건 복습(P.174)\n 화이트보드, 칠판, 노트.\n 뭐든지 간에 쓸 것이 필요하다.\n 지금부터 사건에 대해 정리하는 거니까.",
|
449
|
+
"수상한 인물은?(P.175)\n PC들은 한 인물을 쫓고 있다.\n 그 인물은 사건에 이어지는 무언가를 가지고 있다. 그런 확신이 들었다.\n 자, 그는 어떤 사람일까?",
|
450
|
+
"피해자의 시점(P.176)\n 피해자의 몸에 무슨 일이 일어났는가.\n 피해자는 무엇을 보았는가.\n 그 힌트는 피해자 자신이 알 것이다.",
|
451
|
+
]
|
452
|
+
return get_table_by_1d6(table)
|
453
|
+
end
|
454
|
+
|
455
|
+
def get_event_npc
|
456
|
+
table = [
|
457
|
+
"사건의 영상(P.177)\n PC들은 눈을 가늘게 뜨고 영상을 바라보고 있다.\n 그것은 공교롭게도 현장에서 찍힌 것이었다.\n 과연 진실은 이 영상 속에 담겨있는 것일까?",
|
458
|
+
"특이한 목격자(P.178)\n PC들은 수사 결과, 사건에 관한 무언가를 봤다는 목격자를 발견한다.\n 그러나 그 사람은 목격증언을 꺼렸다. 왜 그럴까?",
|
459
|
+
"전문가(P.179)\n 조사 중, 아무래도 전문적인 지식이 필요한 곳이 나온다.\n 지금이 그 때이고 PC들은 어떻게 할지 고민하고 있었다.",
|
460
|
+
"정보상(P.180)\n 메일 소프트웨어에 연락이 왔다.\n 연락해온 곳은 이 일대에서 유명한 정보상이었다.\n 그 정보상에게 걸리면 얻을 수 없는 정보는 없다고 한다.\n 자, 어떻게 할까?",
|
461
|
+
"관계자와 함께(P.181)\n 사건관계자 중 한명이 갑자기 협력을 제안했다.\n 아무래도 그 사람도 이 사건에 대해서는 생각하는 구석이 있는 것 같다.",
|
462
|
+
"아마추어 추리(P.182)\n 사건관계자 앞에서, 게스트 NPC가 추리를 선보이고 있다.\n 하지만 그 추리는 구멍투성이고…….",
|
463
|
+
]
|
464
|
+
return get_table_by_1d6(table)
|
465
|
+
end
|
466
|
+
|
467
|
+
def get_event_coming
|
468
|
+
table = [
|
469
|
+
"수상한 전화(P.183)\n 갑자기 전화가 울렸다.\n 그 전화는 조사를 진전시키게 될까…….\n 동시에, 새로운 수수께끼를 남겼다.",
|
470
|
+
"지금은 여가를(P.184)\n 행운은 누워서 기다려라.\n 쥐구멍에도 볕 들 날이 있다.\n 라는 걸로, 일단은 아지트에 있다.\n 과연 상황이 나아질까?",
|
471
|
+
"길에서 딱(P.185)\n 개도 쏘다니면 몽둥이에 맞는다.\n 이 말에는 행운을 만난다는 의미도, 봉변을 당한다는 의미도 있다.\n 그럼, 탐정과 조수가 걸으면 무엇에 해당할까?",
|
472
|
+
"번뜩이는 순간(P.186)\n 우연한 계기로 탐정은 번뜩이는 수가 있다.\n 이번엔 대체 무엇이 계기였을까?",
|
473
|
+
"지인으로부터(P.187)\n 사건 수사의 단서를 가져온 것은, 지인이었다.\n 역시 친구밖에 없다.\n 라고 말하고 싶은 참인데…….",
|
474
|
+
"PC들의 위기(P.188)\n 수사는 갑자기 멈췄다.\n 그 원인은 알고 있다.\n 원인을 제거하지 않으면 사건 조사는 할 수 없다.",
|
475
|
+
]
|
476
|
+
return get_table_by_1d6(table)
|
477
|
+
end
|
478
|
+
|
479
|
+
def get_event_vs
|
480
|
+
table = [
|
481
|
+
"용의자의 거짓말(P.189)\n 사람은 뭔가 떳떳하지 못한 일이 있을 때 거짓말을 한다.\n 이 용의자는 거짓말을 하고 있다.\n 그렇다면, 무엇을 숨기고 있을까?",
|
482
|
+
"흔들림(P.190)\n 그 용의자는 뭔가를 숨기고 있었다.\n 눈에 띄는 거짓말을 하고 있는 것은 아니다.\n 그렇지만 무언가 숨기고 있다. 탐정에겐, 그렇게 보였다.",
|
483
|
+
"외모로부터의 추리(P.191)\n 조금만 이야기를 했다.\n 조금만 그 모습을 보았다.\n 조금만, 그 사람을 알았다.\n 그것만으로 탐정이라는 생물은 열을 안다. 원래 그런 것이다.",
|
484
|
+
"직접 묻다(P.192)\n 여기서 탐정과 조수는 대담한 수를 썼다.\n 용의자를 상대로 사건의 구체적인 부분까지 파고드는 질문을 한 것이다.\n 그것에 대해 용의자는…….",
|
485
|
+
"위협 받다(P.193)\n 아무래도 우리는 위협을 받는 것 같다.",
|
486
|
+
"술래가 없는 사이에(P.194)\n 그 용의자를 찾아갔을 때 우연히 자리를 비우고 있었다.\n 이건 기회다.\n 그렇게 생각하는 것이 바로 탐정의 슬픈 천성이다.",
|
487
|
+
]
|
488
|
+
return get_table_by_1d6(table)
|
489
|
+
end
|
490
|
+
|
491
|
+
# 調査の障害表(조사의 장애표)
|
492
|
+
def get_obstruction_table
|
493
|
+
table = [
|
494
|
+
[11, '탐정과 조수가 경찰에게 마크당한다.'],
|
495
|
+
[12, '탐정의 변덕'],
|
496
|
+
[13, '탐정의 의욕'],
|
497
|
+
[14, '탐정의 기행을 견딜 수 없게 되다.'],
|
498
|
+
[15, '탐정이 기이한 의심을 받다.'],
|
499
|
+
[16, '탐정이 피곤하다.'],
|
500
|
+
[22, '탐정과 조수가 수상한 인물로 오인받는다.'],
|
501
|
+
[23, '조수가 파트너에게 신뢰받지 못한다고 생각한다.'],
|
502
|
+
[24, '조수가 탐정에게 따라갈 수 없다.'],
|
503
|
+
[25, '조수의 수고가 어느 때보다 크다.'],
|
504
|
+
[26, '조수의 수사만이 잘 안 된다.'],
|
505
|
+
[33, '수사를 위한 자금이 없다.'],
|
506
|
+
[34, '세상의 눈이 매섭다.'],
|
507
|
+
[35, '경찰로부터 역겹다고 여겨진다.'],
|
508
|
+
[36, '관계자가 협력해주지 않는다.'],
|
509
|
+
[44, '수사해서는 안 된다고 압력이 들어온다.'],
|
510
|
+
[45, '범인에 의한 방해'],
|
511
|
+
[46, '범인에 의한 이면공작'],
|
512
|
+
[55, '화분이나 철골 등 부자연스럽게 위험한 물건이 날아온다.'],
|
513
|
+
[56, '누군가가 탐정과 조수에게 덤벼든다.'],
|
514
|
+
[66, '우연이 겹쳐서 잘 안 된다.'],
|
515
|
+
]
|
516
|
+
|
517
|
+
return get_table_by_d66_swap(table)
|
518
|
+
end
|
519
|
+
|
520
|
+
# 変調表(변조표)
|
521
|
+
def get_abnormal_condition
|
522
|
+
table = [
|
523
|
+
'엇갈림',
|
524
|
+
'탐정의 폭주',
|
525
|
+
'다툼',
|
526
|
+
'미아',
|
527
|
+
'나쁜 소문',
|
528
|
+
'주목의 대상',
|
529
|
+
]
|
530
|
+
return get_table_by_1d6(table)
|
531
|
+
end
|
532
|
+
|
533
|
+
# 目撃者表(목격자표)
|
534
|
+
def get_eyewitness_table
|
535
|
+
table = [
|
536
|
+
"놀이 상대를 원하는 젊은이. 판정기능:≪유행≫",
|
537
|
+
"기억력이 나쁜 사람. 판정기능:없음",
|
538
|
+
"바쁜 사람. 판정기능:≪비즈니스≫",
|
539
|
+
"범인의 지인. 판정기능:≪설득≫",
|
540
|
+
"탐정(경찰)을 싫어하는 사람. 판정기능:≪거짓말≫",
|
541
|
+
"반사회주의자. 판정기능:≪돌파≫",
|
542
|
+
]
|
543
|
+
return get_table_by_1d6(table)
|
544
|
+
end
|
545
|
+
|
546
|
+
# 迷宮入り表(미제사건표)
|
547
|
+
def get_wrapped_in_mystery_table
|
548
|
+
table = [
|
549
|
+
[1, '진범이 아닌 인간이 범인이 되어, 실형을 받고 말았다. 그 증거는 없지만 그렇게 직감할 수 있다.'],
|
550
|
+
[2, '해결되지 않은 채 시간이 흐르고, 이윽고 사건은 잊혀졌다. 탐정과 조수, 그리고 사건관계자들만 기억한다.'],
|
551
|
+
[3, '피해자 유족과 관계자들은 슬픔에 잠겨 있다. 탐정과 조수는 그저 잠자코 보고만 있을 뿐이다. 그때, 범인을 잡았다면…….'],
|
552
|
+
[4, '경찰에 의해 범인이 검거되었다고 하지만, 그 사람이 정말로 범인인지 어떤지는 알 수 없다. 탐정도, 뭐라고 말할 수 없는 것 같다.'],
|
553
|
+
[5, '증거가 없어져 버렸다. 그것만 있다면, 사건의 조사를 재개할 수 있을 텐데……. 범인의 소행인지조차 알 수 없다.'],
|
554
|
+
[6, '관계자가 없어져 버렸다. 그 후 소식도 묘연하다. 도대체 무슨 생각을 하며 사라진 것일까? 어쨌든, 조사는 할 수 없게 되었다.'],
|
555
|
+
[7, '관계자에게 미움 받아, 접근 조차 할 수 없게 되었다. 탐정과 조수는 모두 출입금지가 되어 버린 것 같다. 이래서는 조사를 할 수 없다.'],
|
556
|
+
[8, '조수는 때때로 피해자의 관계자와 만나고 있다. 그들의 말을 듣고 그들의 감정을 받아들이는 것 같다.'],
|
557
|
+
[9, '탐정과 조수는 기회를 발견하고 사건을 재조사하고 있다. 그러나 확실한 증거는 찾지 못한 채 시간이 흘러간다.'],
|
558
|
+
[10, '탐정은 직감으로 진범을 밝혀냈다. 하지만 진범을 잡기 위한 증거가 없다. 범인을 고발하지 못해 이를 갈았다.'],
|
559
|
+
]
|
560
|
+
|
561
|
+
diceText = @randomizer.roll_once(10)
|
562
|
+
output = get_table_by_number(diceText, table)
|
563
|
+
return output, diceText
|
564
|
+
end
|
565
|
+
|
566
|
+
# 背景表(배경표)
|
567
|
+
def get_background_detective_destiny
|
568
|
+
table = [
|
569
|
+
[1, '『명탐정인 조상(실재)』자신의 조상에 저명한 탐정이 있다. 그 이름을 대면 누구나 알 만한 대인물이다. 자신은 그 피를 진하게 잇고 있는 것 같고, 탐정으로서의 재능을 마음껏 발휘하고 있다.'],
|
570
|
+
[2, '『명탐정인 조상(허구)』자신의 조상은 저명한 탐정이다. 그러나 그 활약은 픽션으로 알려져 있다. 그 인물은 실존하지 않는다고 말하지지만… 그것은 사실이 아니다. 자신이 그 피를 잇고 있으니까.'],
|
571
|
+
[3, '『부모가 세계적인 탐정』자신의 부모는 세계적으로 알려진 명탐정이다. 숱한 난사건도 해결했다. 자신에게도 그 피가 흐르고 있어 사건에 대한 날카로운 통찰력을 이어받게 되었다.'],
|
572
|
+
[4, '『마을의 명탐정』자신의 부모는, 마을에서는 잘 알려진 명탐정이다. 마을 사람들에게 사랑받고 의지가 되는 존재였다. 자신도 그 피를 잇고 있는지 탐정으로서 활동할 힘이 있다.'],
|
573
|
+
[5, '『추리작가』자신을 키운 인물은 저명한 추리작가였다. 그 사고능력은 자신에게도 계승되었고, 트릭을 파헤치는 힘은 탐정 수준에 있다고 해도 좋을 것이다.'],
|
574
|
+
[6, '『양부모』자신을 키워 준 인물은, 사건을 해결로 이끈 적이 있는 인물이다. 그 사람의 가르침을 받고 자신은 탐정의 재능을 꽃피웠다.'],
|
575
|
+
[7, '『타락한 명탐정』일찍이, 자신의 부모는 모든 사건을 해결하여, 명탐정으로 유명했다. 그러나 지금은 뛰어난 사고능력을 악용해 사람들을 장기말마냥 다룬다. 능력을 이어받은 자신도 언젠가는 그렇게 될까?'],
|
576
|
+
[8, '『대악인의 피』세상을 떠들썩하게 했던 대악당과 대괴도. 그 피가 자신에게도 흐르고 있다. 그러므로 악인의 사고를 추적할 수 있으며 결과적으로 명탐정처럼 행동한다.'],
|
577
|
+
[9, '『숨겨진 핏줄』무슨 이유에서인지, 자신의 뿌리는 말소되어 있다. 내가 누구인지조차 모른다. 단지, 자신에게는 사건을 해결할 수 있는 힘이 있고, 그것이 뿌리와 관계가 있다고 직감할 수 있다.'],
|
578
|
+
[10, '『클론』자신은 유명한 명탐정의 DNA에서 태어난 존재다. 그래서인지 명탐정의 힘은 타고난 것이었다.'],
|
579
|
+
]
|
580
|
+
diceText = @randomizer.roll_once(10)
|
581
|
+
output = get_table_by_number(diceText, table)
|
582
|
+
|
583
|
+
return output, diceText
|
584
|
+
end
|
585
|
+
|
586
|
+
def get_background_detective_genius
|
587
|
+
table = [
|
588
|
+
[1, '『초엘리트』자신은 엘리트로 활약하기 위해 모든 분야의 훈련을 받았다. 그리고 원하는 대로 우수한 사람이 되었다.'],
|
589
|
+
[2, '『순간기억능력』본 것은 모두 머릿속에 입력된다. 그리고, 절대로 잊지 않는다. 자신은 그런 능력을 갖추고 있다.'],
|
590
|
+
[3, '『지식의 샘』머리 속에 있는 서랍 속에는 온갖 지식이 담겨 있다. 즉, 모르는 게 없다는 얘기다.'],
|
591
|
+
[4, '『스파르타 교육』엄격한 교육을 받았고, 그 결과 지식을 얻을 수 있었다. 그 대신, 조금 별난 사고방식이 되어 버렸지만……. 별 것 아닐 것이다.'],
|
592
|
+
[5, '『이미 명탐정』이미 수많은 사건을 해결하고 있는 천재이다. 숱한 난사건도 자신의 수완으로 해결해 왔다. 그 옆에는 파트너의 모습도 있었다.'],
|
593
|
+
[6, '『동경하는 등』자신에게는 동경하고 있는 상대가 있었다. 그 존재를 따라잡기 위해 노력했고 지금의 능력을 얻었다. 그 인물은, 지금은…….'],
|
594
|
+
[7, '『라이벌』자신과 겨루던 라이벌이 있다. 능력으로는 거의 호각이었다. 경쟁 속에서, 자신의 능력은 연마되어 간 것이다.'],
|
595
|
+
[8, '『과거의 명탐정』이전에는, 모든 사건을 해결로 이끈 천재였다. 그러나 지금은 사건 해결에 소극적이다. 사건을 멀리하고 싶은 무언가가 있었던 것이다.'],
|
596
|
+
[9, '『고립된 명탐정』자신은 천재적인 능력을 가지고 수많은 사건을 해결한 명탐정이다. 그 때문에 소외되고, 두려운 존재로 여겨져, 세간이나 조직 속에서 고립되었다.'],
|
597
|
+
[10, '『인공 명탐정』자신은 누군가에게 연금되어 탐정 지식을 주입당한 「인공 명탐정」이다. 명탐정이 되도록 길러진 자신은 그 능력을 기대한 대로 발휘할 수 있다.'],
|
598
|
+
]
|
599
|
+
diceText = @randomizer.roll_once(10)
|
600
|
+
output = get_table_by_number(diceText, table)
|
601
|
+
|
602
|
+
return output, diceText
|
603
|
+
end
|
604
|
+
|
605
|
+
def get_background_detective_mania
|
606
|
+
table = [
|
607
|
+
[1, '『서스펜스 마니아』자신은 서스펜스물의 픽션이나, 실존하는 사건에 대해서 매우 큰 관심을 가지고 있다. 쌓아온 트릭의 지식을 활용할 수 있는 기회를 노리고 있다.'],
|
608
|
+
[2, '『시체 마니아』자기는 시체에 대해 큰 관심을 갖고 있다. 시체의 상태나 상세정보를 아는 것으로써, 강한 흥분을 느끼는 성질인 것이다. 난처한 일이다.'],
|
609
|
+
[3, '『과학 마니아』과학에 의해 해명되지 못할 것은 없다. 나는 그렇게 생각하고 있으며 이를 위해 능력을 닦아 왔다. 사람이 일으키는 사건이라도, 과학은 모든 것을 내다볼 수 있을 것이다.'],
|
610
|
+
[4, '『이른바 오타쿠』게임이나 만화 등에서 얻은 지식이란 의외로 바보 취급할 수 없다. 자신은 게임을 통해 다양한 지식을 쌓아왔으며 이를 응용함으로써 모든 사건을 해결한다.'],
|
611
|
+
[5, '『인간 마니아』자신은 인간을 좋아한다. 그래서 관찰도 하고 있다. 행동에 당사자도 모르는 이유가 있다는 것도 알고 있다. 사건도, 왜 그런 일을 저질렀는지에 관심이 있다.'],
|
612
|
+
[6, '『서적 마니아』책에는 모든 것이 적혀 있다. 적어도 자신은 그렇게 생각하고 있고, 그 증거로 책의 지식을 응용함으로써 어려운 사건도 해결할 수 있다. 종이 속의 명탐정처럼.'],
|
613
|
+
[7, '『오컬트 마니아』오컬트나 초상현상을 믿는다. 그래서 가짜를 알아보는 법도 알며, 용서할 수 없다고 느끼고 있다. 그것이, 어찌된 영문인지 난사건 해결로도 연결된다. 신기하다.'],
|
614
|
+
[8, '『탐정 마니아』동서고금, 다양한 탐정이 있다. 그에 대해 조사해 가는 동안, 자신 또한 탐정으로서의 능력이 갖추어졌다.'],
|
615
|
+
[9, '『폭주하는 지식욕』자신은 한 가지 일에 마니아이지만, 그로부터 파생된 것의 지식도 잘 알고 있다. 자신의 지식욕은, 거기서부터 또다시 파생된 것까지 이른다.'],
|
616
|
+
[10, '『정의의 마니아』자신이 신봉하고 있는 무언가(서적, 과학 등)가 사건에 연루되면 좌불안석이다. 마니아로서 그 수수께끼를 풀어야 한다.'],
|
617
|
+
]
|
618
|
+
diceText = @randomizer.roll_once(10)
|
619
|
+
output = get_table_by_number(diceText, table)
|
620
|
+
|
621
|
+
return output, diceText
|
622
|
+
end
|
623
|
+
|
624
|
+
def get_background_assistant_justice
|
625
|
+
table = [
|
626
|
+
'『착한 사람』자신은 다른 사람으로부터 곧잘 좋은 사람이라는 말을 듣는다. 그렇기 때문에 다른 사람의 부탁을 받고 사건에 얽히는 일이 잦았다. 그래니 남의 고민을 해결할 수 있는 능력이 있는 파트너와 함께 있다.',
|
627
|
+
'『용서할 수 없다』자신은 사건의 피해자에 이입하는 타입이다. 피해자의 심정을 생각하면 참담하면서도 범인을 용서할 수 없다는 생각이 든다. 그래서 범인을 쫓기 위해 파트너가 필요하다.',
|
628
|
+
'『납득하고 싶다』자신이 사건에 대해 깊이 관여하는 것은, 자신이 납득하길 원하기 때문이다. 사건을 통해 어떤 해답을 찾기 위해 정의를 행하고 있다. 파트너는 이를 위해 필요한 사람이다.',
|
629
|
+
'『이용하고 있다』어떤 수단을 써서라도 사건을 해결하는 것이 옳다고 자신은 생각하고 있다. 그것을 위한 도구로서 파트너를 쓰고 있을 뿐이다.',
|
630
|
+
'『믿을 수 있는 협력자』파트너를 의지할 수 있는 협력자라고 느끼고 있다. 파트너는 자신이 곤란할 때, 방황할 때, 대답을 해주는 사람이라고 생각한다. 상대가 어떻게 생각하든 그것은 변하지 않는다.',
|
631
|
+
'『정의의 동지』파트너도 함께 정의를 위해 사건 해결을 해주고 있다. 자신은 그렇게 느끼고 있다. 그렇게 믿고 있을 뿐일지도 모르지만, 그 믿음은 멈출 수 없다. 어쩌면 자신이 파트너를 휘두르고 있는지도 모르겠다.',
|
632
|
+
]
|
633
|
+
return get_table_by_1d6(table)
|
634
|
+
end
|
635
|
+
|
636
|
+
def get_background_assistant_passion
|
637
|
+
table = [
|
638
|
+
'『능력에 반했다』자신은 파트너의 사건에 관한 능력에 반했다. 그 예리한 통찰력과 추리력, 지식의 깊이. 모든 것이 자신을 매료시키고 있다.',
|
639
|
+
'『인품에 반했다』자신이 파트너와 손을 잡고 있는 것은 인격적인 면이 크다. 언뜻 보기 힘든 대목도 있지만 감춰진 본질에 자신은 푹 빠져 있다.',
|
640
|
+
'『첫눈에 반했다』처음 만났을 때부터 파트너가 마음에 걸렸다. 그 능력도 그렇지만 직감적인 것을 느꼈던 것이다. 그래서 같이 있는다.',
|
641
|
+
'『마음이 맞았다』자신과 파트너는 마음이 잘 맞는다. 두 사람이면 흥을 돋울 수 있고, 두 사람이면 뭐든지 할 수 있다. 그렇게 생각한다……자신이 그렇게 생각하는 것일 뿐일지도 모르지만.',
|
642
|
+
'『대립』자신과 파트너는 대립하고 있다. 그래도 함께 있는 것은 파트너를 이해하기 위해서다…… 언젠가, 파트너를 쓰러뜨릴 수단을 찾기 위해서.',
|
643
|
+
'『내버려둘 수 없다』파트너를 내버려두면 무슨 짓을 할지 모른다. 그러니까 자신이 지켜보고 있어야 돼. 그렇게 느꼈다.',
|
644
|
+
]
|
645
|
+
return get_table_by_1d6(table)
|
646
|
+
end
|
647
|
+
|
648
|
+
def get_background_assistant_involved
|
649
|
+
table = [
|
650
|
+
'『일방적으로 마음에 들었다』파트너가 일방적으로 좋아한다. 어쩌다 그랬는지는 모르겠지만 그런 것 같다. 함께 있는 것은 자신의 의지가 아니지만…….',
|
651
|
+
'『리액션 요원』파트너에 의하면, 자신에게 리액션을 기대하고 있는 것 같다. 사건을 해결했을 때나, 어떤 놀라움이 있었을 때에 보이는 반응이 즐겁다던가.',
|
652
|
+
'『과거의 빚』과거, 파트너에게 비밀이나 약점을 잡혔다. 그 이후, 파트너가 부려먹고 있다. 아직 도망치지 못했다.',
|
653
|
+
'『필요한 인재』파트너에게 자신이 필요하다고 부탁받았다. 그래서, 함께 사건을 해결하고 있다. 왜 자신이 필요한지는 아직 모른다.',
|
654
|
+
'『친한 사람』파트너에게 자신은 친근한 인물이다. 소꿉친구와 친구, 친척 등. 그래서 옛날부터 휘둘리고 있고 앞으로도 계속 휘둘릴 것이다.',
|
655
|
+
'『우연의 연속』파트너가 사건에 직면할 때마다 마침 그 자리에 있다. 그러다 보니 어느새 친해져 있었다. 지금은 함께 있는 일도 많다.',
|
656
|
+
]
|
657
|
+
return get_table_by_1d6(table)
|
658
|
+
end
|
659
|
+
|
660
|
+
# 身長表(신장표)
|
661
|
+
def get_height_table
|
662
|
+
table = [
|
663
|
+
'매우 크다',
|
664
|
+
'큰 편',
|
665
|
+
'평균적',
|
666
|
+
'작은 편',
|
667
|
+
'매우 작다',
|
668
|
+
'파트너보다 조금 크다/조금 작다',
|
669
|
+
]
|
670
|
+
|
671
|
+
return get_table_by_1d6(table)
|
672
|
+
end
|
673
|
+
|
674
|
+
# たまり場表(아지트표)
|
675
|
+
def get_base_table
|
676
|
+
table = [
|
677
|
+
[1, 'PC가 일하고 있는 직장'],
|
678
|
+
[2, '조용한 분위기의 찻집'],
|
679
|
+
[3, '떠들썩한 분위기의 술집'],
|
680
|
+
[4, '탐정활동을 위해 빌린 사무소'],
|
681
|
+
[5, 'PC 중 한쪽의 집'],
|
682
|
+
[6, '단골 음식점'],
|
683
|
+
[7, '이동에 쓰이는 차 안'],
|
684
|
+
[8, '지인에게 양도받은 창고'],
|
685
|
+
[9, '언제나 파트너와 만나는 교차점'],
|
686
|
+
[10, '둘만 알고 있는 비밀장소'],
|
687
|
+
]
|
688
|
+
diceText = @randomizer.roll_once(10)
|
689
|
+
output = get_table_by_number(diceText, table)
|
690
|
+
return output, diceText
|
691
|
+
end
|
692
|
+
|
693
|
+
# 関係表()
|
694
|
+
def get_guest_relation_table
|
695
|
+
table = [
|
696
|
+
[11, '옛날 친구'],
|
697
|
+
[12, '친구(友人)'],
|
698
|
+
[13, '친구(親友)'],
|
699
|
+
[14, '안면이 있다'],
|
700
|
+
[15, '전우'],
|
701
|
+
[16, '악연'],
|
702
|
+
[22, '과거에 무언가 있었다'],
|
703
|
+
[23, '사촌'],
|
704
|
+
[24, '친구의 친구'],
|
705
|
+
[25, '먼 친척'],
|
706
|
+
[26, '이웃'],
|
707
|
+
[33, '민폐를 끼쳤다'],
|
708
|
+
[34, '스승'],
|
709
|
+
[35, '인터넷으로 알게 되었다'],
|
710
|
+
[36, '우연히 알게 되었다'],
|
711
|
+
[44, '전에 딱 한 번 만났다'],
|
712
|
+
[45, '파트너의 일로 상담 받았다'],
|
713
|
+
[46, '파트너에 대해 질문 받았다'],
|
714
|
+
[55, '소꿉친구'],
|
715
|
+
[56, '파트너를 쫓고 있다'],
|
716
|
+
[66, '일방적으로 알려져 있다'],
|
717
|
+
]
|
718
|
+
return get_table_by_d66_swap(table)
|
719
|
+
end
|
720
|
+
|
721
|
+
# 思い出の品決定表(추억의 물건 결정표)
|
722
|
+
def get_memorial_item_table
|
723
|
+
table = [
|
724
|
+
[11, '아지트에 계속 놓여 있는 배달피자상자'],
|
725
|
+
[12, '같이 해결한 사건의 파일'],
|
726
|
+
[13, '두 사람이 만난 계기가 된 책'],
|
727
|
+
[14, '둘이서 놀았던 체스판이나 장기판'],
|
728
|
+
[15, '두 사람의 추억이 쌓인 게임기'],
|
729
|
+
[16, '두 사람이 찍힌 사진'],
|
730
|
+
[22, '두 사람의 수사노트'],
|
731
|
+
[23, '같이 사용한 청소도구'],
|
732
|
+
[24, '피해자로부터 받은 인형'],
|
733
|
+
[25, '둘이서 같이 앉은 소파'],
|
734
|
+
[26, '언제나 앉아있는 의자'],
|
735
|
+
[33, '자주 사용하는 전화기'],
|
736
|
+
[34, '둘의 시간을 새긴 시계'],
|
737
|
+
[35, '언제나 놓여있는 책상'],
|
738
|
+
[36, '사건 해설을 한 화이트보드나 칠판'],
|
739
|
+
[44, '어째선지 있는 인체모형'],
|
740
|
+
[45, '좋아하는 컵'],
|
741
|
+
[46, '사건해결에 쓴 소도구'],
|
742
|
+
[55, '같이 마시기로 약속한 술이나 주스'],
|
743
|
+
[56, '좋아하는 요리'],
|
744
|
+
[66, '둘만의 비밀교환일기'],
|
745
|
+
]
|
746
|
+
return get_table_by_d66_swap(table)
|
747
|
+
end
|
748
|
+
|
749
|
+
# 職業表A(직업표A)
|
750
|
+
def get_job_table_66
|
751
|
+
table = [
|
752
|
+
[11, '파트너와 같음'],
|
753
|
+
[12, '프리터'],
|
754
|
+
[13, '학생(우수)'],
|
755
|
+
[14, '학생(보통)'],
|
756
|
+
[15, '학생(불성실)'],
|
757
|
+
[16, '교사,강사'],
|
758
|
+
[22, '파트너와 같음'],
|
759
|
+
[23, '회사원'],
|
760
|
+
[24, '주부'],
|
761
|
+
[25, '자영업자'],
|
762
|
+
[26, '딜레탕트'],
|
763
|
+
[33, '파트너와 같음'],
|
764
|
+
[34, '형사(신입)'],
|
765
|
+
[35, '형사(엘리트)'],
|
766
|
+
[36, '공무원'],
|
767
|
+
[44, '파트너와 같음'],
|
768
|
+
[45, '탐정조수'],
|
769
|
+
[46, '탐정'],
|
770
|
+
[55, '파트너와 같음'],
|
771
|
+
[56, '무직'],
|
772
|
+
[66, '파트너와 같음'],
|
773
|
+
]
|
774
|
+
|
775
|
+
return get_table_by_d66_swap(table)
|
776
|
+
end
|
777
|
+
|
778
|
+
# 職業表B(직업표B)
|
779
|
+
def get_job_table_10
|
780
|
+
table = [
|
781
|
+
[1, '딜레탕트'],
|
782
|
+
[2, '형사'],
|
783
|
+
[3, '탐정(유명)'],
|
784
|
+
[4, '탐정(인기없음)'],
|
785
|
+
[5, '탐정조수'],
|
786
|
+
[6, '연구자'],
|
787
|
+
[7, '자영업자'],
|
788
|
+
[8, '회사원'],
|
789
|
+
[9, '작가'],
|
790
|
+
[10, '학생'],
|
791
|
+
]
|
792
|
+
|
793
|
+
diceText = @randomizer.roll_once(10)
|
794
|
+
output = get_table_by_number(diceText, table)
|
795
|
+
return output, diceText
|
796
|
+
end
|
797
|
+
|
798
|
+
# ファッション特徴表A(패션특징표A)
|
799
|
+
def get_fashion_table_66
|
800
|
+
table = [
|
801
|
+
[11, '고급지향'],
|
802
|
+
[12, '정장'],
|
803
|
+
[13, '캐주얼 웨어(평상복)'],
|
804
|
+
[14, '포멀 웨어(정장)'],
|
805
|
+
[15, '스포츠웨어'],
|
806
|
+
[16, '합리적임'],
|
807
|
+
[22, '선글라스'],
|
808
|
+
[23, '와이셔츠'],
|
809
|
+
[24, '티셔츠'],
|
810
|
+
[25, '목걸이'],
|
811
|
+
[26, '모자'],
|
812
|
+
[33, '밀리터리'],
|
813
|
+
[34, '피어스'],
|
814
|
+
[35, '추리닝'],
|
815
|
+
[36, '붙임머리'],
|
816
|
+
[44, '일본전통옷'],
|
817
|
+
[45, '반지'],
|
818
|
+
[46, '초커'],
|
819
|
+
[55, '샌들'],
|
820
|
+
[56, '점퍼'],
|
821
|
+
[66, '패션에 구애받지 않는다'],
|
822
|
+
]
|
823
|
+
return get_table_by_d66_swap(table)
|
824
|
+
end
|
825
|
+
|
826
|
+
# ファッション特徴表B(패션특징표B)
|
827
|
+
def get_fashion_table_10
|
828
|
+
table = [
|
829
|
+
[1, '정장'],
|
830
|
+
[2, '인버네스'],
|
831
|
+
[3, '백의'],
|
832
|
+
[4, '글로브'],
|
833
|
+
[5, '파이프'],
|
834
|
+
[6, '조끼'],
|
835
|
+
[7, '일본전통옷'],
|
836
|
+
[8, '컬러풀한 색 사용'],
|
837
|
+
[9, '파트너와 같음'],
|
838
|
+
[10, '패션에 구애받지 않는다'],
|
839
|
+
]
|
840
|
+
|
841
|
+
diceText = @randomizer.roll_once(10)
|
842
|
+
output = get_table_by_number(diceText, table)
|
843
|
+
return output, diceText
|
844
|
+
end
|
845
|
+
|
846
|
+
# 好きなもの/嫌いなもの表A(좋아하는 것/싫어하는 것표A)
|
847
|
+
def get_like_dislike_table_66
|
848
|
+
table = [
|
849
|
+
[11, '시체'],
|
850
|
+
[12, '개'],
|
851
|
+
[13, '고양이'],
|
852
|
+
[14, '서스펜스'],
|
853
|
+
[15, '이야기'],
|
854
|
+
[16, '아이돌'],
|
855
|
+
[22, '범죄'],
|
856
|
+
[23, '오컬트'],
|
857
|
+
[24, '건강'],
|
858
|
+
[25, '정크푸드'],
|
859
|
+
[26, '고급식사'],
|
860
|
+
[33, '패션'],
|
861
|
+
[34, '권력'],
|
862
|
+
[35, '명예'],
|
863
|
+
[36, '우정'],
|
864
|
+
[44, '간식'],
|
865
|
+
[45, '고향'],
|
866
|
+
[46, '가족'],
|
867
|
+
[55, '경찰'],
|
868
|
+
[56, '음악'],
|
869
|
+
[66, '총'],
|
870
|
+
]
|
871
|
+
|
872
|
+
return get_table_by_d66_swap(table)
|
873
|
+
end
|
874
|
+
|
875
|
+
# 好きなもの/嫌いなもの表B(좋아하는 것/싫어하는 것표B)
|
876
|
+
def get_like_dislike_table_10
|
877
|
+
table = [
|
878
|
+
[1, '범죄'],
|
879
|
+
[2, '수수께끼'],
|
880
|
+
[3, '탐정'],
|
881
|
+
[4, '파트너'],
|
882
|
+
[5, '파트너가 좋아하는 것'],
|
883
|
+
[6, '파트너가 싫어하는 것'],
|
884
|
+
[7, '딱히 없음'],
|
885
|
+
[8, '체스나 장기 등의 보드게임'],
|
886
|
+
[9, '인간'],
|
887
|
+
[10, '모르는 것'],
|
888
|
+
]
|
889
|
+
|
890
|
+
diceText = @randomizer.roll_once(10)
|
891
|
+
output = get_table_by_number(diceText, table)
|
892
|
+
return output, diceText
|
893
|
+
end
|
894
|
+
|
895
|
+
# 感情表A(감정표A)
|
896
|
+
def get_feeling_table_66
|
897
|
+
table = [
|
898
|
+
[11, '얼굴'],
|
899
|
+
[12, '분위기'],
|
900
|
+
[13, '외관'],
|
901
|
+
[14, '수사방법'],
|
902
|
+
[15, '행동거지'],
|
903
|
+
[16, '냄새'],
|
904
|
+
[22, '존재 그 자체'],
|
905
|
+
[23, '말투'],
|
906
|
+
[24, '취미(취향)'],
|
907
|
+
[25, '왠지 모르게'],
|
908
|
+
[26, '타인을 향한 태도'],
|
909
|
+
[33, '금전감각'],
|
910
|
+
[34, '생활습관'],
|
911
|
+
[35, '기능'],
|
912
|
+
[36, '복장'],
|
913
|
+
[44, '말할 타이밍'],
|
914
|
+
[45, '윤리관'],
|
915
|
+
[46, '자신을 향한 태도'],
|
916
|
+
[55, '거리감'],
|
917
|
+
[56, '자신과의 관계'],
|
918
|
+
[66, '생활습관'],
|
919
|
+
]
|
920
|
+
|
921
|
+
return get_table_by_d66_swap(table)
|
922
|
+
end
|
923
|
+
|
924
|
+
# 感情表B(감정표B)
|
925
|
+
def get_feeling_table_10
|
926
|
+
table = [
|
927
|
+
[1, '인간성'],
|
928
|
+
[2, '취미(취향)'],
|
929
|
+
[3, '기능'],
|
930
|
+
[4, '왠지 모르게'],
|
931
|
+
[5, '감각'],
|
932
|
+
[6, '분위기'],
|
933
|
+
[7, '자신이 모르는 점'],
|
934
|
+
[8, '자신이 잘 알고 있는 점'],
|
935
|
+
[9, '자신을 향한 태도'],
|
936
|
+
[10, '자신과의 관계'],
|
937
|
+
]
|
938
|
+
diceText = @randomizer.roll_once(10)
|
939
|
+
output = get_table_by_number(diceText, table)
|
940
|
+
return output, diceText
|
941
|
+
end
|
942
|
+
|
943
|
+
# 呼び名表A(호칭표A)
|
944
|
+
def get_name_to_call_table_66
|
945
|
+
table = [
|
946
|
+
[11, '달링, 허니'],
|
947
|
+
[12, '이름'],
|
948
|
+
[13, '~군(くん)'],
|
949
|
+
[14, '~씨(さん)'],
|
950
|
+
[15, '~쨩(ちゃん)'],
|
951
|
+
[16, '~님(様), ~공(殿)'],
|
952
|
+
[22, '~선배, ~후배'],
|
953
|
+
[23, '파트너(相棒)'],
|
954
|
+
[24, '당신(あんた)'],
|
955
|
+
[25, '당신(あなた)'],
|
956
|
+
[26, '선생(님)'],
|
957
|
+
[33, '물건으로 비유한다.'],
|
958
|
+
[34, '네놈/자네(貴様)、귀하(貴殿)'],
|
959
|
+
[35, '너(てめえ、おまえ)'],
|
960
|
+
[36, '별명'],
|
961
|
+
[44, '유(ユー)'],
|
962
|
+
[45, '자네(お前さん)'],
|
963
|
+
[46, '탐정군, 탐정씨'],
|
964
|
+
[55, '친구'],
|
965
|
+
[56, '파트너와 같다.'],
|
966
|
+
[66, '매번 호칭이 바뀐다.'],
|
967
|
+
]
|
968
|
+
|
969
|
+
return get_table_by_d66_swap(table)
|
970
|
+
end
|
971
|
+
|
972
|
+
# 呼び名表B(호칭표B)
|
973
|
+
def get_name_to_call_table_10
|
974
|
+
table = [
|
975
|
+
[1, '이름'],
|
976
|
+
[2, '~군(くん)'],
|
977
|
+
[3, '~씨(さん)'],
|
978
|
+
[4, '~쨩(ちゃん)'],
|
979
|
+
[5, '~님(様), ~공(殿)'],
|
980
|
+
[6, '파트너(相棒)'],
|
981
|
+
[7, '당신(あんた、あなた)'],
|
982
|
+
[8, '너(キミ)'],
|
983
|
+
[9, '사랑하는~'],
|
984
|
+
[10, '별명'],
|
985
|
+
]
|
986
|
+
|
987
|
+
diceText = @randomizer.roll_once(10)
|
988
|
+
output = get_table_by_number(diceText, table)
|
989
|
+
|
990
|
+
return output, diceText
|
991
|
+
end
|
992
|
+
end
|
993
|
+
end
|
994
|
+
end
|