Class: BCDice::GameSystem::ParasiteBlood

Inherits:
DemonParasite show all
Defined in:
lib/bcdice/game_system/ParasiteBlood.rb

Constant Summary collapse

ID =

ゲームシステムの識別子

'ParasiteBlood'
NAME =

ゲームシステム名

'パラサイトブラッドRPG'
SORT_KEY =

ゲームシステム名の読みがな

'はらさいとふらつとRPG'
HELP_MESSAGE =

ダイスボットの使い方

<<~INFO_MESSAGE_TEXT
  ・衝動表 (URGEx)
   "URGE衝動レベル"の形で指定します。
   衝動表に従って自動でダイスロールを行い、結果を表示します。
   ダイスロールと同様に、他のプレイヤーに隠れてロールすることも可能です。
   頭に識別文字を追加して、デフォルト以外の衝動表もロールできます。
   ・AURGEx 頭に「A」を付けると「誤作動表」。
  例)URGE1   urge5   Aurge2
  ・D66ダイスあり
INFO_MESSAGE_TEXT

Constants inherited from DemonParasite

DemonParasite::MALFUNCTION_TABLE, DemonParasite::MUTANT_TABLE, DemonParasite::NEW_URGE_TABLE, DemonParasite::ONIMITAMA_BATTLE_TABLE, DemonParasite::ONIMITAMA_OUT_OF_BATTLE_TABLE, DemonParasite::URGE_TABLE

Instance Attribute Summary

Attributes inherited from Base

#d66_sort_type, #default_cmp_op, #default_target_number, #randomizer, #reroll_dice_reroll_threshold, #round_type, #sides_implicit_d, #upper_dice_reroll_threshold

Instance Method Summary collapse

Methods inherited from DemonParasite

#eval_game_system_specific_command, #initialize, #result_nd6

Methods inherited from Base

#change_text, #check_result, command_pattern, #enable_debug, #enabled_d9?, #eval, eval, #grich_text, #initialize, prefixes_pattern, register_prefix, register_prefix_from_super_class, #sort_add_dice?, #sort_barabara_dice?

Methods included from Translate

#translate

Constructor Details

This class inherits a constructor from BCDice::GameSystem::DemonParasite

Instance Method Details

#get_pb_aas_urge_tableObject

**パラサイトブラッドの誤作動表(2d6)



153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
# File 'lib/bcdice/game_system/ParasiteBlood.rb', line 153

