bcdice 3.6.0 → 3.8.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 +56 -0
- data/i18n/Arianrhod/ja_jp.yml +3 -0
- data/i18n/Emoklore/ja_jp.yml +7 -0
- data/i18n/FutariSousa/ja_jp.yml +431 -0
- data/i18n/LogHorizon/ja_jp.yml +1 -1
- data/i18n/SwordWorld/ja_jp.yml +1 -0
- data/i18n/SwordWorld/zh_hans.yml +7 -0
- data/i18n/SwordWorld2_0/zh_hans.yml +37 -0
- data/i18n/SwordWorld2_5/ja_jp.yml +1 -1
- data/i18n/SwordWorld2_5/zh_hans.yml +57 -0
- data/lib/bcdice/arithmetic/parser.rb +1 -1
- data/lib/bcdice/command/parser.rb +1 -1
- data/lib/bcdice/common_command/add_dice/parser.rb +106 -74
- data/lib/bcdice/common_command/add_dice.rb +1 -1
- data/lib/bcdice/common_command/barabara_dice/parser.rb +1 -1
- data/lib/bcdice/common_command/calc/parser.rb +1 -1
- data/lib/bcdice/common_command/d66_dice.rb +1 -1
- data/lib/bcdice/common_command/reroll_dice/parser.rb +1 -1
- data/lib/bcdice/common_command/tally_dice/parser.rb +1 -1
- data/lib/bcdice/common_command/upper_dice/parser.rb +1 -1
- 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 +4 -4
- data/lib/bcdice/game_system/AssaultEngine.rb +3 -3
- data/lib/bcdice/game_system/Ayabito.rb +170 -4
- data/lib/bcdice/game_system/BeastBindTrinity.rb +1 -1
- data/lib/bcdice/game_system/BeginningIdol.rb +4 -2
- data/lib/bcdice/game_system/BeginningIdol2022.rb +184 -0
- data/lib/bcdice/game_system/BladeOfArcana.rb +3 -3
- data/lib/bcdice/game_system/Bloodorium.rb +68 -0
- data/lib/bcdice/game_system/ConvictorDrive.rb +117 -0
- 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/CyberpunkRed.rb +2 -6
- data/lib/bcdice/game_system/DeadlineHeroes.rb +1 -1
- data/lib/bcdice/game_system/DungeonsAndDragons5.rb +196 -0
- data/lib/bcdice/game_system/EmbryoMachine.rb +4 -4
- data/lib/bcdice/game_system/Emoklore.rb +8 -8
- data/lib/bcdice/game_system/FutariSousa.rb +31 -5
- data/lib/bcdice/game_system/GURPS.rb +1 -1
- data/lib/bcdice/game_system/GehennaAn.rb +2 -2
- data/lib/bcdice/game_system/GhostLive.rb +144 -0
- data/lib/bcdice/game_system/GoblinSlayer.rb +30 -8
- data/lib/bcdice/game_system/HunterTheReckoning5th.rb +152 -0
- data/lib/bcdice/game_system/IfIfIf.rb +648 -0
- data/lib/bcdice/game_system/Kutulu.rb +95 -0
- data/lib/bcdice/game_system/LostRoyal.rb +1 -1
- data/lib/bcdice/game_system/NobunagasBlackCastle.rb +237 -0
- data/lib/bcdice/game_system/OracleEngine.rb +1 -1
- data/lib/bcdice/game_system/Raisondetre.rb +1 -1
- data/lib/bcdice/game_system/RokumonSekai2.rb +1 -1
- data/lib/bcdice/game_system/SajinsenkiAGuS.rb +154 -0
- data/lib/bcdice/game_system/Sengensyou.rb +59 -0
- data/lib/bcdice/game_system/ShinkuuGakuen.rb +1 -1
- data/lib/bcdice/game_system/ShinobiGami.rb +14 -1
- data/lib/bcdice/game_system/SkynautsBouken.rb +93 -2
- data/lib/bcdice/game_system/StellarLife.rb +1 -1
- data/lib/bcdice/game_system/StrangerOfSwordCity.rb +1 -1
- data/lib/bcdice/game_system/SwordWorld.rb +2 -2
- data/lib/bcdice/game_system/SwordWorld2_0_SimplifiedChinese.rb +84 -0
- data/lib/bcdice/game_system/SwordWorld2_5_SimplifiedChinese.rb +95 -0
- data/lib/bcdice/game_system/SwordWorld_SimplifiedChinese.rb +29 -0
- data/lib/bcdice/game_system/TherapieSein.rb +2 -2
- data/lib/bcdice/game_system/Torg.rb +1 -1
- data/lib/bcdice/game_system/TorgEternity.rb +54 -18
- data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +26 -12
- data/lib/bcdice/game_system/VisionConnect.rb +135 -0
- data/lib/bcdice/game_system/Warhammer4.rb +4 -0
- data/lib/bcdice/game_system/WorldOfDarkness.rb +54 -50
- data/lib/bcdice/game_system/cthulhu7th/full_auto.rb +1 -1
- data/lib/bcdice/game_system/filled_with/tresure_tables.rb +1 -1
- data/lib/bcdice/game_system/satasupe/tables.rb +1 -1
- data/lib/bcdice/game_system/sword_world/rating_parser.rb +1 -1
- data/lib/bcdice/game_system.rb +15 -0
- data/lib/bcdice/version.rb +1 -1
- metadata +26 -6
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'bcdice/command/parser'
|
|
4
|
+
|
|
5
|
+
module BCDice
|
|
6
|
+
module GameSystem
|
|
7
|
+
class VisionConnect < Base
|
|
8
|
+
# ゲームシステムの識別子
|
|
9
|
+
ID = "VisionConnect"
|
|
10
|
+
|
|
11
|
+
# ゲームシステム名
|
|
12
|
+
NAME = "ヴィジョンコネクト"
|
|
13
|
+
|
|
14
|
+
# ゲームシステム名の読みがな
|
|
15
|
+
SORT_KEY = "ういしよんこねくと"
|
|
16
|
+
|
|
17
|
+
HELP_MESSAGE = <<~TEXT
|
|
18
|
+
・判定(VC+x@c#f>=y)
|
|
19
|
+
!:コマンドの最初に付けると致命的失敗が全てアクシデントになる。
|
|
20
|
+
x:修正値。能力値、戦闘値、その他修正値など。省略可。
|
|
21
|
+
y:目標値。省略時は決定的成功/致命的失敗のみ表示。
|
|
22
|
+
c:クリティカル値。@ごと省略可。省略時は12。
|
|
23
|
+
f:ファンブル値。#ごと省略可。省略時は3。
|
|
24
|
+
(例)VC+3>=8
|
|
25
|
+
VC+7@11>=12
|
|
26
|
+
!VC+6-1#4>=10
|
|
27
|
+
|
|
28
|
+
・各種表
|
|
29
|
+
アクシデント表 AT
|
|
30
|
+
トラブル表 TT
|
|
31
|
+
TEXT
|
|
32
|
+
|
|
33
|
+
def eval_game_system_specific_command(command)
|
|
34
|
+
return check_action(command) || roll_tables(command, TABLES)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def check_action(command)
|
|
38
|
+
parser = Command::Parser.new(/!?VC/, round_type: RoundType::FLOOR)
|
|
39
|
+
.enable_critical
|
|
40
|
+
.enable_fumble
|
|
41
|
+
.restrict_cmp_op_to(nil, :>=)
|
|
42
|
+
parsed = parser.parse(command)
|
|
43
|
+
return nil if parsed.nil?
|
|
44
|
+
|
|
45
|
+
stamina_zero = parsed.command[0] == '!'
|
|
46
|
+
critical_target = parsed.critical || 12
|
|
47
|
+
fumble_target = parsed.fumble || 3
|
|
48
|
+
accident_target = stamina_zero ? fumble_target : 2
|
|
49
|
+
|
|
50
|
+
dice_arr = @randomizer.roll_barabara(2, 6)
|
|
51
|
+
dice_sum = dice_arr.sum
|
|
52
|
+
result_sum = dice_sum + parsed.modify_number
|
|
53
|
+
is_critical = dice_sum >= critical_target
|
|
54
|
+
is_fumble = dice_sum <= fumble_target
|
|
55
|
+
is_accident = dice_sum <= accident_target
|
|
56
|
+
is_trouble = is_fumble && !is_accident
|
|
57
|
+
if is_critical
|
|
58
|
+
is_success = true
|
|
59
|
+
result_str = "決定的成功"
|
|
60
|
+
elsif is_accident
|
|
61
|
+
is_success = false
|
|
62
|
+
result_str = "致命的失敗(アクシデント)"
|
|
63
|
+
elsif is_trouble
|
|
64
|
+
is_success = false
|
|
65
|
+
result_str = "致命的失敗(トラブル)"
|
|
66
|
+
elsif parsed.target_number.nil?
|
|
67
|
+
is_success = nil
|
|
68
|
+
elsif result_sum >= parsed.target_number
|
|
69
|
+
is_success = true
|
|
70
|
+
result_str = "成功"
|
|
71
|
+
else
|
|
72
|
+
is_success = false
|
|
73
|
+
result_str = "失敗"
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
sequence = [
|
|
77
|
+
"(#{parsed.to_s(:after_modify_number)})",
|
|
78
|
+
"#{dice_sum}[#{dice_arr.join(',')}]#{Format.modifier(parsed.modify_number)}",
|
|
79
|
+
result_sum,
|
|
80
|
+
result_str
|
|
81
|
+
].compact
|
|
82
|
+
|
|
83
|
+
Result.new.tap do |r|
|
|
84
|
+
r.text = sequence.join(" > ")
|
|
85
|
+
r.critical = is_critical
|
|
86
|
+
r.fumble = is_fumble
|
|
87
|
+
r.success = is_success || false
|
|
88
|
+
r.failure = is_success.nil? ? false : !is_success
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
TABLES = {
|
|
93
|
+
'AT' => DiceTable::Table.new(
|
|
94
|
+
'アクシデント表',
|
|
95
|
+
'1D6',
|
|
96
|
+
[
|
|
97
|
+
'頭がぼんやりして、まぶたが重くなってきた……。これは睡魔の襲来? キャラクターの操作がおぼつかなくなる。シーン終了まで能力値判定、戦闘値判定の達成値に-3される。スタミナを3点消費することで、この効果を打ち消すことができる。',
|
|
98
|
+
'キーボード、マウス、ゲームパッドなどが操作不能になった! キャラクターを操作することができない。戦闘中の場合は次のラウンドの準備プロセス終了までキャラクターアクションを行うことができず、スキルや特技の使用もできない。スタミナを3点消費することで、この効果を打ち消すことができる。',
|
|
99
|
+
'急に画面が真っ暗に! パソコンやゲーム機を見ると、動作はしている。これはモニタの問題かっ! キャラクターを操作することができない。戦闘中の場合は次のラウンドの終了までキャラクターアクションを行うことができず、スキル、特技の使用もできない。スタミナを4点消費することで、この効果を打ち消すことができる。',
|
|
100
|
+
'突然、通信回線が不調となり、切断されてしまった! 急いで再ログインしなければ! シーンから自動的に退場となる。戦闘中の場合は次のラウンドの準備プロセス終了後、登場できる。スタミナを4点消費することで、この効果を打ち消すことができる。',
|
|
101
|
+
'いきなり画面が真っ黒になり、パソコンやゲーム機が再起動し始めた……。シーンから自動的に退場となる。戦闘中の場合は次のラウンドの終了後、登場できる。スタミナを5点消費することで、この効果を打ち消すことができる。',
|
|
102
|
+
'突然、画面が消えた。いや、画面だけじゃない。電化製品がすべて止まっているようだ。もしや、これは停電!? シーンから自動的に退場となる。次のシーンの開始時に登場できる。スタミナを5点消費することで、この効果を打ち消すことができる。',
|
|
103
|
+
]
|
|
104
|
+
),
|
|
105
|
+
'TT' => DiceTable::D66RangeTable.new(
|
|
106
|
+
'トラブル表',
|
|
107
|
+
{
|
|
108
|
+
11..13 => 'チャットで誤爆(発言ミス)をしてしまった。恥ずかしさで、スタミナが1点減少する。',
|
|
109
|
+
14..16 => 'かまってほしいのか、ペットがちょっとした悪戯をしてきた。ごめん、今は忙しいのだ。ペットを取得していない場合は何も起こらない。ペットを取得していた場合、罪悪感によりスタミナが1点減少する。',
|
|
110
|
+
21..23 => '何かの用事があるのか、それとも食事の時間なのか、家族から声を掛けられた。家族を取得していない場合は何も起こらない。家族を取得していた場合、気が焦ってスタミナが2点減少する。',
|
|
111
|
+
24..26 => '玄関のチャイムが鳴り、「宅配便でーす」の声が外から聞こえてきた。こんな時にっ!? 家族がいれば、荷物を受け取ってもらえるのだが……。家族を取得している場合は何も起こらない。家族を取得していない場合、スタミナが2点減少する。',
|
|
112
|
+
31..33 => '操作中に勢い余って腕が飲み物に当たってしまい、中身がこぼれてしまった。あとで掃除しないと……。ドリンクを取得していない、あるいはすべて使用済みである場合は何も起こらない。ドリンクを1個失う。',
|
|
113
|
+
34..36 => 'キーボードやゲームパッドの調子があまりよくない。やっぱり、ゲーミングデバイスに買い換えた方がいいか……。デバイスを取得している場合は何も起こらない。デバイスを取得していない場合、ストレスによりスタミナが2点減少する。',
|
|
114
|
+
41..43 => '知り合いから電話が掛かってきた。電話しながらの操作はちょっと大変だ。より集中しなければならないため、スタミナが2点減少する。',
|
|
115
|
+
44..46 => '急にお手洗いに行きたくなってきた。ちょっと我慢しなければならないため、スタミナが2点減少する。',
|
|
116
|
+
51..51 => 'レアモンスターがポップ(出現)したとチャットで通知が来た! でも、今は行くことができない……。ブレイブを取得していない場合は何も起こらない。ブレイブを取得している場合、悔しさでスタミナが3点減少する。',
|
|
117
|
+
52..52 => '出品しているアイテムのマーケットでの相場が下がったと知り合いからチャットが飛んできた。マイスターを取得していない場合は何も起こらない。マイスターを取得している場合、悲しさでスタミナが3点減少する。',
|
|
118
|
+
53..53 => '操作の方法が分からなくなって、焦りまくる。ノービスを取得していない場合は何も起こらない。ノービスを取得している場合、混乱でスタミナが3点減少する。',
|
|
119
|
+
54..54 => 'ギルドのメンバーからギルドを抜けたいという相談のチャットが飛んできた。リーダーを取得していない場合は何も起こらない。リーダーを取得している場合、驚きのあまりスタミナが3点減少する。',
|
|
120
|
+
55..55 => '知り合いから攻略の手伝いを頼むチャットが飛んできた。ごめんなさい、今はちょっと無理……。ヘルパーを取得していない場合は何も起こらない。ヘルパーを取得している場合、申し訳なさでスタミナが3点減少する。',
|
|
121
|
+
56..56 => 'つきまとってくるユーザーから、しつこくチャットが飛んでくる。面倒くさいなぁ。フェイバリットを取得していない場合は何も起こらない。フェイバリットを取得している場合、煩わしさでスタミナが3点減少する。',
|
|
122
|
+
61..61 => '誰かと一緒にプレイするのに慣れていないためか、ちょっと緊張しているかもしれない。ローンウルフを取得していない場合は何も起こらない。ローンウルフを取得している場合、緊張でスタミナが3点減少する。',
|
|
123
|
+
62..62 => '事前に入手していた情報が間違っていた!? どう対応してよいか分からず、焦りまくる。ブレインを取得していない場合は何も起こらない。ブレインを取得している場合、焦りのあまりスタミナが3点減少する。',
|
|
124
|
+
63..63 => '配信でトラブルが発生!? 対応に慌ててしまう。ストリーマーを取得していない場合は何も起こらない。ストリーマーを取得している場合、狼狽によってスタミナが3点減少する。',
|
|
125
|
+
64..64 => '使っているゲーミングデバイスの調子がよくない。ガジェッターを取得していない場合は何も起こらない。ガジェッターを取得している場合、いらだちでスタミナが3点減少する。',
|
|
126
|
+
65..65 => '合間にプレイしている別のゲームや流し見していた動画に注意が向いて、操作をミスしてしまう。カジュアルを取得していない場合は何も起こらない。カジュアルを取得している場合、後悔でスタミナが3点減少する。',
|
|
127
|
+
66..66 => 'ハードコアを取得していない場合は何も起こらない。トラブル表の51~65の項目の効果を受ける。ハードコア以外に取得しているスタイルに合わせて、効果を適用すること(たとえば、ブレイブならば51、マイスターなら52となる)。',
|
|
128
|
+
}
|
|
129
|
+
),
|
|
130
|
+
}.freeze
|
|
131
|
+
|
|
132
|
+
register_prefix('!?VC', TABLES.keys)
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
|
@@ -16,30 +16,24 @@ module BCDice
|
|
|
16
16
|
HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
|
|
17
17
|
・判定コマンド(xSTn+y or xSTSn+y or xSTAn+y)
|
|
18
18
|
(ダイス個数)ST(難易度)+(自動成功)
|
|
19
|
-
(ダイス個数)STS(難易度)+(自動成功) ※出目10
|
|
19
|
+
(ダイス個数)STS(難易度)+(自動成功) ※出目10で振り足し、振り足し分の出目1で打ち消されない
|
|
20
|
+
(ダイス個数)STB(難易度)+(自動成功) ※出目10で振り足し、振り足し分の出目1で打ち消される
|
|
20
21
|
(ダイス個数)STA(難易度)+(自動成功) ※出目10は2成功 [20thルール]
|
|
21
22
|
|
|
22
23
|
難易度=省略時6
|
|
23
|
-
自動成功=省略時0
|
|
24
|
+
自動成功=省略時0、出目1で打ち消されない自動成功を指定
|
|
24
25
|
INFO_MESSAGE_TEXT
|
|
25
26
|
|
|
26
27
|
register_prefix('\d+ST')
|
|
27
28
|
|
|
28
|
-
def initialize(command)
|
|
29
|
-
super(command)
|
|
30
|
-
@successDice = 0
|
|
31
|
-
@botchDice = 0
|
|
32
|
-
@rerollDice = 0
|
|
33
|
-
end
|
|
34
|
-
|
|
35
29
|
def eval_game_system_specific_command(command)
|
|
36
|
-
|
|
30
|
+
difficulty = 6
|
|
37
31
|
auto_success = 0
|
|
38
|
-
|
|
39
32
|
enabled_reroll = false
|
|
33
|
+
enabled_reroll_with_botch = false
|
|
40
34
|
enabled_20th = false
|
|
41
35
|
|
|
42
|
-
md = command.match(/\A(\d+)(ST[
|
|
36
|
+
md = command.match(/\A(\d+)(ST[SAB]?)(\d+)?([+-]\d+)?/)
|
|
43
37
|
|
|
44
38
|
dice_pool = md[1].to_i
|
|
45
39
|
case md[2]
|
|
@@ -47,54 +41,74 @@ module BCDice
|
|
|
47
41
|
enabled_reroll = true
|
|
48
42
|
when 'STA'
|
|
49
43
|
enabled_20th = true
|
|
44
|
+
when 'STB'
|
|
45
|
+
enabled_reroll_with_botch = true
|
|
50
46
|
end
|
|
51
|
-
|
|
47
|
+
difficulty = md[3].to_i if md[3]
|
|
52
48
|
auto_success = md[4].to_i if md[4]
|
|
53
49
|
|
|
54
|
-
|
|
50
|
+
difficulty = 6 if difficulty < 2
|
|
55
51
|
|
|
56
52
|
sequence = []
|
|
57
|
-
sequence.push "DicePool=#{dice_pool}, Difficulty=#{
|
|
53
|
+
sequence.push "DicePool=#{dice_pool}, Difficulty=#{difficulty}, AutomaticSuccess=#{auto_success}"
|
|
58
54
|
|
|
59
55
|
# 出力では Difficulty=11..12 もあり得る
|
|
60
|
-
|
|
56
|
+
difficulty = 10 if difficulty > 10
|
|
61
57
|
|
|
62
|
-
total_success =
|
|
58
|
+
total_success = 0
|
|
63
59
|
total_botch = 0
|
|
60
|
+
once_success = false
|
|
64
61
|
|
|
65
|
-
dice, success, botch
|
|
62
|
+
dice, ten_success, success, botch = roll_wod(dice_pool, difficulty)
|
|
66
63
|
sequence.push dice.join(',')
|
|
67
64
|
total_success += success
|
|
68
65
|
total_botch += botch
|
|
69
66
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
67
|
+
# 成功がひとつでもあったか覚えておく
|
|
68
|
+
once_success = true if success > 0 || ten_success > 0
|
|
69
|
+
|
|
70
|
+
if enabled_20th
|
|
71
|
+
# 20周年記念版なら10の目は2成功扱い
|
|
72
|
+
total_success += ten_success * 2
|
|
73
|
+
else
|
|
74
|
+
# Revised Editionでは10は1成功と数える
|
|
75
|
+
total_success += ten_success
|
|
76
|
+
|
|
77
|
+
# 振り足し判定ありなら10が出ただけ振り足しを行う
|
|
78
|
+
if enabled_reroll || enabled_reroll_with_botch
|
|
79
|
+
while ten_success > 0
|
|
80
|
+
dice, ten_success, success, botch = roll_wod(ten_success, difficulty)
|
|
81
|
+
sequence.push dice.join(',')
|
|
82
|
+
total_success += (success + ten_success)
|
|
83
|
+
|
|
84
|
+
if enabled_reroll_with_botch
|
|
85
|
+
# 振り足しでのボッチありなら出目1をカウントする
|
|
86
|
+
total_botch += botch
|
|
87
|
+
end
|
|
88
|
+
end
|
|
79
89
|
end
|
|
80
90
|
end
|
|
81
91
|
|
|
92
|
+
total_success -= [total_success, total_botch].min
|
|
93
|
+
|
|
94
|
+
total_success += auto_success # 意志力による自動成功は打ち消されない
|
|
95
|
+
|
|
82
96
|
if total_success > 0
|
|
83
97
|
sequence.push "成功数#{total_success}"
|
|
84
|
-
|
|
98
|
+
return Result.success(sequence.join(' > '))
|
|
99
|
+
elsif total_botch > 0 && once_success == false
|
|
100
|
+
# ボッチが存在し、かつ成功がひとつもない場合のみ大失敗
|
|
85
101
|
sequence.push "大失敗"
|
|
102
|
+
return Result.fumble(sequence.join(' > '))
|
|
86
103
|
else
|
|
87
104
|
sequence.push "失敗"
|
|
105
|
+
return Result.failure(sequence.join(' > '))
|
|
88
106
|
end
|
|
89
|
-
|
|
90
|
-
output = sequence.join(' > ')
|
|
91
|
-
return output
|
|
92
107
|
end
|
|
93
108
|
|
|
94
|
-
#
|
|
95
|
-
#
|
|
96
|
-
|
|
97
|
-
def roll_wod(dice_pool, diff, enabled_botch = true, auto_success_value = 1)
|
|
109
|
+
# 出目10と1、難易度以上が出た成功の目をカウントする。
|
|
110
|
+
# それぞれの解釈はバージョンによって異なるため、呼び出し元で行う。
|
|
111
|
+
def roll_wod(dice_pool, difficulty)
|
|
98
112
|
# FIXME: まとめて振る
|
|
99
113
|
dice = Array.new(dice_pool) do
|
|
100
114
|
dice_now = @randomizer.roll_once(10)
|
|
@@ -105,30 +119,20 @@ module BCDice
|
|
|
105
119
|
|
|
106
120
|
success = 0
|
|
107
121
|
botch = 0
|
|
108
|
-
|
|
122
|
+
ten_success = 0
|
|
109
123
|
|
|
110
124
|
dice.each do |d|
|
|
111
125
|
case d
|
|
112
126
|
when 10
|
|
113
|
-
|
|
114
|
-
when
|
|
127
|
+
ten_success += 1
|
|
128
|
+
when difficulty...10
|
|
115
129
|
success += 1
|
|
116
130
|
when 1
|
|
117
|
-
botch += 1
|
|
131
|
+
botch += 1
|
|
118
132
|
end
|
|
119
133
|
end
|
|
120
134
|
|
|
121
|
-
|
|
122
|
-
success += auto_success
|
|
123
|
-
|
|
124
|
-
if enabled_botch
|
|
125
|
-
# 成功と大失敗を相殺する
|
|
126
|
-
c = [success, botch].min
|
|
127
|
-
success -= c
|
|
128
|
-
botch -= c
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
return dice, success, botch, auto_success
|
|
135
|
+
return dice, ten_success, success, botch
|
|
132
136
|
end
|
|
133
137
|
end
|
|
134
138
|
end
|
|
@@ -6,7 +6,7 @@ module BCDice
|
|
|
6
6
|
TAG_TABLE = DiceTable::D66GridTable.new(
|
|
7
7
|
"タグ決定表",
|
|
8
8
|
[
|
|
9
|
-
["情報イベント", "
|
|
9
|
+
["情報イベント", "エクストリーム(サ)", "カワイイ(サ)", "トンデモ(サ)", "マニア(サ)", "ヲタク(サ)"],
|
|
10
10
|
["音楽(ア)", "好きなタグ", "トレンド(ア)", "読書(ア)", "パフォーマンス(ア)", "美術(ア)"],
|
|
11
11
|
["アラサガシ(マ)", "おせっかい(マ)", "好きなタグ", "家事(マ)", "ガリ勉(マ)", "健康(マ)"],
|
|
12
12
|
["アウトドア(休)", "工作(休)", "スポーツ(休)", "同一タグ", "ハイソ(休)", "旅行(休)"],
|
data/lib/bcdice/game_system.rb
CHANGED
|
@@ -26,10 +26,12 @@ require "bcdice/game_system/BattleTech"
|
|
|
26
26
|
require "bcdice/game_system/BeastBindTrinity"
|
|
27
27
|
require "bcdice/game_system/BeginningIdol"
|
|
28
28
|
require "bcdice/game_system/BeginningIdol_Korean"
|
|
29
|
+
require "bcdice/game_system/BeginningIdol2022"
|
|
29
30
|
require "bcdice/game_system/BladeOfArcana"
|
|
30
31
|
require "bcdice/game_system/BlindMythos"
|
|
31
32
|
require "bcdice/game_system/BloodCrusade"
|
|
32
33
|
require "bcdice/game_system/BloodMoon"
|
|
34
|
+
require "bcdice/game_system/Bloodorium"
|
|
33
35
|
require "bcdice/game_system/CardRanker"
|
|
34
36
|
require "bcdice/game_system/CastleInGray"
|
|
35
37
|
require "bcdice/game_system/ChaosFlare"
|
|
@@ -38,6 +40,7 @@ require "bcdice/game_system/Chill3"
|
|
|
38
40
|
require "bcdice/game_system/CodeLayerd"
|
|
39
41
|
require "bcdice/game_system/ColossalHunter"
|
|
40
42
|
require "bcdice/game_system/Comes"
|
|
43
|
+
require "bcdice/game_system/ConvictorDrive"
|
|
41
44
|
require "bcdice/game_system/CrashWorld"
|
|
42
45
|
require "bcdice/game_system/Cthulhu"
|
|
43
46
|
require "bcdice/game_system/Cthulhu7th"
|
|
@@ -63,6 +66,7 @@ require "bcdice/game_system/DoubleCross_Korean"
|
|
|
63
66
|
require "bcdice/game_system/Dracurouge"
|
|
64
67
|
require "bcdice/game_system/Dracurouge_Korean"
|
|
65
68
|
require "bcdice/game_system/DungeonsAndDragons"
|
|
69
|
+
require "bcdice/game_system/DungeonsAndDragons5"
|
|
66
70
|
require "bcdice/game_system/EarthDawn"
|
|
67
71
|
require "bcdice/game_system/EarthDawn3"
|
|
68
72
|
require "bcdice/game_system/EarthDawn4"
|
|
@@ -84,6 +88,7 @@ require "bcdice/game_system/Garako"
|
|
|
84
88
|
require "bcdice/game_system/GardenOrder"
|
|
85
89
|
require "bcdice/game_system/GehennaAn"
|
|
86
90
|
require "bcdice/game_system/GeishaGirlwithKatana"
|
|
91
|
+
require "bcdice/game_system/GhostLive"
|
|
87
92
|
require "bcdice/game_system/GoblinSlayer"
|
|
88
93
|
require "bcdice/game_system/GoldenSkyStories"
|
|
89
94
|
require "bcdice/game_system/Gorilla"
|
|
@@ -98,6 +103,8 @@ require "bcdice/game_system/HatsuneMiku"
|
|
|
98
103
|
require "bcdice/game_system/Hieizan"
|
|
99
104
|
require "bcdice/game_system/HouraiGakuen"
|
|
100
105
|
require "bcdice/game_system/HuntersMoon"
|
|
106
|
+
require "bcdice/game_system/HunterTheReckoning5th"
|
|
107
|
+
require "bcdice/game_system/IfIfIf"
|
|
101
108
|
require "bcdice/game_system/Illusio"
|
|
102
109
|
require "bcdice/game_system/InfiniteBabeL"
|
|
103
110
|
require "bcdice/game_system/InfiniteFantasia"
|
|
@@ -116,6 +123,7 @@ require "bcdice/game_system/KemonoNoMori"
|
|
|
116
123
|
require "bcdice/game_system/KillDeathBusiness"
|
|
117
124
|
require "bcdice/game_system/KillDeathBusiness_Korean"
|
|
118
125
|
require "bcdice/game_system/KurayamiCrying"
|
|
126
|
+
require "bcdice/game_system/Kutulu"
|
|
119
127
|
require "bcdice/game_system/LiveraDoll"
|
|
120
128
|
require "bcdice/game_system/LogHorizon"
|
|
121
129
|
require "bcdice/game_system/LogHorizon_Korean"
|
|
@@ -140,6 +148,7 @@ require "bcdice/game_system/NightWizard3rd"
|
|
|
140
148
|
require "bcdice/game_system/NightmareHunterDeep"
|
|
141
149
|
require "bcdice/game_system/NinjaSlayer"
|
|
142
150
|
require "bcdice/game_system/NjslyrBattle"
|
|
151
|
+
require "bcdice/game_system/NobunagasBlackCastle"
|
|
143
152
|
require "bcdice/game_system/NSSQ"
|
|
144
153
|
require "bcdice/game_system/Nuekagami"
|
|
145
154
|
require "bcdice/game_system/OneWayHeroics"
|
|
@@ -167,10 +176,12 @@ require "bcdice/game_system/RuinBreakers"
|
|
|
167
176
|
require "bcdice/game_system/RuneQuest"
|
|
168
177
|
require "bcdice/game_system/RyuTuber"
|
|
169
178
|
require "bcdice/game_system/Ryutama"
|
|
179
|
+
require "bcdice/game_system/SajinsenkiAGuS"
|
|
170
180
|
require "bcdice/game_system/SRS"
|
|
171
181
|
require "bcdice/game_system/SamsaraBallad"
|
|
172
182
|
require "bcdice/game_system/Satasupe"
|
|
173
183
|
require "bcdice/game_system/ScreamHighSchool"
|
|
184
|
+
require "bcdice/game_system/Sengensyou"
|
|
174
185
|
require "bcdice/game_system/SevenFortressMobius"
|
|
175
186
|
require "bcdice/game_system/ShadowRun"
|
|
176
187
|
require "bcdice/game_system/ShadowRun4"
|
|
@@ -196,6 +207,9 @@ require "bcdice/game_system/Strave"
|
|
|
196
207
|
require "bcdice/game_system/SwordWorld"
|
|
197
208
|
require "bcdice/game_system/SwordWorld2_0"
|
|
198
209
|
require "bcdice/game_system/SwordWorld2_5"
|
|
210
|
+
require "bcdice/game_system/SwordWorld_SimplifiedChinese"
|
|
211
|
+
require "bcdice/game_system/SwordWorld2_0_SimplifiedChinese"
|
|
212
|
+
require "bcdice/game_system/SwordWorld2_5_SimplifiedChinese"
|
|
199
213
|
require "bcdice/game_system/TalesFromTheLoop"
|
|
200
214
|
require "bcdice/game_system/TherapieSein"
|
|
201
215
|
require "bcdice/game_system/TokumeiTenkousei"
|
|
@@ -212,6 +226,7 @@ require "bcdice/game_system/UnsungDuet"
|
|
|
212
226
|
require "bcdice/game_system/Utakaze"
|
|
213
227
|
require "bcdice/game_system/VampireTheMasquerade5th"
|
|
214
228
|
require "bcdice/game_system/Villaciel"
|
|
229
|
+
require "bcdice/game_system/VisionConnect"
|
|
215
230
|
require "bcdice/game_system/WARPS"
|
|
216
231
|
require "bcdice/game_system/WaresBlade"
|
|
217
232
|
require "bcdice/game_system/Warhammer"
|
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.8.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- SAKATA Sinji
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-02-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: i18n
|
|
@@ -36,6 +36,7 @@ files:
|
|
|
36
36
|
- README.md
|
|
37
37
|
- i18n/Amadeus/ja_jp.yml
|
|
38
38
|
- i18n/Amadeus/ko_kr.yml
|
|
39
|
+
- i18n/Arianrhod/ja_jp.yml
|
|
39
40
|
- i18n/BeginningIdol/ja_jp.yml
|
|
40
41
|
- i18n/BeginningIdol/ko_kr.yml
|
|
41
42
|
- i18n/Cthulhu/ja_jp.yml
|
|
@@ -48,6 +49,7 @@ files:
|
|
|
48
49
|
- i18n/DoubleCross/ko_kr.yml
|
|
49
50
|
- i18n/Dracurouge/ja_jp.yml
|
|
50
51
|
- i18n/Dracurouge/ko_kr.yml
|
|
52
|
+
- i18n/Emoklore/ja_jp.yml
|
|
51
53
|
- i18n/Fiasco/ja_jp.yml
|
|
52
54
|
- i18n/Fiasco/ko_kr.yml
|
|
53
55
|
- i18n/FutariSousa/ja_jp.yml
|
|
@@ -72,8 +74,11 @@ files:
|
|
|
72
74
|
- i18n/StratoShout/ja_jp.yml
|
|
73
75
|
- i18n/StratoShout/ko_kr.yml
|
|
74
76
|
- i18n/SwordWorld/ja_jp.yml
|
|
77
|
+
- i18n/SwordWorld/zh_hans.yml
|
|
75
78
|
- i18n/SwordWorld2_0/ja_jp.yml
|
|
79
|
+
- i18n/SwordWorld2_0/zh_hans.yml
|
|
76
80
|
- i18n/SwordWorld2_5/ja_jp.yml
|
|
81
|
+
- i18n/SwordWorld2_5/zh_hans.yml
|
|
77
82
|
- i18n/ja_jp.yml
|
|
78
83
|
- i18n/ko_kr.yml
|
|
79
84
|
- i18n/zh_hans.yml
|
|
@@ -157,11 +162,13 @@ files:
|
|
|
157
162
|
- lib/bcdice/game_system/BattleTech.rb
|
|
158
163
|
- lib/bcdice/game_system/BeastBindTrinity.rb
|
|
159
164
|
- lib/bcdice/game_system/BeginningIdol.rb
|
|
165
|
+
- lib/bcdice/game_system/BeginningIdol2022.rb
|
|
160
166
|
- lib/bcdice/game_system/BeginningIdol_Korean.rb
|
|
161
167
|
- lib/bcdice/game_system/BladeOfArcana.rb
|
|
162
168
|
- lib/bcdice/game_system/BlindMythos.rb
|
|
163
169
|
- lib/bcdice/game_system/BloodCrusade.rb
|
|
164
170
|
- lib/bcdice/game_system/BloodMoon.rb
|
|
171
|
+
- lib/bcdice/game_system/Bloodorium.rb
|
|
165
172
|
- lib/bcdice/game_system/CardRanker.rb
|
|
166
173
|
- lib/bcdice/game_system/CastleInGray.rb
|
|
167
174
|
- lib/bcdice/game_system/ChaosFlare.rb
|
|
@@ -170,6 +177,7 @@ files:
|
|
|
170
177
|
- lib/bcdice/game_system/CodeLayerd.rb
|
|
171
178
|
- lib/bcdice/game_system/ColossalHunter.rb
|
|
172
179
|
- lib/bcdice/game_system/Comes.rb
|
|
180
|
+
- lib/bcdice/game_system/ConvictorDrive.rb
|
|
173
181
|
- lib/bcdice/game_system/CrashWorld.rb
|
|
174
182
|
- lib/bcdice/game_system/Cthulhu.rb
|
|
175
183
|
- lib/bcdice/game_system/Cthulhu7th.rb
|
|
@@ -195,6 +203,7 @@ files:
|
|
|
195
203
|
- lib/bcdice/game_system/Dracurouge.rb
|
|
196
204
|
- lib/bcdice/game_system/Dracurouge_Korean.rb
|
|
197
205
|
- lib/bcdice/game_system/DungeonsAndDragons.rb
|
|
206
|
+
- lib/bcdice/game_system/DungeonsAndDragons5.rb
|
|
198
207
|
- lib/bcdice/game_system/EarthDawn.rb
|
|
199
208
|
- lib/bcdice/game_system/EarthDawn3.rb
|
|
200
209
|
- lib/bcdice/game_system/EarthDawn4.rb
|
|
@@ -217,6 +226,7 @@ files:
|
|
|
217
226
|
- lib/bcdice/game_system/GardenOrder.rb
|
|
218
227
|
- lib/bcdice/game_system/GehennaAn.rb
|
|
219
228
|
- lib/bcdice/game_system/GeishaGirlwithKatana.rb
|
|
229
|
+
- lib/bcdice/game_system/GhostLive.rb
|
|
220
230
|
- lib/bcdice/game_system/GoblinSlayer.rb
|
|
221
231
|
- lib/bcdice/game_system/GoldenSkyStories.rb
|
|
222
232
|
- lib/bcdice/game_system/Gorilla.rb
|
|
@@ -229,7 +239,9 @@ files:
|
|
|
229
239
|
- lib/bcdice/game_system/HatsuneMiku.rb
|
|
230
240
|
- lib/bcdice/game_system/Hieizan.rb
|
|
231
241
|
- lib/bcdice/game_system/HouraiGakuen.rb
|
|
242
|
+
- lib/bcdice/game_system/HunterTheReckoning5th.rb
|
|
232
243
|
- lib/bcdice/game_system/HuntersMoon.rb
|
|
244
|
+
- lib/bcdice/game_system/IfIfIf.rb
|
|
233
245
|
- lib/bcdice/game_system/Illusio.rb
|
|
234
246
|
- lib/bcdice/game_system/InfiniteBabeL.rb
|
|
235
247
|
- lib/bcdice/game_system/InfiniteFantasia.rb
|
|
@@ -248,6 +260,7 @@ files:
|
|
|
248
260
|
- lib/bcdice/game_system/KillDeathBusiness.rb
|
|
249
261
|
- lib/bcdice/game_system/KillDeathBusiness_Korean.rb
|
|
250
262
|
- lib/bcdice/game_system/KurayamiCrying.rb
|
|
263
|
+
- lib/bcdice/game_system/Kutulu.rb
|
|
251
264
|
- lib/bcdice/game_system/LiveraDoll.rb
|
|
252
265
|
- lib/bcdice/game_system/LogHorizon.rb
|
|
253
266
|
- lib/bcdice/game_system/LogHorizon_Korean.rb
|
|
@@ -273,6 +286,7 @@ files:
|
|
|
273
286
|
- lib/bcdice/game_system/NightmareHunterDeep.rb
|
|
274
287
|
- lib/bcdice/game_system/NinjaSlayer.rb
|
|
275
288
|
- lib/bcdice/game_system/NjslyrBattle.rb
|
|
289
|
+
- lib/bcdice/game_system/NobunagasBlackCastle.rb
|
|
276
290
|
- lib/bcdice/game_system/Nuekagami.rb
|
|
277
291
|
- lib/bcdice/game_system/OneWayHeroics.rb
|
|
278
292
|
- lib/bcdice/game_system/OracleEngine.rb
|
|
@@ -300,9 +314,11 @@ files:
|
|
|
300
314
|
- lib/bcdice/game_system/RyuTuber.rb
|
|
301
315
|
- lib/bcdice/game_system/Ryutama.rb
|
|
302
316
|
- lib/bcdice/game_system/SRS.rb
|
|
317
|
+
- lib/bcdice/game_system/SajinsenkiAGuS.rb
|
|
303
318
|
- lib/bcdice/game_system/SamsaraBallad.rb
|
|
304
319
|
- lib/bcdice/game_system/Satasupe.rb
|
|
305
320
|
- lib/bcdice/game_system/ScreamHighSchool.rb
|
|
321
|
+
- lib/bcdice/game_system/Sengensyou.rb
|
|
306
322
|
- lib/bcdice/game_system/SevenFortressMobius.rb
|
|
307
323
|
- lib/bcdice/game_system/ShadowRun.rb
|
|
308
324
|
- lib/bcdice/game_system/ShadowRun4.rb
|
|
@@ -327,7 +343,10 @@ files:
|
|
|
327
343
|
- lib/bcdice/game_system/Strave.rb
|
|
328
344
|
- lib/bcdice/game_system/SwordWorld.rb
|
|
329
345
|
- lib/bcdice/game_system/SwordWorld2_0.rb
|
|
346
|
+
- lib/bcdice/game_system/SwordWorld2_0_SimplifiedChinese.rb
|
|
330
347
|
- lib/bcdice/game_system/SwordWorld2_5.rb
|
|
348
|
+
- lib/bcdice/game_system/SwordWorld2_5_SimplifiedChinese.rb
|
|
349
|
+
- lib/bcdice/game_system/SwordWorld_SimplifiedChinese.rb
|
|
331
350
|
- lib/bcdice/game_system/TalesFromTheLoop.rb
|
|
332
351
|
- lib/bcdice/game_system/TherapieSein.rb
|
|
333
352
|
- lib/bcdice/game_system/TokumeiTenkousei.rb
|
|
@@ -344,6 +363,7 @@ files:
|
|
|
344
363
|
- lib/bcdice/game_system/Utakaze.rb
|
|
345
364
|
- lib/bcdice/game_system/VampireTheMasquerade5th.rb
|
|
346
365
|
- lib/bcdice/game_system/Villaciel.rb
|
|
366
|
+
- lib/bcdice/game_system/VisionConnect.rb
|
|
347
367
|
- lib/bcdice/game_system/WARPS.rb
|
|
348
368
|
- lib/bcdice/game_system/WaresBlade.rb
|
|
349
369
|
- lib/bcdice/game_system/Warhammer.rb
|
|
@@ -413,7 +433,7 @@ metadata:
|
|
|
413
433
|
homepage_uri: https://bcdice.org
|
|
414
434
|
source_code_uri: https://github.com/bcdice/BCDice
|
|
415
435
|
changelog_uri: https://github.com/bcdice/BCDice/blob/master/CHANGELOG.md
|
|
416
|
-
post_install_message:
|
|
436
|
+
post_install_message:
|
|
417
437
|
rdoc_options: []
|
|
418
438
|
require_paths:
|
|
419
439
|
- lib
|
|
@@ -428,8 +448,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
428
448
|
- !ruby/object:Gem::Version
|
|
429
449
|
version: '0'
|
|
430
450
|
requirements: []
|
|
431
|
-
rubygems_version: 3.
|
|
432
|
-
signing_key:
|
|
451
|
+
rubygems_version: 3.4.5
|
|
452
|
+
signing_key:
|
|
433
453
|
specification_version: 4
|
|
434
454
|
summary: BCDice is a rolling dice engine for TRPG
|
|
435
455
|
test_files: []
|