bcdice 3.15.0 → 3.17.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.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +140 -0
  3. data/i18n/Airgetlamh/ja_jp.yml +5 -0
  4. data/i18n/Airgetlamh/ko_kr.yml +5 -0
  5. data/i18n/Alsetto/ja_jp.yml +5 -0
  6. data/i18n/Alsetto/ko_kr.yml +5 -0
  7. data/i18n/AnimaAnimus/ja_jp.yml +28 -0
  8. data/i18n/AnimaAnimus/ko_kr.yml +28 -0
  9. data/i18n/BlackJacket/ja_jp.yml +79 -0
  10. data/i18n/BlackJacket/ko_kr.yml +79 -0
  11. data/i18n/Bloodorium/ja_jp.yml +3 -0
  12. data/i18n/Bloodorium/ko_kr.yml +3 -0
  13. data/i18n/Cthulhu/ko_kr.yml +1 -1
  14. data/i18n/DoubleCross/ja_jp.yml +2 -2
  15. data/i18n/Dracurouge/ko_kr.yml +1284 -205
  16. data/i18n/Emoklore/ja_jp.yml +1 -0
  17. data/i18n/Emoklore/ko_kr.yml +8 -0
  18. data/i18n/FutariSousa/ja_jp.yml +70 -0
  19. data/i18n/FutariSousa/ko_kr.yml +157 -0
  20. data/i18n/HatsuneMiku/ja_jp.yml +579 -0
  21. data/i18n/HatsuneMiku/ko_kr.yml +579 -0
  22. data/i18n/Irisbane/ja_jp.yml +27 -0
  23. data/i18n/Irisbane/ko_kr.yml +27 -0
  24. data/i18n/JuinKansen/ja_jp.yml +168 -0
  25. data/i18n/JuinKansen/ko_kr.yml +168 -0
  26. data/i18n/KemonoNoMori/ja_jp.yml +229 -0
  27. data/i18n/KemonoNoMori/ko_kr.yml +229 -0
  28. data/i18n/KizunaBullet/ko_kr.yml +653 -0
  29. data/i18n/MagicPunk/ja_jp.yml +5 -0
  30. data/i18n/MagicPunk/ko_kr.yml +5 -0
  31. data/i18n/MorkBorg/ja_jp.yml +34 -0
  32. data/i18n/MorkBorg/ko_kr.yml +34 -0
  33. data/i18n/Nechronica/ko_kr.yml +43 -0
  34. data/i18n/NegikureNegimaki/ja_jp.yml +6 -0
  35. data/i18n/NegikureNegimaki/ko_kr.yml +6 -0
  36. data/i18n/Nuekagami/ja_jp.yml +219 -0
  37. data/i18n/Nuekagami/ko_kr.yml +219 -0
  38. data/i18n/Revulture/ja_jp.yml +8 -0
  39. data/i18n/Revulture/ko_kr.yml +8 -0
  40. data/i18n/SRS/ja_jp.yml +4 -0
  41. data/i18n/SRS/ko_kr.yml +4 -0
  42. data/i18n/ShinobiGami/ja_jp.yml +879 -0
  43. data/i18n/ShinobiGami/ko_kr.yml +876 -0
  44. data/i18n/SkynautsBouken/ja_jp.yml +28 -28
  45. data/i18n/StarryDolls/ja_jp.yml +456 -0
  46. data/i18n/StarryDolls/ko_kr.yml +456 -0
  47. data/i18n/StratoShout/ja_jp.yml +8 -8
  48. data/i18n/SwordWorld2_5/ja_jp.yml +48 -0
  49. data/i18n/Ventangle/ja_jp.yml +4 -0
  50. data/i18n/Ventangle/ko_kr.yml +4 -0
  51. data/i18n/YearZeroEngine/ja_jp.yml +12 -0
  52. data/i18n/YearZeroEngine/ko_kr.yml +12 -0
  53. data/i18n/ZombiLine/ja_jp.yml +27 -0
  54. data/i18n/ZombiLine/ko_kr.yml +27 -0
  55. data/i18n/ko_kr.yml +2 -0
  56. data/i18n/zh_hant.yml +2 -2
  57. data/lib/bcdice/dice_table/d66_left_range_table.rb +21 -0
  58. data/lib/bcdice/game_system/Aionia.rb +68 -19
  59. data/lib/bcdice/game_system/Airgetlamh.rb +64 -41
  60. data/lib/bcdice/game_system/Airgetlamh_Korean.rb +53 -0
  61. data/lib/bcdice/game_system/Alsetto.rb +63 -50
  62. data/lib/bcdice/game_system/Alsetto_Korean.rb +51 -0
  63. data/lib/bcdice/game_system/AnimaAnimus.rb +15 -32
  64. data/lib/bcdice/game_system/AnimaAnimus_Korean.rb +39 -0
  65. data/lib/bcdice/game_system/BlackJacket.rb +57 -113
  66. data/lib/bcdice/game_system/BlackJacket_Korean.rb +8 -206
  67. data/lib/bcdice/game_system/Bloodorium.rb +1 -1
  68. data/lib/bcdice/game_system/Bloodorium_Korean.rb +34 -0
  69. data/lib/bcdice/game_system/ChroniclesOfDarkness2e.rb +163 -0
  70. data/lib/bcdice/game_system/Cthulhu7th_Korean.rb +471 -300
  71. data/lib/bcdice/game_system/DeadlineHeroes_Korean.rb +273 -0
  72. data/lib/bcdice/game_system/Dracurouge_Korean.rb +25 -19
  73. data/lib/bcdice/game_system/DungeonsAndDragons5.rb +106 -73
  74. data/lib/bcdice/game_system/DungeonsAndDragons5_Korean.rb +53 -0
  75. data/lib/bcdice/game_system/DungeonsAndDragons_Korean.rb +61 -0
  76. data/lib/bcdice/game_system/EdgeFlippers.rb +315 -0
  77. data/lib/bcdice/game_system/Emoklore.rb +34 -9
  78. data/lib/bcdice/game_system/Emoklore_Korean.rb +50 -0
  79. data/lib/bcdice/game_system/FateCoreSystem.rb +10 -6
  80. data/lib/bcdice/game_system/FullMetalPanic_Korean.rb +28 -0
  81. data/lib/bcdice/game_system/FutariSousa.rb +37 -12
  82. data/lib/bcdice/game_system/FutariSousa_Korean.rb +25 -8
  83. data/lib/bcdice/game_system/GaiaCare.rb +40 -0
  84. data/lib/bcdice/game_system/Garactier.rb +1 -1
  85. data/lib/bcdice/game_system/GardenOrder.rb +2 -2
  86. data/lib/bcdice/game_system/GardenOrderReEdit.rb +849 -0
  87. data/lib/bcdice/game_system/GardenOrder_Korean.rb +839 -0
  88. data/lib/bcdice/game_system/HatsuneMiku.rb +51 -605
  89. data/lib/bcdice/game_system/HatsuneMiku_Korean.rb +56 -0
  90. data/lib/bcdice/game_system/HunterTheReckoning5th.rb +15 -11
  91. data/lib/bcdice/game_system/Irisbane.rb +17 -30
  92. data/lib/bcdice/game_system/Irisbane_Korean.rb +52 -0
  93. data/lib/bcdice/game_system/JuinKansen.rb +41 -208
  94. data/lib/bcdice/game_system/JuinKansen_Korean.rb +46 -0
  95. data/lib/bcdice/game_system/KemonoNoMori.rb +67 -276
  96. data/lib/bcdice/game_system/KemonoNoMori_Korean.rb +62 -0
  97. data/lib/bcdice/game_system/KinAriel.rb +117 -0
  98. data/lib/bcdice/game_system/KizunaBullet_Korean.rb +109 -0
  99. data/lib/bcdice/game_system/KutuluRevised.rb +94 -0
  100. data/lib/bcdice/game_system/LiverLabyrinth.rb +321 -0
  101. data/lib/bcdice/game_system/Lost.rb +89 -0
  102. data/lib/bcdice/game_system/MagicPunk.rb +85 -0
  103. data/lib/bcdice/game_system/MagicPunk_Korean.rb +39 -0
  104. data/lib/bcdice/game_system/MarvelHeroicRoleplaying.rb +144 -0
  105. data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +122 -2
  106. data/lib/bcdice/game_system/MetallicGuardian_Korean.rb +28 -0
  107. data/lib/bcdice/game_system/MorkBorg.rb +170 -0
  108. data/lib/bcdice/game_system/MorkBorg_Korean.rb +49 -0
  109. data/lib/bcdice/game_system/NanimonaiMura.rb +112 -0
  110. data/lib/bcdice/game_system/Nechronica_Korean.rb +6 -6
  111. data/lib/bcdice/game_system/NegikureNegimaki.rb +140 -0
  112. data/lib/bcdice/game_system/NegikureNegimaki_Korean.rb +48 -0
  113. data/lib/bcdice/game_system/NeonUnderRealm.rb +122 -0
  114. data/lib/bcdice/game_system/NinjaSlayer2.rb +170 -49
  115. data/lib/bcdice/game_system/Nuekagami.rb +19 -261
  116. data/lib/bcdice/game_system/Nuekagami_Korean.rb +43 -0
  117. data/lib/bcdice/game_system/ParanoiaPerfect.rb +74 -0
  118. data/lib/bcdice/game_system/PastFutureParadox.rb +2245 -55
  119. data/lib/bcdice/game_system/PreciousDays.rb +170 -0
  120. data/lib/bcdice/game_system/Revulture.rb +8 -5
  121. data/lib/bcdice/game_system/Revulture_Korean.rb +51 -0
  122. data/lib/bcdice/game_system/Ryutama.rb +46 -46
  123. data/lib/bcdice/game_system/SRS.rb +4 -4
  124. data/lib/bcdice/game_system/SRS_Korean.rb +67 -0
  125. data/lib/bcdice/game_system/ShinobiGami.rb +154 -1047
  126. data/lib/bcdice/game_system/ShinobiGami_Korean.rb +102 -0
  127. data/lib/bcdice/game_system/StarryDolls.rb +70 -508
  128. data/lib/bcdice/game_system/StarryDolls_Korean.rb +80 -0
  129. data/lib/bcdice/game_system/StratoShout.rb +1 -1
  130. data/lib/bcdice/game_system/SwordWorld.rb +28 -2
  131. data/lib/bcdice/game_system/SwordWorld2_0.rb +1 -1
  132. data/lib/bcdice/game_system/SwordWorld2_5.rb +67 -3
  133. data/lib/bcdice/game_system/TacticalExorcist.rb +222 -0
  134. data/lib/bcdice/game_system/TenkaRyouran_Korean.rb +30 -0
  135. data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +38 -33
  136. data/lib/bcdice/game_system/Ventangle.rb +8 -7
  137. data/lib/bcdice/game_system/Ventangle_Korean.rb +41 -0
  138. data/lib/bcdice/game_system/Warhammer4.rb +202 -6
  139. data/lib/bcdice/game_system/WerewolfTheApocalypse5th.rb +20 -15
  140. data/lib/bcdice/game_system/WorldEndScrapyard.rb +333 -0
  141. data/lib/bcdice/game_system/WorldsEndFrontline_Korean.rb +26 -0
  142. data/lib/bcdice/game_system/YearZeroEngine.rb +7 -7
  143. data/lib/bcdice/game_system/YearZeroEngine_Korean.rb +46 -0
  144. data/lib/bcdice/game_system/ZombiLine.rb +29 -36
  145. data/lib/bcdice/game_system/ZombiLine_Korean.rb +37 -0
  146. data/lib/bcdice/game_system/cthulhu7th_Korean/full_auto.rb +294 -0
  147. data/lib/bcdice/game_system/cthulhu7th_Korean/rollable.rb +43 -0
  148. data/lib/bcdice/game_system/meikyu_kingdom_basic/atoz_table.rb +1184 -0
  149. data/lib/bcdice/game_system/meikyu_kingdom_basic/randr236_table.rb +254 -0
  150. data/lib/bcdice/game_system/meikyu_kingdom_basic/table.rb +54 -0
  151. data/lib/bcdice/game_system/meikyu_kingdom_basic/tk_table.rb +755 -0
  152. data/lib/bcdice/game_system/sword_world/rating_options.rb +9 -0
  153. data/lib/bcdice/game_system/sword_world/rating_parsed.rb +19 -0
  154. data/lib/bcdice/game_system/sword_world/rating_parser.rb +229 -149
  155. data/lib/bcdice/game_system/sword_world/transcendent_test.rb +1 -0
  156. data/lib/bcdice/game_system.rb +47 -0
  157. data/lib/bcdice/version.rb +1 -1
  158. metadata +96 -2