def get_pb_aas_urge_table
  return [[
    # **第1段階
    '『緊急停止/20』機能異常の警報と共に、機能が緊急停止。次のターンのターン終了時まで[行動不能]となる。',
    '『動作不調/10』駆動系に異常発生。このターンのターン終了まで[行動不能]となる。',
    '『腕部停止/10』腕部機能に異常発生。このターンのターン終了まで[タイミング:攻撃]を失う。',
    '『視覚異常/10』センサー系に異常。60ターン(10分)の間、[暗闇]となる。',
    '『機能制動/0』機能が一瞬停止するが、以後正常に動作。影響なし。',
    '『機能安定/0』機能がむしろ安定した。影響なし。',
    '『不良調整/0』機能に違和感を覚えるが誤差の範囲内。影響なし。',
    '『機能暴発/10』兵装の調子が悪化。次のターンのターン終了まで、[タイミング:準備]の《兵装》が使用できない。',
    '『離脱機能/10』異常発生。即座に[戦闘移動]を行い、最も近い敵から遠ざかるように移動する。',
    '『排熱暴走/10』排熱機能に異常。次のターンのターン終了まで[着火]状態となる。特殊ダメージは本人のものを使用する。',
    '『電装異常/20』電装系に異常。即座に【負荷】が2点蓄積する。',
  ],

          # **第2段階
          [
            '『安全機能/20』セーフティが誤動作。このターンのターン終了まで判定の達成値に-5。',
            '『筋肉萎縮/20』人工筋肉に異常発生。60ターン(10分)の間、【肉体】判定の達成値に-2。',
            '『出力低下/20』駆動部に異常発生。60ターン(10分)の間、【機敏】判定の達成値に-2。',
            '『感覚異常/10』感覚機能に異常発生。60ターン(10分)の間、【感覚】判定の達成値に-2。',
            '『視界不良/10』視覚機能に異常発生。60ターン(10分)の間、【幸運】判定の達成値に-2。',
            '『機能安定/0』機能がむしろ安定した。影響なし。',
            '『不良調整/0』機能に違和感を覚えるが誤差の範囲内。影響なし。',
            '『援護不通/10』援護ソフトが誤作動。60ターン(10分)の間、【知力】判定の達成値に-2。',
            '『発声不調/20』通話機能に異常。60ターン(10分)の間、声を出しても雑音だらけになって意味が通じず、さらに【精神】判定の達成値に-2。',
            '『装甲軟化/20』防御機能に異常。次のターンのターン終了まで、防御力に-5。',
            '『装備異常/20』精密動作に異常発生。装備している[通常アイテム]の武器がランダムでひとつ、[装備]から外れる。',
          ],

          # **第3段階
          [
            '『動力漏電/20』動力が漏電し始める。【負荷】が2点蓄積する。',
            '『脚部異常/20』脚部に異常発生。次のターンのターン終了まで[戦闘移動][全力移動]の距離が半分になる。',
            '『足下転倒/20』バランサーに異常発生。[転倒]状態となる。',
            '『出力向上/20』突然出力が上昇する。次のターンのターン終了まで、特殊ダメージに+1d。',
            '『機能制動/10』一瞬違和感を覚えるが、以後正常に動作。影響なし。',
            '『障壁減衰/10』電力が減衰する。【電力】を5消費する。',
            '『身体向上/10』格闘機能が向上。次のターンのターン終了まで、肉弾ダメージに+1d。',
            '『精度向上/20』火器管制機能が向上。次のターンのターン終了まで、射撃ダメージに+1d。',
            '『反射鋭化/20』反応速度が加速した。次のターンのターン終了まで、【行動値】に+5。',
            '『友軍誤認/20』警戒装置が誤動。最も近い[距離:移動10m/対象:1体]に通常肉弾攻撃を行う。',
            '『電子賦活/20』電磁障壁が突如復帰。【電力】が10回復する。',
          ],

          # **第4段階
          [
            '『照準誤認/20』照準機能に異常発生。最も近い[距離:移動10m/対象:1体]に通常肉弾攻撃を行う。判定は自動的にクリティカルとなる。',
            '『攻撃特化/20』攻撃機能が異常動作。次のターンのターン終了まで、ダメージに+2d。ただし、その間[タイミング:瞬間]を行えない。',
            '『機内窒息/20』呼吸機能に異常。次のターンのターン終了まで[窒息]状態となる。',
            '『自動援護/20』援護機能が自動的に作動する。即座に[タイミング:準備]を1回行う。',
            '『音声遮断/10』聴覚機能に異常発生。次のターンのターン終了まで一切の物音が聞こえず、回避判定の達成値に-5。',
            '『電流加速/10』突然電磁障壁が効率的に流れる。【電力】が10回復。',
            '『精密射撃/20』照準機能が向上。60ターン(10分間)の間、ダメージに+5。',
            '『緊急措置/20』突然、緊急時の対策機能が発動する。【負荷】が2蓄積し、【電力】が20回復する。',
            '『荷電暴走/20』電流の流れに異常が発生。【HP】を10消費し、次のターンのターン終了までダメージに+10。',
            '『状況分析/20』周辺解析ソフトが高速で動作。60ターン(10分間)の間、命中判定の達成値に+5。',
            '『機能再生/20』兵装に誤作動。取得済みの使用不能になった《兵装》を1つ指定し、再び使用できるようになる。',
          ],

          # **第5段階
          [
            '『機能停止/30』機能が作動しなくなる。このターンのターン終了まで、【負荷】を蓄積させる行動が取れなくなる。',
            '『機関暴走/30』放熱機関が暴走する。本人を中心として[対象:半径5m全て]が次のターンのターン終了まで[着火]状態となる。特殊ダメージはこの表を振ったPCのものを使用する。',
            '『電力低下/20』出力が上がらない。【電力】が20減少する。',
            '『急速修復/20』電磁障壁と生命維持装置が高速処理を始める。【HP】が20回復。',
            '『駆動不調/20』駆動系に動作不良。次のターンのターン終了まで、判定の達成値に-5。',
            '『機体清冽/20』機能が初期化され、異常から復帰。[気絶・死亡・戦闘不能]以外の状態変化がすべて解除される。',
            '『機体減速/20』運動機能が暴走。次のターンのターン終了まで【行動値】に-10(最低1)。',
            '『排毒噴出/20』排気機構が誤作動。[対象:半径5m全て]が次のターンのターン終了まで[猛毒]状態となる。',
            '『緊急駆動/20』機動性が向上。次のターンのターン終了まで判定の達成値に+5。',
            '『負荷軽減/30』急激に負荷が解消される。【負荷】が2点回復する。',
            '『出力過剰/30』全出力が過剰なまでに上昇する。次のターンのターン終了までダメージに+10。',
          ]]
