bcdice 3.0.0.pre.alpha.1 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (316) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +70 -0
  3. data/README.md +34 -7
  4. data/i18n/Amadeus/ja_jp.yml +386 -0
  5. data/i18n/Amadeus/ko_kr.yml +148 -0
  6. data/i18n/Cthulhu/ja_jp.yml +11 -0
  7. data/i18n/Cthulhu/ko_kr.yml +11 -0
  8. data/i18n/Cthulhu/zh_hant.yml +11 -0
  9. data/i18n/DetatokoSaga/ja_jp.yml +75 -0
  10. data/i18n/DetatokoSaga/ko_kr.yml +75 -0
  11. data/i18n/DoubleCross/ja_jp.yml +53 -0
  12. data/i18n/DoubleCross/ko_kr.yml +53 -0
  13. data/i18n/Dracurouge/ja_jp.yml +1374 -0
  14. data/i18n/Dracurouge/ko_kr.yml +295 -0
  15. data/i18n/Fiasco/ja_jp.yml +10 -0
  16. data/i18n/Fiasco/ko_kr.yml +10 -0
  17. data/i18n/FutariSousa/ja_jp.yml +720 -0
  18. data/i18n/FutariSousa/ko_kr.yml +746 -0
  19. data/i18n/Insane/ja_jp.yml +454 -0
  20. data/i18n/Insane/ko_kr.yml +502 -0
  21. data/i18n/Kamigakari/ja_jp.yml +276 -0
  22. data/i18n/Kamigakari/ko_kr.yml +204 -0
  23. data/i18n/KillDeathBusiness/ja_jp.yml +1092 -0
  24. data/i18n/KillDeathBusiness/ko_kr.yml +1063 -0
  25. data/i18n/LogHorizon/ja_jp.yml +3082 -0
  26. data/i18n/LogHorizon/ko_kr.yml +923 -0
  27. data/i18n/MagicaLogia/ja_jp.yml +564 -0
  28. data/i18n/MagicaLogia/ko_kr.yml +564 -0
  29. data/i18n/MonotoneMuseum/ja_jp.yml +561 -0
  30. data/i18n/MonotoneMuseum/ko_kr.yml +89 -0
  31. data/i18n/Nechronica/ja_jp.yml +57 -0
  32. data/i18n/Nechronica/ko_kr.yml +14 -0
  33. data/i18n/StratoShout/ja_jp.yml +160 -0
  34. data/i18n/StratoShout/ko_kr.yml +160 -0
  35. data/i18n/ja_jp.yml +5 -0
  36. data/i18n/ko_kr.yml +7 -0
  37. data/i18n/zh_hant.yml +3 -0
  38. data/lib/bcdice.rb +4 -1
  39. data/lib/bcdice/arithmetic.rb +22 -0
  40. data/lib/bcdice/arithmetic/node.rb +223 -0
  41. data/lib/bcdice/arithmetic/parser.rb +240 -0
  42. data/lib/bcdice/arithmetic_evaluator.rb +7 -156
  43. data/lib/bcdice/base.rb +94 -101
  44. data/lib/bcdice/command/lexer.rb +57 -0
  45. data/lib/bcdice/command/parsed.rb +65 -0
  46. data/lib/bcdice/command/parser.rb +489 -0
  47. data/lib/bcdice/common_command.rb +4 -0
  48. data/lib/bcdice/common_command/add_dice.rb +8 -42
  49. data/lib/bcdice/common_command/add_dice/node.rb +221 -72
  50. data/lib/bcdice/common_command/add_dice/parser.rb +391 -274
  51. data/lib/bcdice/common_command/add_dice/randomizer.rb +27 -33
  52. data/lib/bcdice/common_command/barabara_dice.rb +8 -47
  53. data/lib/bcdice/common_command/barabara_dice/node.rb +92 -0
  54. data/lib/bcdice/common_command/barabara_dice/parser.rb +336 -0
  55. data/lib/bcdice/common_command/barabara_dice/result.rb +22 -0
  56. data/lib/bcdice/common_command/calc.rb +9 -30
  57. data/lib/bcdice/common_command/calc/node.rb +39 -0
  58. data/lib/bcdice/common_command/calc/parser.rb +271 -0
  59. data/lib/bcdice/common_command/choice.rb +137 -19
  60. data/lib/bcdice/common_command/d66_dice.rb +52 -34
  61. data/lib/bcdice/common_command/lexer.rb +47 -0
  62. data/lib/bcdice/common_command/repeat.rb +102 -0
  63. data/lib/bcdice/common_command/reroll_dice.rb +8 -158
  64. data/lib/bcdice/common_command/reroll_dice/node.rb +198 -0
  65. data/lib/bcdice/common_command/reroll_dice/parser.rb +421 -0
  66. data/lib/bcdice/common_command/upper_dice.rb +12 -129
  67. data/lib/bcdice/common_command/upper_dice/node.rb +181 -0
  68. data/lib/bcdice/common_command/upper_dice/parser.rb +433 -0
  69. data/lib/bcdice/common_command/version.rb +11 -17
  70. data/lib/bcdice/deprecated/checker.rb +78 -0
  71. data/lib/bcdice/dice_table.rb +3 -0
  72. data/lib/bcdice/dice_table/chain_table.rb +2 -0
  73. data/lib/bcdice/dice_table/d66_grid_table.rb +10 -0
  74. data/lib/bcdice/dice_table/d66_parity_table.rb +36 -0
  75. data/lib/bcdice/dice_table/d66_range_table.rb +2 -0
  76. data/lib/bcdice/dice_table/d66_table.rb +12 -0
  77. data/lib/bcdice/dice_table/roll_result.rb +2 -0
  78. data/lib/bcdice/dice_table/sai_fic_skill_table.rb +75 -17
  79. data/lib/bcdice/dice_table/sai_fic_skill_table/category.rb +25 -0
  80. data/lib/bcdice/dice_table/sai_fic_skill_table/skill.rb +23 -0
  81. data/lib/bcdice/dice_table/table.rb +10 -0
  82. data/lib/bcdice/enum.rb +2 -0
  83. data/lib/bcdice/format.rb +2 -0
  84. data/lib/bcdice/game_system.rb +17 -1
  85. data/lib/bcdice/game_system/AFF2e.rb +1 -1
  86. data/lib/bcdice/game_system/AceKillerGene.rb +3 -3
  87. data/lib/bcdice/game_system/Airgetlamh.rb +3 -3
  88. data/lib/bcdice/game_system/AlchemiaStruggle.rb +346 -0
  89. data/lib/bcdice/game_system/Alsetto.rb +1 -1
  90. data/lib/bcdice/game_system/Alshard.rb +1 -2
  91. data/lib/bcdice/game_system/AlterRaise.rb +2 -2
  92. data/lib/bcdice/game_system/Amadeus.rb +47 -508
  93. data/lib/bcdice/game_system/Amadeus_Korean.rb +12 -456
  94. data/lib/bcdice/game_system/AngelGear.rb +123 -0
  95. data/lib/bcdice/game_system/AnimaAnimus.rb +2 -6
  96. data/lib/bcdice/game_system/Arianrhod.rb +0 -1
  97. data/lib/bcdice/game_system/ArsMagica.rb +1 -1
  98. data/lib/bcdice/game_system/Avandner.rb +1 -1
  99. data/lib/bcdice/game_system/BBN.rb +7 -5
  100. data/lib/bcdice/game_system/BadLife.rb +2 -2
  101. data/lib/bcdice/game_system/BarnaKronika.rb +1 -1
  102. data/lib/bcdice/game_system/BeastBindTrinity.rb +3 -13
  103. data/lib/bcdice/game_system/BeginningIdol.rb +6 -7
  104. data/lib/bcdice/game_system/BeginningIdol_Korean.rb +6 -7
  105. data/lib/bcdice/game_system/BladeOfArcana.rb +6 -6
  106. data/lib/bcdice/game_system/BlindMythos.rb +12 -10
  107. data/lib/bcdice/game_system/BloodCrusade.rb +54 -81
  108. data/lib/bcdice/game_system/BloodMoon.rb +43 -3
  109. data/lib/bcdice/game_system/CardRanker.rb +24 -65
  110. data/lib/bcdice/game_system/ChaosFlare.rb +4 -4
  111. data/lib/bcdice/game_system/Chill.rb +1 -1
  112. data/lib/bcdice/game_system/CodeLayerd.rb +37 -67
  113. data/lib/bcdice/game_system/ColossalHunter.rb +3 -4
  114. data/lib/bcdice/game_system/Comes.rb +50 -0
  115. data/lib/bcdice/game_system/CrashWorld.rb +1 -1
  116. data/lib/bcdice/game_system/Cthulhu.rb +99 -98
  117. data/lib/bcdice/game_system/Cthulhu7th.rb +117 -370
  118. data/lib/bcdice/game_system/Cthulhu7th_ChineseTraditional.rb +1 -1
  119. data/lib/bcdice/game_system/Cthulhu7th_Korean.rb +1 -1
  120. data/lib/bcdice/game_system/CthulhuTech.rb +8 -15
  121. data/lib/bcdice/game_system/Cthulhu_ChineseTraditional.rb +7 -190
  122. data/lib/bcdice/game_system/Cthulhu_Korean.rb +5 -186
  123. data/lib/bcdice/game_system/DarkBlaze.rb +13 -9
  124. data/lib/bcdice/game_system/DarkDaysDrive.rb +17 -15
  125. data/lib/bcdice/game_system/DarkSouls.rb +1 -1
  126. data/lib/bcdice/game_system/DeadlineHeroes.rb +3 -3
  127. data/lib/bcdice/game_system/DemonParasite.rb +1 -2
  128. data/lib/bcdice/game_system/DesperateRun.rb +163 -0
  129. data/lib/bcdice/game_system/DetatokoSaga.rb +69 -152
  130. data/lib/bcdice/game_system/DetatokoSaga_Korean.rb +9 -277
  131. data/lib/bcdice/game_system/DiceBot.rb +22 -4
  132. data/lib/bcdice/game_system/DiceOfTheDead.rb +9 -6
  133. data/lib/bcdice/game_system/DoubleCross.rb +145 -157
  134. data/lib/bcdice/game_system/DoubleCross_Korean.rb +13 -330
  135. data/lib/bcdice/game_system/Dracurouge.rb +376 -1678
  136. data/lib/bcdice/game_system/Dracurouge_Korean.rb +16 -271
  137. data/lib/bcdice/game_system/EarthDawn.rb +1 -1
  138. data/lib/bcdice/game_system/EarthDawn3.rb +1 -1
  139. data/lib/bcdice/game_system/EarthDawn4.rb +1 -1
  140. data/lib/bcdice/game_system/Elysion.rb +5 -6
  141. data/lib/bcdice/game_system/EmbryoMachine.rb +6 -6
  142. data/lib/bcdice/game_system/Emoklore.rb +131 -0
  143. data/lib/bcdice/game_system/EndBreaker.rb +1 -2
  144. data/lib/bcdice/game_system/EtrianOdysseySRS.rb +1 -2
  145. data/lib/bcdice/game_system/Fiasco.rb +87 -70
  146. data/lib/bcdice/game_system/Fiasco_Korean.rb +7 -95
  147. data/lib/bcdice/game_system/FilledWith.rb +465 -569
  148. data/lib/bcdice/game_system/FullMetalPanic.rb +1 -2
  149. data/lib/bcdice/game_system/FutariSousa.rb +103 -938
  150. data/lib/bcdice/game_system/FutariSousa_Korean.rb +7 -948
  151. data/lib/bcdice/game_system/{Gurps.rb → GURPS.rb} +184 -217
  152. data/lib/bcdice/game_system/Garako.rb +140 -39
  153. data/lib/bcdice/game_system/GardenOrder.rb +3 -3
  154. data/lib/bcdice/game_system/GehennaAn.rb +4 -4
  155. data/lib/bcdice/game_system/GeishaGirlwithKatana.rb +1 -1
  156. data/lib/bcdice/game_system/GoblinSlayer.rb +1 -1
  157. data/lib/bcdice/game_system/GoldenSkyStories.rb +1 -1
  158. data/lib/bcdice/game_system/Gorilla.rb +1 -1
  159. data/lib/bcdice/game_system/GranCrest.rb +2 -3
  160. data/lib/bcdice/game_system/Gundog.rb +1 -1
  161. data/lib/bcdice/game_system/GundogRevised.rb +4 -4
  162. data/lib/bcdice/game_system/GundogZero.rb +3 -3
  163. data/lib/bcdice/game_system/GurpsFW.rb +4 -8
  164. data/lib/bcdice/game_system/HarnMaster.rb +2 -2
  165. data/lib/bcdice/game_system/HatsuneMiku.rb +2 -3
  166. data/lib/bcdice/game_system/HouraiGakuen.rb +1 -1
  167. data/lib/bcdice/game_system/HuntersMoon.rb +17 -111
  168. data/lib/bcdice/game_system/Illusio.rb +27 -36
  169. data/lib/bcdice/game_system/InfiniteBabeL.rb +518 -0
  170. data/lib/bcdice/game_system/Insane.rb +90 -717
  171. data/lib/bcdice/game_system/Insane_Korean.rb +7 -719
  172. data/lib/bcdice/game_system/JekyllAndHyde.rb +42 -0
  173. data/lib/bcdice/game_system/JuinKansen.rb +251 -0
  174. data/lib/bcdice/game_system/Kamigakari.rb +47 -242
  175. data/lib/bcdice/game_system/Kamigakari_Korean.rb +6 -394
  176. data/lib/bcdice/game_system/KanColle.rb +20 -169
  177. data/lib/bcdice/game_system/KemonoNoMori.rb +1 -1
  178. data/lib/bcdice/game_system/KillDeathBusiness.rb +189 -1180
  179. data/lib/bcdice/game_system/KillDeathBusiness_Korean.rb +8 -1460
  180. data/lib/bcdice/game_system/KurayamiCrying.rb +1 -1
  181. data/lib/bcdice/game_system/LiveraDoll.rb +2 -2
  182. data/lib/bcdice/game_system/LogHorizon.rb +350 -3379
  183. data/lib/bcdice/game_system/LogHorizon_Korean.rb +55 -1357
  184. data/lib/bcdice/game_system/LostRecord.rb +0 -1
  185. data/lib/bcdice/game_system/LostRoyal.rb +3 -6
  186. data/lib/bcdice/game_system/MagicaLogia.rb +158 -1044
  187. data/lib/bcdice/game_system/MagicaLogia_Korean.rb +66 -0
  188. data/lib/bcdice/game_system/MeikyuDays.rb +2 -3
  189. data/lib/bcdice/game_system/MeikyuKingdom.rb +7 -7
  190. data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +7 -8
  191. data/lib/bcdice/game_system/MetalHead.rb +1 -1
  192. data/lib/bcdice/game_system/MetalHeadExtream.rb +7 -7
  193. data/lib/bcdice/game_system/MetallicGuardian.rb +1 -2
  194. data/lib/bcdice/game_system/MonotoneMuseum.rb +41 -241
  195. data/lib/bcdice/game_system/MonotoneMuseum_Korean.rb +10 -270
  196. data/lib/bcdice/game_system/NSSQ.rb +159 -0
  197. data/lib/bcdice/game_system/Nechronica.rb +37 -76
  198. data/lib/bcdice/game_system/Nechronica_Korean.rb +11 -128
  199. data/lib/bcdice/game_system/NeverCloud.rb +540 -5
  200. data/lib/bcdice/game_system/NightWizard.rb +2 -2
  201. data/lib/bcdice/game_system/NightWizard3rd.rb +1 -1
  202. data/lib/bcdice/game_system/NightmareHunterDeep.rb +3 -4
  203. data/lib/bcdice/game_system/NinjaSlayer.rb +33 -43
  204. data/lib/bcdice/game_system/NjslyrBattle.rb +1 -1
  205. data/lib/bcdice/game_system/OneWayHeroics.rb +1 -2
  206. data/lib/bcdice/game_system/OracleEngine.rb +14 -18
  207. data/lib/bcdice/game_system/OrgaRain.rb +19 -27
  208. data/lib/bcdice/game_system/Paradiso.rb +3 -3
  209. data/lib/bcdice/game_system/Paranoia.rb +1 -1
  210. data/lib/bcdice/game_system/ParanoiaRebooted.rb +1 -1
  211. data/lib/bcdice/game_system/ParasiteBlood.rb +1 -1
  212. data/lib/bcdice/game_system/Peekaboo.rb +23 -123
  213. data/lib/bcdice/game_system/PhantasmAdventure.rb +0 -4
  214. data/lib/bcdice/game_system/Postman.rb +3 -3
  215. data/lib/bcdice/game_system/PulpCthulhu.rb +3 -3
  216. data/lib/bcdice/game_system/Raisondetre.rb +3 -3
  217. data/lib/bcdice/game_system/RecordOfLodossWar.rb +8 -7
  218. data/lib/bcdice/game_system/RecordOfSteam.rb +1 -1
  219. data/lib/bcdice/game_system/RokumonSekai2.rb +3 -3
  220. data/lib/bcdice/game_system/RuinBreakers.rb +296 -0
  221. data/lib/bcdice/game_system/RyuTuber.rb +6 -4
  222. data/lib/bcdice/game_system/Ryutama.rb +2 -2
  223. data/lib/bcdice/game_system/SRS.rb +1 -7
  224. data/lib/bcdice/game_system/SamsaraBallad.rb +5 -4
  225. data/lib/bcdice/game_system/Satasupe.rb +90 -866
  226. data/lib/bcdice/game_system/ScreamHighSchool.rb +4 -4
  227. data/lib/bcdice/game_system/SevenFortressMobius.rb +1 -1
  228. data/lib/bcdice/game_system/ShadowRun5.rb +2 -2
  229. data/lib/bcdice/game_system/SharedFantasia.rb +1 -1
  230. data/lib/bcdice/game_system/ShinMegamiTenseiKakuseihen.rb +1 -1
  231. data/lib/bcdice/game_system/ShinkuuGakuen.rb +5 -5
  232. data/lib/bcdice/game_system/ShinobiGami.rb +75 -40
  233. data/lib/bcdice/game_system/ShoujoTenrankai.rb +3 -3
  234. data/lib/bcdice/game_system/Skynauts.rb +2 -2
  235. data/lib/bcdice/game_system/SteamPunkers.rb +7 -5
  236. data/lib/bcdice/game_system/StellarKnights.rb +2 -5
  237. data/lib/bcdice/game_system/SterileLife.rb +2 -2
  238. data/lib/bcdice/game_system/StrangerOfSwordCity.rb +2 -3
  239. data/lib/bcdice/game_system/StratoShout.rb +39 -268
  240. data/lib/bcdice/game_system/StratoShout_Korean.rb +8 -283
  241. data/lib/bcdice/game_system/Strave.rb +2 -2
  242. data/lib/bcdice/game_system/SwordWorld.rb +52 -189
  243. data/lib/bcdice/game_system/SwordWorld2_0.rb +21 -150
  244. data/lib/bcdice/game_system/SwordWorld2_5.rb +126 -41
  245. data/lib/bcdice/game_system/TherapieSein.rb +3 -3
  246. data/lib/bcdice/game_system/TokumeiTenkousei.rb +2 -2
  247. data/lib/bcdice/game_system/TokyoGhostResearch.rb +2 -2
  248. data/lib/bcdice/game_system/Torg.rb +3 -3
  249. data/lib/bcdice/game_system/Torg1_5.rb +1 -1
  250. data/lib/bcdice/game_system/TorgEternity.rb +5 -8
  251. data/lib/bcdice/game_system/TrinitySeven.rb +3 -3
  252. data/lib/bcdice/game_system/TunnelsAndTrolls.rb +7 -7
  253. data/lib/bcdice/game_system/TwilightGunsmoke.rb +2 -3
  254. data/lib/bcdice/game_system/UnsungDuet.rb +139 -0
  255. data/lib/bcdice/game_system/Utakaze.rb +2 -2
  256. data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +1 -1
  257. data/lib/bcdice/game_system/Villaciel.rb +1 -2
  258. data/lib/bcdice/game_system/Warhammer.rb +7 -7
  259. data/lib/bcdice/game_system/Warhammer4.rb +326 -0
  260. data/lib/bcdice/game_system/WitchQuest.rb +1 -1
  261. data/lib/bcdice/game_system/WorldOfDarkness.rb +1 -1
  262. data/lib/bcdice/game_system/YankeeYogSothoth.rb +15 -15
  263. data/lib/bcdice/game_system/YearZeroEngine.rb +1 -1
  264. data/lib/bcdice/game_system/Yggdrasill.rb +605 -0
  265. data/lib/bcdice/game_system/ZettaiReido.rb +2 -2
  266. data/lib/bcdice/game_system/cthulhu7th/full_auto.rb +294 -0
  267. data/lib/bcdice/game_system/cthulhu7th/rollable.rb +41 -0
  268. data/lib/bcdice/game_system/filled_with/cook_tables.rb +119 -0
  269. data/lib/bcdice/game_system/filled_with/lot_tables.rb +155 -0
  270. data/lib/bcdice/game_system/meikyu_kingdom/item_table.rb +2 -0
  271. data/lib/bcdice/game_system/meikyu_kingdom/kingdom_name_table.rb +2 -0
  272. data/lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb +2 -0
  273. data/lib/bcdice/game_system/meikyu_kingdom/name_tables.rb +2 -0
  274. data/lib/bcdice/game_system/meikyu_kingdom/placename_table.rb +2 -0
  275. data/lib/bcdice/game_system/meikyu_kingdom/tables.rb +2 -0
  276. data/lib/bcdice/game_system/meikyu_kingdom/word_table.rb +2 -0
  277. data/lib/bcdice/game_system/meikyu_kingdom_basic/item_table.rb +2 -0
  278. data/lib/bcdice/game_system/meikyu_kingdom_basic/kingdom_table.rb +2 -0
  279. data/lib/bcdice/game_system/meikyu_kingdom_basic/name_table.rb +2 -0
  280. data/lib/bcdice/game_system/meikyu_kingdom_basic/table.rb +2 -0
  281. data/lib/bcdice/game_system/meikyu_kingdom_basic/word_table.rb +2 -0
  282. data/lib/bcdice/game_system/one_way_heroics/dungeon_table.rb +2 -0
  283. data/lib/bcdice/game_system/one_way_heroics/random_event_table.rb +2 -0
  284. data/lib/bcdice/game_system/one_way_heroics/tables.rb +2 -0
  285. data/lib/bcdice/game_system/satasupe/tables.rb +723 -0
  286. data/lib/bcdice/game_system/sword_world/rating_lexer.rb +47 -0
  287. data/lib/bcdice/game_system/sword_world/rating_parsed.rb +99 -0
  288. data/lib/bcdice/game_system/sword_world/rating_parser.rb +457 -0
  289. data/lib/bcdice/game_system/sword_world/transcendent_test.rb +104 -0
  290. data/lib/bcdice/loader.rb +17 -12
  291. data/lib/bcdice/normalize.rb +3 -1
  292. data/lib/bcdice/preprocessor.rb +23 -44
  293. data/lib/bcdice/randomizer.rb +14 -0
  294. data/lib/bcdice/repl.rb +4 -2
  295. data/lib/bcdice/result.rb +87 -0
  296. data/lib/bcdice/translate.rb +13 -0
  297. data/lib/bcdice/user_defined_dice_table.rb +28 -15
  298. data/lib/bcdice/version.rb +3 -1
  299. metadata +101 -24
  300. data/.editorconfig +0 -21
  301. data/.github/.codecov.yaml +0 -10
  302. data/.github/workflows/coverage.yaml +0 -21
  303. data/.github/workflows/lint.yaml +0 -13
  304. data/.github/workflows/test.yml +0 -20
  305. data/.gitignore +0 -14
  306. data/.rubocop.yml +0 -96
  307. data/.rubocop_todo.yml +0 -113
  308. data/Gemfile +0 -11
  309. data/ROADMAP.md +0 -30
  310. data/Rakefile +0 -118
  311. data/bcdice.gemspec +0 -27
  312. data/bin/repl.rb +0 -21
  313. data/docs/README.txt +0 -2028
  314. data/docs/dicebot_sort_key.md +0 -72
  315. data/docs/how_to_make_dicebot.md +0 -453
  316. data/lib/bcdice/command_parser.rb +0 -242
