Class: BCDice::GameSystem::YankeeYogSothoth
- Defined in:
- lib/bcdice/game_system/YankeeYogSothoth.rb
Constant Summary collapse
- ID =
ゲームシステムの識別子
'YankeeYogSothoth'
- NAME =
ゲームシステム名
'ヤンキー&ヨグ=ソトース'
- SORT_KEY =
ゲームシステム名の読みがな
'やんきいあんとよくそとおす'
- HELP_MESSAGE =
ダイスボットの使い方
<<~INFO_MESSAGE_TEXT ・判定 スペシャル/ファンブル/成功/失敗を判定 ・各種表 ※うろつき~決闘フェイズ FT ファンブル表 WT 変調表 RTTn ランダム特技決定表(n:分野番号、省略可能) RCT ランダム分野決定表 KKT 関係表 DBRT 他愛のない会話表 TKT 戦う理由表 ※武勇伝フェイズ BUDT 武勇伝表 GUDT ガイヤンキー武勇伝表 FTNT 二つ名決定表 DAIT 第一印象表 TKKT ツレ関係表 ※帰還フェイズ GSST 現実世界生活表 GYST ガイヤンキー生活表 HPST 病院生活表 ・D66ダイスあり INFO_MESSAGE_TEXT
- NICKNAME_TABLE1 =
DiceTable::D66Table.new( '二つ名表1', D66SortType::ASC, { 11 => '「愛死天流(あいしてる)」', 12 => '「喧嘩上等(けんかじょうとう)」', 13 => '「正々堂々(せいせいどうどう)」', 14 => '「天下無敵(てんかむてき)」', 15 => '「一騎当千(いっきとうせん)」', 16 => '「威風堂々(いふうどうどう)」', 22 => '「焼肉定食(やきにくていしょく)」', 23 => '「完全無欠(かんぜんむけつ)」', 24 => '「獅子奮迅(ししふんじん)」', 25 => '「臥薪嘗胆(がしんしょうたん)」', 26 => '「疾風迅雷(しっぷうじんらい)」', 33 => '「夜露死苦(よろしく)」', 34 => '「天上天下(てんじょうてんげ)」', 35 => '「唯我独尊(ゆいがどくそん)」', 36 => '「電光石火(でんこうせっか)」', 44 => '「仏恥義理(ぶっちぎり)」', 45 => '「百戦百勝(ひゃくせんひゃくしょう)」', 46 => '「百戦錬磨(ひゃくせんれんま)」', 55 => '「残酷非道(ざんこくひどう)」', 56 => '「一意専心(いちいせんしん)」', 66 => '「時給千円(じきゅうせんえん)」' } )
- NICKNAME_TABLE2 =
DiceTable::D66Table.new( '二つ名表2', D66SortType::ASC, { 11 => '「みんなの」', 12 => '「スルー推奨」', 13 => '「暴れん坊」', 14 => '「仲間思い」', 15 => '「サボり魔」', 16 => '「熱血番長の」', 22 => '「今日がダメでも明日がある」', 23 => '「すぐカッとなる」', 24 => '「夢を応援する」', 25 => '「地元じゃ有名な」', 26 => '「喧嘩慣れている」', 33 => '「いつかビックになる」', 34 => '「いいやつの」', 35 => '「意外とまじめな」', 36 => '「イイ感じの」', 44 => '「家族想いの」', 45 => '「とにかくモテる」', 46 => '「学校を代表するワル」', 55 => '「邪神ハンター」', 56 => '「男前/イイ女」', 66 => '「悪そうなやつはだいたい友達」' } )
- NICKNAME_TABLE3 =
DiceTable::D66Table.new( '二つ名表3', D66SortType::ASC, { 11 => '「ファッションヤンキー」', 12 => '「誰もが知っている」', 13 => '「チャラい」', 14 => '「ツヨメ」', 15 => '「中学時代はすごかった」', 16 => '「イカれたやつ」', 22 => '「道徳の授業で泣いた」', 23 => '「マジか」', 24 => '「イケイケ」', 25 => '「鬼語り」', 26 => '「とりま」', 33 => '「ちょっと眠たい」', 34 => '「パネエ」', 35 => '「エモい」', 36 => '「やべーぞ!」', 44 => '「お腹が減っている」', 45 => '「むっつりスケベの」', 46 => '「いじわるな」', 55 => '「全国区に報道された」', 56 => '「毎日が楽しい」', 66 => '「おやじ狩り狩り」' } )
- NICKNAME_TABLE4 =
DiceTable::D66Table.new( '二つ名表4', D66SortType::ASC, { 11 => '「国産」', 12 => '「ブレブレ」', 13 => '「ロボ」', 14 => '「大銀河」', 15 => '「超獣」', 16 => '「ミステリー」', 22 => '「超電磁」', 23 => '「危険な」', 24 => '「湯上がり」', 25 => '「すごい」', 26 => '「エロ」', 33 => '「福岡」', 34 => '「エリート」', 35 => '「どんまい」', 36 => '「がり勉」', 44 => '「東京」', 45 => '「スペース」', 46 => '「永遠の」', 55 => '「大阪」', 56 => '「輝け!」', 66 => '「名古屋」' } )
- RTT =
DiceTable::SaiFicSkillTable.new( [ ['苦手', ['大人', '勉強', '敗北', '昆虫', '親', '異性', '孤独', '高所', '暗がり', 'ホラー', '子供']], ['部活', ['柔道', 'プロレス', 'テコンドー', '空手', 'ボクシング', '帰宅', '剣道', '野球', '応援団', '科学', '文系']], ['中学時代', ['悪ガキ', '統一', 'バイト', '習い事', '喧嘩', 'サボり', 'マジメくん', '遊び歩き', '真似ごと', '部活', '何もしない']], ['趣味', ['すけべ', '車・バイク', '家事', '料理', '運動', '修行', 'ファッション', 'つるむ', '寝る', 'ゲーム', '読書']], ['スタイル', ['テキトー', 'ばか', 'オラオラ', '熱血', '硬派', '自然体', '軟派', '自分大好き', '腹黒', 'クール', 'インテリ']], ['好み', ['だらだら', '食事', '逆転', '家族', '支配', '褒められる', '恋愛', '友情', '勝利', '金', '静寂']], ], rtt_format: "ランダム指定特技表(%<category_dice>d,%<row_dice>d) > %<text>s" )
- TABLES =
{ "FTNT" => DiceTable::ChainTable.new( "二つ名決定表", "1D6", [ NICKNAME_TABLE1, NICKNAME_TABLE1, NICKNAME_TABLE2, NICKNAME_TABLE2, NICKNAME_TABLE3, NICKNAME_TABLE4, ] ), "FT" => DiceTable::Table.new( "ファンブル表", "1D6", [ 'やっちまった……。テンションが1段階減少する。', 'ひょうなことから嫌な状況になる。ランダムに変調(WT)を1つ受ける。', 'あまりにもカッコ悪いところが伝わってしまう。自分に対して【友情度】を持つPC全員は、リスペクトにチェックを入れる。', '自分の絶望を観測し、邪神が活性化する。バッドヤンキーの「ケツモチ邪神の加護」が1点上昇する。', 'つまらないことで怪我をする。自分の【HP】が1D6点減少する。', '逆境に燃える。テンションが1段階上昇する。' ] ), "WT" => DiceTable::Table.new( "変調表", "1D6", [ '毒:サイクル終了時もしくはラウンド終了時に、2D6点のダメージを受ける。', '呪い:熱血蘇生の達成値が2点減少する。NPCが受けた場合、受けるダメージが2点上昇する。', '火傷:テンションの効果によって、【攻撃力】が上昇しない。NPCは【攻撃力】が2点低いものとして扱う(最低0点)。', '骨折:判定に失敗するたびに、5点のダメージを受ける。', '出血:サイクル終了時もしくはラウンド終了時に、2点のダメージを受ける。また、施設やアイテムの効果で【HP】が上昇しない。', '目つぶし:判定の達成値が2点減少する。' ] ), "KKT" => DiceTable::Table.new( "関係表", "1D6", ['「家族/気に食わない」', '「親友/近寄るな」', '「悪友/こざかしい」', '「ライバル/チンピラ」', '「いい奴/悪い奴」', '「利用できる/ヘタレ」'] ), "DBRT" => DiceTable::D66Table.new( "他愛のない会話表", :asc, { 11 => "「政治の話」", 12 => "「勉強の話」", 13 => "「友達の話」", 14 => "「兄弟姉妹の話」", 15 => "「好きなものの話」", 16 => "「嫌いなものの話」", 22 => "「ラーメンの話」", 23 => "「コンビニの話」", 24 => "「学校生活の話」", 25 => "「先輩後輩の話」", 26 => "「趣味の話」", 33 => "「肉の話」", 34 => "「中学時代の話」", 35 => "「喧嘩の話」", 36 => "「ファッションの話」", 44 => "「家の話」", 45 => "「好みの異性の話」", 46 => "「テレビ番組の話」", 55 => "「野菜の話」", 56 => "「部活の話」", 66 => "「ダブりの話」", } ), "TKT" => DiceTable::D66Table.new( "戦う理由表", :asc, { 11 => "「なんとなく」", 12 => "「好みのエルフがいた」", 13 => "「エルフに世話になった」", 14 => "「ドワーフの飯がうまかった」", 15 => "「ドワーフにファッション特徴を作ってもらった」", 16 => "「妖精たちのいたずらがほほえましかった」", 22 => "「バッドヤンキーと昔からの因縁があるから」", 23 => "「バッドヤンキーが気に入らなかった」", 24 => "「強いやつと戦いたい」", 25 => "「異世界にワクワクしているから」", 26 => "「バッドヤンキー集団に迷惑を受けたから」", 33 => "「夢見るNPCが好みだったから」", 34 => "「夢見るNPCの夢に共感したから」", 35 => "「夢見るNPCの夢を応援したいと思ったから」", 36 => "「夢見るNPCを放っておけないから」", 44 => "「家に帰りたいから」", 45 => "「夢見るNPCは友達だから」", 46 => "「他のPCと気が合ったから」", 55 => "「マーメイドと仲良くなった」", 56 => "「退屈を紛らわせられそうだから」", 66 => "「ただ暴れたかった」", } ), "BUDT" => DiceTable::D66Table.new( "武勇伝表", :asc, { 11 => "バッドヤンキーのチームに自分が所属する学校を破壊されたが、最後まで戦った。/テンションが1段階上昇", 12 => "バッドヤンキーチームの兵隊が襲い掛かってきたが、撃退した。/【HP】+3", 13 => "バッドヤンキーと何度も戦い、ライバルとして認識されていた。/【打たれ強さ】+1", 14 => "バッドヤンキー配下の集団をいくつか潰してまわっていた。/【攻撃力】+1", 15 => "バッドヤンキーのチームに入りそうになった後輩を説得した。/【HP】+3", 16 => "バッドヤンキーに支配されていた店を救った。/【攻撃力】+1", 22 => "アメリカで暴れた。/テンションが1段階上昇", 23 => "学校をサボって、日本全国を旅をしてまわった。/【HP】+3", 24 => "好きなアーティストのライブに行き、マナーの悪いファンを黙らせた。/【打たれ強さ】+1", 25 => "抗争中の学校に一人で乗り込んで、戦いを終わらせた。/【攻撃力】+1", 26 => "へまをした仲間を助けるため、頭を下げた。/【HP】+3", 33 => "大規模な運動会で活躍し、最優秀賞を獲得した。/【攻撃力】+1", 34 => "家族や仲間に迷惑をかけたチームを潰した。/【打たれ強さ】+1", 35 => "暴走族を一人で潰した。/【攻撃力】+1", 36 => "本職(ヤクザ)と戦って謝らせた。/【打たれ強さ】+1", 44 => "ドッジボール大会に出場し、優勝をして賞品を手に入れた。/「絆創膏」「テンアゲアイテム」「ポーション」「お守り」のうち1つを選んで獲得する", 45 => "仲間たちと一緒に学校行事を盛り上げた。/【打たれ強さ】+1", 46 => "仲間と一緒にディスカウントストアで買い物をし、キャンプをした。/「絆創膏」「テンアゲアイテム」「ポーション」「お守り」のうち1つを選んで獲得する", 55 => "隣のプレイヤーのPCが所属する高校と大きな抗争をした。/右隣のプレイヤーのPCに対する【友情度】が1点上昇", 56 => "修学旅行先で喧嘩し、その後友情を深めた。/【攻撃力】+1", 66 => "隣のプレイヤーのPCと一緒に、大きな悪の組織を潰した。/右隣のプレイヤーのPCに対する【友情度】が1点上昇", } ), "GUDT" => DiceTable::D66Table.new( "ガイヤンキー武勇伝表", :asc, { 11 => "アザトースが突然接触してきたので、殴って追い返した。/テンションが1段階上昇", 12 => "シュブ=ニグラスのサバトに乗り込んで潰した。/【HP】+3", 13 => "クトゥルフの落とし子を殴り倒して追い返した。/【打たれ強さ】+1", 14 => "ヨグ=ソトースの勧誘を受けたが、断ってやった。/【攻撃力】+1", 15 => "深きものどもが住む漁村を訪ね、罠にはめられたが脱出した。/【HP】+3", 16 => "一晩飲み明かした相手がナイアーラトテップだった。/【攻撃力】+1", 22 => "生きてる恐竜と出会った。/テンションが1段階上昇", 23 => "ファンタジー世界を冒険者として旅してまわった。/【HP】+3", 24 => "町で起こった少女たちの失踪事件を解決した。/【打たれ強さ】+1", 25 => "バッドヤンキーに潰された騎士団を鼓舞して、立て直しに協力した。/【攻撃力】+1", 26 => "大きな城下町に起こった殺人事件や傷害事件を幾つも解決した。/【HP】+3", 33 => "大きな城下町で、テンションが上がっていろいろ買い込んでしまった。/「絆創膏」「テンアゲアイテム」「ポーション」「お守り」のうち1つを選んで獲得する", 34 => "エルフの森を燃やしつくそうとする拝火暴走族をこらしめた。/【打たれ強さ】+1", 35 => "ドワーフの洞窟に現われた巨大ワームを投げ飛ばした。/【攻撃力】+1", 36 => "妖精たちの村に迷い込んで、村を荒らそうとするゴブリンをブッ飛ばした。/【打たれ強さ】+1", 44 => "巨大な王国が主催している武術大会で優勝し、名誉とアイテムを手に入れた。/「絆創膏」「テンアゲアイテム」「ポーション」「お守り」のうち1つを選んで獲得する", 45 => "ゴブリンの襲撃から町を守り切った。/【打たれ強さ】+1", 46 => "悪いチームにさらわれた姫や王子様を助けたら、惚れられた。/【攻撃力】+1", 55 => "次に会うヤンキーのために、この世界の土産話を作ってきた。/右隣のプレイヤーのPCに対する【友情度】が1点上昇", 56 => "悪い魔法使いの儀式を突き止めて、潰した。/【攻撃力】+1", 66 => "次に会うヤンキーのために、うまいものを用意した。/右隣のプレイヤーのPCに対する【友情度】が1点上昇", } ), "DAIT" => DiceTable::Table.new( "第一印象表", "1D6", ['「ヤベエ」', '「パネエ」', '「スゲエ」', '「びっくり」', '「たばい」', '「アウトオブ眼中」'] ), "TKKT" => DiceTable::Table.new( "ツレ関係表", "1D6", ['「すごそう」', '「勇者様」', '「つよい」', '「いい人」', '「かっこいい」', '「利用できる」'] ), "GSST" => DiceTable::D66Table.new( "現実世界生活表", :asc, { 11 => "喧嘩に明け暮れた", 12 => "真面目に授業を受けた", 13 => "今回の仲間と食事をしに行った", 14 => "チーム同士の抗争を沈めた", 15 => "ぼーっとしていた", 16 => "バイトに専念した", 22 => "仲間とバーベキューをした", 23 => "自分の体を鍛えることにした", 24 => "仲間との毎日をより大切にした", 25 => "家族とゆっくりすごした", 26 => "喧嘩の技術を磨いた", 33 => "本職(ヤクザ)と喧嘩をした", 34 => "好きなだけ寝た", 35 => "ツレができた", 36 => "今回の仲間と旅に出た", 44 => "異性と遊園地に行くことになった", 45 => "あの戦いの日々を思い返していた", 46 => "次の戦いに備えた", 55 => "運動部の助っ人として、大会に出た", 56 => "好きなだけ好物を食べた", 66 => "汚い大人の罠にはめられたが、なんとかした", } ), "GYST" => DiceTable::D66Table.new( "ガイヤンキー生活表", :asc, { 11 => "ツレと生活をした", 12 => "異世界について学んだ", 13 => "エルフの美形(平均年齢200歳)に接待を受けた", 14 => "ドワーフから地元の酒をもらった", 15 => "妖精の村に迷い込んでしまった", 16 => "この世界の遺跡を回った", 22 => "この世界に野球などのスポーツを広めた", 23 => "広大な森の中で迷ってしまい、数か月ほどサバイバルした", 24 => "不思議な力が溢れる泉の水を飲み干した", 25 => "魔法使いの研究に協力したが、さっぱりだった", 26 => "ハーピィに誘われて空の旅を満喫した", 33 => "この世界にヤンキー文化を伝えた", 34 => "バッドヤンキーに荒らされた小さな村を復興した", 35 => "悪徳領主にさらわれた少女を助けた", 36 => "わるい商人を殴り飛ばした", 44 => "エルフの漫画家が誕生するのを見届けた", 45 => "巨大なドラゴンと殴りあって勝利した", 46 => "海中に住むマーメイドを脅かす悪人を退治した", 55 => "邪神を信奉している神殿に殴り込みをして、企みを阻止した", 56 => "天使っぽいのが悪いことをしていたので蹴り飛ばした", 66 => "農作業をした", } ), "HPST" => DiceTable::D66Table.new( "病院生活表", :asc, { 11 => "治療に専念した", 12 => "見舞いでもらった漫画を読み倒した", 13 => "ゲームをひたすらやった", 14 => "悪化した病と闘った", 15 => "入院している子供と約束をした", 16 => "看護師と仲良くなった", 22 => "現代の医術では治療できなかったので、異世界の魔法に賭けた", 23 => "院内パーティを盛り上げた", 24 => "飯がまずくて苦労した", 25 => "飯がうまくて感動をした", 26 => "やることがなくて暇だった", 33 => "スーパードクターが現われて、自分の怪我を見事に治してくれた", 34 => "とにかくテレビを見続けて、知識がついた", 35 => "勉強をしてみたら、いつも以上にはかどった", 36 => "たくさんの人たちが見舞いに来て、感動した", 44 => "入院をしている爺さんから色々教えてもらった", 45 => "リハビリに思ったより時間がかかった", 46 => "次に喧嘩するときのイメージトレーニングをした", 55 => "ヤンキー漫画に感動をした", 56 => "院内で喧嘩をした", 66 => "売店で売っているお菓子をコンプリートした", } ), }.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) ⇒ YankeeYogSothoth
constructor
A new instance of YankeeYogSothoth.
-
#result_2d6(_total, dice_total, _dice_list, cmp_op, _target) ⇒ Object
ゲーム別成功度判定(2D6).
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) ⇒ YankeeYogSothoth
Returns a new instance of YankeeYogSothoth.
46 47 48 49 |
# File 'lib/bcdice/game_system/YankeeYogSothoth.rb', line 46 def initialize(command) super(command) @d66_sort_type = D66SortType::ASC end |
Instance Method Details
#eval_game_system_specific_command(command) ⇒ Object
62 63 64 |
# File 'lib/bcdice/game_system/YankeeYogSothoth.rb', line 62 def eval_game_system_specific_command(command) roll_tables(command, TABLES) || RTT.roll_command(randomizer, command) end |
#result_2d6(_total, dice_total, _dice_list, cmp_op, _target) ⇒ Object
ゲーム別成功度判定(2D6)
52 53 54 55 56 57 58 59 60 |
# File 'lib/bcdice/game_system/YankeeYogSothoth.rb', line 52 def result_2d6(_total, dice_total, _dice_list, cmp_op, _target) return nil unless cmp_op == :>= if dice_total <= 2 Result.fumble("ファンブル(判定失敗。ファンブル表(FT)を振ること)") elsif dice_total >= 12 Result.critical("スペシャル(判定成功。【テンション】が1段階上昇)") end end |