Class: BCDice::GameSystem::BeastBindTrinity
- Defined in:
- lib/bcdice/game_system/BeastBindTrinity.rb
Defined Under Namespace
Classes: BBCommand
Constant Summary collapse
- ID =
ゲームシステムの識別子
'BeastBindTrinity'
- NAME =
ゲームシステム名
'ビーストバインド トリニティ'
- SORT_KEY =
ゲームシステム名の読みがな
'ひいすとはいんととりにてい'
- HELP_MESSAGE =
ダイスボットの使い方
<<~INFO_MESSAGE_TEXT ・判定 (nBB+m%w@x#y$z&v) n個のD6を振り、出目の大きい2個から達成値を算出。修正mも可能。 %w、@x、#y、$z、&vはすべて省略可能。 >%w:現在の人間性が w であるとして、クリティカル値(C値)を計算。 ・省略した場合、C値=12として達成値を算出する。 >@x:クリティカル値修正。(加減式でも入力可能) ・xに直接数字を書くと、C値をその数字に上書きする。 「絶対にクリティカルしない」状態は、@13など xを13以上に指定すること。 ・xの先頭が「+」か「-」なら、計算したC値にその値を加算。例)@-1、@+2 この方法でC値をプラスする場合、上限は12となる。 >#y、#Ay:ファンブル値修正。(加減式でも入力可能) ・yに直接数字を書くと、ファンブル値をその数字に設定。 ・yの数字の先頭が「+」か「-」なら、ファンブル値=2にその数字を加算。例)#+2 ・※#Ayとすると、ファンブルしても達成値を通常通り算出。 例)#A+1 >$z:ダイスの出目をzに固定して判定する。複数指定可。 《運命歪曲》など「ダイスの1個を振り直す」効果等に使用する。 例)2BB$1 →ダイスを2個振る判定で、ダイス1個の出目を1で固定 例)2BB$16→ダイスを2個振る判定で、ダイスの出目を1と6で固定 >&v:出目がv未満のダイスがあれば、出目がvだったものとして達成値を計算する。 例)2BB&3 →出目3未満(→出目1、2)を出目3だったものとして計算。 ・D66ダイスあり ・邂逅表:EMO ・暴露表:EXPO_A ・魔獣化暴露表:EXPO_B ・アイドル専用暴露表:EXPO_I ・アイドル専用魔獣化暴露表:EXPO_J ・正体判明チャートA~C:FACE_A, FACE_B, FACE_C INFO_MESSAGE_TEXT
- TABLES =
{ 'EMO' => DiceTable::D66GridTable.new( '邂逅表', [ ['家族', '家族', '信頼', '信頼', '忘却', '忘却'], ['慈愛', '慈愛', '憧憬', '憧憬', '感銘', '感銘'], ['同志', '同志', '幼子', '幼子', '興味', '興味'], ['ビジネス', 'ビジネス', '師事', '師事', '好敵手', '好敵手'], ['友情', '友情', '忠誠', '忠誠', '恐怖', '恐怖'], ['執着', '執着', '軽蔑', '軽蔑', '憎悪', '憎悪'], ] ), 'EXPO_A' => DiceTable::Table.new( '暴露表', '1D6', [ '噂になるがすぐ忘れられる', '都市伝説として処理される', 'ワイドショーをにぎわす', 'シナリオ中[迫害状態]になる', '絆の対象ひとりに正体が知られる', '魔獣化暴露表へ' ] ), 'EXPO_B' => DiceTable::Table.new( '魔獣化暴露表', '1D6', [ 'トンデモ業界の伝説になる', 'シナリオ中[迫害状態]になる', 'シナリオ中[迫害状態]になる', '絆の対象ひとりに正体が知られる', '絆の対象ひとりに正体が知られる', '自衛隊退魔部隊×2D6体の襲撃' ] ), 'EXPO_I' => DiceTable::Table.new( 'アイドル専用暴露表', '1D6', [ '愉快な伝説として人気になる', 'ワイドショーをにぎわす', '炎上。シナリオ中[迫害状態]', '所属事務所に2D6時間説教される', '絆の対象ひとりに正体が知られる', 'アイドル専用魔獣化暴露表へ' ] ), 'EXPO_J' => DiceTable::Table.new( 'アイドル専用魔獣化暴露表', '1D6', [ 'シナリオ中[迫害状態]になる', 'シナリオ中[迫害状態]になる', '絆の対象ひとりに正体が知られる', '事務所から契約を解除される', '絆の対象ひとりに正体が知られる', '1D6本のレギュラー番組を失う' ] ), 'FACE_A' => DiceTable::Table.new( '正体判明チャートA', '1D6', [ 'あなたを受け入れてくれる', 'あなたを受け入れてくれる', '絆が(拒絶)に書き換わる', '絆がエゴに書き換わる', '気絶しその事実を忘れる', '精神崩壊する' ] ), 'FACE_B' => DiceTable::Table.new( '正体判明チャートB', '1D6', [ 'あなたを受け入れてくれる', '狂乱し攻撃してくる', '退場。その場から逃亡。暴露表へ', '絆がエゴに書き換わる', '精神崩壊する', '精神崩壊する' ] ), 'FACE_C' => DiceTable::Table.new( '正体判明チャートC', '1D6', [ 'あなたを受け入れてくれる', '退場。その場から逃亡。暴露表へ', '退場。その場から逃亡。暴露表へ', '絆がエゴに書き換わる', '精神崩壊する', '精神崩壊する' ] ), }.freeze
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
- #eval_game_system_specific_command(command) ⇒ Object
-
#initialize(command) ⇒ BeastBindTrinity
constructor
A new instance of BeastBindTrinity.
Methods inherited from Base
#change_text, #check_result, command_pattern, #enable_debug, #enabled_d9?, eval, #eval, #grich_text, prefixes_pattern, register_prefix, register_prefix_from_super_class, #sort_add_dice?, #sort_barabara_dice?
Methods included from Translate
Constructor Details
#initialize(command) ⇒ BeastBindTrinity
Returns a new instance of BeastBindTrinity.
54 55 56 57 58 |
# File 'lib/bcdice/game_system/BeastBindTrinity.rb', line 54 def initialize(command) super(command) @d66_sort_type = D66SortType::ASC end |
Instance Method Details
#eval_game_system_specific_command(command) ⇒ Object
244 245 246 247 248 249 250 251 |
# File 'lib/bcdice/game_system/BeastBindTrinity.rb', line 244 def eval_game_system_specific_command(command) if (ret = roll_tables(command, TABLES)) return ret end bb = BBCommand.new(command) return bb.roll(@randomizer) end |