bcdice 3.0.0.pre.alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|