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,81 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module BCDice
|
|
4
|
+
module GameSystem
|
|
5
|
+
class CrashWorld < Base
|
|
6
|
+
# ă˛ăźă ăˇăšăă ăŽčĺĽĺ
|
|
7
|
+
ID = 'CrashWorld'
|
|
8
|
+
|
|
9
|
+
# ă˛ăźă ăˇăšăă ĺ
|
|
10
|
+
NAME = 'ĺ˘č˝ä¸ç'
|
|
11
|
+
|
|
12
|
+
# ă˛ăźă ăˇăšăă ĺăŽčŞăżăăŞ
|
|
13
|
+
SORT_KEY = 'ă¤ăăăăăă'
|
|
14
|
+
|
|
15
|
+
# ăă¤ăšăăăăŽä˝żăćš
|
|
16
|
+
HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
|
|
17
|
+
ăťĺ¤ĺŽ CWn
|
|
18
|
+
ĺćçŽć¨ĺ¤n (ĺż
é )
|
|
19
|
+
äžăťCW8
|
|
20
|
+
INFO_MESSAGE_TEXT
|
|
21
|
+
|
|
22
|
+
register_prefix(['CW\d+'])
|
|
23
|
+
|
|
24
|
+
def eval_game_system_specific_command(command)
|
|
25
|
+
result = nil
|
|
26
|
+
|
|
27
|
+
case command
|
|
28
|
+
when /CW(\d+)/i
|
|
29
|
+
result = getCrashWorldRoll(Regexp.last_match(1).to_i)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
return result
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def getCrashWorldRoll(target)
|
|
36
|
+
debug("target", target)
|
|
37
|
+
|
|
38
|
+
output = "("
|
|
39
|
+
isEnd = false
|
|
40
|
+
successness = 0
|
|
41
|
+
num = 0
|
|
42
|
+
|
|
43
|
+
while !isEnd
|
|
44
|
+
num = @randomizer.roll_once(12)
|
|
45
|
+
|
|
46
|
+
# ćŻăŁăć°ĺăĺşĺă¸ć¸ăčśłă
|
|
47
|
+
if output == "("
|
|
48
|
+
output = "(#{num}"
|
|
49
|
+
else
|
|
50
|
+
output = "#{output}, #{num}"
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
if num <= target || num == 11
|
|
54
|
+
# ćĺ/ăŻăŞăăŁăŤăŤ(11)ă 揥ĺăŽçŽć¨ĺ¤ăĺ¤ć´ăăŚçśçś
|
|
55
|
+
target = num
|
|
56
|
+
successness += 1
|
|
57
|
+
elsif num == 12
|
|
58
|
+
# ăăĄăłăăŤăŞăçľäşă
|
|
59
|
+
isEnd = true
|
|
60
|
+
else
|
|
61
|
+
# target < num < 11ă§çľäş
|
|
62
|
+
isEnd = true
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
if num == 12
|
|
67
|
+
# ăăĄăłăăŤăŽćăćĺ庌ăŻ0
|
|
68
|
+
successness = 0
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
output = "#{output}) ćĺ庌 : #{successness}"
|
|
72
|
+
|
|
73
|
+
if num == 12
|
|
74
|
+
output = "#{output} ăăĄăłăăŤ"
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
return output
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'bcdice/arithmetic_evaluator'
|
|
4
|
+
|
|
5
|
+
module BCDice
|
|
6
|
+
module GameSystem
|
|
7
|
+
class Cthulhu < Base
|
|
8
|
+
# ă˛ăźă ăˇăšăă ăŽčĺĽĺ
|
|
9
|
+
ID = 'Cthulhu'
|
|
10
|
+
|
|
11
|
+
# ă˛ăźă ăˇăšăă ĺ
|
|
12
|
+
NAME = 'ăŻăăĽăŤăçĽčŠąTRPG'
|
|
13
|
+
|
|
14
|
+
# ă˛ăźă ăˇăšăă ĺăŽčŞăżăăŞ
|
|
15
|
+
SORT_KEY = 'ăă¨ăăăľăăăTRPG'
|
|
16
|
+
|
|
17
|
+
# ăă¤ăšăăăăŽä˝żăćš
|
|
18
|
+
HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
|
|
19
|
+
c=ăŻăŞăăŁăŤăŤĺ¤ ďź f=ăăĄăłăăŤĺ¤ ďź s=ăšăăˇăŁăŤ
|
|
20
|
+
|
|
21
|
+
1d100<=n căťfăťsăăšăŚăŞăďźĺç´ăŞć°ĺ¤ćŻčźĺ¤ĺŽăŽăżčĄăăžăďź
|
|
22
|
+
|
|
23
|
+
ăťcfsĺ¤ĺŽäťăĺ¤ĺŽăłăăłă
|
|
24
|
+
|
|
25
|
+
CC 1d100ăăźăŤăčĄă c=1ăf=100
|
|
26
|
+
CCB ĺä¸ăc=5ăf=96
|
|
27
|
+
|
|
28
|
+
äžďźCC<=80 ďźćč˝ĺ¤80ă§čĄçşĺ¤ĺŽă1%ăŤăźăŤă§cféŠç¨ďź
|
|
29
|
+
äžďźCCB<=55 ďźćč˝ĺ¤55ă§čĄçşĺ¤ĺŽă5%ăŤăźăŤă§cféŠç¨ďź
|
|
30
|
+
|
|
31
|
+
ăťçľăżĺăăăăźăŤăŤă¤ăăŚ
|
|
32
|
+
|
|
33
|
+
CBR(x,y) c=1ăf=100
|
|
34
|
+
CBRB(x,y) c=5ăf=96
|
|
35
|
+
|
|
36
|
+
ăťćľć襨ăăźăŤăŤă¤ăăŚ
|
|
37
|
+
RES(x-y) c=1ăf=100
|
|
38
|
+
RESB(x-y) c=5ăf=96
|
|
39
|
+
|
|
40
|
+
âťć
éăăłăăźĺ¤ĺŽ
|
|
41
|
+
|
|
42
|
+
ăťCC(x) c=1ăf=100
|
|
43
|
+
x=ć
éăăłăăźăĺşçŽx䝼ä¸ăĺşăä¸ă§ăăăĄăłăăŤăĺćăŤçşçăăĺ ´ĺăĺ
ąăŤĺşĺăăďźăăăšăăăăĄăłăăŤďźć
éăďź
|
|
44
|
+
ăăĄăłăăŤă§ăŞăĺ ´ĺăćĺăťĺ¤ąćăŤé˘ăăăăăăšăăć
éăăŽăżăĺşĺăăďźćĺăťĺ¤ąćăĺşĺăăăä¸ć¸ăăăăăŽăĺşĺăă形ďź
|
|
45
|
+
|
|
46
|
+
ăťCCB(x) c=5ăf=96
|
|
47
|
+
ĺä¸
|
|
48
|
+
|
|
49
|
+
INFO_MESSAGE_TEXT
|
|
50
|
+
|
|
51
|
+
register_prefix(['CC(B)?\(\d+\)', 'CC(B)?.*', 'RES(B)?.*', 'CBR(B)?\(\d+,\d+\)'])
|
|
52
|
+
|
|
53
|
+
def initialize(command)
|
|
54
|
+
super(command)
|
|
55
|
+
@special_percentage = 20
|
|
56
|
+
@critical_percentage = 1
|
|
57
|
+
@fumble_percentage = 1
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def eval_game_system_specific_command(command)
|
|
61
|
+
case command
|
|
62
|
+
when /CCB/i
|
|
63
|
+
# 5%
|
|
64
|
+
@critical_percentage = 5
|
|
65
|
+
@fumble_percentage = 5
|
|
66
|
+
return getCheckResult(command)
|
|
67
|
+
when /CC/i
|
|
68
|
+
# 1%
|
|
69
|
+
@critical_percentage = 1
|
|
70
|
+
@fumble_percentage = 1
|
|
71
|
+
return getCheckResult(command)
|
|
72
|
+
when /RESB/i
|
|
73
|
+
# 5%
|
|
74
|
+
@critical_percentage = 5
|
|
75
|
+
@fumble_percentage = 5
|
|
76
|
+
return getRegistResult(command)
|
|
77
|
+
when /CBRB/i
|
|
78
|
+
# 5%
|
|
79
|
+
@critical_percentage = 5
|
|
80
|
+
@fumble_percentage = 5
|
|
81
|
+
return getCombineRoll(command)
|
|
82
|
+
when /RES/i
|
|
83
|
+
# 1%
|
|
84
|
+
@critical_percentage = 1
|
|
85
|
+
@fumble_percentage = 1
|
|
86
|
+
return getRegistResult(command)
|
|
87
|
+
when /CBR/i
|
|
88
|
+
# 1%
|
|
89
|
+
@critical_percentage = 1
|
|
90
|
+
@fumble_percentage = 1
|
|
91
|
+
return getCombineRoll(command)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
return nil
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def getCheckResult(command)
|
|
98
|
+
broken_num = 0
|
|
99
|
+
diff = 0
|
|
100
|
+
|
|
101
|
+
if (m = %r{CCB?(\d+)?<=([+-/*\d]+)}i.match(command))
|
|
102
|
+
broken_num = m[1].to_i
|
|
103
|
+
diff = ArithmeticEvaluator.eval(m[2])
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
output = ""
|
|
107
|
+
|
|
108
|
+
if diff > 0
|
|
109
|
+
output = "(1D100<=#{diff})"
|
|
110
|
+
|
|
111
|
+
if broken_num > 0
|
|
112
|
+
output += " ć
éăăłăăź[#{broken_num}]"
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
total_n = @randomizer.roll_once(100)
|
|
116
|
+
|
|
117
|
+
output += " ďź #{total_n}"
|
|
118
|
+
output += " ďź #{getCheckResultText(total_n, diff, broken_num)}"
|
|
119
|
+
else
|
|
120
|
+
total_n = @randomizer.roll_once(100)
|
|
121
|
+
output = "(1D100) ďź #{total_n}"
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
return output
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def getCheckResultText(total_n, diff, broken_num = 0)
|
|
128
|
+
result = ""
|
|
129
|
+
diff_special = 0
|
|
130
|
+
fumble = false
|
|
131
|
+
|
|
132
|
+
if @special_percentage > 0
|
|
133
|
+
# specialăŽĺ¤č¨ĺŽăçĄăĺ ´ĺăŻăŻăŞăăŁăŤăŤ/ăăĄăłăăŤĺ¤ĺŽăăăŞă
|
|
134
|
+
diff_special = (diff * @special_percentage / 100).floor
|
|
135
|
+
if diff_special < 1
|
|
136
|
+
diff_special = 1
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
if (total_n <= diff) && (total_n < 100)
|
|
141
|
+
@is_success = true
|
|
142
|
+
result = "ćĺ"
|
|
143
|
+
|
|
144
|
+
if diff_special > 0
|
|
145
|
+
if total_n <= @critical_percentage
|
|
146
|
+
@is_critical = true
|
|
147
|
+
if total_n <= diff_special
|
|
148
|
+
result = "ćąşĺŽçćĺ/ăšăăˇăŁăŤ"
|
|
149
|
+
else
|
|
150
|
+
result = "ćąşĺŽçćĺ"
|
|
151
|
+
end
|
|
152
|
+
else
|
|
153
|
+
if total_n <= diff_special
|
|
154
|
+
result = "ăšăăˇăŁăŤ"
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
else
|
|
159
|
+
@is_failure = true
|
|
160
|
+
result = "夹ć"
|
|
161
|
+
|
|
162
|
+
if diff_special > 0
|
|
163
|
+
if (total_n >= (101 - @fumble_percentage)) && (diff < 100)
|
|
164
|
+
@is_fumble = true
|
|
165
|
+
result = "č´ĺ˝ç夹ć"
|
|
166
|
+
fumble = true
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
if broken_num > 0
|
|
172
|
+
if total_n >= broken_num
|
|
173
|
+
@is_success = false
|
|
174
|
+
@is_failure = true
|
|
175
|
+
if fumble
|
|
176
|
+
result += "/ć
é"
|
|
177
|
+
else
|
|
178
|
+
result = "ć
é"
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
return result
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
def getRegistResult(command)
|
|
187
|
+
m = /RES(B)?([-\d]+)/i.match(command)
|
|
188
|
+
unless m
|
|
189
|
+
return "1"
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
value = m[2].to_i
|
|
193
|
+
target = value * 5 + 50
|
|
194
|
+
|
|
195
|
+
if target < 5
|
|
196
|
+
@is_failure = true
|
|
197
|
+
return "(1d100<=#{target}) ďź čŞĺ夹ć"
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
if target > 95
|
|
201
|
+
@is_success = true
|
|
202
|
+
return "(1d100<=#{target}) ďź čŞĺćĺ"
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
# é常ĺ¤ĺŽ
|
|
206
|
+
total_n = @randomizer.roll_once(100)
|
|
207
|
+
result = getCheckResultText(total_n, target)
|
|
208
|
+
|
|
209
|
+
return "(1d100<=#{target}) ďź #{total_n} ďź #{result}"
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
def getCombineRoll(command)
|
|
213
|
+
m = /CBR(B)?\((\d+),(\d+)\)/i.match(command)
|
|
214
|
+
unless m
|
|
215
|
+
return "1"
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
diff_1 = m[2].to_i
|
|
219
|
+
diff_2 = m[3].to_i
|
|
220
|
+
|
|
221
|
+
total = @randomizer.roll_once(100)
|
|
222
|
+
|
|
223
|
+
result_1 = getCheckResultText(total, diff_1)
|
|
224
|
+
result_2 = getCheckResultText(total, diff_2)
|
|
225
|
+
|
|
226
|
+
successList = ["ćąşĺŽçćĺ/ăšăăˇăŁăŤ", "ćąşĺŽçćĺ", "ăšăăˇăŁăŤ", "ćĺ"]
|
|
227
|
+
|
|
228
|
+
succesCount = 0
|
|
229
|
+
succesCount += 1 if successList.include?(result_1)
|
|
230
|
+
succesCount += 1 if successList.include?(result_2)
|
|
231
|
+
debug("succesCount", succesCount)
|
|
232
|
+
|
|
233
|
+
@is_failure = false
|
|
234
|
+
@is_success = false
|
|
235
|
+
|
|
236
|
+
rank =
|
|
237
|
+
if succesCount >= 2
|
|
238
|
+
@is_success = true
|
|
239
|
+
"ćĺ"
|
|
240
|
+
elsif succesCount == 1
|
|
241
|
+
@is_success = true
|
|
242
|
+
"é¨ĺçćĺ"
|
|
243
|
+
else
|
|
244
|
+
@is_failure = true
|
|
245
|
+
"夹ć"
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
return "(1d100<=#{diff_1},#{diff_2}) ďź #{total}[#{result_1},#{result_2}] ďź #{rank}"
|
|
249
|
+
end
|
|
250
|
+
end
|
|
251
|
+
end
|
|
252
|
+
end
|
|
@@ -0,0 +1,767 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module BCDice
|
|
4
|
+
module GameSystem
|
|
5
|
+
class Cthulhu7th < Base
|
|
6
|
+
# ă˛ăźă ăˇăšăă ăŽčĺĽĺ
|
|
7
|
+
ID = 'Cthulhu7th'
|
|
8
|
+
|
|
9
|
+
# ă˛ăźă ăˇăšăă ĺ
|
|
10
|
+
NAME = 'ć°ăŻăăĽăŤăçĽčŠąTRPG'
|
|
11
|
+
|
|
12
|
+
# ă˛ăźă ăˇăšăă ĺăŽčŞăżăăŞ
|
|
13
|
+
SORT_KEY = 'ăăăă¨ăăăľăăăTRPG'
|
|
14
|
+
|
|
15
|
+
# ăă¤ăšăăăăŽä˝żăćš
|
|
16
|
+
HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
|
|
17
|
+
âťăłăăłăăŻĺ
Ľĺĺ
厚ăŽĺćšä¸č´ă§ć¤ĺşăăŚăăžăă
|
|
18
|
+
ăťĺ¤ĺŽăCC(x)<=ďźçŽć¨ĺ¤ďź
|
|
19
|
+
ăxďźăăźăăšăťăăăŤăăŁăă¤ăš (2ď˝ďź2)ăççĽĺŻă
|
|
20
|
+
ăçŽć¨ĺ¤ăçĄăăŚă1D100ăŻčĄ¨ç¤şăăăă
|
|
21
|
+
ăăăĄăłăăŤďźĺ¤ąćďźăăŹăŽăĽăŠăźćĺďźăăźăćĺďź
|
|
22
|
+
ăă¤ăŻăšăăŞăźă ćĺďźăŻăŞăăŁăŤăŤ ăčŞĺĺ¤ĺŽă
|
|
23
|
+
äžďźCC<=30ăCC(2)<=50 CC(+2)<=50 CC(-1)<=75 CC-1<=50 CC1<=65 CC+1<=65 CC
|
|
24
|
+
|
|
25
|
+
ăťçľăżĺăăĺ¤ĺŽă(CBR(x,y))
|
|
26
|
+
ăçŽć¨ĺ¤ x 㨠y ă§ďź
ăăźăŤăčĄăăćĺŚăĺ¤ĺŽă
|
|
27
|
+
ăäžďźCBR(50,20)
|
|
28
|
+
|
|
29
|
+
ăťčŞĺçŤĺ¨ăŽĺ°ćĺ¤ĺŽăFAR(w,x,y,z,d,v)
|
|
30
|
+
ăwďźĺźžä¸¸ăŽć°(1ď˝100ďźăxďźćč˝ĺ¤ďź1ď˝100ďźăyďźć
éăăłăăźă
|
|
31
|
+
ăzďźăăźăăšăťăăăŤăăŁăă¤ăš(-2ď˝2)ăççĽĺŻă
|
|
32
|
+
ădďźćĺŽéŁć庌ă§éŁĺ°ăçľăăďźăŹăŽăĽăŠăźďźr,ăăźăďźh,ă¤ăŻăšăăŞăźă ďźeďźăççĽĺŻă
|
|
33
|
+
ăvďźăăŹăźăŽĺźžä¸¸ăŽć°ăĺ¤ć´ăăăççĽĺŻă
|
|
34
|
+
ăĺ˝ä¸ć°ă¨č˛Ťéć°ăćŽĺźžć°ăŽăżçŽĺşăăăĄăźă¸çŽĺşăŻăăăžăăă
|
|
35
|
+
äžďźFAR(25,70,98)ăFAR(50,80,98,-1)ăfar(30,70,99,1,R)
|
|
36
|
+
ăăfar(25,88,96,2,h,5)ăFaR(40,77,100,,e,4)ăfAr(20,47,100,,,3)
|
|
37
|
+
|
|
38
|
+
ăťĺ税襨
|
|
39
|
+
ăăçć°é˘éŁă
|
|
40
|
+
ăăťçć°ăŽçşä˝ďźăŞă˘ăŤăżă¤ă ďźďźBouts of Madness Real TimeďźăBMR
|
|
41
|
+
ăăťçć°ăŽçşä˝ďźăľăăŞăźďźďźBouts of Madness SummaryďźăBMS
|
|
42
|
+
ăăťććçďźSample PhobiasďźčĄ¨ăPHďźăăă˘ďźSample ManiasďźčĄ¨ăMA
|
|
43
|
+
ăăéčĄé˘éŁă
|
|
44
|
+
ăăťăăăˇăĽćăŽăăŁăšăăŁăłă°ăťăăźăŤďźCasting RollďźăŽĺ¤ąć襨
|
|
45
|
+
ăă埡ĺă§ăŞăĺŞćăŽĺ ´ĺăFCLďźĺźˇĺăŞĺŞćăŽĺ ´ĺăFCM
|
|
46
|
+
INFO_MESSAGE_TEXT
|
|
47
|
+
|
|
48
|
+
register_prefix(['CC\(\d+\)', 'CC.*', 'CBR\(\d+,\d+\)', 'FAR.*', 'BMR', 'BMS', 'FCL', 'FCM', 'PH', 'MA'])
|
|
49
|
+
|
|
50
|
+
def initialize(command)
|
|
51
|
+
super(command)
|
|
52
|
+
|
|
53
|
+
@bonus_dice_range = (-2..2)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def eval_game_system_specific_command(command)
|
|
57
|
+
case command
|
|
58
|
+
when /^CC/i
|
|
59
|
+
return getCheckResult(command)
|
|
60
|
+
when /^CBR/i
|
|
61
|
+
return getCombineRoll(command)
|
|
62
|
+
when /^FAR/i
|
|
63
|
+
return getFullAutoResult(command)
|
|
64
|
+
when /^BMR/i # çć°ăŽçşä˝ďźăŞă˘ăŤăżă¤ă ďź
|
|
65
|
+
return roll_bmr_table()
|
|
66
|
+
when /^BMS/i # çć°ăŽçşä˝ďźăľăăŞăźďź
|
|
67
|
+
return roll_bms_table()
|
|
68
|
+
when /^FCL/i # ăăŁăšăăŁăłă°ăťăăźăŤăŽăăăˇăĽăŤĺ¤ąćăăĺ ´ĺďźĺ°ďź
|
|
69
|
+
return roll_1d8_table("ăăŁăšăăŁăłă°ăťăăźăŤĺ¤ąć(ĺ°)襨", FAILED_CASTING_L_TABLE)
|
|
70
|
+
when /^FCM/i # ăăŁăšăăŁăłă°ăťăăźăŤăŽăăăˇăĽăŤĺ¤ąćăăĺ ´ĺďźĺ¤§ďź
|
|
71
|
+
return roll_1d8_table("ăăŁăšăăŁăłă°ăťăăźăŤĺ¤ąć(大)襨", FAILED_CASTING_M_TABLE)
|
|
72
|
+
when /^PH/i # ććç襨
|
|
73
|
+
return roll_1d100_table("ććç襨", PHOBIAS_TABLE)
|
|
74
|
+
when /^MA/i # ăăă˘čĄ¨
|
|
75
|
+
return roll_1d100_table("ăăă˘čĄ¨", MANIAS_TABLE)
|
|
76
|
+
else
|
|
77
|
+
return nil
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
private
|
|
82
|
+
|
|
83
|
+
def roll_1d8_table(table_name, table)
|
|
84
|
+
total_n = @randomizer.roll_once(8)
|
|
85
|
+
index = total_n - 1
|
|
86
|
+
|
|
87
|
+
text = table[index]
|
|
88
|
+
|
|
89
|
+
return "#{table_name}(#{total_n}) ďź #{text}"
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def roll_1d100_table(table_name, table)
|
|
93
|
+
total_n = @randomizer.roll_once(100)
|
|
94
|
+
index = total_n - 1
|
|
95
|
+
|
|
96
|
+
text = table[index]
|
|
97
|
+
|
|
98
|
+
return "#{table_name}(#{total_n}) ďź #{text}"
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def getCheckResult(command)
|
|
102
|
+
m = /^CC([-+]?\d+)?(<=(\d+))?/i.match(command)
|
|
103
|
+
unless m
|
|
104
|
+
return nil
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
bonus_dice_count = m[1].to_i # ăăźăăšăťăăăŤăăŁăă¤ăšăŽĺć°
|
|
108
|
+
diff = m[3].to_i
|
|
109
|
+
without_compare = m[2].nil? || diff <= 0
|
|
110
|
+
|
|
111
|
+
if bonus_dice_count == 0 && diff <= 0
|
|
112
|
+
dice = @randomizer.roll_once(100)
|
|
113
|
+
return "1D100 ďź #{dice}"
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
unless @bonus_dice_range.include?(bonus_dice_count)
|
|
117
|
+
return "ă¨ăŠăźăăăźăăšăťăăăŤăăŁăă¤ăšăŽĺ¤ăŻ#{@bonus_dice_range.min}ď˝#{@bonus_dice_range.max}ă§ăă"
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
total, total_list = roll_with_bonus(bonus_dice_count)
|
|
121
|
+
|
|
122
|
+
if without_compare
|
|
123
|
+
output = "(1D100) ăăźăăšăťăăăŤăăŁăă¤ăš[#{bonus_dice_count}]"
|
|
124
|
+
output += " ďź #{total_list.join(', ')} ďź #{total}"
|
|
125
|
+
else
|
|
126
|
+
result_text = getCheckResultText(total, diff)
|
|
127
|
+
output = "(1D100<=#{diff}) ăăźăăšăťăăăŤăăŁăă¤ăš[#{bonus_dice_count}]"
|
|
128
|
+
output += " ďź #{total_list.join(', ')} ďź #{total} ďź #{result_text}"
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
return output
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
# 1D100ăŽä¸ăŽä˝ç¨ăŽăă¤ăšăăźăŤ
|
|
135
|
+
# 0ăă9ăžă§ăŽĺ¤ăčżă
|
|
136
|
+
#
|
|
137
|
+
# @return [Integer]
|
|
138
|
+
def roll_ones_d10
|
|
139
|
+
dice = @randomizer.roll_once(10)
|
|
140
|
+
return 0 if dice == 10
|
|
141
|
+
|
|
142
|
+
return dice
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# @param bonus [Integer] ăăźăăšăťăăăŤăăŁăă¤ăšăŽć°ăč˛ ăŽć°ăŞăăăăŤăăŁăă¤ăšă
|
|
146
|
+
# @return [Array<(Integer, Array<Integer>)>]
|
|
147
|
+
def roll_with_bonus(bonus)
|
|
148
|
+
tens_list = Array.new(bonus.abs + 1) { @randomizer.roll_tens_d10 }
|
|
149
|
+
ones = roll_ones_d10()
|
|
150
|
+
|
|
151
|
+
dice_list = tens_list.map do |tens|
|
|
152
|
+
dice = tens + ones
|
|
153
|
+
dice == 0 ? 100 : dice
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
dice =
|
|
157
|
+
if bonus >= 0
|
|
158
|
+
dice_list.min
|
|
159
|
+
else
|
|
160
|
+
dice_list.max
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
return dice, dice_list
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
def getCheckResultText(total, diff, fumbleable = false)
|
|
167
|
+
if total <= diff
|
|
168
|
+
return "ăŻăŞăăŁăŤăŤ" if total == 1
|
|
169
|
+
return "ă¤ăŻăšăăŞăźă ćĺ" if total <= (diff / 5)
|
|
170
|
+
return "ăăźăćĺ" if total <= (diff / 2)
|
|
171
|
+
|
|
172
|
+
return "ăŹăŽăĽăŠăźćĺ"
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
fumble_text = "ăăĄăłăăŤ"
|
|
176
|
+
|
|
177
|
+
return fumble_text if total == 100
|
|
178
|
+
|
|
179
|
+
if total >= 96
|
|
180
|
+
if diff < 50
|
|
181
|
+
return fumble_text
|
|
182
|
+
else
|
|
183
|
+
return fumble_text if fumbleable
|
|
184
|
+
end
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
return "夹ć"
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
def getCombineRoll(command)
|
|
191
|
+
return nil unless /CBR\((\d+),(\d+)\)/i =~ command
|
|
192
|
+
|
|
193
|
+
diff_1 = Regexp.last_match(1).to_i
|
|
194
|
+
diff_2 = Regexp.last_match(2).to_i
|
|
195
|
+
|
|
196
|
+
total = @randomizer.roll_once(100)
|
|
197
|
+
|
|
198
|
+
result_1 = getCheckResultText(total, diff_1)
|
|
199
|
+
result_2 = getCheckResultText(total, diff_2)
|
|
200
|
+
|
|
201
|
+
successList = ["ăŻăŞăăŁăŤăŤ", "ă¤ăŻăšăăŞăźă ćĺ", "ăăźăćĺ", "ăŹăŽăĽăŠăźćĺ"]
|
|
202
|
+
|
|
203
|
+
succesCount = 0
|
|
204
|
+
succesCount += 1 if successList.include?(result_1)
|
|
205
|
+
succesCount += 1 if successList.include?(result_2)
|
|
206
|
+
debug("succesCount", succesCount)
|
|
207
|
+
|
|
208
|
+
rank =
|
|
209
|
+
if succesCount >= 2
|
|
210
|
+
"ćĺ"
|
|
211
|
+
elsif succesCount == 1
|
|
212
|
+
"é¨ĺçćĺ"
|
|
213
|
+
else
|
|
214
|
+
"夹ć"
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
return "(1d100<=#{diff_1},#{diff_2}) ďź #{total}[#{result_1},#{result_2}] ďź #{rank}"
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
def getFullAutoResult(command)
|
|
221
|
+
return nil unless /^FAR\((-?\d+),(-?\d+),(-?\d+)(?:,(-?\d+)?)?(?:,(-?\w+)?)?(?:,(-?\d+)?)?\)/i =~ command
|
|
222
|
+
|
|
223
|
+
bullet_count = Regexp.last_match(1).to_i
|
|
224
|
+
diff = Regexp.last_match(2).to_i
|
|
225
|
+
broken_number = Regexp.last_match(3).to_i
|
|
226
|
+
bonus_dice_count = (Regexp.last_match(4) || 0).to_i
|
|
227
|
+
stop_count = (Regexp.last_match(5) || "").to_s.downcase
|
|
228
|
+
bullet_set_count_cap = (Regexp.last_match(6) || diff / 10).to_i
|
|
229
|
+
|
|
230
|
+
output = ""
|
|
231
|
+
|
|
232
|
+
# ć大ă§ďź8ĺ*ďźPCćč˝ĺ¤ć大ĺ¤/10ďźďźďź72çşăăćăŚăŞăăŻăăŞăŽă§ä¸é
|
|
233
|
+
bullet_count_limit = 100
|
|
234
|
+
if bullet_count > bullet_count_limit
|
|
235
|
+
output += "ĺźžčŹăĺ¤ăăăžăăčŁ
奍ăăăĺźžčŹă#{bullet_count_limit}çşăŤĺ¤ć´ăăžăă\n"
|
|
236
|
+
bullet_count = bullet_count_limit
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
# ăăŹăźăŽä¸éăŽč¨ĺŽăăăăăĺ ´ĺăŽćł¨ć襨示
|
|
240
|
+
if (bullet_set_count_cap > diff / 10) && (diff > 39) && !Regexp.last_match(6).nil?
|
|
241
|
+
bullet_set_count_cap = diff / 10
|
|
242
|
+
output += "ăăŹăźăŽĺźžä¸¸ăŽć°ăŽä¸éăŻ\[ćč˝ĺ¤Ăˇ10ďźĺăć¨ăŚďź\]çşăŞăŽă§ăăăăăéŤăć°ăćĺŽă§ăăžăăăăăŹăźăŽĺźžä¸¸ăŽć°ă#{bullet_set_count_cap}çşăŤĺ¤ć´ăăžăă\n"
|
|
243
|
+
elsif (diff <= 39) && (bullet_set_count_cap > 3) && !Regexp.last_match(6).nil?
|
|
244
|
+
bullet_set_count_cap = 3
|
|
245
|
+
output += "ćč˝ĺ¤ă39䝼ä¸ă§ăŻăăŹăźăŽĺźžä¸¸ăŽć°ăŽä¸éăăăłä¸éăŻ3çşă§ăăăăŹăźăŽĺźžä¸¸ăŽć°ă#{bullet_set_count_cap}çşăŤĺ¤ć´ăăžăă\n"
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
# ăăŹăźăŽä¸éăŽč¨ĺŽăăăăăĺ ´ĺăŽćł¨ć襨示ăăăłă¨ăŠăźčĄ¨ç¤ş
|
|
249
|
+
return "ăăŹăźăŽĺźžä¸¸ăŽć°ăŻćŁăŽć°ă§ăă" if (bullet_set_count_cap <= 0) && !Regexp.last_match(6).nil?
|
|
250
|
+
|
|
251
|
+
if (bullet_set_count_cap < 3) && !Regexp.last_match(6).nil?
|
|
252
|
+
bullet_set_count_cap = 3
|
|
253
|
+
output += "ăăŹăźăŽĺźžä¸¸ăŽć°ăŽä¸éăŻ3çşă§ăăăăŹăźăŽĺźžä¸¸ăŽć°ă3çşăŤĺ¤ć´ăăžăă\n"
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
return "ĺźžčŹăŻćŁăŽć°ă§ăă" if bullet_count <= 0
|
|
257
|
+
return "çŽć¨ĺ¤ăŻćŁăŽć°ă§ăă" if diff <= 0
|
|
258
|
+
|
|
259
|
+
if broken_number < 0
|
|
260
|
+
output += "ć
éăăłăăźăŻćŁăŽć°ă§ăăăă¤ăăšč¨ĺˇăĺ¤ăăžăă\n"
|
|
261
|
+
broken_number = broken_number.abs
|
|
262
|
+
end
|
|
263
|
+
|
|
264
|
+
unless @bonus_dice_range.include?(bonus_dice_count)
|
|
265
|
+
return "ă¨ăŠăźăăăźăăšăťăăăŤăăŁăă¤ăšăŽĺ¤ăŻ#{@bonus_dice_range.min}ď˝#{@bonus_dice_range.max}ă§ăă"
|
|
266
|
+
end
|
|
267
|
+
|
|
268
|
+
output += "ăăźăăšăťăăăŤăăŁăă¤ăš[#{bonus_dice_count}]"
|
|
269
|
+
output += rollFullAuto(bullet_count, diff, broken_number, bonus_dice_count, stop_count, bullet_set_count_cap)
|
|
270
|
+
|
|
271
|
+
return output
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
def rollFullAuto(bullet_count, diff, broken_number, dice_num, stop_count, bullet_set_count_cap)
|
|
275
|
+
output = ""
|
|
276
|
+
loopCount = 0
|
|
277
|
+
|
|
278
|
+
counts = {
|
|
279
|
+
hit_bullet: 0,
|
|
280
|
+
impale_bullet: 0,
|
|
281
|
+
bullet: bullet_count,
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
# éŁć庌ĺ¤ć´ç¨ăŤăźă
|
|
285
|
+
(0..3).each do |more_difficulty|
|
|
286
|
+
output += getNextDifficultyMessage(more_difficulty)
|
|
287
|
+
|
|
288
|
+
# ăăăŤăăŁăă¤ăšăć¸ăăăŞăăăăźăŤç¨ăŤăźă
|
|
289
|
+
while dice_num >= @bonus_dice_range.min
|
|
290
|
+
|
|
291
|
+
loopCount += 1
|
|
292
|
+
hit_result, total, total_list = getHitResultInfos(dice_num, diff, more_difficulty)
|
|
293
|
+
output += "\n#{loopCount}ĺçŽ: ďź #{total_list.join(', ')} ďź #{hit_result}"
|
|
294
|
+
|
|
295
|
+
if total >= broken_number
|
|
296
|
+
output += "ăă¸ăŁă "
|
|
297
|
+
return getHitResultText(output, counts)
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
hit_type = getHitType(more_difficulty, hit_result)
|
|
301
|
+
hit_bullet, impale_bullet, lost_bullet = getBulletResults(counts[:bullet], hit_type, diff, bullet_set_count_cap)
|
|
302
|
+
|
|
303
|
+
output += "ăďź#{hit_bullet}çşăĺ˝ä¸ă#{impale_bullet}çşă貍éďź"
|
|
304
|
+
|
|
305
|
+
counts[:hit_bullet] += hit_bullet
|
|
306
|
+
counts[:impale_bullet] += impale_bullet
|
|
307
|
+
counts[:bullet] -= lost_bullet
|
|
308
|
+
|
|
309
|
+
return getHitResultText(output, counts) if counts[:bullet] <= 0
|
|
310
|
+
|
|
311
|
+
dice_num -= 1
|
|
312
|
+
end
|
|
313
|
+
|
|
314
|
+
# ćĺŽăăăéŁć庌ă¨ăŞăŁăĺ ´ĺăéŁĺ°ĺŚçăéä¸ă§ć˘ăă
|
|
315
|
+
if shouldStopRollFullAuto?(stop_count, more_difficulty)
|
|
316
|
+
output += "\năćĺŽăŽéŁć庌ă¨ăŞăŁăăŽă§ăĺŚçăçľäşăăžăăă"
|
|
317
|
+
break
|
|
318
|
+
end
|
|
319
|
+
|
|
320
|
+
dice_num += 1
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
return getHitResultText(output, counts)
|
|
324
|
+
end
|
|
325
|
+
|
|
326
|
+
# éŁĺ°ĺŚçăć˘ăăćĄäťśďźéŁć庌ăŽéžĺ¤ďź
|
|
327
|
+
# @return [Hash<String, Integer>]
|
|
328
|
+
#
|
|
329
|
+
# ćĺăŽç¨ŽéĄăŽĺ°ćĺčĄ¨č¨ => éŁć庌ăŽéžĺ¤
|
|
330
|
+
ROLL_FULL_AUTO_DIFFICULTY_THRESHOLD = {
|
|
331
|
+
# ăŹăŽăĽăŠăź
|
|
332
|
+
'r' => 0,
|
|
333
|
+
# ăăźă
|
|
334
|
+
'h' => 1,
|
|
335
|
+
# ă¤ăŻăšăăŞăźă
|
|
336
|
+
'e' => 2
|
|
337
|
+
}.freeze
|
|
338
|
+
|
|
339
|
+
# éŁĺ°ĺŚçăć˘ăăăšăăăŠăăăčżă
|
|
340
|
+
# @param [String] stop_count ćĺăŽç¨ŽéĄ
|
|
341
|
+
# @param [Integer] difficulty éŁć庌
|
|
342
|
+
# @return [Boolean]
|
|
343
|
+
def shouldStopRollFullAuto?(stop_count, difficulty)
|
|
344
|
+
difficulty_threshold = ROLL_FULL_AUTO_DIFFICULTY_THRESHOLD[stop_count]
|
|
345
|
+
return difficulty_threshold && difficulty >= difficulty_threshold
|
|
346
|
+
end
|
|
347
|
+
|
|
348
|
+
def getHitResultInfos(dice_num, diff, more_difficulty)
|
|
349
|
+
total, total_list = roll_with_bonus(dice_num)
|
|
350
|
+
|
|
351
|
+
fumbleable = getFumbleable(more_difficulty)
|
|
352
|
+
hit_result = getCheckResultText(total, diff, fumbleable)
|
|
353
|
+
|
|
354
|
+
return hit_result, total, total_list
|
|
355
|
+
end
|
|
356
|
+
|
|
357
|
+
def getHitResultText(output, counts)
|
|
358
|
+
return "#{output}\nďź #{counts[:hit_bullet]}çşăé常ĺ˝ä¸ă#{counts[:impale_bullet]}çşă貍éăćŽĺźž#{counts[:bullet]}çş"
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
def getHitType(more_difficulty, hit_result)
|
|
362
|
+
successList, impaleBulletList = getSuccessListImpaleBulletList(more_difficulty)
|
|
363
|
+
|
|
364
|
+
return :hit if successList.include?(hit_result)
|
|
365
|
+
return :impale if impaleBulletList.include?(hit_result)
|
|
366
|
+
|
|
367
|
+
return ""
|
|
368
|
+
end
|
|
369
|
+
|
|
370
|
+
def getBulletResults(bullet_count, hit_type, diff, bullet_set_count_cap)
|
|
371
|
+
bullet_set_count = getSetOfBullet(diff, bullet_set_count_cap)
|
|
372
|
+
hit_bullet_count_base = getHitBulletCountBase(diff, bullet_set_count)
|
|
373
|
+
impale_bullet_count_base = (bullet_set_count / 2.to_f)
|
|
374
|
+
|
|
375
|
+
lost_bullet_count = 0
|
|
376
|
+
hit_bullet_count = 0
|
|
377
|
+
impale_bullet_count = 0
|
|
378
|
+
|
|
379
|
+
if !isLastBulletTurn(bullet_count, bullet_set_count)
|
|
380
|
+
|
|
381
|
+
case hit_type
|
|
382
|
+
when :hit
|
|
383
|
+
hit_bullet_count = hit_bullet_count_base # é常ĺ˝ä¸ăăĺźžć°ăŽč¨çŽ
|
|
384
|
+
|
|
385
|
+
when :impale
|
|
386
|
+
impale_bullet_count = impale_bullet_count_base.floor # 貍éăăĺźžć°ăŽč¨çŽ
|
|
387
|
+
hit_bullet_count = impale_bullet_count_base.ceil
|
|
388
|
+
end
|
|
389
|
+
|
|
390
|
+
lost_bullet_count = bullet_set_count
|
|
391
|
+
|
|
392
|
+
else
|
|
393
|
+
|
|
394
|
+
case hit_type
|
|
395
|
+
when :hit
|
|
396
|
+
hit_bullet_count = getLastHitBulletCount(bullet_count)
|
|
397
|
+
|
|
398
|
+
when :impale
|
|
399
|
+
impale_bullet_count = getLastHitBulletCount(bullet_count)
|
|
400
|
+
hit_bullet_count = bullet_count - impale_bullet_count
|
|
401
|
+
end
|
|
402
|
+
|
|
403
|
+
lost_bullet_count = bullet_count
|
|
404
|
+
end
|
|
405
|
+
|
|
406
|
+
return hit_bullet_count, impale_bullet_count, lost_bullet_count
|
|
407
|
+
end
|
|
408
|
+
|
|
409
|
+
def getSuccessListImpaleBulletList(more_difficulty)
|
|
410
|
+
successList = []
|
|
411
|
+
impaleBulletList = []
|
|
412
|
+
|
|
413
|
+
case more_difficulty
|
|
414
|
+
when 0
|
|
415
|
+
successList = ["ăăźăćĺ", "ăŹăŽăĽăŠăźćĺ"]
|
|
416
|
+
impaleBulletList = ["ăŻăŞăăŁăŤăŤ", "ă¤ăŻăšăăŞăźă ćĺ"]
|
|
417
|
+
when 1
|
|
418
|
+
successList = ["ăăźăćĺ"]
|
|
419
|
+
impaleBulletList = ["ăŻăŞăăŁăŤăŤ", "ă¤ăŻăšăăŞăźă ćĺ"]
|
|
420
|
+
when 2
|
|
421
|
+
successList = []
|
|
422
|
+
impaleBulletList = ["ăŻăŞăăŁăŤăŤ", "ă¤ăŻăšăăŞăźă ćĺ"]
|
|
423
|
+
when 3
|
|
424
|
+
successList = ["ăŻăŞăăŁăŤăŤ"]
|
|
425
|
+
impaleBulletList = []
|
|
426
|
+
end
|
|
427
|
+
|
|
428
|
+
return successList, impaleBulletList
|
|
429
|
+
end
|
|
430
|
+
|
|
431
|
+
def getNextDifficultyMessage(more_difficulty)
|
|
432
|
+
case more_difficulty
|
|
433
|
+
when 1
|
|
434
|
+
return "\năéŁć庌ăăăźăăŤĺ¤ć´ă"
|
|
435
|
+
when 2
|
|
436
|
+
return "\năéŁć庌ăă¤ăŻăšăăŞăźă ăŤĺ¤ć´ă"
|
|
437
|
+
when 3
|
|
438
|
+
return "\năéŁć庌ăăŻăŞăăŁăŤăŤăŤĺ¤ć´ă"
|
|
439
|
+
end
|
|
440
|
+
|
|
441
|
+
return ""
|
|
442
|
+
end
|
|
443
|
+
|
|
444
|
+
def getSetOfBullet(diff, bullet_set_count_cap)
|
|
445
|
+
bullet_set_count = diff / 10
|
|
446
|
+
|
|
447
|
+
if bullet_set_count_cap < bullet_set_count
|
|
448
|
+
bullet_set_count = bullet_set_count_cap
|
|
449
|
+
end
|
|
450
|
+
|
|
451
|
+
if (diff >= 1) && (diff < 30)
|
|
452
|
+
bullet_set_count = 3 # ćč˝ĺ¤ă29䝼ä¸ă§ăŽćä˝ĺ¤äżéĺŚç
|
|
453
|
+
end
|
|
454
|
+
|
|
455
|
+
return bullet_set_count
|
|
456
|
+
end
|
|
457
|
+
|
|
458
|
+
def getHitBulletCountBase(diff, bullet_set_count)
|
|
459
|
+
hit_bullet_count_base = (bullet_set_count / 2)
|
|
460
|
+
|
|
461
|
+
if (diff >= 1) && (diff < 30)
|
|
462
|
+
hit_bullet_count_base = 1 # ćč˝ĺ¤29䝼ä¸ă§ăŽćä˝ĺ¤äżé
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
return hit_bullet_count_base
|
|
466
|
+
end
|
|
467
|
+
|
|
468
|
+
def isLastBulletTurn(bullet_count, bullet_set_count)
|
|
469
|
+
((bullet_count - bullet_set_count) < 0)
|
|
470
|
+
end
|
|
471
|
+
|
|
472
|
+
def getLastHitBulletCount(bullet_count)
|
|
473
|
+
# ćŽĺźž1ă§ăŽćä˝ĺ¤äżéĺŚç
|
|
474
|
+
if bullet_count == 1
|
|
475
|
+
return 1
|
|
476
|
+
end
|
|
477
|
+
|
|
478
|
+
count = (bullet_count / 2.to_f).floor
|
|
479
|
+
return count
|
|
480
|
+
end
|
|
481
|
+
|
|
482
|
+
def getFumbleable(more_difficulty)
|
|
483
|
+
# ćĺă49䝼ä¸ăŽĺşçŽăŽăżă¨ăŞăăăăăăĄăłăăŤĺ¤ăŻä¸ć
|
|
484
|
+
return (more_difficulty >= 1)
|
|
485
|
+
end
|
|
486
|
+
|
|
487
|
+
# 襨ä¸ĺź
|
|
488
|
+
# ĺłćăŽććç襨
|
|
489
|
+
def roll_bmr_table()
|
|
490
|
+
total_n = @randomizer.roll_once(10)
|
|
491
|
+
text = MADNESS_REAL_TIME_TABLE[total_n - 1]
|
|
492
|
+
|
|
493
|
+
time_n = @randomizer.roll_once(10)
|
|
494
|
+
|
|
495
|
+
return "çć°ăŽçşä˝ďźăŞă˘ăŤăżă¤ă ďź(#{total_n}) ďź #{text}(1D10ďź#{time_n}ăŠăŚăłă)"
|
|
496
|
+
end
|
|
497
|
+
|
|
498
|
+
MADNESS_REAL_TIME_TABLE = [
|
|
499
|
+
'ĺĽĺżçďźć˘ç´˘č
ăŻăćĺžăŤĺŽĺ
¨ăŞĺ ´ćăŤăăćăăăă¨ăŤčľˇăăŁăĺşćĽäşăŽč¨ćśăćăăŞăăäžăă°ăćéŁăéŁăšăŚăă揥ăŽçŹéăŤăŻćŞçŠă¨ĺăăĺăŁăŚăăăăăăŻ1D10ăŠăŚăłăçśăă',
|
|
500
|
+
'躍ä˝ççśçďźć˘ç´˘č
ăŻ1D10ăŠăŚăłăăŽéăçć°ăŤăăŁăŚčŚčŚăč´čŚăŤç°ĺ¸¸ăçăăăăĺč˘ăŽ1ă¤ăžăăŻč¤ć°ăĺăăŞăăŞăă',
|
|
501
|
+
'ć´ĺčĄĺďźčľ¤ăé§ăć˘ç´˘č
ăŤéăă1D10ăŠăŚăłăăŽéăćăăŽĺŠăăŞăć´ĺă¨ç ´ĺŁăćľĺłćšăĺăăĺ¨ĺ˛ăŤĺăăŁăŚççşăăăă',
|
|
502
|
+
'ĺĺˇçďźć˘ç´˘č
ăŻ1D10ăŠăŚăłăăŽéăéăĺĺˇçăŤčĽ˛ăăăă誰ăăć˘ç´˘č
ăŤčĽ˛ăćăăăă¨ăăŚăăă俥ç¨ă§ăăč
ăŻăăŞăăçŁčŚăăăŚăăăčŁĺăŁăăă¤ăăăăăăăŻăăŞă ă',
|
|
503
|
+
'éčŚăŞäşşă
ďźć˘ç´˘č
ăŽăăăŻăšăăźăŞăźăŽéčŚăŞäşşă
ăčŚç´ăăć˘ç´˘č
ăŻăăŽĺ ´ăŤăăäşşçŠăăčŞĺăŤă¨ăŁăŚăŽéčŚăŞäşşă
ă ă¨ćăčžźăăäşşéé˘äżăŽć§čłŞăčć
Žăăä¸ă§ăć˘ç´˘č
ăŻăăăŤĺžăŁăŚčĄĺăăă1D10ăŠăŚăłăçśăă',
|
|
504
|
+
'夹çĽďźć˘ç´˘č
ăŻĺ¤ąçĽăăă1D10ăŠăŚăłăĺžăŤĺ垊ăăă',
|
|
505
|
+
'ăăăăŻăŤăŞăŁăŚé亥ăăďźć˘ç´˘č
ăŻĺŠç¨ă§ăăăăăăć掾ă使ăŁăŚăĺŻč˝ăŞăăăé ăă¸éăĺşăăăŤăŻăăăăŞăăăăăĺŻä¸ăŽčťä¸Ąă弪ăŁăŚäť˛éă罎ăĺťăăŤăăăă¨ă§ăăŁăŚăăć˘ç´˘č
ăŻ1D10ăŠăŚăłăăŽéăéăçśăăă',
|
|
506
|
+
'躍ä˝çăăšăăŞăźăăăăŻćć
ççşďźć˘ç´˘č
ăŻ1D10ăŠăŚăłăăŽéăçŹăŁăăă泣ăăăăăăăăŻĺŤăă ăăçśăăčĄĺă§ăăŞăăŞăă',
|
|
507
|
+
'ććçďźć˘ç´˘č
ăŻć°ăăććçăŤéĽăăććç襨ďźPHăłăăłăďźăăăźăŤăăăăăăźăăźăććçă1ă¤é¸ăśăććçăŽĺĺ ăŻĺĺ¨ăăŞăă¨ăăăăŽć˘ç´˘č
ăŻćŹĄăŽ1D10ăŠăŚăłăăŽéăăăăăăăŤăăă¨ćăčžźăă',
|
|
508
|
+
'ăăă˘ďźć˘ç´˘č
ăŻć°ăăăăă˘ăŤéĽăăăăă˘čĄ¨ďźMAăłăăłăďźăăăźăŤăăăăăăźăăźăăăă˘ă1ă¤é¸ăśăăăŽć˘ç´˘č
ăŻćŹĄăŽ1D10ăŠăŚăłăăŽéăčŞĺăŽć°ăăăăă˘ăŤć˛Ąé ăăăă¨ăăă'
|
|
509
|
+
].freeze
|
|
510
|
+
|
|
511
|
+
# çĽĺźăŽćć襨
|
|
512
|
+
def roll_bms_table()
|
|
513
|
+
total_n = @randomizer.roll_once(10)
|
|
514
|
+
text = MADNESS_SUMMARY_TABLE[total_n - 1]
|
|
515
|
+
|
|
516
|
+
time_n = @randomizer.roll_once(10)
|
|
517
|
+
|
|
518
|
+
return "çć°ăŽçşä˝ďźăľăăŞăźďź(#{total_n}) ďź #{text}(1D10ďź#{time_n}ćé)"
|
|
519
|
+
end
|
|
520
|
+
|
|
521
|
+
MADNESS_SUMMARY_TABLE = [
|
|
522
|
+
'ĺĽĺżçďźć˘ç´˘č
ăćčăĺăćťăă¨ăčŚçĽăăŹĺ ´ćăŤăăăčŞĺă誰ăăăăăăŞăăč¨ćśăŻćéăăăăŚăăŁăăă¨ćťăă ăăă',
|
|
523
|
+
'çéŁďźć˘ç´˘č
ăŻ1D10ćéĺžăŤćčăĺăćťăăăçéŁăŽč˘ŤĺŽłăĺăăŚăăăĺˇă¤ăăăăŚăŻăăŞăăć˘ç´˘č
ăç§čľăŽĺă躍ăŤçăăŚăăĺ ´ĺďźăć˘ç´˘č
ăŽăăăŻăšăăźăŞăźăĺç
§ďźăă嚸éăăăźăŤăčĄăăăăăçăžăăŚăăŞăăĺ¤ĺŽăăăĺ¤ćăĄăŽăăăăŽăŻăăšăŚčŞĺçăŤĺ¤ąăăăă',
|
|
524
|
+
'ć´čĄďźć˘ç´˘č
ăŻ1D10ćéĺžăŤćčăĺăćťăăčŞĺăć´čĄăĺăăĺˇă¤ăăŚăăăă¨ăŤć°ăĽăăčäš
ĺăŻçć°ăŤéĽăĺăŽĺĺăŤć¸ĺ°ăăŚăăăăă ăéçăŻçăăŚăăŞăăçăžăăăăŽăŻăŞăăăŠăŽăăăŤăăĄăźă¸ăĺ ăăăăăăŻăăăźăăźăŤĺ§ăăăăă',
|
|
525
|
+
'ć´ĺďźć˘ç´˘č
ăŻć´ĺă¨ç ´ĺŁăŽĺ´ćľăççşăăăăć˘ç´˘č
ăćčăĺăćťăăćăăăŽčĄĺăčŞčăč¨ćśăăŚăăăă¨ăăăă°ăăă§ăŞăăă¨ăăăăć˘ç´˘č
ăć´ĺăćŻăăŁăçŠăăăăăŻäşşăăăăŚç¸ćă掺ăăŚăăžăŁăăŽăăăăăăŻĺăŤĺˇă¤ăăă ăăŞăŽăăŻăăźăăźăŤĺ§ăăăăă',
|
|
526
|
+
'ă¤ăăŞăăŽăźďźäżĄĺżľďźć˘ç´˘č
ăŽăăăŻăšăăźăŞăźăŽă¤ăăŞăăŽăźă¨äżĄĺżľăĺç
§ăăăć˘ç´˘č
ăŻăăăăŽ1ă¤ăŽć¨Šĺă¨ăŞăăćĽé˛çăă¤çć°ăăżăŚăćć
ăăăăăŤä¸ťĺźľăăăăăŤăŞăăäžăă°ăĺŽćăŤé˘äżăăč
ăŻăăăŽĺžĺ°ä¸éă§ĺٰéŤăŤçŚéłă誏ćăăŚăăă¨ăăăçŽćăăăăăăăăŞăă',
|
|
527
|
+
'éčŚăŞäşşă
ďźć˘ç´˘č
ăŽăăăŻăšăăźăŞăźăŽéčŚăŞäşşă
ăĺç
§ăăăŞăăăŽäşşçŠă¨ăŽé˘äżăéčŚăăčăăăćéăăăŁăŚăăďź1D10ćé䝼ä¸ďźăć˘ç´˘č
ăŻăăŽäşşçŠăŤčżăĽăăăăŽćĺăŽčĄĺăăăăŚăăŽäşşçŠă¨ăŽé˘äżăŤă¨ăŁăŚćĺăŽčĄĺăă¨ăă',
|
|
528
|
+
'ĺ厚ďźć˘ç´˘č
ăŻç˛žçĽçé¤ć˝č¨ăăăăŻčŚĺŻăŽç罎ćă§ćčăĺăćťăăć˘ç´˘č
ăŻĺžă
ăŤăăăŤăăăŁăĺşćĽäşăćăĺşăăăăăăŞăă',
|
|
529
|
+
'ăăăăŻďźć˘ç´˘č
ăŻé常ăŤé ăĺ ´ćă§ćčăĺăćťăăčéă§éăŤčżˇăŁăŚăăăăĺčťăŤäšăŁăŚăăăăéˇčˇé˘ăăšăŤäšăŁăŚăăăăăăăŞăă',
|
|
530
|
+
'ććçďźć˘ç´˘č
ăŻć°ăăŞććçăç˛ĺžăăăććç襨ďźPHăłăăłăďźăăăźăŤăăăăăăźăăźăăŠăă1ă¤é¸ăśăć˘ç´˘č
ăŻ1D10ćéĺžăŤćčăĺăćťăăăăŽć°ăăŞććçăŽĺŻžčąĄăéżăăăăăŤăăăăĺŞĺăăăă',
|
|
531
|
+
'ăăă˘ďźć˘ç´˘č
ăŻć°ăăŞăăă˘ăç˛ĺžăăăăăă˘čĄ¨ďźMAăłăăłăďźăăăźăŤăăăăăăźăăźăăŠăă1ă¤é¸ăśăăăŽçć°ăŽçşä˝ăŽéăć˘ç´˘č
ăŻăăŽć°ăăŞăăă˘ăŤĺŽĺ
¨ăŤćşşăăŚăăă ăăăăăăăťăăŽäşşă
ăŤć°ăĽăăăăăŠăăăŻăăăźăăźă¨ăăŹă¤ă¤ăźăŤĺ§ăăăăă'
|
|
532
|
+
].freeze
|
|
533
|
+
|
|
534
|
+
# ăăŁăšăăŁăłă°ăťăăźăŤăŽăăăˇăĽăŤĺ¤ąćăăĺ ´ĺďźĺ°ďź
|
|
535
|
+
FAILED_CASTING_L_TABLE = [
|
|
536
|
+
'čŚçăăźăăăăăăăăăăăŻä¸ćçăŞĺ¤ąćă',
|
|
537
|
+
'ć˛éł´ă声ăăăăăŻăťăăŽééłăčä˝ăăçşăăăăă',
|
|
538
|
+
'埡風ăăťăăŽĺ¤§ć°ăŽçžčąĄă',
|
|
539
|
+
'čĄč
ăăťăăŽăăŽĺ ´ăŤĺą
ĺăăăč
ăĺşčĄăăăăăăăŻç°ĺ˘ďźäžăă°ăĺŁďźăăĺşčĄăăă',
|
|
540
|
+
'ĺĽĺŚăŞĺšťčŚă¨ĺšťčŚă',
|
|
541
|
+
'ăăŽäťčżăŽĺ°ĺçŠăăĄăççşăăă',
|
|
542
|
+
'祍éťăŽćŞčă',
|
|
543
|
+
'ăŻăăĽăŤăçĽčŠąăŽćŞçŠăĺśçśĺŹĺăăăă'
|
|
544
|
+
].freeze
|
|
545
|
+
|
|
546
|
+
# ăăŁăšăăŁăłă°ăťăăźăŤăŽăăăˇăĽăŤĺ¤ąćăăĺ ´ĺďźĺ¤§ďź
|
|
547
|
+
FAILED_CASTING_M_TABLE = [
|
|
548
|
+
'大ĺ°ăéăăĺŁăŤäşčŁăĺ
ĽăŁăŚĺ´Šăăă',
|
|
549
|
+
'ĺäşčŠŠçăŞéťćă',
|
|
550
|
+
'čĄă犺ăăéăă',
|
|
551
|
+
'čĄč
ăŽćăăăŞăłăçźăăă ăăă',
|
|
552
|
+
'čĄč
ăŻä¸čŞçśăŤĺš´ăă¨ăďźĺš´é˝˘ăŤ+2D10ćłă30ăăźă¸ăŽă嚴齢ăăĺç
§ăăč˝ĺĺ¤ăŤäżŽćŁăéŠç¨ăăăă¨ďźă',
|
|
553
|
+
'埡ĺăŞăăăăăŻçĄć°ăŽăŻăăĽăŤăçĽčŠąĺĺ¨ăçžăăčĄč
ăćĺ§ăăŤăčżăăŽĺ
¨ĺĄăćťćăăďź',
|
|
554
|
+
'čĄč
ăčżăăŽĺ
¨ĺĄăé ăć䝣ăĺ ´ćăŤĺ¸ăčžźăžăăă',
|
|
555
|
+
'ăŻăăĽăŤăçĽčŠąăŽçĽć źăĺśçśććĽăăăă'
|
|
556
|
+
].freeze
|
|
557
|
+
|
|
558
|
+
# ććç襨
|
|
559
|
+
PHOBIAS_TABLE = [
|
|
560
|
+
'ĺ
Ľćľ´ććçďźä˝ăćăéĄăć´ăăŽăćăă',
|
|
561
|
+
'éŤćććçďźéŤăă¨ăăăćăă',
|
|
562
|
+
'éŁčĄććçďźéŁăśăŽăćăă',
|
|
563
|
+
'ĺşĺ ´ććçďźĺşĺ ´ăĺ
Źĺ
ąăŽ(桡éăă)ĺ ´ćăćăă',
|
|
564
|
+
'éśčććçďźéśčăćăă',
|
|
565
|
+
'ăăłăăŻććçďźăăłăăŻăćăă',
|
|
566
|
+
'äščťććçďźčťä¸ĄăŽä¸ăŤăăăčťä¸ĄăŤäšăăŽăćăă',
|
|
567
|
+
'風ććçďźé˘¨ăćăă',
|
|
568
|
+
'çˇć§ććçďźçˇć§ăćăă',
|
|
569
|
+
'ă¤ăłă°ăŠăłăććçďźă¤ăłă°ăŠăłăăăăăăŻă¤ăłă°ăŠăłăćĺăŞăŠăćăă',
|
|
570
|
+
'čąććçďźčąăćăă',
|
|
571
|
+
'ĺćććçďźćčśłăćăŞăŠăĺćăăăäşşăćăă',
|
|
572
|
+
'ăŻă˘ććçďźăŻă˘ăćăă',
|
|
573
|
+
'稲匝ććçďźç¨˛ĺŚťăćăă',
|
|
574
|
+
'ĺťĺ˘ććçďźĺťĺ˘ăćăă',
|
|
575
|
+
'çŹććçďźçŹ(ăăŤăźă)ăćăă',
|
|
576
|
+
'ç´°čććçďźç´°čăăăŻăăŞă˘ăćăă',
|
|
577
|
+
'éĺźžććçďźćć˛çŠăéĺźžăćăă',
|
|
578
|
+
'č˝ä¸ććçďźč˝ä¸ăćăă',
|
|
579
|
+
'ć¸çŠććçďźćŹăćăă',
|
|
580
|
+
'ć¤çŠććçďźć¤çŠăćăă',
|
|
581
|
+
'çžĺĽłććçďźçžăă弳ć§ăćăă',
|
|
582
|
+
'ä˝ć¸ŠććçďźĺˇăăăăŽăćăă',
|
|
583
|
+
'ćč¨ććçďźćč¨ăćăă',
|
|
584
|
+
'éćććçďźĺŁăŤĺ˛ăžăăĺ ´ćăćăă',
|
|
585
|
+
'éĺ帍ććçďźéĺ帍ăćăă',
|
|
586
|
+
'çŹććçďźçŹăćăă',
|
|
587
|
+
'ćŞéććçďźćŞéăćăă',
|
|
588
|
+
'瞤éććçďźäşşćˇˇăżăćăă',
|
|
589
|
+
'ćŻç§ĺťććçďźćŻç§ĺťăćăă',
|
|
590
|
+
'ĺŚĺććçďźçŠăć¨ăŚăăŽăćă(ăăăăżç)',
|
|
591
|
+
'ćŻçŽććçďźćŻçŽăćăă',
|
|
592
|
+
'ć§ćććçďźé衯ă横ćăăăŽăćăă',
|
|
593
|
+
'ćäźććçďźćäźăćăă',
|
|
594
|
+
'éĄććçďźéĄăćăă',
|
|
595
|
+
'ăăłććçďźéăăăłăćăă',
|
|
596
|
+
'ćčŤććçďźćčŤăćăă',
|
|
597
|
+
'çŤććçďźçŤăćăă',
|
|
598
|
+
'ćŠććçďźćŠă渥ăăŽăćăă',
|
|
599
|
+
'čäşşććçďźčäşşăĺš´ăă¨ăăă¨ăćăă',
|
|
600
|
+
'弳ć§ććçďźĺĽłć§ăćăă',
|
|
601
|
+
'čĄćś˛ććçďźčĄăćăă',
|
|
602
|
+
'é夹ććçďźĺ¤ąćăćăă',
|
|
603
|
+
'ćĽč§Śććçďźč§Śăăă¨ăćăă',
|
|
604
|
+
'çŹčŤéĄććçďźçŹčŤéĄăćăă',
|
|
605
|
+
'é§ććçďźé§ăćăă',
|
|
606
|
+
'éĺ¨ććçďźéĺ¨ăćăă',
|
|
607
|
+
'ć°´ććçďźć°´ăćăă',
|
|
608
|
+
'çĄç ććçďźç ăŁăăăĺŹç çść
ăŤéĽăăŽăćăă',
|
|
609
|
+
'ĺťĺ¸Ťććçďźĺťĺ¸Ťăćăă',
|
|
610
|
+
'éććçďźéăćăă',
|
|
611
|
+
'ă´ăăăŞććçďźă´ăăăŞăćăă',
|
|
612
|
+
'éˇéł´ććçďźéˇéł´ăćăă',
|
|
613
|
+
'éčććçďźéčăćăă',
|
|
614
|
+
'大é¨éłććçďźĺ¤§ăăŞé¨éłăćăă',
|
|
615
|
+
'ćšććçďźćšăćăă',
|
|
616
|
+
'ćŠć˘°ććçďźćŠć˘°ăčŁ
罎ăćăă',
|
|
617
|
+
'塨大çŠććçďźĺˇ¨ĺ¤§ăŞăăŽăćăă',
|
|
618
|
+
'ććććçďźç¸ăăăăçľăłă¤ăăăăăăăăŽăćăă',
|
|
619
|
+
'éçłććçďźćľćăéçłăćăă',
|
|
620
|
+
'ĺ¤çŹććçďźçŹăă§ăăăă¨ăćăă',
|
|
621
|
+
'ćąćććçďźćąăăăćąćăăăăăăăŽăćăă',
|
|
622
|
+
'ç˛ćś˛ććçďźç˛ćś˛ăç˛ä˝ăćăă',
|
|
623
|
+
'ćťä˝ććçďźćťä˝ăćăă',
|
|
624
|
+
'8ććçďź8ăŽć°ĺăćăă',
|
|
625
|
+
'ćŻććçďźćŻăćăă',
|
|
626
|
+
'夢ććçďźĺ¤˘ăćăă',
|
|
627
|
+
'ĺç§°ććçďźçšĺŽăŽč¨čďź1ă¤ăžăăŻč¤ć°ďźăčăăŽăćăă',
|
|
628
|
+
'čććçďźčăćăă',
|
|
629
|
+
'鳼ććçďźéłĽăćăă',
|
|
630
|
+
'ĺŻçççŠććçďźĺŻçççŠăćăă',
|
|
631
|
+
'人形ććçďźäşşĺ˝˘ăćăă',
|
|
632
|
+
'ćéŁçďźăŽăżčžźăăă¨éŁăšăăă¨ăăăăăŻéŁăšăăăăă¨ăćăă',
|
|
633
|
+
'čŹçŠććçďźčŹçŠăćăă',
|
|
634
|
+
'ĺš˝éććçďźĺš˝éăćăă',
|
|
635
|
+
'çžćďźćĽĺ
ăćăă',
|
|
636
|
+
'ă˛ăććçďźă˛ăăćă',
|
|
637
|
+
'河ĺˇććçďźĺˇăćă',
|
|
638
|
+
'ă˘ăŤăłăźăŤććçďźă˘ăŤăłăźăŤăă˘ăŤăłăźăŤéٞćăćăă',
|
|
639
|
+
'çŤććçďźçŤăćăă',
|
|
640
|
+
'éčĄććçďźéčĄăćăă',
|
|
641
|
+
'ćéťććçďźćéăĺ¤ăćăă',
|
|
642
|
+
'ćććçďźćăćăă',
|
|
643
|
+
'ééććçďźĺčťăŽć
ăćăă',
|
|
644
|
+
'ćććçďźćăćăă',
|
|
645
|
+
'çćććçďźçăăăŽăĺ ´ćăćăă',
|
|
646
|
+
'寞称ććçďźĺˇŚĺłĺŻžç§°ăćăă',
|
|
647
|
+
'çăĺăććçďźçăĺăăŤăŞăăă¨ăĺ˘ĺ°ăćăă',
|
|
648
|
+
'éçććçďźéçăćăă',
|
|
649
|
+
'éťčŠąććçďźéťčŠąăćăă',
|
|
650
|
+
'ĺĽĺ˝˘ććçďźćŞçŠăćăă',
|
|
651
|
+
'澡ć´ććçďźćľˇăćăă',
|
|
652
|
+
'ćčĄććçďźĺ¤ç§ćčĄăćăă',
|
|
653
|
+
'13ććçďź13ăŽć°ĺăćăă',
|
|
654
|
+
'襣éĄććçďźčĄŁćăćăă',
|
|
655
|
+
'é弳ććçďźé弳ă¨éčĄăćăă',
|
|
656
|
+
'éťč˛ććçďźéťč˛ăăéťč˛ăă¨ăăč¨čăćăă',
|
|
657
|
+
'ĺ¤ĺ˝čŞććçďźĺ¤ĺ˝čŞăćăă',
|
|
658
|
+
'ĺ¤ĺ˝äşşććçďźĺ¤ĺ˝äşşăćăă',
|
|
659
|
+
'ĺçŠććçďźĺçŠăćăă',
|
|
660
|
+
].freeze
|
|
661
|
+
|
|
662
|
+
# ăăă˘čĄ¨
|
|
663
|
+
MANIAS_TABLE = [
|
|
664
|
+
'ć´ćľăăă˘ďźčŞĺăŽä˝ăć´ăăăŤăŻăăăăŞăă',
|
|
665
|
+
'çĄçşăăă˘ďźç
çăŞĺŞćä¸ćă',
|
|
666
|
+
'ćéăăă˘ďźćéťăŤé˘ăăé庌ăŽĺ弽ă',
|
|
667
|
+
'éŤćăăă˘ďźéŤăĺ ´ćăŤçťăăăŤăŻăăăăŞăă',
|
|
668
|
+
'ĺčŻăăă˘ďźç
çăŞčŚŞĺă',
|
|
669
|
+
'ĺşĺ ´ăăă˘ďźéăăĺ ´ćăŤăăăă¨ăăćżăăéĄćă',
|
|
670
|
+
'ĺ
éăăă˘ďźéăăăŽăă¨ăăŁăăăŽă¸ăŽĺˇçă',
|
|
671
|
+
'çŤăăă˘ďźçŤăŤé˘ăăç°ĺ¸¸ăŞć弽ĺżă',
|
|
672
|
+
'çźçć§ćďźçăżă¸ăŽĺˇçă',
|
|
673
|
+
'ăŤăăŤăăăă˘ďźăŤăăŤăă¸ăŽĺˇçă',
|
|
674
|
+
'äšăçŠăăă˘ďźčťăŽä¸ăŤăăăă¨ă¸ăŽĺˇçă',
|
|
675
|
+
'ç
ç忍洝ďźä¸ĺçăŞăťăăăăă',
|
|
676
|
+
'čąăăă˘ďźčąă¸ăŽĺˇçă',
|
|
677
|
+
'č¨çŽăăă˘ďźć°ă¸ăŽĺĺˇçăŞć˛Ąé ă',
|
|
678
|
+
'澪貝ăăă˘ďźčĄĺçăăăăŻçĄčŹăŞćľŞč˛ťă',
|
|
679
|
+
'čŞĺˇąăăă˘ďźĺ¤çŹă¸ăŽé庌ăŽĺ弽ă',
|
|
680
|
+
'ăăŹă¨ăăă˘ďźăăŹă¨ăŤé˘ăăç°ĺ¸¸ăŞć弽ĺżă',
|
|
681
|
+
'ć¸çąç´ççďźćŹăçăżăăă¨ăă埡迍çčĄĺă',
|
|
682
|
+
'ć¸çŠăăă˘ďźćŹăžăăŻčŞć¸ăăăăăŻăăŽä¸Ąćšă¸ăŽĺˇçă',
|
|
683
|
+
'ćŻăăăăăă˘ďźćŻăăăăăăă¨ăă埡迍çčĄĺă',
|
|
684
|
+
'ćŞéăăă˘ďźčްăăŽä¸ăŤéŞćŞăŞç˛žéăăăă¨ăăç
çăŞäżĄĺżľă',
|
|
685
|
+
'čŞĺˇąćăăă˘ďźčŞĺčŞčşŤăŽçžă¸ăŽĺˇçă',
|
|
686
|
+
'ĺ°ĺłăăă˘ďźăăăćăŽĺ°ĺłăčŚăĺśĺžĄä¸ĺŻč˝ăŞĺźˇčżŤçčĄĺă',
|
|
687
|
+
'éŁăłéăăăă˘ďźéŤăĺ ´ćăă衳čşăăăă¨ă¸ăŽĺˇçă',
|
|
688
|
+
'ĺŻĺˇăăă˘ďźĺˇăăăăžăăŻĺˇăăăăŽăăăăăŻăăŽä¸Ąćšă¸ăŽç°ĺ¸¸ăŞćʞćă',
|
|
689
|
+
'čč¸ăăă˘ďźč¸ăăă¨ă¸ăŽć弽ăăăăŻĺśĺžĄä¸ĺŻč˝ăŞçąçă',
|
|
690
|
+
'çĄç ăăă˘ďźĺŻăăă¨ă¸ăŽé庌ăŽéĄćă',
|
|
691
|
+
'ĺ˘ĺ°ăăă˘ďźĺ˘ĺ°ă¸ăŽĺˇçă',
|
|
692
|
+
'č˛ĺ˝Šăăă˘ďźçšĺŽăŽč˛ă¸ăŽĺˇçă',
|
|
693
|
+
'ăă¨ăăăă˘ďźăă¨ăă¸ăŽĺˇçă',
|
|
694
|
+
'ééăăă˘ďźćăăăçśćłăçľé¨ăăăă¨ăă埡迍çčĄĺă',
|
|
695
|
+
'掺厳ăăă˘ďźćŽşĺŽłă¸ăŽĺˇçă',
|
|
696
|
+
'ćŞéăăă˘ďźčްăăćŞéăŤă¨ăă¤ăăăŚăăă¨ăăç
çăŞäżĄĺżľă',
|
|
697
|
+
'çŽčăăă˘ďźäşşăŽçŽčăĺźăŁăąăăăă¨ăă埡迍çčĄĺă',
|
|
698
|
+
'ćŁçžŠăăă˘ďźćŁçžŠăĺŽéăăăăŽăčŚăăă¨ăăĺˇçă',
|
|
699
|
+
'ă˘ăŤăłăźăŤăăă˘ďźă˘ăŤăłăźăŤăŤé˘ăăç°ĺ¸¸ăŞćʞćąă',
|
|
700
|
+
'ćŻçŽăăă˘ďźćŻçŽăććăăăă¨ă¸ăŽĺˇçă',
|
|
701
|
+
'č´ăçŠăăă˘ďźč´ăçŠăä¸ăăăă¨ă¸ăŽĺˇçă',
|
|
702
|
+
'éčľ°ăăă˘ďźéčľ°ăăăă¨ă¸ăŽčżŤçčĄĺă',
|
|
703
|
+
'ĺ¤ĺşăăă˘ďźĺ¤ăćŠăĺăăă¨ăŽĺźˇčżŤçčĄĺă',
|
|
704
|
+
'čŞĺˇąä¸ĺżăăă˘ďźä¸ĺçăŞčŞĺżăŽć
庌ăčŞĺˇąĺ´ćă',
|
|
705
|
+
'ĺ
Źčˇăăă˘ďźĺ
ŹçăŞčˇćĽăŤĺ°ąăăă¨ăă埡揲ăŞčĄĺă',
|
|
706
|
+
'ćŚć
ăăă˘ďźčްăă罪ăçŻăăă¨ăăç
çăŞäżĄĺżľ',
|
|
707
|
+
'çĽčăăă˘ďźçĽčăĺžăăă¨ă¸ĺˇçă',
|
|
708
|
+
'éĺŻăăă˘ďźéĺŻă§ăăăă¨ă¸ĺźˇčżŤçčĄĺă',
|
|
709
|
+
'ă¨ăźăăŤăăă˘ďźă¨ăźăăŤă¸ăŽĺć',
|
|
710
|
+
'ćąĺŠăăă˘ďźĺĽĺŚăŞćąĺŠăăăăă¨ă¸ăŽĺˇçă',
|
|
711
|
+
'çŹăăăă˘ďźĺśĺžĄä¸ĺŻč˝ăŞçŹăăă¨ă¸ăŽĺźˇčżŤçčĄĺă',
|
|
712
|
+
'éčĄăăă˘ďźé弳ă¨éčĄă¸ăŽĺˇçă',
|
|
713
|
+
'çč¨ăăă˘ďźăăšăŚăć¸ăçăăăă¨ă¸ăŽĺˇçă',
|
|
714
|
+
'裸ä˝ăăă˘ďźčُăŤăŞăăăă¨ăă埡迍çčĄĺă',
|
|
715
|
+
'ĺšťćłăăă˘ďźĺżŤăĺšťćł(çžĺŽă¨ăŻé˘äżăŞă)ăŤă¨ăăăăăăç°ĺ¸¸ăŞĺžĺă',
|
|
716
|
+
'č˛ăăă˘ďźč˛ăŤé˘ăăé庌ăŽĺ弽ă',
|
|
717
|
+
'çŤĺ¨ăăă˘ďźçŤĺ¨ă¸ăŽĺˇçă',
|
|
718
|
+
'ć°´ăăă˘ďźć°´ăŤé˘ăăä¸ĺçăŞć¸ćă',
|
|
719
|
+
'éăăă˘ďźéă¸ăŽĺˇçă',
|
|
720
|
+
'ă˘ă¤ăłăłăăă˘ďźĺăčĺă¸ăŽĺˇçă',
|
|
721
|
+
'ă˘ă¤ăăŤăăă˘ďźĺśĺă¸ăŽĺˇçăžăăŻçŽčşŤă',
|
|
722
|
+
'ć
ĺ ąăăă˘ďźäşĺŽăéăăăă¨ă¸ăŽé庌ăŽçŽčşŤă',
|
|
723
|
+
'çľśĺŤăăă˘ďźĺŤăśăă¨ă¸ăŽčŞŹćă§ăăŞă埡迍çčĄĺă',
|
|
724
|
+
'çŞçăăă˘ďźçăăă¨ă¸ăŽčŞŹćă§ăăŞă埡迍çčĄĺă',
|
|
725
|
+
'é¨éłăăă˘ďźĺ¤§ăăŞăăăăăŻç˛éŤăé¨éłăĺşăăă¨ă¸ăŽĺśĺžĄä¸ĺŻč˝ăŞĺźˇčżŤçčĄĺă',
|
|
726
|
+
'ă˛ăăăă˘ďźă˛ăă¸ăŽĺˇçă',
|
|
727
|
+
'ĺŽăăăăă˘ďźĺŽăăăŤĺĺ ăăăă¨ăă漾庌ăŽéĄćă',
|
|
728
|
+
'ăă¤ăăă˘ďźç°ĺ¸¸ăŤćˇąăăľăăčžźăĺžĺă',
|
|
729
|
+
'塨çłăăă˘ďźç°çśĺçł/çŤçłăăăă¨ĺĽĺŚăŞčăăŤă¨ăăăăç°ĺ¸¸ăŞĺžĺă',
|
|
730
|
+
'éłćĽ˝ăăă˘ďźéłćĽ˝ăăăăŻçšĺŽăŽćĺžă¸ăŽĺˇçă',
|
|
731
|
+
'ä˝čŠŠăăă˘ďźčŠŠăć¸ăăă¨ă¸ăŽĺźˇćʞăŞéĄćă',
|
|
732
|
+
'ććŞăăă˘ďźä˝ăăăŽĺŻžčąĄăăăăŻă°ăŤăźăăŽä˝ăăăăćăĺˇçă',
|
|
733
|
+
'ĺĺˇăăă˘ďźăă 1ă¤ăŽććłăă˘ă¤ăă˘ă¸ăŽç°ĺ¸¸ăŞĺˇçă',
|
|
734
|
+
'čč¨ăăă˘ďźç°ĺ¸¸ăŞăťăŠăŤăăăă¤ăăăăčŞĺźľăăŚčŠąăă',
|
|
735
|
+
'çžç
ăăă˘ďźćłĺä¸ăŽç
ć°ăŤčŚăăăăĺšťćłă',
|
|
736
|
+
'č¨é˛ăăă˘ďźăăăăăăŽăč¨é˛ăŤćŽăăă¨ăă埡迍çčĄĺă',
|
|
737
|
+
'ĺĺăăă˘ďźäşşă
ăĺ ´ćăăăŽăŞăŠăŽĺĺă¸ăŽĺˇç',
|
|
738
|
+
'ĺčŞăăă˘ďźăăĺčŞăçš°ăčżăăăă¨ăăćźăăĺăăŞă揲ćąă',
|
|
739
|
+
'çŞćĺˇăăă˘ďźćăŽçŞăăăăŁăăăŻăăăă¨ăă埡迍çčĄĺă',
|
|
740
|
+
'çžéŁăăă˘ďź1税éĄăŽéŁçŠă¸ăŽç°ĺ¸¸ăŞćă',
|
|
741
|
+
'ä¸ĺšłăăă˘ďźä¸ĺšłăč¨ăăă¨ă¸ăŽç°ĺ¸¸ăŞĺăłă',
|
|
742
|
+
'䝎é˘ăăă˘ďźäťŽé˘ăčŚé˘ăçăăăă¨ăă埡迍çčĄĺă',
|
|
743
|
+
'ĺš˝éăăă˘ďźĺš˝éă¸ăŽĺˇçă',
|
|
744
|
+
'掺人ăăă˘ďźćŽşäşşă¸ăŽç
çăŞĺžĺă',
|
|
745
|
+
'ĺ
çˇăăă˘ďźĺ
ă¸ăŽç
çăŞéĄćă',
|
|
746
|
+
'ćžćľŞăăă˘ďźç¤žäźăŽčŚçŻăŤčăăăă¨ăăç°ĺ¸¸ăŞćʞćă',
|
|
747
|
+
'éˇč
ăăă˘ďźĺŻă¸ăŽĺźˇčżŤçăŞćʞćă',
|
|
748
|
+
'ç
çčč¨ăăă˘ďźăăăă¤ăăăăŚăăžăăŞă埡迍çčĄĺă',
|
|
749
|
+
'ćžçŤăăă˘ďźçŤăă¤ăăăă¨ă¸ăŽĺźˇčżŤçčĄĺă',
|
|
750
|
+
'質ĺăăă˘ďźčłŞĺăăăă¨ăăćżăă埡迍çčĄĺă',
|
|
751
|
+
'éźťăăă˘ďźéźťăăăăăăă¨ăă埡迍çčĄĺă',
|
|
752
|
+
'č˝ć¸ăăăă˘ďźăăăăć¸ăăč˝ć¸ăă¸ăŽĺˇçă',
|
|
753
|
+
'ĺčťăăă˘ďźĺčťă¨ééć
čĄă¸ăŽĺźˇăé
äşă',
|
|
754
|
+
'çĽć§ăăă˘ďźčްăă俥ăăăăŞăăťăŠçĽçă§ăăă¨ăăĺšťćłă',
|
|
755
|
+
'ăăŻăăăă˘ďźć°ćčĄă¸ăŽĺˇçă',
|
|
756
|
+
'ăżăăăšăăă˘ďźčްăăćťăćăéčĄăŤăăŁăŚĺŞăăăŚăăă¨ăă俥忾ă',
|
|
757
|
+
'ĺŽćăăă˘ďźăăŽäşşăçĽă§ăăă¨ăă俥䝰ă',
|
|
758
|
+
'ăăĺˇăăă˘ďźăăĺˇăă¤ăăăă¨ă¸ăŽĺźˇčżŤçčĄĺă',
|
|
759
|
+
'ćčĄăăă˘ďźĺ¤ç§ćčĄăčĄăŞăăă¨ă¸ăŽä¸ĺçăŞĺ弽ă',
|
|
760
|
+
'ććŻăăă˘ďźčŞĺăŽéŤŞăĺźăćăăă¨ă¸ăŽĺćă',
|
|
761
|
+
'夹ćăăă˘ďźç
çăŞčŚčŚé厳ă',
|
|
762
|
+
'ç°ĺ˝ăăă˘ďźĺ¤ĺ˝ăŽăăŽă¸ăŽĺˇçă',
|
|
763
|
+
'ĺçŠăăă˘ďźĺçŠă¸ăŽćŁć°ă§ăŞăćşşćă',
|
|
764
|
+
].freeze
|
|
765
|
+
end
|
|
766
|
+
end
|
|
767
|
+
end
|