@@ -1,20 +0,0 @@
1
- name: Test
2
- on: [push, pull_request]
3
- jobs:
4
- test:
5
- strategy:
6
- fail-fast: false
7
- matrix:
8
- ruby: [2.5, 2.6, 2.7]
9
- runs-on: ubuntu-latest
10
- steps:
11
- - uses: actions/checkout@v2
12
- - uses: ruby/setup-ruby@v1
13
- with:
14
- ruby-version: ${{ matrix.ruby }}
15
- bundler-cache: true
16
- - name: "Set CHECK_COVERAGE=true on Ruby 2.7"
17
- run: echo '::set-env name=CHECK_COVERAGE::true'
18
- if: matrix.ruby == '2.7'
19
- - run: bundle install
20
- - run: bundle exec rake test
data/.gitignore DELETED
@@ -1,14 +0,0 @@
1
- bcdice.exe
2
- *.rb~
3
- *.bak
4
- *.txt~
5
- *.html~
6
- tmp.txt
7
- .bundle/
8
- vendor/
9
- Gemfile.lock
10
- coverage/
11
- doc/
12
- .yardoc/
13
- bin/repl_history
14
- pkg/
data/.rubocop.yml DELETED
@@ -1,96 +0,0 @@
1
- inherit_from: .rubocop_todo.yml
2
-
3
- # Due to old Ruby 1.8.x
4
- Style/Lambda:
5
- EnforcedStyle: lambda
6
-
7
- # Due to old Ruby 1.8.x
8
- Style/SpecialGlobalVars:
9
- EnforcedStyle: use_perl_names
10
-
11
- Layout/EndOfLine:
12
- EnforcedStyle: lf
13
-
14
- Layout/FirstArrayElementIndentation:
15
- EnforcedStyle: consistent
16
-
17
- Layout/SpaceInsideHashLiteralBraces:
18
- EnforcedStyle: no_space
19
-
20
- Naming/VariableName:
21
- Enabled: false
22
-
23
- Naming/VariableNumber:
24
- Enabled: false
25
-
26
- Style/AsciiComments:
27
- Enabled: false
28
-
29
- Style/CommentedKeyword:
30
- Enabled: false
31
-
32
- Style/ConditionalAssignment:
33
- Enabled: false
34
-
35
- Style/DefWithParentheses:
36
- Enabled: false
37
-
38
- Style/Documentation:
39
- Enabled: false
40
-
41
- Style/NegatedWhile:
42
- Enabled: false
43
-
44
- Style/NumericLiterals:
45
- MinDigits: 6
46
-
47
- Style/WordArray:
48
- Enabled: true
49
- EnforcedStyle: brackets
50
-
51
- Style/FrozenStringLiteralComment:
52
- Enabled: false
53
-
54
- Style/GuardClause:
55
- Enabled: false
56
-
57
- Style/IfUnlessModifier:
58
- Enabled: false
59
-
60
- Style/MethodCallWithoutArgsParentheses:
61
- Enabled: false
62
-
63
- Style/NumericPredicate:
64
- Enabled: false
65
-
66
- Style/PercentLiteralDelimiters:
67
- Enabled: false
68
-
69
- Style/RedundantReturn:
70
- Enabled: false
71
-
72
- Style/StringLiterals:
73
- Enabled: true
74
- EnforcedStyle: double_quotes
75
- Exclude:
76
- - 'lib/bcdice/game_system/*.rb'
77
-
78
- Style/SymbolProc:
79
- Exclude:
80
- - 'lib/bcdice/repl.rb' # DSLを実装しているため
81
-
82
- Style/SymbolArray:
83
- Enabled: true
84
- EnforcedStyle: brackets
85
-
86
- Style/TrailingCommaInArrayLiteral:
87
- Enabled: false
88
-
89
- Style/TrailingCommaInHashLiteral:
90
- Enabled: false
91
-
92
- Style/WhileUntilModifier:
93
- Enabled: false
94
-
95
- Style/YodaCondition:
96
- EnforcedStyle: forbid_for_equality_operators_only
data/.rubocop_todo.yml DELETED
@@ -1,113 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2020-08-30 07:56:14 UTC using RuboCop version 0.89.1.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 359
10
- # Configuration parameters: IgnoredMethods.
11
- Metrics/AbcSize:
12
- Max: 360
13
-
14
- # Offense count: 11
15
- # Configuration parameters: CountComments, CountAsOne, ExcludedMethods.
16
- # ExcludedMethods: refine
17
- Metrics/BlockLength:
18
- Max: 51
19
-
20
- # Offense count: 11
21
- # Configuration parameters: CountBlocks.
22
- Metrics/BlockNesting:
23
- Max: 4
24
-
25
- # Offense count: 137
26
- # Configuration parameters: CountComments, CountAsOne.
27
- Metrics/ClassLength:
28
- Max: 3400
29
-
30
- # Offense count: 203
31
- # Configuration parameters: IgnoredMethods.
32
- Metrics/CyclomaticComplexity:
33
- Max: 130
34
-
35
- # Offense count: 1124
36
- # Configuration parameters: CountComments, CountAsOne, ExcludedMethods.
37
- Metrics/MethodLength:
38
- Max: 2000
39
-
40
- # Offense count: 15
41
- # Configuration parameters: CountKeywordArgs.
42
- Metrics/ParameterLists:
43
- Max: 8
44
-
45
- # Offense count: 140
46
- # Configuration parameters: IgnoredMethods.
47
- Metrics/PerceivedComplexity:
48
- Max: 60
49
-
50
- # Offense count: 201
51
- Naming/AccessorMethodName:
52
- Enabled: false
53
-
54
- # Offense count: 29
55
- # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
56
- Naming/BlockParameterName:
57
- Enabled: false
58
-
59
- # Offense count: 21
60
- # Configuration parameters: AllowedNames.
61
- # AllowedNames: module_parent
62
- Naming/ClassAndModuleCamelCase:
63
- Enabled: false
64
-
65
- # Offense count: 205
66
- # Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, Regex, IgnoreExecutableScripts, AllowedAcronyms.
67
- # AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
68
- Naming/FileName:
69
- Enabled: false
70
-
71
- # Offense count: 1484
72
- # Configuration parameters: EnforcedStyle, IgnoredPatterns.
73
- # SupportedStyles: snake_case, camelCase
74
- Naming/MethodName:
75
- Enabled: false
76
-
77
- # Offense count: 377
78
- # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
79
- # AllowedNames: at, by, db, id, in, io, ip, of, on, os, pp, to
80
- Naming/MethodParameterName:
81
- Enabled: false
82
-
83
- # Offense count: 11
84
- # Configuration parameters: EnforcedStyle.
85
- # SupportedStyles: annotated, template, unannotated
86
- Style/FormatStringToken:
87
- Exclude:
88
- - 'lib/bcdice/game_system/AFF2e.rb'
89
- - 'lib/bcdice/game_system/DeadlineHeroes.rb'
90
- - 'lib/bcdice/game_system/ShinMegamiTenseiKakuseihen.rb'
91
- - 'lib/bcdice/game_system/TorgEternity.rb'
92
- - 'lib/bcdice/game_system/TunnelsAndTrolls.rb'
93
-
94
- # Offense count: 10
95
- # Configuration parameters: AllowIfModifier.
96
- Style/IfInsideElse:
97
- Exclude:
98
- - 'lib/bcdice/game_system/Alsetto.rb'
99
- - 'lib/bcdice/game_system/Cthulhu.rb'
100
- - 'lib/bcdice/game_system/Cthulhu7th.rb'
101
- - 'lib/bcdice/game_system/Cthulhu7th_ChineseTraditional.rb'
102
- - 'lib/bcdice/game_system/Cthulhu7th_Korean.rb'
103
- - 'lib/bcdice/game_system/Cthulhu_ChineseTraditional.rb'
104
- - 'lib/bcdice/game_system/Cthulhu_Korean.rb'
105
- - 'lib/bcdice/game_system/GurpsFW.rb'
106
- - 'lib/bcdice/game_system/SharedFantasia.rb'
107
-
108
- # Offense count: 1289
109
- # Cop supports --auto-correct.
110
- # Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
111
- # URISchemes: http, https
112
- Layout/LineLength:
113
- Max: 460
data/Gemfile DELETED
@@ -1,11 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- group :development, :test do
4
- gem "codecov", "~> 0.2.5"
5
- gem "rake"
6
- gem "rubocop", "~> 0.89.1", require: false
7
- gem "simplecov", "0.17.1", require: false
8
- gem "test-unit"
9
- gem "tomlrb"
10
- gem "yard"
11
- end
data/ROADMAP.md DELETED
@@ -1,30 +0,0 @@
1
- # Roadmap
2
-
3
-
4
- ## Ver2.XX.XX
5
-
6
- 2019年中はどどんとふのサポート期間内であるため、振る舞いやプロジェクトの構成が伴う変更は行わず、Ver2系の更新を継続する。
7
-
8
- - ダイスボットの追加
9
- - バグ修正
10
- - コードリンターの導入
11
- - 軽微なリファクタリング
12
- - 様々なドキュメントのMarkdown化
13
-
14
-
15
- ## Ver3.00.00
16
-
17
- どどんとふのサポート終了後、以下のような変更をした Ver3.00.00 をリリースする。これらの作業は `v3` ブランチにて行われる。
18
-
19
- - ダイスロール処理ライブラリへと方針転換
20
- - IRCボット機能の打ち切り
21
- - カード機能の打ち切り
22
- - GUI版のサポート打ち切り #24
23
- - 状態を持つような全ての機能は打ち切りとなります
24
- - RubyGemsでの公開
25
- - コードの構造を大幅に修正し、よりRubyらしいインターフェースを提供
26
- - EOLとなったRubyバージョンのサポート打ち切り
27
- - ディレクトリ構成をRubyの慣例に合わせたものに修正
28
- - `lib/`: 大部分のコード
29
- - `bin/`: 実行のエントリポイントとなるコード
30
- - `test/`: テストコード
data/Rakefile DELETED
@@ -1,118 +0,0 @@
1
- require "rake/testtask"
2
- require "bundler/gem_helper"
3
-
4
- task default: :test
5
-
6
- namespace "gem" do
7
- gem_helper = Bundler::GemHelper.new
8
- gem_pkg = "#{gem_helper.gemspec.name}-#{gem_helper.gemspec.version}.gem"
9
-
10
- desc "Build #{gem_pkg} into the pkg directory."
11
- task "build" do
12
- gem_helper.build_gem
13
- end
14
-
15
- desc "Push pkg/#{gem_pkg} to RubyGems.org."
16
- task "push" do
17
- sh "gem push pkg/#{gem_pkg} -V"
18
- end
19
- end
20
-
21
- desc "Clean coverage resuts"
22
- task :clean_coverage do
23
- require "simplecov"
24
- resultset_path = SimpleCov::ResultMerger.resultset_path
25
- FileUtils.rm resultset_path if File.exist? resultset_path
26
- end
27
-
28
- desc "Release BCDice"
29
- task :release, ["version"] do |_, args|
30
- version = args.version
31
- version_with_prefix = "Ver#{version}"
32
- version_tag = "v#{version}"
33
- date = Time.now.strftime("%Y/%m/%d")
34
-
35
- header = "#{version_with_prefix} #{date}"
36
- md_header = "### #{header}"
37
-
38
- def replace(file, src, dst)
39
- txt = File.read(file).sub(src, dst)
40
- File.write(file, txt)
41
- end
42
-
43
- # Replace versions
44
- replace("CHANGELOG.md", "### Unreleased", md_header)
45
- replace("src/bcdiceCore.rb", /VERSION = ".+"/, "VERSION = \"#{version}\"")
46
- replace("src/configBcDice.rb", /\$bcDiceVersion = ".+"/, "$bcDiceVersion = \"#{version}\"")
47
- sh "git --no-pager diff"
48
-
49
- # Test and lint
50
- Rake::Task[:test].invoke
51
-
52
- # Commit release
53
- sh "git commit -a -v -e --message='Release #{version_with_prefix}'"
54
-
55
- # Create tag
56
- sections = File.read("CHANGELOG.md").split(/\n{2,}/)
57
- section = sections.find { |s| s.start_with?(md_header) }
58
- section_body = section.sub(md_header, "").strip
59
- sh "git tag -a -e #{version_tag} -m '#{header}' -m '#{section_body}'"
60
-
61
- puts "Do followings:"
62
- puts " $ git checkout release; git merge master"
63
- puts " $ git push origin release"
64
- puts " $ git push origin master"
65
- puts " $ git push origin #{version_tag}"
66
- end
67
-
68
- namespace :test do
69
- Rake::TestTask.new(:dicebots) do |t|
70
- t.description = "ダイスボット"
71
-
72
- t.test_files = [
73
- "test/setup",
74
- "test/test_game_system_commands.rb",
75
- ]
76
- t.libs = [
77
- "test/",
78
- "lib/",
79
- ]
80
- t.ruby_opts = [
81
- "--enable-frozen-string-literal"
82
- ]
83
- end
84
-
85
- Rake::TestTask.new(:unit) do |t|
86
- t.description = "ユニットテスト"
87
- t.test_files = [
88
- "test/setup",
89
- "test/test_base.rb",
90
- "test/test_dicebot_info_is_defined.rb",
91
- "test/test_command_parser.rb",
92
- "test/test_d66_table.rb",
93
- "test/test_srs_help_messages.rb",
94
- "test/test_detailed_rand_results.rb",
95
- "test/range_table_test.rb",
96
- "test/add_dice_parser_test.rb",
97
- "test/test_data_encoding.rb",
98
- "test/test_user_defined_dice_table.rb",
99
- "test/test_randomizer.rb",
100
- "test/test_version_command.rb"
101
- ].compact
102
- end
103
- end
104
-
105
- task test: [
106
- :clean_coverage,
107
- "test:dicebots",
108
- "test:unit",
109
- ]
110
-
111
- require "rubocop/rake_task"
112
- RuboCop::RakeTask.new
113
- task test: [:rubocop] if ENV["CI"] != "true"
114
-
115
- require "yard"
116
- require "yard/rake/yardoc_task"
117
-
118
- YARD::Rake::YardocTask.new
data/bcdice.gemspec DELETED
@@ -1,27 +0,0 @@
1
- require_relative "lib/bcdice/version"
2
-
3
- Gem::Specification.new do |spec|
4
- spec.name = "bcdice"
5
- spec.version = BCDice::VERSION
6
- spec.authors = ["SAKATA Sinji"]
7
- spec.email = ["ysakasin@gmail.com"]
8
-
9
- spec.summary = "BCDice is a rolling dice engine for TRPG"
10
- spec.description = "BCDice is a rolling dice engine for TRPG"
11
- spec.homepage = "https://bcdice.org"
12
- spec.license = "MIT"
13
- spec.required_ruby_version = Gem::Requirement.new(">= 2.5")
14
-
15
- spec.metadata["allowed_push_host"] = "https://rubygems.org/"
16
-
17
- spec.metadata["homepage_uri"] = spec.homepage
18
- spec.metadata["source_code_uri"] = "https://github.com/bcdice/BCDice"
19
- spec.metadata["changelog_uri"] = "https://github.com/bcdice/BCDice/blob/master/CHANGELOG.md"
20
-
21
- # Specify which files should be added to the gem when it is released.
22
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
23
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
25
- end
26
- spec.require_paths = ["lib"]
27
- end
data/bin/repl.rb DELETED
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- if ARGV.find_index { |s| s[0] == "-" }
4
- puts <<~HELP
5
- repl.rb [GAME_SYSTEM] [OPTIONS]
6
-
7
- Options:
8
- --help, -h # Show this message
9
- HELP
10
-
11
- exit
12
- end
13
-
14
- $:.unshift(File.join(__dir__, "../lib"))
15
- require "bcdice/repl"
16
-
17
- repl = BCDice::REPL.new()
18
- repl.history_file = File.join(__dir__, "repl_history")
19
- repl.game_system = ARGV[0] if ARGV[0]
20
-
21
- repl.run()