end

#get_pb_normal_urge_tableObject



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# File 'lib/bcdice/game_system/ParasiteBlood.rb', line 84

def get_pb_normal_urge_table
  return [[
    '『怒り/20』突然強い怒りに駆られる。最も近い対象を罵倒し、そのターンの終了まで[行動不能]となる。',
    '『暗闇/20』視神経に悪影響が出て、24時間[暗闇]になる。',
    '『悲哀/10』突然の悲みに動きが止まる。そのターンの終了まで[行動不能]となる。',
    '『微笑/10』可笑しくてしょうがない。笑いが止まらず、そのターンの終了まで[行動不能]となる。',
    '『鈍感/ 0』衝動に気が付かない。影響なし。',
    '『抑制/ 0』衝動を抑制した。影響なし。',
    '『我慢/ 0』衝動を我慢した。影響なし。',
    '『前兆/10』悪魔的特徴が1ターン(10秒)目立つ。〈悪魔化〉時は影響なし。',
    '『変化/10』利き腕や前脚のみ、2ターン(20秒)かけて〈悪魔化〉する。〈悪魔化〉時は影響なし。',
    '『拒絶/10』〈悪魔化〉が解除される。通常時は影響なし。',
    '『定着/20』通常時であれば、即座に〈悪魔化〉する。肉体が〈悪魔化〉に馴染み、24時間通常時に戻れない。',
  ],
          [
            '『賛美/20』最も近くの対象を主と思いこむ。1時間または自身か対象が[気絶・戦闘不能・死亡]するまで、対象のあらゆる命令を聞く。',
            '『茫然/20』思考が停止。そのターンの終了まで[タイミング:攻撃]を行えない。',
            '『苦痛/20』"悪魔寄生体"が体内で暴れる。苦痛を感じ、【エナジー】を10消費。',
            '『落涙/10』過去の悲しい想い出が去来し、涙が溢れる。そのターンの終了まで[タイミング:準備]を行えない。',
            '『限界/10』溢れる力が限界を超え、全身の血管が破裂。【エナジー】を5消費。',
            '『辛抱/10』突如全身が〈悪魔化〉しようとしたが、意思の力で抑制。【エナジー】を5消費。〈悪魔化〉時は影響なし。',
            '『忍耐/ 0』衝動に耐えた。影響なし。',
            '『抑制/ 0』衝動を抑制した。影響なし。',
            '『我慢/ 0』衝動を我慢した。影響なし。',
            '『嫉妬/10』最も近くの対象に猛烈な嫉妬を感じ、[距離:移動10m/対象:1体]に通常肉弾攻撃を行う。',
            '『変貌/20』〈悪魔化〉する。その際、特異な外見が目立つ。〈悪魔化〉時は影響なし。',
          ],
          [
            '『異貌/20』3ターンかけて、顔のみが〈悪魔化〉する。〈悪魔化〉時は影響なし。',
            '『解放/20』衝動に耐えきれず3ターンかけて〈悪魔化〉する。〈悪魔化〉時は影響なし。',
            '『発露/20』全身を駆け抜ける衝動により力が溢れる。次のターンの終了まで、ダメージに+5。',
            '『渇望/10』攻撃衝動を抑えられない。次のターンの終了まで、命中判定の達成値に+5。',
            '『絶叫/10』あらん限りの声で叫び、力が増す。次のターンの終了まで、ダメージに+1d。',
            '『我慢/ 0』衝動を我慢した。影響なし。',
            '『憤怒/10』全身に怒りが満ちて攻撃力上昇。次のターンの終了まで、ダメージに+1d。',
            '『加速/10』全身を駆け抜ける衝動により速度上昇。次のターンの終了まで【行動値】が2倍。',
            '『嫌悪/20』最も近くの対象に嫌悪を感じ、[距離:移動10m/対象:1体]に通常肉弾攻撃を行う。',
            '『保身/20』突如として防御能力が高まる。次のターンの終了まで、防御力に+5。',
            '『救済/20』"悪魔寄生体"が危機を察知し、【エナジー】を20回復。',
          ],
          [
            '『転倒/20』踏み込んだ瞬間、あまりの衝撃に地面をえぐり[転倒]してしまう。',
            '『脱力/20』急に力が抜ける。そのターンの終了まで、判定の達成値に-5。',
            '『困惑/20』精神に変調があらわれ、空間認識能力が狂う。次のターンの終了まで、[タイミング:瞬間]の《特殊能力》を行えない。',
            '『全力/20』激しい躁状態。次のターンの終了まで、命中判定に+10。加えて[タイミング:ターン開始]の《特殊能力》を使用できなくなる。',
            '『咆吼/10』大声で叫び、意味のある言葉を話せなくなる。1時間持続する。',
            '『狂気/10』心が狂気に満たされ、強いストレスを感じる。【衝動】を2蓄積させる。',
            '『本能/20』"悪魔寄生体"の生存本能が自我を支配。次のターンの終了まで、ダメージに+5。',
            '『治癒/20』衝動を1蓄積させ、《肉体修復》を行う。',
            '『敵意/20』最も近い対象に強い敵意を抱く。[距離:移動10m/対象:1体]に通常肉弾攻撃を行い、クリティカルとなる。',
            '『自虐/20』自分が許せず自虐行為を行う。【エナジー】を10消費するが、次のターンの終了までダメージに+10。',
            '『自浄/20』少し我に返る。【衝動】が2回復。',
          ],
          [
            '『睡眠/30』猛烈な睡魔に襲われ意識を失う。そのターンの終了まで[気絶]となる。',
            '『飢餓/30』猛烈な飢餓感。20m以内の最も近い[気絶・戦闘不能・死亡]の対象へ移動し、喰らう。次のターンの終了まで、対象は【エナジー】を1dずつ消費。',
            '『激怒/20』突如として強い怒りが湧き、周囲が見えなくなる。次のターンの終了まで、[タイミング:瞬間]の《特殊能力》を行えない。',
            '『顕現/20』利き腕や前脚がさらに外骨格化し、肉体に強い負荷がかかる。【衝動】を3蓄積',
            '『好機/20』チャンスに本能が素早く反応。即座に[タイミング:攻撃]の行動を1回だけ行える。',
            '『狂化/20』精神に変調、心が強い狂気で満たされ、自虐行為に走る。【エナジー】を20消費する。',
            '『混乱/20』精神に変調が現れ、肉体を意のままに動かせない。次のターンの終了まで、判定の達成値に-5。',
            '『暴君/20』自分が最強に思えてしょうがない。60ターン(10分)の間、【行動値】とダメージに+5。',
            '『無双/20』達人の感覚が目覚める。60ターン(10分)の間、命中判定と回避判定の達成値に+5。',
            '『発現/30』通常時であれば、即座に《悪魔化》する。特異な外見が60ターン(10分)目立ち、その間、命中判定とダメージに+5。',
            '『絶望/30』全身が絶望に満たされ、全てを破壊したくなる。次のターンの終了まで、ダメージに+15。',
          ]]
