bcdice 3.0.0 → 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 +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)
|