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,134 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module BCDice
|
4
|
+
module GameSystem
|
5
|
+
class YearZeroEngine < Base
|
6
|
+
# ゲームシステムの識別子
|
7
|
+
ID = 'YearZeroEngine'
|
8
|
+
|
9
|
+
# ゲームシステム名
|
10
|
+
NAME = 'YearZeroEngine'
|
11
|
+
|
12
|
+
# ゲームシステム名の読みがな
|
13
|
+
SORT_KEY = 'いやあせろえんしん'
|
14
|
+
|
15
|
+
# ダイスボットの使い方
|
16
|
+
HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
|
17
|
+
・判定コマンド(nYZEx+x+x)
|
18
|
+
(難易度)YZE(能力ダイス数)+(技能ダイス数)+(アイテムダイス数) # (6のみを数える)
|
19
|
+
|
20
|
+
・判定コマンド(nMYZx+x+x)
|
21
|
+
(難易度)MYZ(能力ダイス数)+(技能ダイス数)+(アイテムダイス数) # (1と6を数え、プッシュ可能数を表示)
|
22
|
+
|
23
|
+
※ 難易度と技能、アイテムダイス数は省略可能
|
24
|
+
INFO_MESSAGE_TEXT
|
25
|
+
|
26
|
+
DIFFICULTY_INDEX = 1 # 難易度のインデックス
|
27
|
+
COMMAND_TYPE_INDEX = 2 # コマンドタイプのインデックス
|
28
|
+
ABILITY_INDEX = 3 # 能力値ダイスのインデックス
|
29
|
+
SKILL_INDEX = 5 # 技能値ダイスのインデックス
|
30
|
+
MODIFIED_INDEX = 7 # 修正ダイスのインデックス
|
31
|
+
|
32
|
+
register_prefix(['(\d+)?(YZE|MYZ).*'])
|
33
|
+
|
34
|
+
def dice_info_init()
|
35
|
+
@total_success_dice = 0
|
36
|
+
@total_botch_dice = 0
|
37
|
+
@base_botch_dice = 0
|
38
|
+
@skill_botch_dice = 0
|
39
|
+
@gear_botch_dice = 0
|
40
|
+
@push_dice = 0
|
41
|
+
@difficulty = 0
|
42
|
+
end
|
43
|
+
|
44
|
+
def eval_game_system_specific_command(command)
|
45
|
+
m = /\A(\d+)?(YZE|MYZ)(\d+)(\+(\d+))?(\+(\d+))?/.match(command)
|
46
|
+
unless m
|
47
|
+
return ''
|
48
|
+
end
|
49
|
+
|
50
|
+
dice_info_init
|
51
|
+
|
52
|
+
@difficulty = m[DIFFICULTY_INDEX].to_i
|
53
|
+
|
54
|
+
command_type = m[COMMAND_TYPE_INDEX]
|
55
|
+
|
56
|
+
@total_success_dice = 0
|
57
|
+
|
58
|
+
dice_pool = m[ABILITY_INDEX].to_i
|
59
|
+
ability_dice_text, success_dice, botch_dice = make_dice_roll(dice_pool)
|
60
|
+
|
61
|
+
@total_success_dice += success_dice
|
62
|
+
@total_botch_dice += botch_dice
|
63
|
+
@base_botch_dice += botch_dice # 能力ダメージ
|
64
|
+
@push_dice += (dice_pool - (success_dice + botch_dice))
|
65
|
+
|
66
|
+
dice_count_text = "(#{dice_pool}D6)"
|
67
|
+
dice_text = ability_dice_text
|
68
|
+
|
69
|
+
if m[SKILL_INDEX]
|
70
|
+
dice_pool = m[SKILL_INDEX].to_i
|
71
|
+
skill_dice_text, success_dice, botch_dice = make_dice_roll(dice_pool)
|
72
|
+
|
73
|
+
@total_success_dice += success_dice
|
74
|
+
@total_botch_dice += botch_dice
|
75
|
+
@skill_botch_dice += botch_dice # 技能ダイスの1はpushで振り直し可能
|
76
|
+
@push_dice += (dice_pool - success_dice) # 技能ダイスのみ1を含む
|
77
|
+
|
78
|
+
dice_count_text += "+(#{dice_pool}D6)"
|
79
|
+
dice_text += "+#{skill_dice_text}"
|
80
|
+
end
|
81
|
+
|
82
|
+
if m[MODIFIED_INDEX]
|
83
|
+
dice_pool = m[MODIFIED_INDEX].to_i
|
84
|
+
modified_dice_text, success_dice, botch_dice = make_dice_roll(dice_pool)
|
85
|
+
|
86
|
+
@total_success_dice += success_dice
|
87
|
+
@total_botch_dice += botch_dice
|
88
|
+
@gear_botch_dice += botch_dice # ギアダメージ
|
89
|
+
@push_dice += (dice_pool - (success_dice + botch_dice))
|
90
|
+
|
91
|
+
dice_count_text += "+(#{dice_pool}D6)"
|
92
|
+
dice_text += "+#{modified_dice_text}"
|
93
|
+
end
|
94
|
+
return make_result_text(command_type, dice_count_text, dice_text)
|
95
|
+
end
|
96
|
+
|
97
|
+
def make_result_text(command_type, dice_count_text, dice_text)
|
98
|
+
if command_type == 'YZE'
|
99
|
+
return make_result_with_yze(dice_count_text, dice_text)
|
100
|
+
elsif command_type == 'MYZ'
|
101
|
+
return make_result_with_myz(dice_count_text, dice_text)
|
102
|
+
end
|
103
|
+
|
104
|
+
return 'Error' # 到達しないはず
|
105
|
+
end
|
106
|
+
|
107
|
+
def make_result_with_yze(dice_count_text, dice_text)
|
108
|
+
result_text = "#{dice_count_text} > #{dice_text} 成功数:#{@total_success_dice}"
|
109
|
+
if @difficulty > 0
|
110
|
+
if @total_success_dice >= @difficulty
|
111
|
+
result_text = "#{result_text} 難易度=#{@difficulty}:判定成功!"
|
112
|
+
else
|
113
|
+
result_text = "#{result_text} 難易度=#{@difficulty}:判定失敗!"
|
114
|
+
end
|
115
|
+
end
|
116
|
+
return result_text
|
117
|
+
end
|
118
|
+
|
119
|
+
def make_result_with_myz(dice_count_text, dice_text)
|
120
|
+
result_text = make_result_with_yze(dice_count_text, dice_text)
|
121
|
+
|
122
|
+
return "#{result_text}\n出目1:[能力:#{@base_botch_dice},技能:#{@skill_botch_dice},アイテム:#{@gear_botch_dice}) プッシュ可能=#{@push_dice}ダイス"
|
123
|
+
end
|
124
|
+
|
125
|
+
def make_dice_roll(dice_pool)
|
126
|
+
dice_list = @randomizer.roll_barabara(dice_pool, 6)
|
127
|
+
success_dice = dice_list.count(6)
|
128
|
+
botch_dice = dice_list.count(1)
|
129
|
+
|
130
|
+
return "[#{dice_list.join(',')}]", success_dice, botch_dice
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
@@ -0,0 +1,142 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module BCDice
|
4
|
+
module GameSystem
|
5
|
+
class ZettaiReido < Base
|
6
|
+
# ゲームシステムの識別子
|
7
|
+
ID = 'ZettaiReido'
|
8
|
+
|
9
|
+
# ゲームシステム名
|
10
|
+
NAME = '絶対隷奴'
|
11
|
+
|
12
|
+
# ゲームシステム名の読みがな
|
13
|
+
SORT_KEY = 'せつたいれいと'
|
14
|
+
|
15
|
+
# ダイスボットの使い方
|
16
|
+
HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
|
17
|
+
・判定
|
18
|
+
m-2DR+n>=x
|
19
|
+
m(基本能力),n(修正値),x(目標値)
|
20
|
+
DPの取得の有無も表示されます。
|
21
|
+
INFO_MESSAGE_TEXT
|
22
|
+
|
23
|
+
register_prefix(['\d+\-2DR.*'])
|
24
|
+
|
25
|
+
def eval_game_system_specific_command(command)
|
26
|
+
return nil unless command =~ /^(\d+)-2DR([\+\-\d]*)(>=(\d+))?$/i
|
27
|
+
|
28
|
+
baseAvility = Regexp.last_match(1).to_i
|
29
|
+
modText = Regexp.last_match(2)
|
30
|
+
diffValue = Regexp.last_match(4)
|
31
|
+
|
32
|
+
return roll2DR(baseAvility, modText, diffValue)
|
33
|
+
end
|
34
|
+
|
35
|
+
def roll2DR(baseAvility, modText, diffValue)
|
36
|
+
diceTotal, diceText, darkPoint = roll2DarkDice()
|
37
|
+
|
38
|
+
mod, modText = getModInfo(modText)
|
39
|
+
diff, diffText = getDiffInfo(diffValue)
|
40
|
+
|
41
|
+
output = ""
|
42
|
+
output += "(#{baseAvility}-2DR#{modText}#{diffText})"
|
43
|
+
output += " > #{baseAvility}-#{diceTotal}[#{diceText}]#{modText}"
|
44
|
+
|
45
|
+
total = baseAvility - diceTotal + mod
|
46
|
+
output += " > #{total}"
|
47
|
+
|
48
|
+
successText = getSuccessText(diceTotal, total, diff)
|
49
|
+
output += successText
|
50
|
+
|
51
|
+
darkPointText = getDarkPointResult(total, diff, darkPoint)
|
52
|
+
output += darkPointText
|
53
|
+
|
54
|
+
return output
|
55
|
+
end
|
56
|
+
|
57
|
+
def roll2DarkDice()
|
58
|
+
dice1 = @randomizer.roll_once(6)
|
59
|
+
dice2 = @randomizer.roll_once(6)
|
60
|
+
|
61
|
+
darkDice1, darkPoint1 = changeDiceToDarkDice(dice1)
|
62
|
+
darkDice2, darkPoint2 = changeDiceToDarkDice(dice2)
|
63
|
+
|
64
|
+
darkPoint = darkPoint1 + darkPoint2
|
65
|
+
if darkPoint == 2
|
66
|
+
darkPoint = 4
|
67
|
+
end
|
68
|
+
|
69
|
+
darkTotal = darkDice1 + darkDice2
|
70
|
+
darkDiceText = "#{darkDice1},#{darkDice2}"
|
71
|
+
|
72
|
+
return darkTotal, darkDiceText, darkPoint
|
73
|
+
end
|
74
|
+
|
75
|
+
def changeDiceToDarkDice(dice)
|
76
|
+
darkPoint = 0
|
77
|
+
darkDice = dice
|
78
|
+
if dice == 6
|
79
|
+
darkDice = 0
|
80
|
+
darkPoint = 1
|
81
|
+
end
|
82
|
+
|
83
|
+
return darkDice, darkPoint
|
84
|
+
end
|
85
|
+
|
86
|
+
def getModInfo(modText)
|
87
|
+
value = ArithmeticEvaluator.eval(modText)
|
88
|
+
|
89
|
+
text = ""
|
90
|
+
if value < 0
|
91
|
+
text = value.to_s
|
92
|
+
elsif value > 0
|
93
|
+
text = "+" + value.to_s
|
94
|
+
end
|
95
|
+
|
96
|
+
return value, text
|
97
|
+
end
|
98
|
+
|
99
|
+
def getDiffInfo(diffValue)
|
100
|
+
diffText = ""
|
101
|
+
|
102
|
+
unless diffValue.nil?
|
103
|
+
diffValue = diffValue.to_i
|
104
|
+
diffText = ">=#{diffValue.to_i}"
|
105
|
+
end
|
106
|
+
|
107
|
+
return diffValue, diffText
|
108
|
+
end
|
109
|
+
|
110
|
+
def getDarkPointResult(_total, _diff, darkPoint)
|
111
|
+
text = ''
|
112
|
+
|
113
|
+
if darkPoint > 0
|
114
|
+
text = " > #{darkPoint}DP"
|
115
|
+
end
|
116
|
+
|
117
|
+
return text
|
118
|
+
end
|
119
|
+
|
120
|
+
def getSuccessText(diceTotal, total, diff)
|
121
|
+
if diceTotal == 0
|
122
|
+
return " > クリティカル"
|
123
|
+
end
|
124
|
+
|
125
|
+
if diceTotal == 10
|
126
|
+
return " > ファンブル"
|
127
|
+
end
|
128
|
+
|
129
|
+
if diff.nil?
|
130
|
+
diff = 0
|
131
|
+
end
|
132
|
+
|
133
|
+
successLevel = (total - diff)
|
134
|
+
if successLevel >= 0
|
135
|
+
return " > #{successLevel} 成功"
|
136
|
+
end
|
137
|
+
|
138
|
+
return ' > 失敗'
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
@@ -0,0 +1,383 @@
|
|
1
|
+
module BCDice
|
2
|
+
module GameSystem
|
3
|
+
class MeikyuKingdom
|
4
|
+
# デバイスファクトリー(1D6)
|
5
|
+
def mk_device_factory_table()
|
6
|
+
output = mk_item_decide_table(@randomizer.roll_once(6))
|
7
|
+
|
8
|
+
dice = @randomizer.roll_sum(2, 6)
|
9
|
+
output = output + " / " + mk_item_features_table(dice)
|
10
|
+
return output
|
11
|
+
end
|
12
|
+
|
13
|
+
# アイテムカテゴリ決定表(1D6)
|
14
|
+
def mk_item_decide_table(num)
|
15
|
+
functionTable = [
|
16
|
+
[1, lambda { mk_weapon_item_table(@randomizer.roll_d66(D66SortType::ASC)) }],
|
17
|
+
[2, lambda { mk_life_item_table(@randomizer.roll_d66(D66SortType::ASC)) }],
|
18
|
+
[3, lambda { mk_rest_item_table(@randomizer.roll_d66(D66SortType::ASC)) }],
|
19
|
+
[4, lambda { mk_search_item_table(@randomizer.roll_d66(D66SortType::ASC)) }],
|
20
|
+
[5, lambda { mk_rare_weapon_item_table(@randomizer.roll_d66(D66SortType::NO_SORT)) }],
|
21
|
+
[6, lambda { mk_rare_item_table(@randomizer.roll_d66(D66SortType::NO_SORT)) }],
|
22
|
+
]
|
23
|
+
return get_table_by_number(num, functionTable)
|
24
|
+
end
|
25
|
+
|
26
|
+
# 武具アイテム表(D66)
|
27
|
+
def mk_weapon_item_table(num)
|
28
|
+
table = [
|
29
|
+
[11, "だんびら"],
|
30
|
+
[12, "だんびら"],
|
31
|
+
[13, "ダガー"],
|
32
|
+
[14, "戦斧"],
|
33
|
+
[15, "盾"],
|
34
|
+
[16, "鑓"],
|
35
|
+
[22, "籠手(だんびら)"],
|
36
|
+
[23, "手裏剣"],
|
37
|
+
[24, "石弓"],
|
38
|
+
[25, "甲冑"],
|
39
|
+
[26, "戦鎚"],
|
40
|
+
[33, "大弓(だんびら)"],
|
41
|
+
[34, "爆弾"],
|
42
|
+
[35, "鉄砲"],
|
43
|
+
[36, "大剣"],
|
44
|
+
[44, "拳銃(だんびら)"],
|
45
|
+
[45, "ホウキ"],
|
46
|
+
[46, "徹甲弾"],
|
47
|
+
[55, "だんびら"],
|
48
|
+
[56, "大砲"],
|
49
|
+
[66, "だんびら"],
|
50
|
+
]
|
51
|
+
|
52
|
+
return get_table_by_number(num, table)
|
53
|
+
end
|
54
|
+
|
55
|
+
# 生活アイテム表(D66)
|
56
|
+
def mk_life_item_table(num)
|
57
|
+
table = [
|
58
|
+
[11, "バックパック"],
|
59
|
+
[12, "バックパック"],
|
60
|
+
[13, "鍋"],
|
61
|
+
[14, "クラッカー"],
|
62
|
+
[15, "がまぐち"],
|
63
|
+
[16, "マント"],
|
64
|
+
[22, "法衣(バックパック)"],
|
65
|
+
[23, "カード"],
|
66
|
+
[24, "エプロン"],
|
67
|
+
[25, "住民台帳"],
|
68
|
+
[26, "携帯電話"],
|
69
|
+
[33, "召喚鍵(バックパック)"],
|
70
|
+
[34, "肖像画"],
|
71
|
+
[35, "衣装"],
|
72
|
+
[36, "山吹色のお菓子"],
|
73
|
+
[44, "バックパック"],
|
74
|
+
[45, "眼鏡"],
|
75
|
+
[46, "クレジットカード"],
|
76
|
+
[55, "バックパック"],
|
77
|
+
[56, "魔道書"],
|
78
|
+
[66, "バックパック"],
|
79
|
+
]
|
80
|
+
|
81
|
+
return get_table_by_number(num, table)
|
82
|
+
end
|
83
|
+
|
84
|
+
# 回復アイテム表(D66)
|
85
|
+
def mk_rest_item_table(num)
|
86
|
+
table = [
|
87
|
+
[11, "お弁当"],
|
88
|
+
[12, "お弁当"],
|
89
|
+
[13, "特効薬"],
|
90
|
+
[14, "保存食"],
|
91
|
+
[15, "担架"],
|
92
|
+
[16, "珈琲"],
|
93
|
+
[22, "軟膏(お弁当)"],
|
94
|
+
[23, "チョコレート"],
|
95
|
+
[24, "お酒"],
|
96
|
+
[25, "フルコース"],
|
97
|
+
[26, "ポーション"],
|
98
|
+
[33, "お弁当"],
|
99
|
+
[34, "救急箱"],
|
100
|
+
[35, "強壮剤"],
|
101
|
+
[36, "迷宮保険"],
|
102
|
+
[44, "お弁当"],
|
103
|
+
[45, "科学調味料"],
|
104
|
+
[46, "惚れ薬"],
|
105
|
+
[55, "お弁当"],
|
106
|
+
[56, "復活薬"],
|
107
|
+
[66, "お弁当"],
|
108
|
+
]
|
109
|
+
|
110
|
+
return get_table_by_number(num, table)
|
111
|
+
end
|
112
|
+
|
113
|
+
# 探索アイテム表(D66)
|
114
|
+
def mk_search_item_table(num)
|
115
|
+
table = [
|
116
|
+
[11, "星の欠片"],
|
117
|
+
[12, "星の欠片"],
|
118
|
+
[13, "旗"],
|
119
|
+
[14, "お守り"],
|
120
|
+
[15, "拷問具"],
|
121
|
+
[16, "パワーリスト"],
|
122
|
+
[22, "工具(星の欠片)"],
|
123
|
+
[23, "テント"],
|
124
|
+
[24, "楽器"],
|
125
|
+
[25, "使い魔"],
|
126
|
+
[26, "乗騎"],
|
127
|
+
[33, "迷宮迷彩(星の欠片)"],
|
128
|
+
[34, "罠百科"],
|
129
|
+
[35, "迷宮防護服"],
|
130
|
+
[36, "地図"],
|
131
|
+
[44, "星の欠片"],
|
132
|
+
[45, "時計"],
|
133
|
+
[46, "もぐら棒"],
|
134
|
+
[55, "星の欠片"],
|
135
|
+
[56, "カボチャの馬車"],
|
136
|
+
[66, "星の欠片"],
|
137
|
+
]
|
138
|
+
|
139
|
+
return get_table_by_number(num, table)
|
140
|
+
end
|
141
|
+
|
142
|
+
# レア武具アイテム表(1D6+1D6)
|
143
|
+
def mk_rare_weapon_item_table(num)
|
144
|
+
table = [
|
145
|
+
[11, "虚弾"],
|
146
|
+
[12, "怪物毒"],
|
147
|
+
[13, "小鬼の襟巻"],
|
148
|
+
[14, "喇叭銃"],
|
149
|
+
[15, "蛍矢"],
|
150
|
+
[16, "大盾"],
|
151
|
+
[21, "まわし"],
|
152
|
+
[22, "怪物毒"],
|
153
|
+
[23, "しゃべる剣"],
|
154
|
+
[24, "小麦粉"],
|
155
|
+
[25, "王笏"],
|
156
|
+
[26, "服従の鞭"],
|
157
|
+
[31, "ぬいぐるみ"],
|
158
|
+
[32, "魔杖"],
|
159
|
+
[33, "怪物毒"],
|
160
|
+
[34, "星衣"],
|
161
|
+
[35, "聖印"],
|
162
|
+
[36, "獣の毛皮"],
|
163
|
+
[41, "日傘"],
|
164
|
+
[42, "チェインソード"],
|
165
|
+
[43, "邪眼"],
|
166
|
+
[44, "怪物毒"],
|
167
|
+
[45, "徒手空拳"],
|
168
|
+
[46, "バカには見えない鎧"],
|
169
|
+
[51, "ビキニアーマー"],
|
170
|
+
[52, "輝く者"],
|
171
|
+
[53, "貪る者"],
|
172
|
+
[54, "滅ぼす者"],
|
173
|
+
[55, "機械の体"],
|
174
|
+
[56, "破城槌"],
|
175
|
+
[61, "刈り取る者"],
|
176
|
+
[62, "貫く者"],
|
177
|
+
[63, "黄金の鶴嘴"],
|
178
|
+
[64, "ムラサマ"],
|
179
|
+
[65, "蒸気甲冑"],
|
180
|
+
[66, "王剣"],
|
181
|
+
]
|
182
|
+
|
183
|
+
return get_table_by_number(num, table)
|
184
|
+
end
|
185
|
+
|
186
|
+
# レア一般アイテム表(1D6+1D6)
|
187
|
+
def mk_rare_item_table(num)
|
188
|
+
table = [
|
189
|
+
[11, "ブルーリボン"],
|
190
|
+
[12, "聖痕"],
|
191
|
+
[13, "剥製"],
|
192
|
+
[14, "愚者の冠"],
|
193
|
+
[15, "名刺"],
|
194
|
+
[16, "種籾"],
|
195
|
+
[21, "香水"],
|
196
|
+
[22, "守りの指輪(名刺)"],
|
197
|
+
[23, "煙玉"],
|
198
|
+
[24, "悪名"],
|
199
|
+
[25, "藁人形"],
|
200
|
+
[26, "パワー餌"],
|
201
|
+
[31, "王妃の鏡"],
|
202
|
+
[32, "蓄音機"],
|
203
|
+
[33, "無限の心臓(名刺)"],
|
204
|
+
[34, "星籠"],
|
205
|
+
[35, "水晶球"],
|
206
|
+
[36, "転ばぬ先の杖"],
|
207
|
+
[41, "悟りの書"],
|
208
|
+
[42, "操りロープ"],
|
209
|
+
[43, "盗賊の七つ道具"],
|
210
|
+
[44, "携帯算術機(名刺)"],
|
211
|
+
[45, "棺桶"],
|
212
|
+
[46, "カメラ"],
|
213
|
+
[51, "不思議なたまご"],
|
214
|
+
[52, "ブーケ"],
|
215
|
+
[53, "露眼鏡"],
|
216
|
+
[54, "災厄王の遺物"],
|
217
|
+
[55, "経験値"],
|
218
|
+
[56, "鞍"],
|
219
|
+
[61, "視肉"],
|
220
|
+
[62, "玉璽"],
|
221
|
+
[63, "衛星帯"],
|
222
|
+
[64, "軍配"],
|
223
|
+
[65, "聖杯"],
|
224
|
+
[66, "愛"],
|
225
|
+
]
|
226
|
+
|
227
|
+
return get_table_by_number(num, table)
|
228
|
+
end
|
229
|
+
|
230
|
+
# アイテムの特性決定表(2D6)
|
231
|
+
def mk_item_features_table(num)
|
232
|
+
output = ""
|
233
|
+
dice = @randomizer.roll_sum(2, 6)
|
234
|
+
|
235
|
+
if num <= 2
|
236
|
+
output = "「" + mk_item_power_table(@randomizer.roll_once(6)) + "」の神力を宿す"
|
237
|
+
elsif num <= 3
|
238
|
+
output = "寿命を持つ。寿命の値を決定する。" + "\n"
|
239
|
+
output += "さらに、" + mk_item_features_table(dice)
|
240
|
+
elsif num <= 4
|
241
|
+
output = "境界障壁を持つ。《HP》の値を決定する。"
|
242
|
+
elsif num <= 5
|
243
|
+
output = "銘を持つ。銘を決定する。"
|
244
|
+
elsif num <= 6
|
245
|
+
output = "合成具である。もう1つの機能は「" + mk_item_decide_table(@randomizer.roll_once(6)) + "」である。"
|
246
|
+
elsif num <= 7
|
247
|
+
output = "そのアイテムにレベルがあれば、レベルを1点上昇する。" + "\n"
|
248
|
+
output += "レベルが設定されていなければ、" + mk_item_features_table(dice)
|
249
|
+
elsif num <= 8
|
250
|
+
output = "「" + mk_item_jyumon_table(dice) + "」の呪紋を持つ。"
|
251
|
+
elsif num <= 9
|
252
|
+
output = "「" + mk_item_jyuka_table(@randomizer.roll_once(6)) + "」の呪禍を持つ。" + "\n"
|
253
|
+
output += "さらに、" + mk_item_features_table(dice)
|
254
|
+
elsif num <= 10
|
255
|
+
output = "高価だ。価格を設定する。"
|
256
|
+
elsif num <= 11
|
257
|
+
output = "「条件:" + mk_item_aptitude_table(@randomizer.roll_once(6)) + "」の適性を持つ。" + "\n"
|
258
|
+
output += "さらに、" + mk_item_features_table(dice)
|
259
|
+
else
|
260
|
+
output = "「" + mk_item_attribute_table(@randomizer.roll_once(6)) + "」の属性を持つ。"
|
261
|
+
end
|
262
|
+
|
263
|
+
return "特性[" + num.to_s + "]:" + output
|
264
|
+
end
|
265
|
+
|
266
|
+
# 神力決定表(1D6)
|
267
|
+
def mk_item_power_table(num)
|
268
|
+
table = [
|
269
|
+
[1, "〔才覚〕"],
|
270
|
+
[2, "〔魅力〕"],
|
271
|
+
[3, "〔探索〕"],
|
272
|
+
[4, "〔武勇〕"],
|
273
|
+
[5, "〈器〉"],
|
274
|
+
[6, "〈回避値〉"],
|
275
|
+
]
|
276
|
+
|
277
|
+
return "[#{num}]" + get_table_by_number(num, table)
|
278
|
+
end
|
279
|
+
|
280
|
+
# 呪紋決定表(2D6)
|
281
|
+
def mk_item_jyumon_table(num)
|
282
|
+
table = [
|
283
|
+
[2, "モンスタースキル"],
|
284
|
+
[3, "便利スキル"],
|
285
|
+
[4, "芸能スキル"],
|
286
|
+
[5, "迷宮スキル"],
|
287
|
+
[6, "星術スキル"],
|
288
|
+
[7, "一般スキル"],
|
289
|
+
[8, "召喚スキル"],
|
290
|
+
[9, "科学スキル"],
|
291
|
+
[10, "交渉スキル"],
|
292
|
+
[11, "神官のクラススキル"],
|
293
|
+
[12, "ジョブスキル"],
|
294
|
+
]
|
295
|
+
|
296
|
+
return "[#{num}]" + get_table_by_number(num, table)
|
297
|
+
end
|
298
|
+
|
299
|
+
# 呪禍表(1D6)
|
300
|
+
def mk_item_jyuka_table(num)
|
301
|
+
table = [
|
302
|
+
[1, "「呪い」のバッドステータス"],
|
303
|
+
[2, "「肥満」のバッドステータス"],
|
304
|
+
[3, "「愚か」のバッドステータス"],
|
305
|
+
[4, "サイクルの終了時に《HP》が1点減少する"],
|
306
|
+
[5, "条件を満たしても誰とも人間関係を結べない"],
|
307
|
+
[6, "〈器〉が1点減少する"],
|
308
|
+
]
|
309
|
+
|
310
|
+
return "[#{num}]" + get_table_by_number(num, table)
|
311
|
+
end
|
312
|
+
|
313
|
+
# 適正表(1D6)
|
314
|
+
def mk_item_aptitude_table(num)
|
315
|
+
table = [
|
316
|
+
[1, "ランダムなクラス1種"],
|
317
|
+
[2, lambda { mk_family_business_table(@randomizer.roll_d66(D66SortType::ASC)) }],
|
318
|
+
[3, lambda { mk_gender_table(@randomizer.roll_once(6)) + "性" }],
|
319
|
+
[4, "上級ジョブ"],
|
320
|
+
[5, "モンスタースキルを修得"],
|
321
|
+
[6, "童貞、もしくは処女"],
|
322
|
+
]
|
323
|
+
|
324
|
+
return "[#{num}]" + get_table_by_number(num, table)
|
325
|
+
end
|
326
|
+
|
327
|
+
# 属性表(1D6)
|
328
|
+
def mk_item_attribute_table(num)
|
329
|
+
table = [
|
330
|
+
[1, "自然の力"],
|
331
|
+
[2, "幻夢の力"],
|
332
|
+
[3, "星炎の力"],
|
333
|
+
[4, "暗黒の力"],
|
334
|
+
[5, "聖なるの力"],
|
335
|
+
[6, "災厄の力"],
|
336
|
+
]
|
337
|
+
|
338
|
+
return "[#{num}]" + get_table_by_number(num, table)
|
339
|
+
end
|
340
|
+
|
341
|
+
def mk_gender_table(num)
|
342
|
+
output = "1"
|
343
|
+
|
344
|
+
if num.odd?
|
345
|
+
output = "男"
|
346
|
+
else
|
347
|
+
output = "女"
|
348
|
+
end
|
349
|
+
|
350
|
+
return output
|
351
|
+
end
|
352
|
+
|
353
|
+
# 生まれ表(D66)
|
354
|
+
def mk_family_business_table(num)
|
355
|
+
table = [
|
356
|
+
[11, "星術師"],
|
357
|
+
[12, "魔道師"],
|
358
|
+
[13, "召喚師"],
|
359
|
+
[14, "博士"],
|
360
|
+
[15, "医者"],
|
361
|
+
[16, "貴族"],
|
362
|
+
[22, "宦官"],
|
363
|
+
[23, "武人"],
|
364
|
+
[24, "処刑人"],
|
365
|
+
[25, "衛視"],
|
366
|
+
[26, "商人"],
|
367
|
+
[33, "迷宮職人"],
|
368
|
+
[34, "亭主"],
|
369
|
+
[35, "料理人"],
|
370
|
+
[36, "寿ぎ屋"],
|
371
|
+
[44, "働きもの"],
|
372
|
+
[45, "狩人"],
|
373
|
+
[46, "冒険者"],
|
374
|
+
[55, "怠け者"],
|
375
|
+
[56, "盗賊"],
|
376
|
+
[66, "生まれ表の中から、好きなジョブ1つを選ぶ"],
|
377
|
+
]
|
378
|
+
|
379
|
+
return "[#{num}]" + get_table_by_number(num, table)
|
380
|
+
end
|
381
|
+
end
|
382
|
+
end
|
383
|
+
end
|