@@ -0,0 +1,839 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bcdice/game_system/GardenOrder'
4
+
5
+ module BCDice
6
+ module GameSystem
7
+ class GardenOrder_Korean < GardenOrder
8
+ # ゲームシステムのの識別子
9
+ ID = 'GardenOrder:Korean'
10
+
11
+ # ゲームシステム名
12
+ NAME = '가든 오더'
13
+
14
+ # ゲームシステム名の読みがな
15
+ SORT_KEY = '国際化:Korean:가든 오더'
16
+
17
+ # ダイスボットの使い方
18
+ HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
19
+ ・기본 판정
20
+  GOx/y@z x:성공률, y:연속 공격 횟수(생략 가능), z:크리티컬치 (생략 가능)
21
+  (연속 공격은1회의 판정만 실행됩니다.)
22
+  예시)GO55 GO100/2 GO70@10 GO155/3@44
23
+
24
+ ・부상 표
25
+  DCxxy
26
+  xx:속성 (절단: SL, 총탄: BL, 충격: IM, 작열: BR, 냉각: RF, 전격: EL)
27
+  y:대미지
28
+  예시)DCSL7 DCEL22
29
+
30
+ ・부상 표(소울 인코더용)
31
+  SExxy
32
+  xx:속성 (절단: SL, 총탄: BL, 충격: IM, 작열: BR, 냉각: RF, 전격: EL)
33
+  y:대미지
34
+  예시)SESL7 SEEL22
35
+ INFO_MESSAGE_TEXT
36
+
37
+ register_prefix(
38
+ 'GO',
39
+ 'DC(SL|BL|IM|BR|RF|EL).+',
40
+ 'SE(SL|BL|IM|BR|RF|EL).+'
41
+ )
42
+
43
+ def eval_game_system_specific_command(command)
44
+ case command
45
+ when %r{GO(-?\d+)(/(\d+))?(@(\d+))?}i
46
+ success_rate = Regexp.last_match(1).to_i
47
+ repeat_count = (Regexp.last_match(3) || 1).to_i
48
+ critical_border_text = Regexp.last_match(5)
49
+ critical_border = get_critical_border(critical_border_text, success_rate)
50
+
51
+ return check_roll_repeat_attack(success_rate, repeat_count, critical_border)
52
+
53
+ when /^(DC|SE)(SL|BL|IM|BR|RF|EL)(\d+)/i
54
+ chart_type = Regexp.last_match(1)
55
+ type = Regexp.last_match(2)
56
+ damage_value = Regexp.last_match(3).to_i
57
+ case chart_type
58
+ when "DC"
59
+ return look_up_damage_chart(type, damage_value)
60
+ when "SE"
61
+ return look_up_damage_se_chart(type, damage_value)
62
+ end
63
+ end
64
+
65
+ return nil
66
+ end
67
+
68
+ def get_critical_border(critical_border_text, success_rate)
69
+ return critical_border_text.to_i unless critical_border_text.nil?
70
+
71
+ critical_border = [success_rate / 5, 1].max
72
+ return critical_border
73
+ end
74
+
75
+ def check_roll_repeat_attack(success_rate, repeat_count, critical_border)
76
+ success_rate_per_one = success_rate / repeat_count
77
+ # 連続攻撃は最終的な成功率が50%以上であることが必要 cf. p217
78
+ if repeat_count > 1 && success_rate_per_one < 50
79
+ return "D100<=#{success_rate_per_one}@#{critical_border} > 연속 공격은 성공률이 50% 이상 필요합니다."
80
+ end
81
+
82
+ check_roll(success_rate_per_one, critical_border)
83
+ end
84
+
85
+ def check_roll(success_rate, critical_border)
86
+ success_rate = 0 if success_rate < 0
87
+ fumble_border = (success_rate < 100 ? 96 : 99)
88
+
89
+ dice_value = @randomizer.roll_once(100)
90
+ result = get_check_result(dice_value, success_rate, critical_border, fumble_border)
91
+
92
+ result.text = "D100<=#{success_rate}@#{critical_border} > #{dice_value} > #{result.text}"
93
+ return result
94
+ end
95
+
96
+ def get_check_result(dice_value, success_rate, critical_border, fumble_border)
97
+ # クリティカルとファンブルが重なった場合は、ファンブルとなる。 cf. p175
98
+ return Result.fumble("펌블") if dice_value >= fumble_border
99
+ return Result.critical("크리티컬") if dice_value <= critical_border
100
+ return Result.success("성공") if dice_value <= success_rate
101
+
102
+ return Result.failure("실패")
103
+ end
104
+
105
+ def look_up_damage_chart(type, damage_value)
106
+ chart_type = "DC"
107
+ name, table = get_damage_table_info_by_type(type, chart_type)
108
+
109
+ row = get_table_by_number(damage_value, table, nil)
110
+ return nil if row.nil?
111
+
112
+ "부상 표:#{name}[#{damage_value}] > #{row[:damage]} | #{row[:name]} … #{row[:text]}"
113
+ end
114
+
115
+ def look_up_damage_se_chart(type, damage_value)
116
+ chart_type = "SE"
117
+ name, table = get_damage_table_info_by_type(type, chart_type)
118
+
119
+ row = get_table_by_number(damage_value, table, nil)
120
+ return nil if row.nil?
121
+
122
+ "부상 표(#{chart_type}):#{name}[#{damage_value}] > #{row[:damage]} | #{row[:name]} … #{row[:text]}"
123
+ end
124
+
125
+ def get_damage_table_info_by_type(type, chart_type)
126
+ data = {}
127
+ case chart_type
128
+ when "DC"
129
+ data = DAMAGE_TABLE[type]
130
+ when "SE"
131
+ data = DAMAGE_TABLE_SE[type]
132
+ end
133
+ return nil if data.nil?
134
+
135
+ return data[:name], data[:table]
136
+ end
137
+
138
+ DAMAGE_TABLE = {
139
+ "SL" => {
140
+ name: "절단",
141
+ table: [
142
+ [5,
143
+ {name: "베인 상처",
144
+ text: "피부가 찢어진다.",
145
+ damage: "경상 1"}],
146
+ [10,
147
+ {name: "다리 부상",
148
+ text: "다리가 찢어져 무심코 무릎을 꿇는다.",
149
+ damage: "경상 2/마비"}],
150
+ [13,
151
+ {name: "출혈",
152
+ text: "베인 상처에서 출혈이 계속된다.",
153
+ damage: "경상 3/DOT: 경상 1"}],
154
+ [16,
155
+ {name: "몸통 부상",
156
+ text: "몸통에 큰 상처를 입는다.",
157
+ damage: "경상 4"}],
158
+ [19,
159
+ {name: "몸통 부상",
160
+ text: "팔에 큰 상처를 입는다.",
161
+ damage: "중상 1/DOT: 경상 1"}],
162
+ [22,
163
+ {name: "몸통 부상",
164
+ text: "복부가 깊게 찢어진다.",
165
+ damage: "중상 2"}],
166
+ [25,
167
+ {name: "대량 출혈",
168
+ text: "상처가 깊게 나 대량으로 피를 흘린다.",
169
+ damage: "중상 2/DOT: 경상 2"}],
170
+ [28,
171
+ {name: "열상(裂傷)",
172
+ text: "낫기 어려운 상처를 입는다.",
173
+ damage: "중상 3"}],
174
+ [31,
175
+ {name: "시야 불량",
176
+ text: "머리를 다쳐 피가 흐르고 시야가 가려진다.",
177
+ damage: "중상 3/스턴"}],
178
+ [34,
179
+ {name: "흉부 부상",
180
+ text: "가슴에서 허리까지 크게 찢어진다.",
181
+ damage: "치명상 1"}],
182
+ [37,
183
+ {name: "동맥 절단",
184
+ text: "동맥이 찢어져 뿜어져 나오듯 출혈한다.",
185
+ damage: "치명상 1/경상 3"}],
186
+ [39,
187
+ {name: "흉부 절단",
188
+ text: "상처가 폐까지 이르러 객혈한다.",
189
+ damage: "치명상 2"}],
190
+ [9999,
191
+ {name: "척수 손상",
192
+ text: "척수가 손상된다.",
193
+ damage: "치명상 2/방심, 스턴, 마비"}],
194
+ ]
195
+ },
196
+
197
+ "BL" => {
198
+ name: "총탄",
199
+ table: [
200
+ [5,
201
+ {name: "팔 부상",
202
+ text: "총알이 팔을 스쳤다.",
203
+ damage: "경상 2"}],
204
+ [10,
205
+ {name: "팔 관통",
206
+ text: "총알이 팔을 관통한다. 고통은 있지만 움직임에 지장은 없다.",
207
+ damage: "경상 3"}],
208
+ [13,
209
+ {name: "몸통 부상",
210
+ text: "다리에 총알이 박힌다. 고통으로 움직임이 둔해진다.",
211
+ damage: "경상 3/슬로우: -3"}],
212
+ [16,
213
+ {name: "어깨 부상",
214
+ text: "어깨를 관통한다. 뼈가 으스러진 것 같다.",
215
+ damage: "중상 1"}],
216
+ [19,
217
+ {name: "복부 부상",
218
+ text: "복부를 관통한다. 간신히 내장은 무사한 것 같다.",
219
+ damage: "중상 2"}],
220
+ [22,
221
+ {name: "다리 관통",
222
+ text: "총알이 다리를 관통해 그 자리에서 무릎 꿇는다.",
223
+ damage: "중상 2/마비"}],
224
+ [25,
225
+ {name: "소화 기관 손상",
226
+ text: "위장 같은 소화 기관에 손상을 입는다.",
227
+ damage: "중상 3"}],
228
+ [28,
229
+ {name: "맹관(盲管) 총상",
230
+ text: "신체에 탄환이 깊숙이 박힌다. 격통이 온다.",
231
+ damage: "중상 3/슬로우: -5"}],
232
+ [31,
233
+ {name: "내장 손상",
234
+ text: "총알이 내장 몇 개를 헤집었다.",
235
+ damage: "치명상 1/스턴"}],
236
+ [34,
237
+ {name: "몸통 관통",
238
+ text: "복부를 관통당해 출혈이 생긴다.",
239
+ damage: "치명상 1/DOT: 경상 1"}],
240
+ [37,
241
+ {name: "흉부 부상",
242
+ text: "탄환이 폐를 관통한다.",
243
+ damage: "치명상 2"}],
244
+ [39,
245
+ {name: "치명적인 일격",
246
+ text: "총알이 머리에 명중. 쇼크로 의식이 날아간다.",
247
+ damage: "치명상 2/방심"}],
248
+ [9999,
249
+ {name: "필살의 일격",
250
+ text: "총알이 심장 근처를 관통한다. 동맥이 손상된 것 같다.",
251
+ damage: "치명상 2/DOT: 중상 1"}],
252
+ ]
253
+ },
254
+
255
+ "IM" => {
256
+ name: "충격",
257
+ table: [
258
+ [5,
259
+ {name: "타박상",
260
+ text: "공격을 받은 부분이 거무칙칙하게 붓는다.",
261
+ damage: "경상 1"}],
262
+ [10,
263
+ {name: "휘청거림",
264
+ text: "충격으로 넘어진다.",
265
+ damage: "경상 1/마비"}],
266
+ [13,
267
+ {name: "평형 감각 상실",
268
+ text: "충격으로 반고리관이 손상된다.",
269
+ damage: "경상 2, 피로 2"}],
270
+ [16,
271
+ {name: "보디 블로우",
272
+ text: "복부에 직격. 고통이 계속해서 체력을 빼앗는다.",
273
+ damage: "경상 3/DOT: 피로 3"}],
274
+ [19,
275
+ {name: "통타(痛打)",
276
+ text: "몸통이나 다리 부분 등에 타격을 입는다.",
277
+ damage: "경상 4/스턴"}],
278
+ [22,
279
+ {name: "두부 통타",
280
+ text: "머리에 클린 히트. 정신이 몽롱하다.",
281
+ damage: "경상 5/방심"}],
282
+ [25,
283
+ {name: "다리 골절",
284
+ text: "공격이 다리에 명중해 골절된다.",
285
+ damage: "중상 1/슬로우: -5"}],
286
+ [28,
287
+ {name: "크게 휘청거림",
288
+ text: "심한 충격으로 부상과 동시에 자세가 크게 흐트러진다.",
289
+ damage: "중상 1/마비, 스턴"}],
290
+ [31,
291
+ {name: "뇌진탕",
292
+ text: "뇌가 거세게 흔들려 의식이 혼미해진다.",
293
+ damage: "중상 2/방심"}],
294
+ [34,
295
+ {name: "복합 골절",
296
+ text: "공격을 받은 부분이 크게 찌부러져 복합 골절된 것 같다.",
297
+ damage: "중상 3/방심, 스턴"}],
298
+ [37,
299
+ {name: "두부 열상",
300
+ text: "머리에 명중. 피부가 크게 찢어진다.",
301
+ damage: "치명상 1, 피로 3"}],
302
+ [39,
303
+ {name: "늑골 부상",
304
+ text: "부러진 갈비뼈가 폐에 박혀 제대로 숨을 쉴 수가 없다.",
305
+ damage: "치명상 1/방심, 스턴"}],
306
+ [9999,
307
+ {name: "내장 손상",
308
+ text: "충격이 몸의 중심까지 닿아 내장을 몇 군데 다친 것 같다.",
309
+ damage: "치명상 2/DOT: 중상 1"}],
310
+ ]
311
+ },
312
+
313
+ "BR" => {
314
+ name: "작열",
315
+ table: [
316
+ [5,
317
+ {name: "화상",
318
+ text: "피부에 작은 화상을 입는다.",
319
+ damage: "경상 1"}],
320
+ [10,
321
+ {name: "온도 상승",
322
+ text: "열에 의해 부상 뿐만 아니라 체력도 빼앗긴다.",
323
+ damage: "경상 2, 피로 1"}],
324
+ [13,
325
+ {name: "공포",
326
+ text: "타오르는 불길에 공포를 느끼고 몸이 움츠러들어 움직임이 멈춘다.",
327
+ damage: "경상 3/방심"}],
328
+ [16,
329
+ {name: "발화",
330
+ text: "옷이나 신체 일부에 불이 옮겨붙는다.",
331
+ damage: "경상 3/DOT: 경상 1"}],
332
+ [19,
333
+ {name: "폭발",
334
+ text: "폭발로 바람에 날아가 넘어진다.",
335
+ damage: "중상 1/마비"}],
336
+ [22,
337
+ {name: "대화상",
338
+ text: "자국이 남을 정도로 큰 화상을 입는다.",
339
+ damage: "중상 2"}],
340
+ [25,
341
+ {name: "열파",
342
+ text: "화상과 거센 열로 의식이 몽롱하다.",
343
+ damage: "중상 2/스턴"}],
344
+ [28,
345
+ {name: "대폭발",
346
+ text: "격렬한 폭발로 날아가 부상을 입고 넘어진다.",
347
+ damage: "중상 3/마비"}],
348
+ [31,
349
+ {name: "대발화",
350
+ text: "광범위하게 불이 옮겨붙는다.",
351
+ damage: "중상 3/DOT: 경상 1"}],
352
+ [34,
353
+ {name: "탄화",
354
+ text: "고열 때문에 탄 부분이 탄화되어 버린다.",
355
+ damage: "치명상 1"}],
356
+ [37,
357
+ {name: "내장(기도) 화상",
358
+ text: "뜨거운 공기를 들이마셔 기도에도 화상을 입는다.",
359
+ damage: "치명상 1/DOT: 경상 1"}],
360
+ [39,
361
+ {name: "전신 화상",
362
+ text: "신체 곳곳에 깊은 화상을 입는다.",
363
+ damage: "치명상 2"}],
364
+ [9999,
365
+ {name: "치명적 화상",
366
+ text: "신체 대부분에 화상을 입는다.",
367
+ damage: "치명상 2/스턴"}],
368
+ ]
369
+ },
370
+
371
+ "RF" => {
372
+ name: "냉각",
373
+ table: [
374
+ [5,
375
+ {name: "냉기",
376
+ text: "가벼운 동상을 입는다.",
377
+ damage: "경상 1"}],
378
+ [10,
379
+ {name: "서리 옷",
380
+ text: "신체가 얇은 얼음으로 덮여 움직임이 무뎌진다.",
381
+ damage: "경상 2, 피로 1"}],
382
+ [13,
383
+ {name: "동상",
384
+ text: "동상에 의해 신체가 손상된다.",
385
+ damage: "경상 3"}],
386
+ [16,
387
+ {name: "체온 저하",
388
+ text: "냉기에 체온을 빼앗긴다.",
389
+ damage: "경상 3/DOT: 피로 1"}],
390
+ [19,
391
+ {name: "얼음 족쇄",
392
+ text: "팔꿈치나 무릎 등이 얼음으로 덮여 움직이기 어려워진다.",
393
+ damage: "중상 1/마비"}],
394
+ [22,
395
+ {name: "대동상",
396
+ text: "신체 곳곳에 동상을 입는다.",
397
+ damage: "중상 1/DOT: 피로 2"}],
398
+ [25,
399
+ {name: "얼음의 속박",
400
+ text: "하반신이 얼어붙어 움직일 수 없다.",
401
+ damage: "중상 2/마비"}],
402
+ [28,
403
+ {name: "시야 불량",
404
+ text: "머리에도 얼음이 얼어서 시야가 가려진다.",
405
+ damage: "중상 2/스턴"}],
406
+ [31,
407
+ {name: "팔 동결",
408
+ text: "팔이 얼어붙어 움직일 수가 없다.",
409
+ damage: "중상 3/방심"}],
410
+ [34,
411
+ {name: "중증 동상",
412
+ text: "체온이 더 떨어져 심각한 동상을 입는다.",
413
+ damage: "치명상 1"}],
414
+ [37,
415
+ {name: "전신 동결",
416
+ text: "온몸이 얼어붙는다.",
417
+ damage: "치명상 1/DOT: 피로 2"}],
418
+ [39,
419
+ {name: "치명적 동상",
420
+ text: "전신에 동상을 입는다.",
421
+ damage: "치명상 2"}],
422
+ [9999,
423
+ {name: "얼음 관",
424
+ text: "얼음에 완전히 갇힌다.",
425
+ damage: "치명상 2/스턴, 마비"}],
426
+ ]
427
+ },
428
+
429
+ "EL" => {
430
+ name: "전격",
431
+ table: [
432
+ [5,
433
+ {name: "정전기",
434
+ text: "온몸에 소름이 끼친다.",
435
+ damage: "피로 3"}],
436
+ [10,
437
+ {name: "전열상",
438
+ text: "전류에 의해 손상된다.",
439
+ damage: "피로 1, 경상 1"}],
440
+ [13,
441
+ {name: "감전",
442
+ text: "몸에 전류가 통함과 동시에 몸이 가볍게 저려온다.",
443
+ damage: "피로 2, 경상 2"}],
444
+ [16,
445
+ {name: "섬광",
446
+ text: "격렬한 전광에 의해 일시적으로 시야가 차단된다.",
447
+ damage: "경상 3/스턴"}],
448
+ [19,
449
+ {name: "다리 감전",
450
+ text: "전류에 의해 다리가 강하게 저려오며 움직일 수 없게 된다.",
451
+ damage: "중상 1/마비"}],
452
+ [22,
453
+ {name: "대전열상",
454
+ text: "신체 곳곳이 전류에 의해 손상된다.",
455
+ damage: "피로 2, 중상 2"}],
456
+ [25,
457
+ {name: "팔 부상",
458
+ text: "전류에 의해 팔이 저려 움직일 수 없게 된다.",
459
+ damage: "경상 1, 중상 2/방심"}],
460
+ [28,
461
+ {name: "대감전",
462
+ text: "전류에 의해 온몸이 저려 움직일 수 없게 된다.",
463
+ damage: "중상 2/스턴, 마비"}],
464
+ [31,
465
+ {name: "일시적인 심정지",
466
+ text: "강력한 전격 쇼크로 심장이 잠시 멈춘다.",
467
+ damage: "피로 3, 중상 3"}],
468
+ [34,
469
+ {name: "대전류",
470
+ text: "전신에 전류가 돈다.",
471
+ damage: "중상 3/방심, 마비"}],
472
+ [37,
473
+ {name: "치명 전열상",
474
+ text: "전신이 전류에 의해 손상된다.",
475
+ damage: "중상 1, 치명상 1"}],
476
+ [39,
477
+ {name: "심정지",
478
+ text: "강력한 전격 쇼크로 심장이 일시적으로 멈춘다. 죽음의 문턱이 보인다.",
479
+ damage: "피로 3, 중상 1, 치명상 1"}],
480
+ [9999,
481
+ {name: "조직 탄화",
482
+ text: "온몸이 전류로 타들어가고 곳곳의 조직이 탄화된다.",
483
+ damage: "치명상 2/스턴"}],
484
+ ]
485
+ }
486
+ }.freeze
487
+
488
+ DAMAGE_TABLE_SE = {
489
+ "SL" => {
490
+ name: "절단",
491
+ table: [
492
+ [5,
493
+ {name: "가벼운 충격",
494
+ text: "별 상처는 아니지만 충격을 받는다.",
495
+ damage: "스턴"}],
496
+ [10,
497
+ {name: "작은 상처",
498
+ text: "외부 장비에 상처가 난다.",
499
+ damage: "경상 1"}],
500
+ [13,
501
+ {name: "큰 상처",
502
+ text: "외부 장비에 큰 상처가 난다.",
503
+ damage: "경상 2"}],
504
+ [16,
505
+ {name: "매우 큰 상처",
506
+ text: "외부 장비에 아주 큰 상처가 나 내부도 대미지를 받는다.",
507
+ damage: "경상 3/DOT: 경상 1"}],
508
+ [19,
509
+ {name: "외관 파손",
510
+ text: "외부 장비 일부가 빠진다.",
511
+ damage: "경상 4"}],
512
+ [22,
513
+ {name: "내부 파손",
514
+ text: "외부 장비 일부가 파손되어 내부도 대미지를 입는다.",
515
+ damage: "중상 1/DOT: 경상 1"}],
516
+ [25,
517
+ {name: "내부 대파손",
518
+ text: "내부의 일부가 크게 파손된다.",
519
+ damage: "중상 2"}],
520
+ [28,
521
+ {name: "일시적 부전",
522
+ text: "외부 장비 일부가 망가져 내부도 큰 대미지를 입는다.",
523
+ damage: "중상 2/DOT: 경상 2"}],
524
+ [31,
525
+ {name: "열상",
526
+ text: "상처를 입어 내부가 드러난다.",
527
+ damage: "중상 3"}],
528
+ [34,
529
+ {name: "시야 불량",
530
+ text: "장착된 카메라에 문제가 생긴다.",
531
+ damage: "중상 3/스턴"}],
532
+ [37,
533
+ {name: "대열상",
534
+ text: "크게 갈가리 찢겨 내부가 드러난다.",
535
+ damage: "치명상 1"}],
536
+ [39,
537
+ {name: "기능 부전",
538
+ text: "중요한 부품이 망가졌다. 이러다가는 기능에 큰 장애가 생긴다.",
539
+ damage: "치명상 1/DOT: 경상 3"}],
540
+ [9999,
541
+ {name: "치명적 손상",
542
+ text: "기능이 정지할 수도 있을 만한 큰 손상을 받는다.",
543
+ damage: "치명상 2"}],
544
+ ]
545
+ },
546
+
547
+ "BL" => {
548
+ name: "총탄",
549
+ table: [
550
+ [5,
551
+ {name: "가벼운 충격",
552
+ text: "총알은 튕겨져 나갔지만 충격을 받는다.",
553
+ damage: "스턴"}],
554
+ [10,
555
+ {name: "작은 총상",
556
+ text: "총알은 튕겨져 나갔지만 외부 장비가 함몰되었다.",
557
+ damage: "경상 2"}],
558
+ [13,
559
+ {name: "큰 총상",
560
+ text: "총알은 간신히 튕겼지만 외부 장비에 큰 함몰이 생겼다.",
561
+ damage: "경상 3"}],
562
+ [16,
563
+ {name: "기능 저하",
564
+ text: "총에 맞은 충격으로 내부 기능에 문제가 생겼다.",
565
+ damage: "경상 4/슬로우: -3"}],
566
+ [19,
567
+ {name: "매우 큰 총상",
568
+ text: "총알이 외부 기관에 박혔다.",
569
+ damage: "중상 1"}],
570
+ [22,
571
+ {name: "총탄 정지",
572
+ text: "총알에 관통당헀다. 가까스로 내부는 다치지 않은 것 같다.",
573
+ damage: "중상 2"}],
574
+ [25,
575
+ {name: "내부 손상",
576
+ text: "총알에 관통당했을 때 내부 기능이 충격을 받는다.",
577
+ damage: "중상 2/방심"}],
578
+ [28,
579
+ {name: "내부 파괴",
580
+ text: "총알에 관통당했을 때 내부 기능에도 큰 대미지를 받는다.",
581
+ damage: "중상 3"}],
582
+ [31,
583
+ {name: "내부 대파괴",
584
+ text: "총알에 관통당했을 때의 충격으로 내부에 일시적인 손상이 생긴다.",
585
+ damage: "중상 3/슬로우: -5"}],
586
+ [34,
587
+ {name: "기능 일부 정지",
588
+ text: "총에 맞아 내부 기능이 일시적으로 쓸모없어졌다.",
589
+ damage: "치명상 1/스턴"}],
590
+ [37,
591
+ {name: "파손",
592
+ text: "총에 맞아 외부 장비가 날아가 내부 일부가 파괴된다.",
593
+ damage: "치명상 1/DOT: 경상 1"}],
594
+ [39,
595
+ {name: "대파손",
596
+ text: "총에 맞아 외부 장비와 내부의 일부가 날아간다.",
597
+ damage: "치명상 2"}],
598
+ [9999,
599
+ {name: "치명적인 일격",
600
+ text: "총알이 중요 부위에 명중한 충격으로 기능 대부분이 일시 정지한다.",
601
+ damage: "치명상 2/방심"}],
602
+ ]
603
+ },
604
+
605
+ "IM" => {
606
+ name: "충격",
607
+ table: [
608
+ [5,
609
+ {name: "가벼운 충격",
610
+ text: "상처도 함몰도 없지만 충격을 받는다.",
611
+ damage: "스턴"}],
612
+ [10,
613
+ {name: "충격",
614
+ text: "충격을 받아 외부 장비가 패인다.",
615
+ damage: "경상 1"}],
616
+ [13,
617
+ {name: "큰 충격",
618
+ text: "충격을 받아 외부 장비가 크게 패인다.",
619
+ damage: "경상 2"}],
620
+ [16,
621
+ {name: "매우 큰 충격",
622
+ text: "충격을 받아 외부 장비가 크게 패여 기능이 순간적으로 정지한다.",
623
+ damage: "경상 2/방심"}],
624
+ [19,
625
+ {name: "내부 압박",
626
+ text: "외부 장비가 패여 내부를 압박하고 있다.",
627
+ damage: "경상 3/DOT: 피로 3"}],
628
+ [22,
629
+ {name: "통타(痛打)",
630
+ text: "맞은 곳이 손상되어 카메라가 일시 정지한다.",
631
+ damage: "경상 4/스턴"}],
632
+ [25,
633
+ {name: "내부 충격",
634
+ text: "맞은 곳이 손상되어 내부에 큰 대미지가 간다. 기능이 일시적으로 정지한다.",
635
+ damage: "경상 5/방심"}],
636
+ [28,
637
+ {name: "기능 장애",
638
+ text: "충격으로 동작에 장애가 생긴다.",
639
+ damage: "중상 1/슬로우: -5"}],
640
+ [31,
641
+ {name: "외관 손상",
642
+ text: "손상된 외부 장비의 파편이 내부에 박힌다.",
643
+ damage: "중상 1/방심, 스턴"}],
644
+ [34,
645
+ {name: "외관 대손상",
646
+ text: "외부 장비가 크게 손상되고 내부도 곳곳이 파괴된다.",
647
+ damage: "중상 2/방심"}],
648
+ [37,
649
+ {name: "외관 파괴",
650
+ text: "외부 장비 일부가 날아가고 내부도 파괴된다.",
651
+ damage: "중상 3/방심, 스턴"}],
652
+ [39,
653
+ {name: "외관 대파괴",
654
+ text: "외부 장비 일부와 내부가 날아간다.",
655
+ damage: "치명상 1, 피로 3"}],
656
+ [9999,
657
+ {name: "치명적 파괴",
658
+ text: "외부 장비 대부분이 파괴되고 내부도 으스러진다.",
659
+ damage: "치명상 1/방심, 스턴"}],
660
+ ]
661
+ },
662
+
663
+ "BR" => {
664
+ name: "작열",
665
+ table: [
666
+ [5,
667
+ {name: "가벼운 용해",
668
+ text: "외부 장비가 약간 녹아 기능이 저하한다.",
669
+ damage: "스턴"}],
670
+ [10,
671
+ {name: "용해",
672
+ text: "외부 장비가 녹는다.",
673
+ damage: "경상 1"}],
674
+ [13,
675
+ {name: "온도 상승",
676
+ text: "열로 인해 외부 장비 뿐만 아니라 내부도 약간 녹는다.",
677
+ damage: "경상 2, 피로 1"}],
678
+ [16,
679
+ {name: "온도 대상승",
680
+ text: "열로 인해 외부 장비 뿐만 아니라 내부도 녹는다.",
681
+ damage: "경상 3/방심"}],
682
+ [19,
683
+ {name: "발화",
684
+ text: "외부 장비에 불이 옮겨 붙는다.",
685
+ damage: "경상 3/DOT: 경상 1"}],
686
+ [22,
687
+ {name: "폭발",
688
+ text: "폭발로 인해 외부 장비 일부가 날아간다.",
689
+ damage: "중상 1/스턴"}],
690
+ [25,
691
+ {name: "대용해",
692
+ text: "외부 장비에 자국이 남을 정도로 크게 녹는다.",
693
+ damage: "중상 2"}],
694
+ [28,
695
+ {name: "열파",
696
+ text: "강한 열로 인해 내부 기능이 저하한다.",
697
+ damage: "중상 2/스턴"}],
698
+ [31,
699
+ {name: "대폭발",
700
+ text: "격렬한 폭발로 외부 장비가 날아가 내부도 대미지를 받는다.",
701
+ damage: "중상 3/방심"}],
702
+ [34,
703
+ {name: "대발화",
704
+ text: "광범위하게 불이 옮겨 붙는다.",
705
+ damage: "중상 3/DOT: 경상 1"}],
706
+ [37,
707
+ {name: "탄화",
708
+ text: "너무 뜨거운 나머지 불에 탄 부분이 탄화된다.",
709
+ damage: "치명상 1"}],
710
+ [39,
711
+ {name: "내부 용해",
712
+ text: "내부에 열이나 불길이 들어가 크게 녹아내린다.",
713
+ damage: "치명상 1/DOT: 경상 1"}],
714
+ [9999,
715
+ {name: "치명적 용해",
716
+ text: "외부 장비나 내부 대부분이 녹는다.",
717
+ damage: "치명상 2"}],
718
+ ]
719
+ },
720
+
721
+ "RF" => {
722
+ name: "냉각",
723
+ table: [
724
+ [5,
725
+ {name: "가벼운 냉각",
726
+ text: "냉기 때문에 기능이 저하한다.",
727
+ damage: "스턴"}],
728
+ [10,
729
+ {name: "냉기",
730
+ text: "외부 장비가 얇은 얼음으로 덮인다.",
731
+ damage: "경상 1"}],
732
+ [13,
733
+ {name: "서리 옷",
734
+ text: "외부 장비가 얇은 얼음으로 덮여 동작이 무뎌진다.",
735
+ damage: "경상 2/피로 1"}],
736
+ [16,
737
+ {name: "가벼운 동결",
738
+ text: "추위로 얼어붙어 외부 장비 일부가 상한다.",
739
+ damage: "경상 3"}],
740
+ [19,
741
+ {name: "온도 저하",
742
+ text: "냉기 때문에 기능이 매우 저하한다.",
743
+ damage: "경상 3/DOT: 피로 1"}],
744
+ [22,
745
+ {name: "얼음 족쇄",
746
+ text: "가동부가 얼음으로 덮여 움직임이 어려워진다.",
747
+ damage: "중상 1/스턴"}],
748
+ [25,
749
+ {name: "대동결",
750
+ text: "외부 장비 대부분이 얼어붙는다.",
751
+ damage: "중상 1/DOT: 피로 2"}],
752
+ [28,
753
+ {name: "얼음의 속박",
754
+ text: "가동부가 완전히 얼어 움직일 수가 없다.",
755
+ damage: "중상 2/방심"}],
756
+ [31,
757
+ {name: "시야 불량",
758
+ text: "카메라 렌즈에도 얼음이 끼어 시야가 가려진다.",
759
+ damage: "중상 2/스턴"}],
760
+ [34,
761
+ {name: "동작 불량",
762
+ text: "동결 때문에 일부 동작에 어려움이 생긴다.",
763
+ damage: "중상 3/방심"}],
764
+ [37,
765
+ {name: "중증 동결",
766
+ text: "더욱 온도가 내려가 내부도 심각한 대미지를 받는다.",
767
+ damage: "치명상 1"}],
768
+ [39,
769
+ {name: " 전신 동결",
770
+ text: "온몸이 얼어붙는다.",
771
+ damage: "치명상 1/DOT: 피로 2"}],
772
+ [9999,
773
+ {name: "치명적 동결",
774
+ text: "외부 장비 뿐만이 아니라 내부도 치명적인 대미지를 받는다.",
775
+ damage: "치명상 2"}],
776
+ ]
777
+ },
778
+
779
+ "EL" => {
780
+ name: "전격",
781
+ table: [
782
+ [5,
783
+ {name: "가벼운 전격",
784
+ text: "전격 때문에 기능이 저하한다.",
785
+ damage: "스턴"}],
786
+ [10,
787
+ {name: "대전(帶電)",
788
+ text: "대전되어 가벼운 대미지를 받는다.",
789
+ damage: "피로 3"}],
790
+ [13,
791
+ {name: "전열상(電熱傷)",
792
+ text: "전류로 인해 외부 장비가 손상된다.",
793
+ damage: "피로 1, 경상 1"}],
794
+ [16,
795
+ {name: "가벼운 감전",
796
+ text: "전류로 손상됨과 동시에 내부에 가벼운 대미지를 받는다.",
797
+ damage: "피로 2, 경상 2"}],
798
+ [19,
799
+ {name: "섬광",
800
+ text: "격렬한 섬광 때문에 일시적으로 카메라 기능이 마비된다.",
801
+ damage: "경상 3/스턴"}],
802
+ [22,
803
+ {name: "감전",
804
+ text: "전류로 인해 내부에 대미지를 받아 일시적으로 동작이 마비된다.",
805
+ damage: "중상 1/방심"}],
806
+ [25,
807
+ {name: "대전열상",
808
+ text: "외부 장비 곳곳이 전류로 손상된다.",
809
+ damage: "피로 2, 중상 2"}],
810
+ [28,
811
+ {name: "감전으로 인한 부상",
812
+ text: "외부 장비 뿐만이 아니라 내부도 큰 대미지를 받아 기능이 마비된다.",
813
+ damage: "경상 1, 중상 2/방심"}],
814
+ [31,
815
+ {name: "대감전",
816
+ text: "전류로 인해 기능의 대부분이 마비되어 동작하지 않게 된다.",
817
+ damage: "중상 2/방심, 스턴"}],
818
+ [34,
819
+ {name: "대전류",
820
+ text: "강력한 전격 쇼크로 내부도 상당한 대미지를 받는다.",
821
+ damage: "피로 3, 중상 3"}],
822
+ [37,
823
+ {name: "일시 정지",
824
+ text: "전신에 전류가 돌아 기능 대부분이 동작 불량을 일으킨다.",
825
+ damage: "중상 3/방심, 스턴"}],
826
+ [39,
827
+ {name: "치명적 전열상",
828
+ text: "전신이 전류로 손상된다.",
829
+ damage: "중상 1, 치명상 1"}],
830
+ [9999,
831
+ {name: "기능 정지",
832
+ text: "강력한 전격 쇼크로 고장 직전의 대미지를 받는다.",
833
+ damage: "피로 3, 중상 1, 치명상 1"}],
834
+ ]
835
+ }
836
+ }.freeze
837
+ end
838
+ end
839
+ end