end

#get_pb_urge_table(level, dice, urge_type) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/bcdice/game_system/ParasiteBlood.rb', line 70

def get_pb_urge_table(level, dice, urge_type)
  table = nil

  if urge_type <= 1 # 衝動表
    table =  get_pb_normal_urge_table
  elsif urge_type <= 2 # AASとサイボーグの誤作動表
    table = get_pb_aas_urge_table
  else # エラートラップ
    table = get_pb_normal_urge_table
  end

  return table[level - 1][dice - 2]
end

#get_urge(string) ⇒ Object

パラサイトブラッドの衝動表



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/bcdice/game_system/ParasiteBlood.rb', line 31

def get_urge(string) # パラサイトブラッドの衝動表
  unless /(\w*)URGE\s*(\d+)/i =~ string
    return '1'
  end

  initialWord = Regexp.last_match(1)
  urgelv = Regexp.last_match(2).to_i

  case initialWord
  when ""
    urge_type = 1
  when /A/i    # 誤作動表
    urge_type = 2
  else         # あり得ない文字
    urge_type = 1
  end

  if (urgelv < 1) || (urgelv > 5)
    return '衝動段階は1から5です'
  end

  if urge_type == 0
    return '1'
  end

  dice_now = @randomizer.roll_sum(2, 6)
  urge = get_pb_urge_table(urgelv, dice_now, urge_type)
  resultText = "#{urgelv}-#{dice_now}:#{urge}"
  if urge_type <= 1
    output = "衝動表#{resultText}"
  elsif urge_type <= 2
    output = "誤作動表#{resultText}"
  else
    output = '1'
  end

  return output
end