bcdice 3.1.3 → 3.2.0
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/CHANGELOG.md +33 -2
- data/i18n/StellarKnights/ja_jp.yml +496 -0
- data/lib/bcdice/common_command/add_dice.rb +1 -1
- data/lib/bcdice/common_command/calc.rb +1 -1
- data/lib/bcdice/dice_table.rb +2 -0
- data/lib/bcdice/dice_table/d66_half_grid_table.rb +33 -0
- data/lib/bcdice/dice_table/d66_one_third_table.rb +34 -0
- data/lib/bcdice/game_system.rb +3 -0
- data/lib/bcdice/game_system/AceKillerGene.rb +1 -1
- data/lib/bcdice/game_system/Ainecadette.rb +68 -0
- data/lib/bcdice/game_system/Airgetlamh.rb +1 -1
- data/lib/bcdice/game_system/Alsetto.rb +1 -1
- data/lib/bcdice/game_system/AlterRaise.rb +2 -2
- data/lib/bcdice/game_system/AngelGear.rb +1 -1
- data/lib/bcdice/game_system/AnimaAnimus.rb +1 -1
- data/lib/bcdice/game_system/Arianrhod.rb +6 -8
- data/lib/bcdice/game_system/Avandner.rb +1 -1
- data/lib/bcdice/game_system/BarnaKronika.rb +1 -1
- data/lib/bcdice/game_system/BattleTech.rb +1 -1
- data/lib/bcdice/game_system/BeginningIdol.rb +5 -5
- data/lib/bcdice/game_system/BeginningIdol_Korean.rb +5 -5
- data/lib/bcdice/game_system/BladeOfArcana.rb +1 -1
- data/lib/bcdice/game_system/BlindMythos.rb +1 -1
- data/lib/bcdice/game_system/BloodCrusade.rb +6 -7
- data/lib/bcdice/game_system/BloodMoon.rb +9 -8
- data/lib/bcdice/game_system/CardRanker.rb +8 -7
- data/lib/bcdice/game_system/ChaosFlare.rb +21 -15
- data/lib/bcdice/game_system/Chill.rb +10 -10
- data/lib/bcdice/game_system/Chill3.rb +9 -9
- data/lib/bcdice/game_system/CrashWorld.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu7th.rb +48 -10
- 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/DarkBlaze.rb +0 -11
- data/lib/bcdice/game_system/DarkDaysDrive.rb +8 -7
- data/lib/bcdice/game_system/DeadlineHeroes.rb +2 -2
- data/lib/bcdice/game_system/DemonParasite.rb +5 -13
- data/lib/bcdice/game_system/DesperateRun.rb +1 -1
- data/lib/bcdice/game_system/DoubleCross.rb +1 -1
- data/lib/bcdice/game_system/Dracurouge.rb +1 -1
- data/lib/bcdice/game_system/EclipsePhase.rb +14 -14
- data/lib/bcdice/game_system/Elric.rb +18 -14
- data/lib/bcdice/game_system/Elysion.rb +1 -1
- data/lib/bcdice/game_system/EmbryoMachine.rb +9 -8
- data/lib/bcdice/game_system/Emoklore.rb +3 -3
- data/lib/bcdice/game_system/Fiasco.rb +1 -1
- data/lib/bcdice/game_system/FilledWith.rb +4 -0
- data/lib/bcdice/game_system/GURPS.rb +17 -28
- data/lib/bcdice/game_system/Garako.rb +1 -1
- data/lib/bcdice/game_system/GardenOrder.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/Gorilla.rb +2 -8
- data/lib/bcdice/game_system/GranCrest.rb +18 -11
- data/lib/bcdice/game_system/Gundog.rb +9 -8
- data/lib/bcdice/game_system/GundogRevised.rb +10 -9
- data/lib/bcdice/game_system/GundogZero.rb +1 -1
- data/lib/bcdice/game_system/GurpsFW.rb +16 -16
- data/lib/bcdice/game_system/HarnMaster.rb +19 -26
- data/lib/bcdice/game_system/HatsuneMiku.rb +1 -1
- data/lib/bcdice/game_system/Hieizan.rb +12 -21
- data/lib/bcdice/game_system/HouraiGakuen.rb +1 -1
- data/lib/bcdice/game_system/HuntersMoon.rb +5 -10
- data/lib/bcdice/game_system/InfiniteFantasia.rb +19 -17
- data/lib/bcdice/game_system/Insane.rb +13 -20
- data/lib/bcdice/game_system/IthaWenUa.rb +8 -15
- data/lib/bcdice/game_system/JamesBond.rb +10 -10
- data/lib/bcdice/game_system/JekyllAndHyde.rb +1 -1
- data/lib/bcdice/game_system/Kamigakari.rb +1 -1
- data/lib/bcdice/game_system/KanColle.rb +4 -9
- data/lib/bcdice/game_system/KemonoNoMori.rb +1 -1
- data/lib/bcdice/game_system/KillDeathBusiness.rb +7 -15
- data/lib/bcdice/game_system/KurayamiCrying.rb +55 -2
- data/lib/bcdice/game_system/MeikyuDays.rb +10 -8
- data/lib/bcdice/game_system/MeikyuKingdom.rb +26 -26
- data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +3 -3
- data/lib/bcdice/game_system/MetalHead.rb +12 -22
- data/lib/bcdice/game_system/MetalHeadExtream.rb +5 -5
- data/lib/bcdice/game_system/MonotoneMuseum.rb +8 -6
- data/lib/bcdice/game_system/Nechronica.rb +28 -21
- data/lib/bcdice/game_system/NinjaSlayer.rb +4 -4
- data/lib/bcdice/game_system/NjslyrBattle.rb +8 -11
- data/lib/bcdice/game_system/OneWayHeroics.rb +1 -1
- data/lib/bcdice/game_system/Paradiso.rb +1 -1
- data/lib/bcdice/game_system/ParasiteBlood.rb +1 -1
- data/lib/bcdice/game_system/Peekaboo.rb +4 -9
- data/lib/bcdice/game_system/Pendragon.rb +7 -7
- data/lib/bcdice/game_system/PhantasmAdventure.rb +8 -8
- data/lib/bcdice/game_system/Postman.rb +1 -1
- data/lib/bcdice/game_system/PulpCthulhu.rb +1 -1
- data/lib/bcdice/game_system/Raisondetre.rb +2 -2
- data/lib/bcdice/game_system/Revulture.rb +123 -0
- data/lib/bcdice/game_system/RuneQuest.rb +8 -8
- data/lib/bcdice/game_system/Ryutama.rb +1 -1
- data/lib/bcdice/game_system/Satasupe.rb +1 -1
- data/lib/bcdice/game_system/ScreamHighSchool.rb +2 -2
- data/lib/bcdice/game_system/SharedFantasia.rb +19 -23
- data/lib/bcdice/game_system/ShinobiGami.rb +14 -6
- data/lib/bcdice/game_system/Skynauts.rb +2 -2
- data/lib/bcdice/game_system/SkynautsBouken.rb +228 -0
- data/lib/bcdice/game_system/StellarKnights.rb +59 -696
- data/lib/bcdice/game_system/SterileLife.rb +1 -1
- data/lib/bcdice/game_system/StratoShout.rb +8 -16
- data/lib/bcdice/game_system/Strave.rb +1 -1
- data/lib/bcdice/game_system/SwordWorld.rb +16 -7
- data/lib/bcdice/game_system/SwordWorld2_0.rb +2 -2
- data/lib/bcdice/game_system/SwordWorld2_5.rb +2 -2
- data/lib/bcdice/game_system/TherapieSein.rb +1 -1
- data/lib/bcdice/game_system/TokyoGhostResearch.rb +1 -1
- data/lib/bcdice/game_system/TrinitySeven.rb +4 -4
- data/lib/bcdice/game_system/TunnelsAndTrolls.rb +1 -1
- data/lib/bcdice/game_system/Utakaze.rb +1 -1
- data/lib/bcdice/game_system/Villaciel.rb +1 -1
- data/lib/bcdice/game_system/WARPS.rb +11 -9
- data/lib/bcdice/game_system/WaresBlade.rb +4 -9
- data/lib/bcdice/game_system/Warhammer.rb +15 -6
- data/lib/bcdice/game_system/Warhammer4.rb +15 -11
- data/lib/bcdice/game_system/WitchQuest.rb +1 -1
- data/lib/bcdice/game_system/YankeeYogSothoth.rb +4 -9
- data/lib/bcdice/game_system/meikyu_kingdom_basic/kingdom_table.rb +1 -1
- data/lib/bcdice/game_system/sword_world/rating_parsed.rb +4 -4
- data/lib/bcdice/game_system/sword_world/rating_parser.rb +1 -1
- data/lib/bcdice/game_system/sword_world/transcendent_test.rb +26 -8
- data/lib/bcdice/repl.rb +1 -1
- data/lib/bcdice/result.rb +26 -0
- data/lib/bcdice/version.rb +1 -1
- metadata +9 -4
|
@@ -12,10 +12,10 @@ require "bcdice/enum"
|
|
|
12
12
|
require "bcdice/game_system/sword_world/rating_lexer"
|
|
13
13
|
require "bcdice/game_system/sword_world/rating_parsed"
|
|
14
14
|
|
|
15
|
-
# SwordWorldの威力表コマンドをパースするクラス
|
|
16
15
|
module BCDice
|
|
17
16
|
module GameSystem
|
|
18
17
|
class SwordWorld < Base
|
|
18
|
+
# SwordWorldの威力表コマンドをパースするクラス
|
|
19
19
|
|
|
20
20
|
class RatingParser < Racc::Parser
|
|
21
21
|
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
+
require "bcdice/result"
|
|
2
|
+
|
|
1
3
|
module BCDice
|
|
2
4
|
module GameSystem
|
|
3
5
|
class SwordWorld2_0 < SwordWorld
|
|
4
6
|
# 超越判定のノード
|
|
5
7
|
class TranscendentTest
|
|
8
|
+
RESULT_STR = {
|
|
9
|
+
success: "成功",
|
|
10
|
+
failure: "失敗",
|
|
11
|
+
super_success: "超成功",
|
|
12
|
+
critical: "自動的成功",
|
|
13
|
+
fumble: "自動的失敗",
|
|
14
|
+
}.freeze
|
|
15
|
+
|
|
6
16
|
# @param [Integer] critical_value クリティカル値
|
|
7
17
|
# @param [Integer] modifier 修正値
|
|
8
18
|
# @param [String, nil] cmp_op 比較演算子(> または >=)
|
|
@@ -40,14 +50,21 @@ module BCDice
|
|
|
40
50
|
sum = sum_of_dice(value_groups)
|
|
41
51
|
total_sum = sum + @modifier
|
|
42
52
|
|
|
53
|
+
result = result_status(total_sum, value_groups.length, fumble, critical)
|
|
43
54
|
parts = [
|
|
44
55
|
"(#{@expression})",
|
|
45
56
|
"#{dice_str(value_groups, sum)}#{@modifier_str}",
|
|
46
57
|
total_sum,
|
|
47
|
-
|
|
58
|
+
RESULT_STR[result],
|
|
48
59
|
].compact
|
|
49
60
|
|
|
50
|
-
return
|
|
61
|
+
return Result.new.tap do |r|
|
|
62
|
+
r.text = parts.join(" > ")
|
|
63
|
+
r.fumble = result == :fumble
|
|
64
|
+
r.critical = result == :critical
|
|
65
|
+
r.success = [:success, :super_success, :critical].include?(result)
|
|
66
|
+
r.failure = [:failure, :fumble].include?(result)
|
|
67
|
+
end
|
|
51
68
|
end
|
|
52
69
|
|
|
53
70
|
private
|
|
@@ -86,16 +103,17 @@ module BCDice
|
|
|
86
103
|
# @param [Integer] n_value_groups 出目のグループの数
|
|
87
104
|
# @param [Boolean] fumble ファンブルかどうか
|
|
88
105
|
# @param [Boolean] critical クリティカルかどうか
|
|
89
|
-
# @return [
|
|
90
|
-
def
|
|
91
|
-
return
|
|
92
|
-
return
|
|
106
|
+
# @return [Symbol]
|
|
107
|
+
def result_status(total_sum, n_value_groups, fumble, critical)
|
|
108
|
+
return :no_target unless @target
|
|
109
|
+
return :fumble if fumble
|
|
110
|
+
return :critical if critical
|
|
93
111
|
|
|
94
112
|
if total_sum.send(@cmp_op, @target)
|
|
95
113
|
# 振り足しが行われ、合計値が41以上ならば「超成功」
|
|
96
|
-
n_value_groups >= 2 && total_sum >= 41 ?
|
|
114
|
+
n_value_groups >= 2 && total_sum >= 41 ? :super_success : :success
|
|
97
115
|
else
|
|
98
|
-
|
|
116
|
+
:failure
|
|
99
117
|
end
|
|
100
118
|
end
|
|
101
119
|
end
|
data/lib/bcdice/repl.rb
CHANGED
data/lib/bcdice/result.rb
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module BCDice
|
|
4
|
+
# ダイスロールの結果を表すクラス
|
|
5
|
+
#
|
|
6
|
+
# コマンドの結果の文字列や、成功/失敗/クリティカル/ファンブルの情報を保持する。
|
|
7
|
+
# 成功/失敗は同時に発生しないこととする。
|
|
8
|
+
# 成功/失敗のペアとクリティカル、ファンブルの三者は独立した要素とし、
|
|
9
|
+
# 「クリティカルだが失敗」や「ファンブルだが成功でも失敗でもない」を許容する。
|
|
4
10
|
class Result
|
|
5
11
|
class << self
|
|
12
|
+
# +success+ が設定された +Result+ を作成する
|
|
13
|
+
#
|
|
14
|
+
# @param text [String]
|
|
15
|
+
# @return [Result]
|
|
6
16
|
def success(text)
|
|
7
17
|
new.tap do |r|
|
|
8
18
|
r.text = text
|
|
@@ -10,6 +20,10 @@ module BCDice
|
|
|
10
20
|
end
|
|
11
21
|
end
|
|
12
22
|
|
|
23
|
+
# +failure+ が設定された +Result+ を作成する
|
|
24
|
+
#
|
|
25
|
+
# @param text [String]
|
|
26
|
+
# @return [Result]
|
|
13
27
|
def failure(text)
|
|
14
28
|
new.tap do |r|
|
|
15
29
|
r.text = text
|
|
@@ -17,6 +31,10 @@ module BCDice
|
|
|
17
31
|
end
|
|
18
32
|
end
|
|
19
33
|
|
|
34
|
+
# +success+ と +critical+ が設定された +Result+ を作成する
|
|
35
|
+
#
|
|
36
|
+
# @param text [String]
|
|
37
|
+
# @return [Result]
|
|
20
38
|
def critical(text)
|
|
21
39
|
new.tap do |r|
|
|
22
40
|
r.text = text
|
|
@@ -25,6 +43,10 @@ module BCDice
|
|
|
25
43
|
end
|
|
26
44
|
end
|
|
27
45
|
|
|
46
|
+
# +failure+ と +fumble+ が設定された +Result+ を作成する
|
|
47
|
+
#
|
|
48
|
+
# @param text [String]
|
|
49
|
+
# @return [Result]
|
|
28
50
|
def fumble(text)
|
|
29
51
|
new.tap do |r|
|
|
30
52
|
r.text = text
|
|
@@ -33,11 +55,15 @@ module BCDice
|
|
|
33
55
|
end
|
|
34
56
|
end
|
|
35
57
|
|
|
58
|
+
# その後の判定で何もすることがないことを示すために利用する
|
|
59
|
+
#
|
|
60
|
+
# @return [:nothing]
|
|
36
61
|
def nothing
|
|
37
62
|
:nothing
|
|
38
63
|
end
|
|
39
64
|
end
|
|
40
65
|
|
|
66
|
+
# @param text [String | nil]
|
|
41
67
|
def initialize(text = nil)
|
|
42
68
|
@text = text
|
|
43
69
|
@rands = nil
|
data/lib/bcdice/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bcdice
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- SAKATA Sinji
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-04-
|
|
11
|
+
date: 2021-04-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: i18n
|
|
@@ -63,6 +63,7 @@ files:
|
|
|
63
63
|
- i18n/MonotoneMuseum/ko_kr.yml
|
|
64
64
|
- i18n/Nechronica/ja_jp.yml
|
|
65
65
|
- i18n/Nechronica/ko_kr.yml
|
|
66
|
+
- i18n/StellarKnights/ja_jp.yml
|
|
66
67
|
- i18n/StratoShout/ja_jp.yml
|
|
67
68
|
- i18n/StratoShout/ko_kr.yml
|
|
68
69
|
- i18n/ja_jp.yml
|
|
@@ -104,6 +105,8 @@ files:
|
|
|
104
105
|
- lib/bcdice/dice_table.rb
|
|
105
106
|
- lib/bcdice/dice_table/chain_table.rb
|
|
106
107
|
- lib/bcdice/dice_table/d66_grid_table.rb
|
|
108
|
+
- lib/bcdice/dice_table/d66_half_grid_table.rb
|
|
109
|
+
- lib/bcdice/dice_table/d66_one_third_table.rb
|
|
107
110
|
- lib/bcdice/dice_table/d66_parity_table.rb
|
|
108
111
|
- lib/bcdice/dice_table/d66_range_table.rb
|
|
109
112
|
- lib/bcdice/dice_table/d66_table.rb
|
|
@@ -118,6 +121,7 @@ files:
|
|
|
118
121
|
- lib/bcdice/game_system.rb
|
|
119
122
|
- lib/bcdice/game_system/AFF2e.rb
|
|
120
123
|
- lib/bcdice/game_system/AceKillerGene.rb
|
|
124
|
+
- lib/bcdice/game_system/Ainecadette.rb
|
|
121
125
|
- lib/bcdice/game_system/Airgetlamh.rb
|
|
122
126
|
- lib/bcdice/game_system/AlchemiaStruggle.rb
|
|
123
127
|
- lib/bcdice/game_system/Alsetto.rb
|
|
@@ -263,6 +267,7 @@ files:
|
|
|
263
267
|
- lib/bcdice/game_system/Raisondetre.rb
|
|
264
268
|
- lib/bcdice/game_system/RecordOfLodossWar.rb
|
|
265
269
|
- lib/bcdice/game_system/RecordOfSteam.rb
|
|
270
|
+
- lib/bcdice/game_system/Revulture.rb
|
|
266
271
|
- lib/bcdice/game_system/RokumonSekai2.rb
|
|
267
272
|
- lib/bcdice/game_system/RoleMaster.rb
|
|
268
273
|
- lib/bcdice/game_system/RuinBreakers.rb
|
|
@@ -283,6 +288,7 @@ files:
|
|
|
283
288
|
- lib/bcdice/game_system/ShinobiGami.rb
|
|
284
289
|
- lib/bcdice/game_system/ShoujoTenrankai.rb
|
|
285
290
|
- lib/bcdice/game_system/Skynauts.rb
|
|
291
|
+
- lib/bcdice/game_system/SkynautsBouken.rb
|
|
286
292
|
- lib/bcdice/game_system/SteamPunkers.rb
|
|
287
293
|
- lib/bcdice/game_system/StellarKnights.rb
|
|
288
294
|
- lib/bcdice/game_system/SterileLife.rb
|
|
@@ -376,8 +382,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
376
382
|
- !ruby/object:Gem::Version
|
|
377
383
|
version: '0'
|
|
378
384
|
requirements: []
|
|
379
|
-
|
|
380
|
-
rubygems_version: 2.7.6.2
|
|
385
|
+
rubygems_version: 3.1.2
|
|
381
386
|
signing_key:
|
|
382
387
|
specification_version: 4
|
|
383
388
|
summary: BCDice is a rolling dice engine for TRPG
|