bcdice 3.0.0 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +79 -2
- data/README.md +32 -0
- data/i18n/MonotoneMuseum/ja_jp.yml +3 -3
- 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/dice_table/sai_fic_skill_table.rb +1 -1
- data/lib/bcdice/game_system.rb +4 -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/AlchemiaStruggle.rb +1 -1
- 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/AngelGear.rb +123 -0
- data/lib/bcdice/game_system/AnimaAnimus.rb +1 -1
- data/lib/bcdice/game_system/Arianrhod.rb +6 -8
- 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/BattleTech.rb +1 -1
- data/lib/bcdice/game_system/BeastBindTrinity.rb +2 -2
- 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 +48 -49
- data/lib/bcdice/game_system/BloodMoon.rb +50 -8
- data/lib/bcdice/game_system/CardRanker.rb +10 -9
- 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/CodeLayerd.rb +1 -1
- data/lib/bcdice/game_system/CrashWorld.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu.rb +8 -4
- data/lib/bcdice/game_system/Cthulhu7th.rb +86 -342
- data/lib/bcdice/game_system/Cthulhu7th_ChineseTraditional.rb +2 -2
- data/lib/bcdice/game_system/Cthulhu7th_Korean.rb +2 -2
- data/lib/bcdice/game_system/CthulhuTech.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu_ChineseTraditional.rb +1 -1
- data/lib/bcdice/game_system/Cthulhu_Korean.rb +1 -1
- data/lib/bcdice/game_system/DarkBlaze.rb +1 -12
- 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/DiceOfTheDead.rb +1 -1
- data/lib/bcdice/game_system/DoubleCross.rb +2 -2
- data/lib/bcdice/game_system/Dracurouge.rb +1 -1
- 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/EclipsePhase.rb +14 -14
- data/lib/bcdice/game_system/Elric.rb +18 -14
- data/lib/bcdice/game_system/Elysion.rb +3 -3
- data/lib/bcdice/game_system/EmbryoMachine.rb +9 -8
- data/lib/bcdice/game_system/Emoklore.rb +3 -3
- data/lib/bcdice/game_system/EtrianOdysseySRS.rb +1 -1
- data/lib/bcdice/game_system/Fiasco.rb +1 -1
- data/lib/bcdice/game_system/FilledWith.rb +205 -1272
- data/lib/bcdice/game_system/FullMetalPanic.rb +1 -1
- data/lib/bcdice/game_system/GURPS.rb +17 -28
- data/lib/bcdice/game_system/Garako.rb +12 -4
- data/lib/bcdice/game_system/GardenOrder.rb +1 -1
- 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/Gorilla.rb +3 -9
- 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/Illusio.rb +25 -34
- 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/LogHorizon.rb +3 -3
- data/lib/bcdice/game_system/LostRoyal.rb +1 -1
- data/lib/bcdice/game_system/MeikyuDays.rb +11 -9
- data/lib/bcdice/game_system/MeikyuKingdom.rb +28 -28
- data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +5 -5
- data/lib/bcdice/game_system/MetalHead.rb +12 -22
- data/lib/bcdice/game_system/MetalHeadExtream.rb +5 -5
- data/lib/bcdice/game_system/MetallicGuardian.rb +1 -1
- data/lib/bcdice/game_system/MonotoneMuseum.rb +9 -7
- data/lib/bcdice/game_system/Nechronica.rb +28 -21
- data/lib/bcdice/game_system/NeverCloud.rb +540 -5
- 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 +4 -13
- data/lib/bcdice/game_system/NjslyrBattle.rb +8 -11
- data/lib/bcdice/game_system/OneWayHeroics.rb +1 -1
- data/lib/bcdice/game_system/OracleEngine.rb +1 -1
- data/lib/bcdice/game_system/OrgaRain.rb +17 -25
- data/lib/bcdice/game_system/Paradiso.rb +3 -3
- 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 +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 +2 -2
- data/lib/bcdice/game_system/PulpCthulhu.rb +1 -1
- 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/Revulture.rb +123 -0
- data/lib/bcdice/game_system/RokumonSekai2.rb +1 -1
- data/lib/bcdice/game_system/RuneQuest.rb +8 -8
- data/lib/bcdice/game_system/Ryutama.rb +1 -1
- data/lib/bcdice/game_system/SRS.rb +1 -1
- data/lib/bcdice/game_system/SamsaraBallad.rb +1 -1
- data/lib/bcdice/game_system/Satasupe.rb +79 -860
- data/lib/bcdice/game_system/ScreamHighSchool.rb +2 -2
- data/lib/bcdice/game_system/SevenFortressMobius.rb +1 -1
- data/lib/bcdice/game_system/SharedFantasia.rb +20 -24
- data/lib/bcdice/game_system/ShinkuuGakuen.rb +2 -2
- data/lib/bcdice/game_system/ShinobiGami.rb +17 -9
- data/lib/bcdice/game_system/Skynauts.rb +4 -4
- data/lib/bcdice/game_system/SkynautsBouken.rb +228 -0
- data/lib/bcdice/game_system/SteamPunkers.rb +1 -1
- data/lib/bcdice/game_system/StellarKnights.rb +59 -696
- data/lib/bcdice/game_system/SterileLife.rb +2 -3
- data/lib/bcdice/game_system/StrangerOfSwordCity.rb +2 -2
- 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 +58 -185
- data/lib/bcdice/game_system/SwordWorld2_0.rb +22 -150
- data/lib/bcdice/game_system/SwordWorld2_5.rb +127 -41
- data/lib/bcdice/game_system/TherapieSein.rb +1 -1
- data/lib/bcdice/game_system/TokyoGhostResearch.rb +1 -1
- data/lib/bcdice/game_system/Torg.rb +1 -1
- data/lib/bcdice/game_system/TorgEternity.rb +2 -2
- data/lib/bcdice/game_system/TrinitySeven.rb +4 -4
- data/lib/bcdice/game_system/TunnelsAndTrolls.rb +1 -1
- data/lib/bcdice/game_system/TwilightGunsmoke.rb +1 -1
- data/lib/bcdice/game_system/UnsungDuet.rb +1 -1
- 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 -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 +16 -7
- data/lib/bcdice/game_system/Warhammer4.rb +16 -12
- 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 +4 -9
- data/lib/bcdice/game_system/YearZeroEngine.rb +1 -1
- data/lib/bcdice/game_system/ZettaiReido.rb +1 -1
- data/lib/bcdice/game_system/cthulhu7th/full_auto.rb +294 -0
- data/lib/bcdice/game_system/cthulhu7th/rollable.rb +41 -0
- data/lib/bcdice/game_system/filled_with/enemy_data_tables.rb +322 -0
- data/lib/bcdice/game_system/filled_with/event_tables.rb +392 -0
- data/lib/bcdice/game_system/filled_with/tresure_tables.rb +179 -0
- data/lib/bcdice/game_system/meikyu_kingdom_basic/kingdom_table.rb +1 -1
- data/lib/bcdice/game_system/satasupe/tables.rb +723 -0
- data/lib/bcdice/game_system/sword_world/rating_lexer.rb +47 -0
- data/lib/bcdice/game_system/sword_world/rating_parsed.rb +99 -0
- data/lib/bcdice/game_system/sword_world/rating_parser.rb +457 -0
- data/lib/bcdice/game_system/sword_world/transcendent_test.rb +122 -0
- data/lib/bcdice/repl.rb +1 -1
- data/lib/bcdice/result.rb +26 -0
- data/lib/bcdice/version.rb +1 -1
- metadata +20 -4
@@ -32,7 +32,7 @@ module BCDice
|
|
32
32
|
・D66ダイスあり
|
33
33
|
INFO_MESSAGE_TEXT
|
34
34
|
|
35
|
-
register_prefix('FEAR
|
35
|
+
register_prefix('FEAR', 'REACT', '[\d\+\-]+\-3D6?[\d\+\-]*')
|
36
36
|
|
37
37
|
def initialize(command)
|
38
38
|
super(command)
|
@@ -41,26 +41,23 @@ module BCDice
|
|
41
41
|
end
|
42
42
|
|
43
43
|
# ゲーム別成功度判定(nD6)
|
44
|
-
def
|
45
|
-
return
|
46
|
-
return
|
44
|
+
def result_nd6(total, dice_total, dice_list, cmp_op, target)
|
45
|
+
return nil if target == "?"
|
46
|
+
return nil unless dice_list.size == 3 && cmp_op == :<=
|
47
47
|
|
48
48
|
success = target - total # 成功度
|
49
49
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
end
|
62
|
-
|
63
|
-
" > #{result}"
|
50
|
+
if critical?(dice_total, target)
|
51
|
+
Result.critical("クリティカル(成功度:#{success})")
|
52
|
+
elsif fumble?(dice_total, target)
|
53
|
+
Result.fumble("ファンブル(失敗度:#{success})")
|
54
|
+
elsif dice_total >= 17
|
55
|
+
Result.failure("自動失敗(失敗度:#{success})")
|
56
|
+
elsif total <= target
|
57
|
+
Result.success("成功(成功度:#{success})")
|
58
|
+
else
|
59
|
+
Result.failure("失敗(失敗度:#{success})")
|
60
|
+
end
|
64
61
|
end
|
65
62
|
|
66
63
|
def eval_game_system_specific_command(command)
|
@@ -85,16 +82,8 @@ module BCDice
|
|
85
82
|
modifier = ArithmeticEvaluator.eval(m[2])
|
86
83
|
formated_modifier = Format.modifier(modifier)
|
87
84
|
|
88
|
-
|
89
|
-
|
90
|
-
dice_str = dice_list.join(",")
|
91
|
-
|
92
|
-
total = dice_total + modifier
|
93
|
-
|
94
|
-
"(3D6#{formated_modifier}<=#{target_number}) > "\
|
95
|
-
"#{dice_total}[#{dice_str}]#{formated_modifier} > "\
|
96
|
-
"#{total}"\
|
97
|
-
"#{check_nD6(total, dice_total, dice_list, :<=, target_number)}"
|
85
|
+
cmd = "3D6#{formated_modifier}<=#{target_number}"
|
86
|
+
return CommonCommand::AddDice.eval(cmd, self, @randomizer)
|
98
87
|
end
|
99
88
|
|
100
89
|
def roll_fear(command)
|
@@ -18,9 +18,9 @@ module BCDice
|
|
18
18
|
|
19
19
|
# ダイスボットの使い方
|
20
20
|
HELP_MESSAGE = <<~MESSAGETEXT
|
21
|
-
・判定 GR+n#f>=X (+n:判定値、#f:不安定による自動失敗基準値、X
|
21
|
+
・判定 GR+n#f>=X (+n:判定値、#f:不安定による自動失敗基準値、X:目標値、それぞれ省略可能)
|
22
22
|
・部位決定チャート:HIT
|
23
|
-
・ダメージ+部位決定:
|
23
|
+
・ダメージ+部位決定:GHAn(n:火力)
|
24
24
|
・ダメージチャート:xDCy(CDC/EDC/FDC/ADC/LDC )
|
25
25
|
・ダメージチャートver2:xDTy(CDT/EDT/FDT/ADT/LDT)
|
26
26
|
xは C:コックピット、E:エンジン、F:フレーム、A:アーム、L:レッグ
|
@@ -35,8 +35,16 @@ module BCDice
|
|
35
35
|
・武器改造チャート表:WCC
|
36
36
|
・イベントチャート表:EVC
|
37
37
|
・戦闘開始距離:BSD
|
38
|
+
|
39
|
+
デフォルトダイス:10面
|
38
40
|
MESSAGETEXT
|
39
41
|
|
42
|
+
def initialize(command)
|
43
|
+
super(command)
|
44
|
+
|
45
|
+
@sides_implicit_d = 10
|
46
|
+
end
|
47
|
+
|
40
48
|
# @param command [String]
|
41
49
|
# @return [String, nil]
|
42
50
|
def eval_game_system_specific_command(command)
|
@@ -55,7 +63,7 @@ module BCDice
|
|
55
63
|
def roll_gr(command)
|
56
64
|
parser = Command::Parser.new("GR", round_type: round_type)
|
57
65
|
.enable_fumble
|
58
|
-
.restrict_cmp_op_to(:>=)
|
66
|
+
.restrict_cmp_op_to(nil, :>=)
|
59
67
|
cmd = parser.parse(command)
|
60
68
|
return nil unless cmd
|
61
69
|
|
@@ -646,7 +654,7 @@ module BCDice
|
|
646
654
|
)
|
647
655
|
}.freeze
|
648
656
|
|
649
|
-
register_prefix('GR
|
657
|
+
register_prefix('GR', '[CEFAL]D[CT]', 'GHA', TABLES.keys)
|
650
658
|
end
|
651
659
|
end
|
652
660
|
end
|
@@ -21,22 +21,16 @@ module BCDice
|
|
21
21
|
例) G>=7 : 2D6して7以上なら成功
|
22
22
|
MESSAGETEXT
|
23
23
|
|
24
|
-
register_prefix('G
|
24
|
+
register_prefix('G')
|
25
25
|
|
26
26
|
def change_text(string)
|
27
27
|
string = string.gsub(/^(S)?G/i) { "#{Regexp.last_match(1)}2D6" }
|
28
28
|
return string
|
29
29
|
end
|
30
30
|
|
31
|
-
def
|
32
|
-
return '' if target == '?'
|
33
|
-
|
31
|
+
def result_2d6(_total, _dice_total, dice_list, _cmp_op, _target)
|
34
32
|
if dice_list == [5, 5]
|
35
|
-
"
|
36
|
-
elsif total.send(cmp_op, target)
|
37
|
-
" > 成功"
|
38
|
-
else
|
39
|
-
" > 失敗"
|
33
|
+
Result.critical("ゴリティカル(自動的成功)")
|
40
34
|
end
|
41
35
|
end
|
42
36
|
end
|
@@ -46,29 +46,36 @@ module BCDice
|
|
46
46
|
end
|
47
47
|
|
48
48
|
# ゲーム別成功度判定(nD6)
|
49
|
-
def
|
50
|
-
|
49
|
+
def result_nd6(total, _dice_total, dice_list, cmp_op, target)
|
50
|
+
return nil unless cmp_op == :>=
|
51
|
+
|
52
|
+
result = Result.new
|
53
|
+
sequence = []
|
51
54
|
|
52
55
|
if dice_list.count(6) >= 2
|
53
56
|
total += 10
|
54
|
-
result =
|
57
|
+
result.critical = true
|
58
|
+
sequence.push("(クリティカル)", total.to_s)
|
55
59
|
end
|
56
60
|
|
57
|
-
if
|
58
|
-
|
61
|
+
if target != '?'
|
62
|
+
if total >= target
|
63
|
+
sequence.push("成功")
|
64
|
+
result.success = true
|
65
|
+
else
|
66
|
+
sequence.push("失敗")
|
67
|
+
result.failure = true
|
68
|
+
end
|
59
69
|
end
|
60
70
|
|
61
|
-
if
|
62
|
-
|
63
|
-
else
|
64
|
-
result += " > 失敗"
|
71
|
+
if sequence.empty?
|
72
|
+
return nil
|
65
73
|
end
|
66
74
|
|
75
|
+
result.text = sequence.join(" > ")
|
67
76
|
return result
|
68
77
|
end
|
69
78
|
|
70
|
-
alias check_2D6 check_nD6
|
71
|
-
|
72
79
|
def eval_game_system_specific_command(command)
|
73
80
|
debug("eval_game_system_specific_command command", command)
|
74
81
|
|
@@ -24,14 +24,15 @@ module BCDice
|
|
24
24
|
end
|
25
25
|
|
26
26
|
# ゲーム別成功度判定(1d100)
|
27
|
-
def
|
28
|
-
return
|
29
|
-
return '' unless cmp_op == :<=
|
27
|
+
def result_1d100(total, _dice_total, cmp_op, target)
|
28
|
+
return nil unless cmp_op == :<=
|
30
29
|
|
31
30
|
if total >= 100
|
32
|
-
"
|
31
|
+
Result.fumble("ファンブル")
|
33
32
|
elsif total <= 1
|
34
|
-
"
|
33
|
+
Result.critical("絶対成功(達成値1+SL)")
|
34
|
+
elsif target == "?"
|
35
|
+
Result.nothing
|
35
36
|
elsif total <= target
|
36
37
|
dig10 = total / 10
|
37
38
|
dig1 = total - dig10 * 10
|
@@ -39,12 +40,12 @@ module BCDice
|
|
39
40
|
dig1 = 0 if dig1 >= 10 # 条件的にはあり得ない(笑
|
40
41
|
|
41
42
|
if dig1 <= 0
|
42
|
-
"
|
43
|
+
Result.critical("クリティカル(達成値20+SL)")
|
43
44
|
else
|
44
|
-
"
|
45
|
+
Result.success("成功(達成値#{dig10 + dig1}+SL)")
|
45
46
|
end
|
46
47
|
else
|
47
|
-
"
|
48
|
+
Result.failure("失敗")
|
48
49
|
end
|
49
50
|
end
|
50
51
|
end
|
@@ -26,7 +26,7 @@ module BCDice
|
|
26
26
|
修正を後ろに書くことも出来ます。
|
27
27
|
INFO_MESSAGE_TEXT
|
28
28
|
|
29
|
-
register_prefix('
|
29
|
+
register_prefix('.DPT', '.FT')
|
30
30
|
|
31
31
|
def initialize(command)
|
32
32
|
super(command)
|
@@ -35,14 +35,15 @@ module BCDice
|
|
35
35
|
|
36
36
|
# ---- 以降、Gundog.rbよりほぼコピペ(絶対成功→ベアリーに用語変更対応の為、継承だと不都合)
|
37
37
|
# ゲーム別成功度判定(1d100)
|
38
|
-
def
|
39
|
-
return
|
40
|
-
return '' unless cmp_op == :<=
|
38
|
+
def result_1d100(total, _dice_total, cmp_op, target)
|
39
|
+
return nil unless cmp_op == :<=
|
41
40
|
|
42
41
|
if total >= 100
|
43
|
-
"
|
42
|
+
Result.fumble("ファンブル")
|
44
43
|
elsif total <= 1
|
45
|
-
"
|
44
|
+
Result.critical("ベアリー(達成値1+SL)")
|
45
|
+
elsif target == "?"
|
46
|
+
Result.nothing
|
46
47
|
elsif total <= target
|
47
48
|
dig10 = total / 10
|
48
49
|
dig1 = total - dig10 * 10
|
@@ -50,12 +51,12 @@ module BCDice
|
|
50
51
|
dig1 = 0 if dig1 >= 10 # 条件的にはあり得ない(笑
|
51
52
|
|
52
53
|
if dig1 <= 0
|
53
|
-
"
|
54
|
+
Result.critical("クリティカル(達成値20+SL)")
|
54
55
|
else
|
55
|
-
"
|
56
|
+
Result.success("成功(達成値#{dig10 + dig1}+SL)")
|
56
57
|
end
|
57
58
|
else
|
58
|
-
"
|
59
|
+
Result.failure("失敗")
|
59
60
|
end
|
60
61
|
end
|
61
62
|
|
@@ -55,18 +55,18 @@ module BCDice
|
|
55
55
|
'FMB',
|
56
56
|
'MFMB',
|
57
57
|
'HIT',
|
58
|
-
'FEAR
|
59
|
-
'REACT
|
60
|
-
'TRAP
|
61
|
-
'TRS
|
62
|
-
'RAND
|
63
|
-
'RENC
|
58
|
+
'FEAR',
|
59
|
+
'REACT',
|
60
|
+
'TRAP[ENHL]',
|
61
|
+
'TRS[ENHL]',
|
62
|
+
'RAND[ENHL]',
|
63
|
+
'RENC[ENHL]',
|
64
64
|
'AREA',
|
65
|
-
'
|
65
|
+
'DROPN?',
|
66
66
|
'HST',
|
67
67
|
'KHST',
|
68
68
|
'RANDOP',
|
69
|
-
'LOT
|
69
|
+
'LOT[NP]'
|
70
70
|
)
|
71
71
|
|
72
72
|
def initialize(command)
|
@@ -75,14 +75,14 @@ module BCDice
|
|
75
75
|
@d66_sort_type = D66SortType::NO_SORT
|
76
76
|
end
|
77
77
|
|
78
|
-
def
|
79
|
-
return
|
80
|
-
return
|
78
|
+
def result_nd6(total, dice_total, dice_list, cmp_op, target)
|
79
|
+
return Result.nothing if target == '?'
|
80
|
+
return nil unless dice_list.size == 3 && cmp_op == :<=
|
81
81
|
|
82
82
|
success = target - total # 成功度
|
83
|
-
crt_string = "
|
84
|
-
fmb_string = "
|
85
|
-
fail_string = "
|
83
|
+
crt_string = Result.critical("クリティカル(成功度:#{success})")
|
84
|
+
fmb_string = Result.fumble("ファンブル(失敗度:#{success})")
|
85
|
+
fail_string = Result.failure("自動失敗(失敗度:#{success})")
|
86
86
|
|
87
87
|
# クリティカル
|
88
88
|
if (dice_total <= 6) && (target >= 16)
|
@@ -105,9 +105,9 @@ module BCDice
|
|
105
105
|
end
|
106
106
|
|
107
107
|
if total <= target
|
108
|
-
return "
|
108
|
+
return Result.success("成功(成功度:#{success})")
|
109
109
|
else
|
110
|
-
return "
|
110
|
+
return Result.failure("失敗(失敗度:#{success})")
|
111
111
|
end
|
112
112
|
end
|
113
113
|
|
@@ -21,32 +21,25 @@ module BCDice
|
|
21
21
|
・人型用 中段命中部位表 (SLH)/上段命中部位 (SLHU)/上段命中部位 (SLHD)
|
22
22
|
MESSAGETEXT
|
23
23
|
|
24
|
-
register_prefix('SHK
|
25
|
-
|
26
|
-
def
|
27
|
-
return
|
28
|
-
return
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
return "失敗"
|
44
|
-
end
|
45
|
-
|
46
|
-
def getSuccessResult(total)
|
47
|
-
return "決定的成功" if (total % 5) == 0
|
48
|
-
|
49
|
-
return "成功"
|
24
|
+
register_prefix('SHK', 'SLH', 'SLHU', 'SLHD')
|
25
|
+
|
26
|
+
def result_1d100(total, _dice_total, cmp_op, target)
|
27
|
+
return Result.nothing if target == '?'
|
28
|
+
return nil unless cmp_op == :<=
|
29
|
+
|
30
|
+
if total <= target
|
31
|
+
if total % 5 == 0
|
32
|
+
Result.critical("決定的成功")
|
33
|
+
else
|
34
|
+
Result.success("成功")
|
35
|
+
end
|
36
|
+
else
|
37
|
+
if total % 5 == 0
|
38
|
+
Result.fumble("致命的失敗")
|
39
|
+
else
|
40
|
+
Result.failure("失敗")
|
41
|
+
end
|
42
|
+
end
|
50
43
|
end
|
51
44
|
|
52
45
|
def eval_game_system_specific_command(command)
|