bcdice 3.0.0.pre.alpha.1 → 3.0.0.pre.alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +1 -1
- data/.rubocop.yml +12 -0
- data/.rubocop_todo.yml +1 -0
- data/CHANGELOG.md +34 -0
- data/Gemfile +6 -3
- data/Rakefile +52 -18
- data/bcdice.gemspec +2 -0
- data/i18n/Amadeus/ja_jp.yml +386 -0
- data/i18n/Amadeus/ko_kr.yml +148 -0
- data/i18n/Cthulhu/ja_jp.yml +11 -0
- data/i18n/Cthulhu/ko_kr.yml +11 -0
- data/i18n/Cthulhu/zh_hant.yml +11 -0
- data/i18n/DetatokoSaga/ja_jp.yml +74 -0
- data/i18n/DetatokoSaga/ko_kr.yml +74 -0
- data/i18n/DoubleCross/ja_jp.yml +53 -0
- data/i18n/DoubleCross/ko_kr.yml +53 -0
- data/i18n/Dracurouge/ja_jp.yml +1374 -0
- data/i18n/Dracurouge/ko_kr.yml +295 -0
- data/i18n/Fiasco/ja_jp.yml +10 -0
- data/i18n/Fiasco/ko_kr.yml +10 -0
- data/i18n/FutariSousa/ja_jp.yml +720 -0
- data/i18n/FutariSousa/ko_kr.yml +746 -0
- data/i18n/Insane/ja_jp.yml +454 -0
- data/i18n/Insane/ko_kr.yml +502 -0
- data/i18n/Kamigakari/ja_jp.yml +276 -0
- data/i18n/Kamigakari/ko_kr.yml +204 -0
- data/i18n/KillDeathBusiness/ja_jp.yml +1092 -0
- data/i18n/KillDeathBusiness/ko_kr.yml +1062 -0
- data/i18n/LogHorizon/ja_jp.yml +3082 -0
- data/i18n/LogHorizon/ko_kr.yml +923 -0
- data/i18n/MagicaLogia/ja_jp.yml +564 -0
- data/i18n/MonotoneMuseum/ja_jp.yml +525 -0
- data/i18n/MonotoneMuseum/ko_kr.yml +89 -0
- data/i18n/Nechronica/ja_jp.yml +57 -0
- data/i18n/Nechronica/ko_kr.yml +14 -0
- data/i18n/StratoShout/ja_jp.yml +160 -0
- data/i18n/StratoShout/ko_kr.yml +160 -0
- data/i18n/ja_jp.yml +5 -0
- data/i18n/ko_kr.yml +7 -0
- data/i18n/zh_hant.yml +3 -0
- data/lib/bcdice/arithmetic/node.rb +154 -0
- data/lib/bcdice/base.rb +87 -101
- data/lib/bcdice/common_command.rb +2 -0
- data/lib/bcdice/common_command/add_dice.rb +5 -41
- data/lib/bcdice/common_command/add_dice/node.rb +92 -16
- data/lib/bcdice/common_command/add_dice/parser.rb +374 -274
- data/lib/bcdice/common_command/add_dice/parser.y +153 -0
- data/lib/bcdice/common_command/add_dice/randomizer.rb +25 -33
- data/lib/bcdice/common_command/barabara_dice.rb +6 -47
- data/lib/bcdice/common_command/barabara_dice/node.rb +84 -0
- data/lib/bcdice/common_command/barabara_dice/parser.rb +336 -0
- data/lib/bcdice/common_command/barabara_dice/parser.y +107 -0
- data/lib/bcdice/common_command/calc.rb +7 -30
- data/lib/bcdice/common_command/calc/node.rb +30 -0
- data/lib/bcdice/common_command/calc/parser.rb +271 -0
- data/lib/bcdice/common_command/calc/parser.y +79 -0
- data/lib/bcdice/common_command/choice.rb +137 -19
- data/lib/bcdice/common_command/d66_dice.rb +48 -34
- data/lib/bcdice/common_command/lexer.rb +46 -0
- data/lib/bcdice/common_command/repeat.rb +102 -0
- data/lib/bcdice/common_command/reroll_dice.rb +8 -158
- data/lib/bcdice/common_command/reroll_dice/node.rb +198 -0
- data/lib/bcdice/common_command/reroll_dice/parser.rb +421 -0
- data/lib/bcdice/common_command/reroll_dice/parser.y +158 -0
- data/lib/bcdice/common_command/upper_dice.rb +10 -129
- data/lib/bcdice/common_command/upper_dice/node.rb +181 -0
- data/lib/bcdice/common_command/upper_dice/parser.rb +412 -0
- data/lib/bcdice/common_command/upper_dice/parser.y +143 -0
- data/lib/bcdice/common_command/version.rb +9 -17
- data/lib/bcdice/deprecated/checker.rb +78 -0
- data/lib/bcdice/dice_table/d66_grid_table.rb +8 -0
- data/lib/bcdice/dice_table/d66_table.rb +10 -0
- data/lib/bcdice/dice_table/sai_fic_skill_table.rb +75 -17
- data/lib/bcdice/dice_table/sai_fic_skill_table/category.rb +25 -0
- data/lib/bcdice/dice_table/sai_fic_skill_table/skill.rb +23 -0
- data/lib/bcdice/dice_table/table.rb +8 -0
- data/lib/bcdice/game_system.rb +7 -1
- data/lib/bcdice/game_system/AFF2e.rb +1 -1
- data/lib/bcdice/game_system/AceKillerGene.rb +2 -2
- data/lib/bcdice/game_system/Airgetlamh.rb +3 -3
- data/lib/bcdice/game_system/Alsetto.rb +1 -1
- data/lib/bcdice/game_system/Alshard.rb +1 -1
- data/lib/bcdice/game_system/AlterRaise.rb +2 -2
- data/lib/bcdice/game_system/Amadeus.rb +46 -507
- data/lib/bcdice/game_system/Amadeus_Korean.rb +12 -456
- data/lib/bcdice/game_system/AnimaAnimus.rb +1 -1
- data/lib/bcdice/game_system/Arianrhod.rb +0 -1
- data/lib/bcdice/game_system/ArsMagica.rb +1 -1
- data/lib/bcdice/game_system/Avandner.rb +1 -1
- data/lib/bcdice/game_system/BBN.rb +1 -1
- data/lib/bcdice/game_system/BadLife.rb +1 -1
- data/lib/bcdice/game_system/BarnaKronika.rb +1 -1
- data/lib/bcdice/game_system/BeastBindTrinity.rb +1 -2
- data/lib/bcdice/game_system/BeginningIdol.rb +2 -3
- data/lib/bcdice/game_system/BeginningIdol_Korean.rb +2 -3
- data/lib/bcdice/game_system/BladeOfArcana.rb +2 -2
- data/lib/bcdice/game_system/BlindMythos.rb +1 -1
- data/lib/bcdice/game_system/BloodCrusade.rb +0 -1
- data/lib/bcdice/game_system/BloodMoon.rb +0 -1
- data/lib/bcdice/game_system/CardRanker.rb +1 -2
- data/lib/bcdice/game_system/ChaosFlare.rb +1 -1
- data/lib/bcdice/game_system/Chill.rb +1 -1
- data/lib/bcdice/game_system/CodeLayerd.rb +1 -1
- data/lib/bcdice/game_system/ColossalHunter.rb +1 -2
- data/lib/bcdice/game_system/Comes.rb +50 -0
- data/lib/bcdice/game_system/CrashWorld.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu.rb +94 -97
- data/lib/bcdice/game_system/Cthulhu7th.rb +108 -67
- data/lib/bcdice/game_system/Cthulhu7th_ChineseTraditional.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu7th_Korean.rb +1 -1
- data/lib/bcdice/game_system/CthulhuTech.rb +8 -14
- data/lib/bcdice/game_system/Cthulhu_ChineseTraditional.rb +7 -190
- data/lib/bcdice/game_system/Cthulhu_Korean.rb +5 -186
- data/lib/bcdice/game_system/DarkBlaze.rb +9 -5
- data/lib/bcdice/game_system/DarkDaysDrive.rb +17 -15
- data/lib/bcdice/game_system/DarkSouls.rb +1 -1
- data/lib/bcdice/game_system/DeadlineHeroes.rb +2 -2
- data/lib/bcdice/game_system/DemonParasite.rb +1 -2
- data/lib/bcdice/game_system/DetatokoSaga.rb +48 -149
- data/lib/bcdice/game_system/DetatokoSaga_Korean.rb +6 -274
- data/lib/bcdice/game_system/DiceOfTheDead.rb +9 -6
- data/lib/bcdice/game_system/DoubleCross.rb +102 -81
- data/lib/bcdice/game_system/DoubleCross_Korean.rb +13 -330
- data/lib/bcdice/game_system/Dracurouge.rb +376 -1678
- data/lib/bcdice/game_system/Dracurouge_Korean.rb +16 -271
- data/lib/bcdice/game_system/EarthDawn.rb +1 -1
- data/lib/bcdice/game_system/EarthDawn3.rb +1 -1
- data/lib/bcdice/game_system/EarthDawn4.rb +1 -1
- data/lib/bcdice/game_system/Elysion.rb +3 -4
- data/lib/bcdice/game_system/EmbryoMachine.rb +1 -1
- data/lib/bcdice/game_system/Emoklore.rb +131 -0
- data/lib/bcdice/game_system/EndBreaker.rb +1 -2
- data/lib/bcdice/game_system/EtrianOdysseySRS.rb +1 -1
- data/lib/bcdice/game_system/Fiasco.rb +87 -70
- data/lib/bcdice/game_system/Fiasco_Korean.rb +7 -95
- data/lib/bcdice/game_system/FilledWith.rb +462 -566
- data/lib/bcdice/game_system/FullMetalPanic.rb +1 -1
- data/lib/bcdice/game_system/FutariSousa.rb +103 -938
- data/lib/bcdice/game_system/FutariSousa_Korean.rb +7 -948
- data/lib/bcdice/game_system/{Gurps.rb → GURPS.rb} +184 -217
- data/lib/bcdice/game_system/Garako.rb +131 -39
- data/lib/bcdice/game_system/GardenOrder.rb +2 -2
- data/lib/bcdice/game_system/GehennaAn.rb +1 -1
- data/lib/bcdice/game_system/GeishaGirlwithKatana.rb +1 -1
- data/lib/bcdice/game_system/GoblinSlayer.rb +1 -1
- data/lib/bcdice/game_system/GoldenSkyStories.rb +1 -1
- data/lib/bcdice/game_system/Gorilla.rb +1 -1
- data/lib/bcdice/game_system/GranCrest.rb +2 -3
- data/lib/bcdice/game_system/GundogRevised.rb +1 -1
- data/lib/bcdice/game_system/GundogZero.rb +1 -1
- data/lib/bcdice/game_system/GurpsFW.rb +2 -3
- data/lib/bcdice/game_system/HarnMaster.rb +2 -2
- data/lib/bcdice/game_system/HatsuneMiku.rb +1 -2
- data/lib/bcdice/game_system/HouraiGakuen.rb +1 -1
- data/lib/bcdice/game_system/HuntersMoon.rb +1 -2
- data/lib/bcdice/game_system/Illusio.rb +2 -2
- data/lib/bcdice/game_system/Insane.rb +90 -717
- data/lib/bcdice/game_system/Insane_Korean.rb +7 -719
- data/lib/bcdice/game_system/Kamigakari.rb +47 -242
- data/lib/bcdice/game_system/Kamigakari_Korean.rb +6 -394
- data/lib/bcdice/game_system/KanColle.rb +3 -3
- data/lib/bcdice/game_system/KemonoNoMori.rb +1 -1
- data/lib/bcdice/game_system/KillDeathBusiness.rb +162 -1144
- data/lib/bcdice/game_system/KillDeathBusiness_Korean.rb +6 -1459
- data/lib/bcdice/game_system/KurayamiCrying.rb +1 -1
- data/lib/bcdice/game_system/LiveraDoll.rb +2 -2
- data/lib/bcdice/game_system/LogHorizon.rb +350 -3379
- data/lib/bcdice/game_system/LogHorizon_Korean.rb +55 -1357
- data/lib/bcdice/game_system/LostRecord.rb +0 -1
- data/lib/bcdice/game_system/LostRoyal.rb +1 -2
- data/lib/bcdice/game_system/MagicaLogia.rb +158 -1044
- data/lib/bcdice/game_system/MeikyuDays.rb +1 -2
- data/lib/bcdice/game_system/MeikyuKingdom.rb +4 -4
- data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +4 -5
- data/lib/bcdice/game_system/MetalHead.rb +1 -1
- data/lib/bcdice/game_system/MetalHeadExtream.rb +2 -2
- data/lib/bcdice/game_system/MetallicGuardian.rb +1 -1
- data/lib/bcdice/game_system/MonotoneMuseum.rb +38 -239
- data/lib/bcdice/game_system/MonotoneMuseum_Korean.rb +10 -270
- data/lib/bcdice/game_system/NSSQ.rb +159 -0
- data/lib/bcdice/game_system/Nechronica.rb +34 -73
- data/lib/bcdice/game_system/Nechronica_Korean.rb +11 -128
- data/lib/bcdice/game_system/NeverCloud.rb +1 -1
- data/lib/bcdice/game_system/NightWizard.rb +1 -1
- data/lib/bcdice/game_system/NightWizard3rd.rb +1 -1
- data/lib/bcdice/game_system/NinjaSlayer.rb +12 -11
- data/lib/bcdice/game_system/NjslyrBattle.rb +1 -1
- data/lib/bcdice/game_system/OneWayHeroics.rb +1 -2
- data/lib/bcdice/game_system/OracleEngine.rb +1 -1
- data/lib/bcdice/game_system/OrgaRain.rb +2 -2
- data/lib/bcdice/game_system/Paradiso.rb +1 -1
- data/lib/bcdice/game_system/Paranoia.rb +1 -1
- data/lib/bcdice/game_system/ParanoiaRebooted.rb +1 -1
- data/lib/bcdice/game_system/ParasiteBlood.rb +1 -1
- data/lib/bcdice/game_system/Peekaboo.rb +22 -122
- data/lib/bcdice/game_system/Postman.rb +2 -2
- data/lib/bcdice/game_system/PulpCthulhu.rb +3 -3
- data/lib/bcdice/game_system/Raisondetre.rb +2 -2
- data/lib/bcdice/game_system/RecordOfLodossWar.rb +1 -1
- data/lib/bcdice/game_system/RecordOfSteam.rb +1 -1
- data/lib/bcdice/game_system/RokumonSekai2.rb +1 -1
- data/lib/bcdice/game_system/RuinBreakers.rb +296 -0
- data/lib/bcdice/game_system/Ryutama.rb +1 -1
- data/lib/bcdice/game_system/SRS.rb +1 -2
- data/lib/bcdice/game_system/SamsaraBallad.rb +1 -1
- data/lib/bcdice/game_system/Satasupe.rb +1 -2
- data/lib/bcdice/game_system/ScreamHighSchool.rb +2 -2
- data/lib/bcdice/game_system/SevenFortressMobius.rb +1 -1
- data/lib/bcdice/game_system/ShadowRun5.rb +2 -2
- data/lib/bcdice/game_system/SharedFantasia.rb +1 -1
- data/lib/bcdice/game_system/ShinMegamiTenseiKakuseihen.rb +1 -1
- data/lib/bcdice/game_system/ShinkuuGakuen.rb +2 -2
- data/lib/bcdice/game_system/ShinobiGami.rb +1 -2
- data/lib/bcdice/game_system/ShoujoTenrankai.rb +2 -2
- data/lib/bcdice/game_system/Skynauts.rb +1 -1
- data/lib/bcdice/game_system/SteamPunkers.rb +1 -1
- data/lib/bcdice/game_system/StellarKnights.rb +1 -2
- data/lib/bcdice/game_system/SterileLife.rb +1 -1
- data/lib/bcdice/game_system/StrangerOfSwordCity.rb +1 -2
- data/lib/bcdice/game_system/StratoShout.rb +44 -247
- data/lib/bcdice/game_system/StratoShout_Korean.rb +6 -282
- data/lib/bcdice/game_system/Strave.rb +2 -2
- data/lib/bcdice/game_system/SwordWorld.rb +8 -9
- data/lib/bcdice/game_system/SwordWorld2_0.rb +2 -3
- data/lib/bcdice/game_system/SwordWorld2_5.rb +2 -3
- data/lib/bcdice/game_system/TherapieSein.rb +1 -1
- data/lib/bcdice/game_system/TokumeiTenkousei.rb +1 -1
- data/lib/bcdice/game_system/TokyoGhostResearch.rb +2 -2
- data/lib/bcdice/game_system/Torg.rb +2 -2
- data/lib/bcdice/game_system/Torg1_5.rb +1 -1
- data/lib/bcdice/game_system/TorgEternity.rb +1 -1
- data/lib/bcdice/game_system/TrinitySeven.rb +1 -1
- data/lib/bcdice/game_system/TunnelsAndTrolls.rb +1 -1
- data/lib/bcdice/game_system/TwilightGunsmoke.rb +1 -2
- data/lib/bcdice/game_system/UnsungDuet.rb +139 -0
- data/lib/bcdice/game_system/Utakaze.rb +1 -1
- data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +1 -1
- data/lib/bcdice/game_system/Villaciel.rb +1 -2
- data/lib/bcdice/game_system/Warhammer.rb +1 -1
- data/lib/bcdice/game_system/Warhammer4.rb +329 -0
- data/lib/bcdice/game_system/WitchQuest.rb +1 -1
- data/lib/bcdice/game_system/WorldOfDarkness.rb +1 -1
- data/lib/bcdice/game_system/YankeeYogSothoth.rb +15 -15
- data/lib/bcdice/game_system/YearZeroEngine.rb +1 -1
- data/lib/bcdice/game_system/ZettaiReido.rb +1 -1
- data/lib/bcdice/game_system/filled_with/cook_tables.rb +119 -0
- data/lib/bcdice/game_system/filled_with/lot_tables.rb +155 -0
- data/lib/bcdice/loader.rb +6 -8
- data/lib/bcdice/preprocessor.rb +15 -40
- data/lib/bcdice/repl.rb +1 -1
- data/lib/bcdice/result.rb +83 -0
- data/lib/bcdice/translate.rb +11 -0
- data/lib/bcdice/version.rb +1 -1
- metadata +80 -4
|
@@ -26,7 +26,7 @@ module BCDice
|
|
|
26
26
|
MESSAGETEXT
|
|
27
27
|
|
|
28
28
|
# ダイスボットで使用するコマンドを配列で列挙する
|
|
29
|
-
register_prefix(
|
|
29
|
+
register_prefix('\d+NC.*', '\d+D6?([\+\-\d]*)>=\d+')
|
|
30
30
|
|
|
31
31
|
def eval_game_system_specific_command(command)
|
|
32
32
|
m = /^(\d+)(?:NC|D6?)((?:[-+]\d+)*)(>=(\d+))?$/i.match(command)
|
|
@@ -40,13 +40,13 @@ module BCDice
|
|
|
40
40
|
MESSAGETEXT
|
|
41
41
|
|
|
42
42
|
# ダイスボットで使用するコマンドを配列で列挙する
|
|
43
|
-
register_prefix(
|
|
43
|
+
register_prefix(
|
|
44
44
|
'NJ\d+.*',
|
|
45
45
|
'EV\d+.*',
|
|
46
46
|
'AT\d+.*',
|
|
47
47
|
'EL\d+.*',
|
|
48
48
|
'SB'
|
|
49
|
-
|
|
49
|
+
)
|
|
50
50
|
|
|
51
51
|
def initialize(command)
|
|
52
52
|
super(command)
|
|
@@ -170,7 +170,7 @@ module BCDice
|
|
|
170
170
|
def executeEV(ev)
|
|
171
171
|
command = bRollCommand(ev.num, ev.difficulty)
|
|
172
172
|
|
|
173
|
-
rollResult = BCDice::CommonCommand::BarabaraDice.
|
|
173
|
+
rollResult = BCDice::CommonCommand::BarabaraDice.eval(command, self, @randomizer).text.sub(B_ROLL_RESULT_HEAD_RE, '')
|
|
174
174
|
return rollResult unless ev.targetValue
|
|
175
175
|
|
|
176
176
|
m = /成功数(\d+)/.match(rollResult)
|
|
@@ -189,14 +189,14 @@ module BCDice
|
|
|
189
189
|
# @return [String] 近接攻撃結果
|
|
190
190
|
def executeAT(at)
|
|
191
191
|
command = bRollCommand(at.num, at.difficulty)
|
|
192
|
-
rollResult = BCDice::CommonCommand::BarabaraDice.
|
|
192
|
+
rollResult = BCDice::CommonCommand::BarabaraDice.eval(command, self, @randomizer).text.sub(B_ROLL_RESULT_HEAD_RE, '')
|
|
193
193
|
|
|
194
194
|
# バラバラロールの出目を取得する
|
|
195
195
|
# TODO: バラバラロールの結果として、出目を配列で取得できるようにする
|
|
196
196
|
m = /> (\d+(?:,\d+)*)/.match(rollResult)
|
|
197
197
|
values = m[1].split(',').map(&:to_i)
|
|
198
198
|
|
|
199
|
-
numOfMaxValues = values.
|
|
199
|
+
numOfMaxValues = values.count(6)
|
|
200
200
|
|
|
201
201
|
return numOfMaxValues >= 2 ? "#{rollResult} > サツバツ!!" : rollResult
|
|
202
202
|
end
|
|
@@ -206,16 +206,16 @@ module BCDice
|
|
|
206
206
|
# @return [String] 電子戦結果
|
|
207
207
|
def executeEL(el)
|
|
208
208
|
command = bRollCommand(el.num, el.difficulty)
|
|
209
|
-
rollResult = BCDice::CommonCommand::BarabaraDice.
|
|
209
|
+
rollResult = BCDice::CommonCommand::BarabaraDice.eval(command, self, @randomizer).text.sub(B_ROLL_RESULT_HEAD_RE, '')
|
|
210
210
|
|
|
211
211
|
# バラバラロールの出目を取得する
|
|
212
212
|
# TODO: バラバラロールの結果として、出目を配列で取得できるようにする
|
|
213
213
|
m = /> (\d+(?:,\d+)*)/.match(rollResult)
|
|
214
214
|
values = m[1].split(',').map(&:to_i)
|
|
215
215
|
|
|
216
|
-
numOfMaxValues = values.
|
|
216
|
+
numOfMaxValues = values.count(6)
|
|
217
217
|
|
|
218
|
-
sumOfTrueValues = values.
|
|
218
|
+
sumOfTrueValues = values.count { |v| v >= el.difficulty }
|
|
219
219
|
|
|
220
220
|
return numOfMaxValues >= 1 ? "#{rollResult} + #{numOfMaxValues} > #{sumOfTrueValues + numOfMaxValues}" : rollResult
|
|
221
221
|
end
|
|
@@ -263,12 +263,13 @@ module BCDice
|
|
|
263
263
|
}.freeze
|
|
264
264
|
|
|
265
265
|
# ダイスボットで使用するコマンドを配列で列挙する
|
|
266
|
-
register_prefix(
|
|
266
|
+
register_prefix(
|
|
267
267
|
'NJ\d+.*',
|
|
268
268
|
'EV\d+.*',
|
|
269
269
|
'AT\d+.*',
|
|
270
|
-
'EL\d+.*'
|
|
271
|
-
|
|
270
|
+
'EL\d+.*',
|
|
271
|
+
TABLES.keys
|
|
272
|
+
)
|
|
272
273
|
end
|
|
273
274
|
end
|
|
274
275
|
end
|
|
@@ -45,7 +45,6 @@ module BCDice
|
|
|
45
45
|
|
|
46
46
|
def initialize(command)
|
|
47
47
|
super(command)
|
|
48
|
-
@enabled_d66 = true
|
|
49
48
|
@d66_sort_type = D66SortType::ASC
|
|
50
49
|
end
|
|
51
50
|
|
|
@@ -128,7 +127,7 @@ module BCDice
|
|
|
128
127
|
return "失敗"
|
|
129
128
|
end
|
|
130
129
|
|
|
131
|
-
register_prefix(
|
|
130
|
+
register_prefix('\d*JD.*', 'RETP?\d+', 'DNGNP?\d+', TABLES.keys)
|
|
132
131
|
end
|
|
133
132
|
end
|
|
134
133
|
end
|
|
@@ -30,9 +30,9 @@ module BCDice
|
|
|
30
30
|
@sort_add_dice = true # ダイスのソート有
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
register_prefix(
|
|
33
|
+
register_prefix(
|
|
34
34
|
'(\d+)?OR([0-9])?([0-9])?([0-9])?([0-9])?([0-9])?([0-9])?'
|
|
35
|
-
|
|
35
|
+
)
|
|
36
36
|
|
|
37
37
|
def eval_game_system_specific_command(command)
|
|
38
38
|
if command =~ /(\d+)?OR([0-9])?([0-9])?([0-9])?([0-9])?([0-9])?([0-9])?$/i
|
|
@@ -25,7 +25,7 @@ module BCDice
|
|
|
25
25
|
例)DC4:【攻撃力】4でダメージチェック DC5[20]:【攻撃力】5でダメージチェック、うち1つは20mm機銃 DC5[20,30]:【攻撃力】5でダメージチェック、うち1つは20mm機銃、うち1つは30mmガンポッド
|
|
26
26
|
MESSAGETEXT
|
|
27
27
|
|
|
28
|
-
register_prefix(
|
|
28
|
+
register_prefix('(\d+)*D20<=.*', '(\d+)*CP.*', 'RMT', 'TOT', 'EXT', 'SUT', 'DC(\d+).*')
|
|
29
29
|
|
|
30
30
|
def eval_game_system_specific_command(command) # ダイスロールコマンド
|
|
31
31
|
# 通常判定部分をgetJudgeResultコマンドに切り分け
|
|
@@ -26,12 +26,13 @@ module BCDice
|
|
|
26
26
|
・オバケぶらり旅表 STT
|
|
27
27
|
・仲間効果表 NST
|
|
28
28
|
・ランダム特技決定表 RTT
|
|
29
|
-
|
|
30
|
-
・指定特技(
|
|
31
|
-
・指定特技(
|
|
32
|
-
・指定特技(
|
|
33
|
-
・指定特技(
|
|
34
|
-
・指定特技(
|
|
29
|
+
・ランダム分野決定表 RCT
|
|
30
|
+
・指定特技(不良)表 RTT1, TNT
|
|
31
|
+
・指定特技(運動)表 RTT2, TET
|
|
32
|
+
・指定特技(友達)表 RTT3, TFT
|
|
33
|
+
・指定特技(遊び)表 RTT4, TPT
|
|
34
|
+
・指定特技(勉強)表 RTT5, TST
|
|
35
|
+
・指定特技(大人)表 RTT6, TAT
|
|
35
36
|
・D66ダイスあり
|
|
36
37
|
INFO_MESSAGE_TEXT
|
|
37
38
|
|
|
@@ -39,7 +40,6 @@ module BCDice
|
|
|
39
40
|
super(command)
|
|
40
41
|
|
|
41
42
|
@sort_add_dice = true
|
|
42
|
-
@enabled_d66 = true
|
|
43
43
|
@d66_sort_type = D66SortType::ASC
|
|
44
44
|
@round_type = RoundType::CEIL # 端数切り上げに設定
|
|
45
45
|
end
|
|
@@ -61,21 +61,23 @@ module BCDice
|
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
def eval_game_system_specific_command(command)
|
|
64
|
-
roll_tables(command, TABLES)
|
|
64
|
+
roll_tables(command, TABLES) || RTT.roll_command(randomizer, command)
|
|
65
65
|
end
|
|
66
66
|
|
|
67
|
+
RTT = DiceTable::SaiFicSkillTable.new(
|
|
68
|
+
[
|
|
69
|
+
['不良', ['夜更かし', 'いねむり', '無視', 'ウソつき', '悪口', 'いたずら', 'ズル', '隠れる', 'ぬすむ', 'おどす', 'けんか',]],
|
|
70
|
+
['運動', ['泳ぐ', '木登り', '柔らかい', 'マラソン', 'とぶ', 'かけっこ', 'バランス', '投げる', '球技', '打ち返す', '力持ち',]],
|
|
71
|
+
['友達', ['ネット', 'うわさ話', '優しさ', 'がまん', 'お手紙', 'おしゃべり', '自転車', '勇気', '約束', '仕切る', '秘密基地',]],
|
|
72
|
+
['遊び', ['パソコン', 'ゲーム', '集める', '絵', '音楽', '空想', '読書', 'お話づくり', 'クイズ', '手品', '占い',]],
|
|
73
|
+
['勉強', ['実験', '宇宙', '生き物', '工作', '計算', '宿題', '漢字', '作文', '歴史', '地理', '外国語',]],
|
|
74
|
+
['大人', ['法律', 'しかる', '手当て', 'マナー', '推理', '計画性', 'お料理', 'お買い物', 'オシャレ', '恋愛', '道楽',]],
|
|
75
|
+
],
|
|
76
|
+
rttn: ['TNT', 'TET', 'TFT', 'TPT', 'TST', 'TAT'],
|
|
77
|
+
rtt_format: "ランダム指定特技表(%<category_dice>d,%<row_dice>d) > %<text>s",
|
|
78
|
+
rttn_format: "指定特技(%<category_name>s)表(%<row_dice>d) > %<text>s"
|
|
79
|
+
)
|
|
67
80
|
TABLES = {
|
|
68
|
-
"RTT" => DiceTable::SaiFicSkillTable.new(
|
|
69
|
-
[
|
|
70
|
-
['不良', ['夜更かし', 'いねむり', '無視', 'ウソつき', '悪口', 'いたずら', 'ズル', '隠れる', 'ぬすむ', 'おどす', 'けんか',]],
|
|
71
|
-
['運動', ['泳ぐ', '木登り', '柔らかい', 'マラソン', 'とぶ', 'かけっこ', 'バランス', '投げる', '球技', '打ち返す', '力持ち',]],
|
|
72
|
-
['友達', ['ネット', 'うわさ話', '優しさ', 'がまん', 'お手紙', 'おしゃべり', '自転車', '勇気', '約束', '仕切る', '秘密基地',]],
|
|
73
|
-
['遊び', ['パソコン', 'ゲーム', '集める', '絵', '音楽', '空想', '読書', 'お話づくり', 'クイズ', '手品', '占い',]],
|
|
74
|
-
['勉強', ['実験', '宇宙', '生き物', '工作', '計算', '宿題', '漢字', '作文', '歴史', '地理', '外国語',]],
|
|
75
|
-
['大人', ['法律', 'しかる', '手当て', 'マナー', '推理', '計画性', 'お料理', 'お買い物', 'オシャレ', '恋愛', '道楽',]],
|
|
76
|
-
],
|
|
77
|
-
peekaboo_style: true
|
|
78
|
-
),
|
|
79
81
|
"SET" => DiceTable::Table.new(
|
|
80
82
|
"学校イベント表",
|
|
81
83
|
"2D6",
|
|
@@ -168,108 +170,6 @@ module BCDice
|
|
|
168
170
|
"魔法暴発! 自分の持っている魔法をランダムに1つ選んで、その効果が発動します。魔法の対象が選べる場合は、スプーキーのプレイヤーが選んで構いません。そして、1d6サイクルの間、行動不能になります。その後、【魔力】が1d6点回復して通常通り行動できるようになります。"
|
|
169
171
|
]
|
|
170
172
|
),
|
|
171
|
-
"TNT" => DiceTable::Table.new(
|
|
172
|
-
"指定特技(不良)表",
|
|
173
|
-
"2D6",
|
|
174
|
-
[
|
|
175
|
-
"《夜更かし/不良2》",
|
|
176
|
-
"《いねむり/不良3》",
|
|
177
|
-
"《無視/不良4》",
|
|
178
|
-
"《ウソつき/不良5》",
|
|
179
|
-
"《悪口/不良6》",
|
|
180
|
-
"《いたずら/不良7》",
|
|
181
|
-
"《ズル/不良8》",
|
|
182
|
-
"《隠れる/不良9》",
|
|
183
|
-
"《ぬすむ/不良10》",
|
|
184
|
-
"《おどす/不良11》",
|
|
185
|
-
"《けんか/不良12》"
|
|
186
|
-
]
|
|
187
|
-
),
|
|
188
|
-
"TET" => DiceTable::Table.new(
|
|
189
|
-
"指定特技(運動)表",
|
|
190
|
-
"2D6",
|
|
191
|
-
[
|
|
192
|
-
"《泳ぐ/運動2》",
|
|
193
|
-
"《木登り/運動3》",
|
|
194
|
-
"《柔らかい/運動4》",
|
|
195
|
-
"《マラソン/運動5》",
|
|
196
|
-
"《とぶ/運動6》",
|
|
197
|
-
"《かけっこ/運動7》",
|
|
198
|
-
"《バランス/運動8》",
|
|
199
|
-
"《投げる/運動9》",
|
|
200
|
-
"《球技/運動10》",
|
|
201
|
-
"《打ち返す/運動11》",
|
|
202
|
-
"《力持ち/運動12》"
|
|
203
|
-
]
|
|
204
|
-
),
|
|
205
|
-
"TFT" => DiceTable::Table.new(
|
|
206
|
-
"指定特技(友達)表",
|
|
207
|
-
"2D6",
|
|
208
|
-
[
|
|
209
|
-
"《ネット/友達2》",
|
|
210
|
-
"《うわさ話/友達3》",
|
|
211
|
-
"《優しさ/友達4》",
|
|
212
|
-
"《がまん/友達5》",
|
|
213
|
-
"《お手紙/友達6》",
|
|
214
|
-
"《おしゃべり/友達7》",
|
|
215
|
-
"《自転車/友達8》",
|
|
216
|
-
"《勇気/友達9》",
|
|
217
|
-
"《約束/友達10》",
|
|
218
|
-
"《仕切る/友達11》",
|
|
219
|
-
"《秘密基地/友達12》"
|
|
220
|
-
]
|
|
221
|
-
),
|
|
222
|
-
"TPT" => DiceTable::Table.new(
|
|
223
|
-
"指定特技(遊び)表",
|
|
224
|
-
"2D6",
|
|
225
|
-
[
|
|
226
|
-
"《パソコン/遊び2》",
|
|
227
|
-
"《ゲーム/遊び3》",
|
|
228
|
-
"《集める/遊び4》",
|
|
229
|
-
"《絵/遊び5》",
|
|
230
|
-
"《音楽/遊び6》",
|
|
231
|
-
"《空想/遊び7》",
|
|
232
|
-
"《読書/遊び8》",
|
|
233
|
-
"《お話づくり/遊び9》",
|
|
234
|
-
"《クイズ/遊び10》",
|
|
235
|
-
"《手品/遊び11》",
|
|
236
|
-
"《占い/遊び12》"
|
|
237
|
-
]
|
|
238
|
-
),
|
|
239
|
-
"TST" => DiceTable::Table.new(
|
|
240
|
-
"指定特技(勉強)表",
|
|
241
|
-
"2D6",
|
|
242
|
-
[
|
|
243
|
-
"《実験/勉強2》",
|
|
244
|
-
"《宇宙/勉強3》",
|
|
245
|
-
"《生き物/勉強4》",
|
|
246
|
-
"《工作/勉強5》",
|
|
247
|
-
"《計算/勉強6》",
|
|
248
|
-
"《宿題/勉強7》",
|
|
249
|
-
"《漢字/勉強8》",
|
|
250
|
-
"《作文/勉強9》",
|
|
251
|
-
"《歴史/勉強10》",
|
|
252
|
-
"《地理/勉強11》",
|
|
253
|
-
"《外国語/勉強12》"
|
|
254
|
-
]
|
|
255
|
-
),
|
|
256
|
-
"TAT" => DiceTable::Table.new(
|
|
257
|
-
"指定特技(大人)表",
|
|
258
|
-
"2D6",
|
|
259
|
-
[
|
|
260
|
-
"《法律/大人2》",
|
|
261
|
-
"《しかる/大人3》",
|
|
262
|
-
"《手当て/大人4》",
|
|
263
|
-
"《マナー/大人5》",
|
|
264
|
-
"《推理/大人6》",
|
|
265
|
-
"《計画性/大人7》",
|
|
266
|
-
"《お料理/大人8》",
|
|
267
|
-
"《お買い物/大人9》",
|
|
268
|
-
"《オシャレ/大人10》",
|
|
269
|
-
"《恋愛/大人11》",
|
|
270
|
-
"《道楽/大人12》"
|
|
271
|
-
]
|
|
272
|
-
),
|
|
273
173
|
"STT" => DiceTable::Table.new(
|
|
274
174
|
"オバケぶらり旅表",
|
|
275
175
|
"2D6",
|
|
@@ -318,7 +218,7 @@ module BCDice
|
|
|
318
218
|
),
|
|
319
219
|
}.freeze
|
|
320
220
|
|
|
321
|
-
register_prefix(
|
|
221
|
+
register_prefix(RTT.prefixes, TABLES.keys)
|
|
322
222
|
end
|
|
323
223
|
end
|
|
324
224
|
end
|
|
@@ -47,14 +47,14 @@ module BCDice
|
|
|
47
47
|
・プッシュ時のキャスティング・ロールの失敗(Failed Casting Effects)表 FCE
|
|
48
48
|
INFO_MESSAGE_TEXT
|
|
49
49
|
|
|
50
|
-
register_prefix(
|
|
50
|
+
register_prefix('CC\(\d+\)', 'CC.*', 'CBR\(\d+,\d+\)', 'FAR.*', 'BMR', 'BMS', 'FCE', 'PH', 'MA', 'IT')
|
|
51
51
|
|
|
52
52
|
def eval_game_system_specific_command(command)
|
|
53
53
|
case command
|
|
54
54
|
when /^CC/i
|
|
55
|
-
return
|
|
55
|
+
return skill_roll(command)
|
|
56
56
|
when /^CBR/i
|
|
57
|
-
return
|
|
57
|
+
return combine_roll(command)
|
|
58
58
|
when /^FAR/i
|
|
59
59
|
return getFullAutoResult(command)
|
|
60
60
|
when /^BMR/i # 狂気の発作(リアルタイム)
|
|
@@ -38,10 +38,10 @@ module BCDice
|
|
|
38
38
|
@sort_add_dice = true # ダイスのソート有
|
|
39
39
|
end
|
|
40
40
|
|
|
41
|
-
register_prefix(
|
|
41
|
+
register_prefix(
|
|
42
42
|
'(-)?(\d+)?RD(\d+)?(@(\d+))?',
|
|
43
43
|
'(-)?(\d+)?DD([1-9])?([\+\-]\d+)?'
|
|
44
|
-
|
|
44
|
+
)
|
|
45
45
|
|
|
46
46
|
def eval_game_system_specific_command(command)
|
|
47
47
|
if command =~ /(-)?(\d+)?RD(\d+)?(@(\d+))?$/i
|