Class: BCDice::GameSystem::FilledWith
- Defined in:
- lib/bcdice/game_system/FilledWith.rb,
lib/bcdice/game_system/filled_with/lot_tables.rb,
lib/bcdice/game_system/filled_with/cook_tables.rb,
lib/bcdice/game_system/filled_with/event_tables.rb,
lib/bcdice/game_system/filled_with/tresure_tables.rb,
lib/bcdice/game_system/filled_with/enemy_data_tables.rb
Defined Under Namespace
Classes: D66Table, Difficulty, EventTable, FW, Row
Constant Summary collapse
- ID =
ゲームシステムの識別子
'FilledWith'- NAME =
ゲームシステム名
'フィルトウィズ'- SORT_KEY =
ゲームシステム名の読みがな
'ふいるとういす'- HELP_MESSAGE =
ダイスボットの使い方
<<~MESSAGETEXT ・判定 (3FW@x#y<=z or z-3FW@x#y) 3個の6面ダイスを振る判定。 @x:xにクリティカル値を入力。省略可。(省略時クリティカル値4) #y:yにファンブル値を入力。省略可(省略時ファンブル値17) <=z or z-:zに目標値を入力。±の計算に対応。省略可。 ・【必殺技!】 (HST) ホムンクルス特技【必殺技!】表。 ・マジカルクッキング (COOKx) マジカルクッキングのシェフのおすすめコース。 xにクッキングレベルを入力。(1-8) ・ナンバーワンくじ (LOTN or LOTP) LOTNでノーマルくじ、LOTPでプレミアムくじ。(GURPS-FW版) ----------夢幻の迷宮用---------- ・共通書式 a:aに地形(1-6の数字)を入力。省略可。(省略時ランダム決定) (1:洞窟 2:遺跡 3:山岳 4:水辺 5:森林 6:墓場) d:dに難易度を入力。(E:初級 N:中級 H:上級 L:悪夢 X:伝説) ・ランダムイベント表 (RANDda) ・ランダムエンカウント表 (RENCda) ・エネミーデータ表 (REDde) エネミーデータ参照表。 GMがシークレットダイスで参照するとPLに知られずにエネミーデータを参照可能。 e:3桁のイベントダイスを入力(D666の結果)。 ・トラップ表 (TRAPd) ・財宝表 (TRSr±x) r:rに財宝ランクを入力。 ±x:xに財宝ランク修正値を入力。省略可。 ・迷宮追加オプション表(ROPd) MESSAGETEXT
- TABLES =
{ "HST" => DiceTable::Table.new( "【必殺技!】", "1D6", [ '〔命中〕判定に出目[1,1,1]でクリティカル。更に致傷力に「SLv×20」のボーナスを得る。', '〔命中〕判定と致傷力に「SLv×10」のボーナスを得る。', '致傷力に「SLv×10」のボーナスを得る。', '攻撃が命中するとバッドステータス「転倒」を与える。', '通常攻撃。', '〔命中〕判定に[6,6,6]でファンブル。更に、使用者がバッドステータス「転倒」を受ける。', ] ) }.freeze
- TRAP_TABLE =
[ Row.new("トライディザスター:宝箱から広範囲に火炎・冷気・電撃が放たれる罠。PC全員に「%s」の「火炎」「冷気」「電撃」属性ダメージ。", ['3D6+3', '3D6+50', '3D6+70', '3D6+100', '300']), Row.new("ペトロブラスター:広範囲に石化光線を放つ罠。PC全員[抵抗-%s]判定を行い、失敗したPCはBS「石化」を受ける。", [2, 4, 6, 8, 10]), Row.new("クロスボウストリーム:宝箱から矢の嵐が放たれる罠。PC全員に「%s」の「刺突」属性ダメージ。「ドッジ-%s」で〔回避〕が可能。", ['3D6+20', '3D6+40', '3D6+60', '3D6+90', '200'], [4, 6, 8, 10, 20]), Row.new("フォーチュンイーター:PC全員の幸運を食らい、Ftを%s点減少させる。Ftが0の場合「%s」点の防護点無視ダメージ。", [1, 2, 3, 4, 5], ['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300']), Row.new("スロット:解除に失敗しても害はないが、スロットが揃うまで開かない宝箱。スロットを1回まわすには%sGPが必要。行動を消費して[感覚-%s]判定に成功すればスロットは揃う。有利な特異点「ビビット反射」があれば判定に+4のボーナス。", [100, 300, 600, 1000, 10000], [4, 6, 8, 10, 15]), Row.new("テレポーター:PC全員(とエンカウントしているエネミー)を転送して道に迷わせる。「財宝ランク」が1段階減少する。"), Row.new("アイスコフィン:宝箱を開けようとしたキャラクターを氷漬けにする罠。対象1体に「%s」の「冷気」属性ダメージ。更にFPにも%s点の防護点無視ダメージ。", ['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300'], [5, 10, 15, 20, 30]), Row.new("クロスボウ:宝箱を開けようとしたキャラクターに強力な矢が放たれる罠。対象1体に「%s」の「刺突」属性ダメージ。「ドッジ-%s」", ['3D6+20', '3D6+40', '3D6+60', '3D6+90', '200'], [4, 6, 8, 10, 20]), Row.new("毒針:宝箱を開けようとしたキャラクターに毒針を突き刺す罠対象1体に%s点の防護点無視ダメージ。更に[抵抗-%s]判定に失敗するとシナリオ終了まであらゆる判定に-2のペナルティ。", [15, 30, 45, 60, 150], [4, 6, 8, 10, 15]), Row.new("アラーム:即座にその地形のエンカウント表を振って、それに対応したエネミーが出現する。出現したエネミーはそのターンから行動順に組み込まれる。出現するエネミー以外の記述は無視する。"), Row.new("殺人鬼の斧:宝箱を開けようとしたキャラクターに斧が振り下ろされる罠。対象1体に「%s」の「打撃」「斬撃」属性ダメージ。「ドッジ-%s」か「シールド-%s」で〔回避〕が可能。", ['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300'], [4, 6, 8, 10, 20], [4, 6, 8, 10, -20]), Row.new("死神:宝箱を開けようとしたキャラクターに死神を取り憑かせる罠。4ラウンド目が終了するまであらゆる判定に-3のペナルティを受け、4ラウンド目の終了と同時に「%s」の防護点無視ダメージ。", ['3D6+30', '3D6+50', '3D6+70', '3D6+100', '300']), Row.new("幻の宝:宝箱に偽の財宝を入れ、本物の財宝を入手させない罠。トラップが発動すると価値の無い偽の宝物「幻の宝」を入手してしまう。「幻の宝」はアイテム欄を3つ占有し、シナリオ終了まで捨てられない。アイテム欄に空きがない場合は、何かを捨てて誰かが必ず持たなくてはならない。"), Row.new("エクスプロージョン:宝箱が大爆発を起こし、中身を粉々にしてしまう罠。宝箱の中身は消滅する。PC全員に「%s」の「打撃」「火炎」属性ダメージ。", ['3D6+10', '3D6+30', '3D6+50', '3D6+80', '200']), Row.new("レインボーポイズン:宝箱から七色の毒ガスが放たれる罠。PC全員に「%s」の防護点無視ダメージ。更にシナリオ終了まであらゆる判定に-2のペナルティ。[抵抗-%s]判定に成功すれば無効。", ['3D6+10', '3D6+30', '3D6+50', '3D6+80', '200'], [4, 6, 8, 10, 15]), Row.new("デスクラウド:宝箱から致死性の毒ガスを放つ罠。PC全員を即死させる。[抵抗-%s]判定に成功すれば無効。", [2, 4, 6, 8, 12]), ].freeze
- OPTION_TABLE =
D66Table.new( "迷宮追加オプション表", { 11 => Row.new("黄金の迷宮(財宝ランク+2):全てが黄金で彩られた迷宮。財宝ランクが大きく上昇する。"), 12 => Row.new("密林の迷宮(財宝ランク+1):密林の中にひっそりとたたずむ迷宮。分類が「魔獣」「獣人」「霊獣」のエネミーが行うあらゆる判定に+2のボーナス。"), 13 => Row.new("カラクリの迷宮:複雑なカラクリが周囲で絶え間なく動いている迷宮。分類「ギア」のエネミーが行うあらゆる判定に+2のボーナス。クリア時に「アタッチメント割引券」を全員が%s枚獲得。", [1, 2, 3, 5, 10]), 14 => Row.new("フラウの舞踏会:あちこちに花畑のある迷宮。フラウが発生するランダムイベントが発生した際、「この迷宮を制覇して、私達が舞踏会を開けるようにしてね」とお願いされ、クリア時の報酬に%sが追加される。", ['「キノコの帽子」(装飾品)', '「猛毒の花」(装飾品)', '「フルブロウン」(鎧)', '「緊急召喚の宝珠」(装飾品)', '魔将樹の大剣(剣)']), 15 => Row.new("アズマ風の迷宮:風流なアズマ風の迷宮。武器に「刀」を持つエネミーが行うあらゆる判定に+2のボーナス。クリア時に「アタッチメント割引券」を全員が%s枚獲得。", [1, 2, 3, 5, 10]), 16 => Row.new("枯れた泉の迷宮:「全地形1-1」の回復の泉が全て枯れており、回復効果を得ることができない。「山岳1-6」の貴重な水源や、「水辺1-6」の毒の泉などはそのまま存在する。"), 21 => Row.new("天空への道(財宝ランク+1):上へ上へと果てしなく登っていく迷宮。空気が薄くなって疲労しやすくなる。【特技】特技などによるFP消費が全て+3。"), 22 => Row.new("灼熱焦土の迷宮(財宝ランク+1):とてつもなく暑く、あちこちで炎が燃え盛る迷宮。エネミーが行う「火炎」属性を含む攻撃の致傷力に+%sのボーナス。", [10, 20, 30, 50, 100]), 23 => Row.new("灼熱焦土の迷宮(財宝ランク+1):とてつもなく寒く、気温が氷点下の迷宮。エネミーが行う「冷気」属性を含む攻撃の致傷力に+%sのボーナス。", [10, 20, 30, 50, 100]), 24 => Row.new("盗賊王の迷宮:迷宮内での罠や鍵を解除する[感覚]判定に-3のペナルティ。4ラウンドまでに出現した宝箱の「財宝ランク」+1。"), 25 => Row.new("ミミック狂暴化:「全地形2-5」のミミックの致傷力に+%sのボーナス。ミミックを見破った場合に得られるGPが%sGP増加する。", [20, 30, 50, 80, 150], [500, 1000, 3000, 5000, 20000]), 26 => Row.new("トレジャーイーター狂暴化:「全地形2-6」のトレジャーイーターを見破る[知力]判定に-3のペナルティ。4ラウンドまでに出現した宝箱の「財宝ランク」+1。"), 31 => Row.new("暗闇の迷宮:どこもかしこも真っ暗な迷宮。「猫の目」などがなければ視覚に関する[感覚]判定に-5のペナルティ。"), 32 => Row.new("騒音の迷宮:常に大音量で謎の音楽(BGM)が鳴っている迷宮。聴覚に関する[感覚]判定に-5のペナルティ。"), 33 => Row.new("未知の怪物の迷宮(財宝ランク+1):エネミーの姿がシルエットのみになる迷宮。エネミーのデータがいかなる手段でも判明させられなくなる。(通常通り〔HP〕〔FP〕〔先制〕は判明する)"), 34 => Row.new("氾濫中の迷宮:大雨が降っており、川などが氾濫している迷宮。水泳を行う際の[敏捷]判定に-5のペナルティ。「森林3-6」の山火事イベントの効果は無視できる。"), 35 => Row.new("間抜けの迷宮(財宝ランク+1):頭がおかしくなりそうな極彩色の迷宮。[知力][意志]判定に-2のペナルティ。[知力]や[意志]そのものが下がるわけではない。"), 36 => Row.new("瘴気の迷宮(財宝ランク+1):生命力を奪う紫の霧で満ちた迷宮。〔HP〕の最大値に-%sのペナルティ。", [10, 20, 30, 40, 50]), 41 => Row.new("加速する迷宮:狂ったように針の動く時計が多数された迷宮。「CT:安息の日」以外の【特技】が「CT:なし」になる。"), 42 => Row.new("停滞する迷宮(財宝ランク+1):動かない時計が多数設置された迷宮。「CT:安息の日」以外のCTの存在する【特技】が「CT:シナリオ終了」になる。この効果はシナリオ終了まで持続する。"), 43 => Row.new("猛毒の迷宮(財宝ランク+1):見るからに毒々しい紫色の沼があちこちにある迷宮。エネミーが行う、名称に「毒」もしくは「ポイズン」が入る【特技】や、名称に「毒」もしくは「ポイズン」が入るトラップの致傷力に+%sのボーナス。", [10, 20, 40, 50, 100]), 44 => Row.new("死の迷宮(財宝ランク+2):死の運命から逃れることのできない、血まみれの迷宮。「生命保険証」の効果が適用されない。"), 45 => Row.new("幸運の迷宮:何者かの加護を感じる迷宮。PC全員のFtの最大値と現在値に+1のボーナス。この効果はシナリオ終了まで持続する。"), 46 => Row.new("不運の迷宮:PC全員のFt最大値と現在値に-1のペナルティ。この効果はシナリオ終了まで持続する。"), 51 => Row.new("レアメタルの迷宮:非常にレアなエネミー「レアメタルキャンディー」「レアメタルクラウン」が生息している迷宮。キャンディークラウン(CL40)、ゴールデンクラウン(CL177)から獲得できる通常ドロップのGPが5倍になる。"), 52 => Row.new("魔力の泉:PCとエネミーの双方が、〔FP〕を消費せずに【魔法】を使用できるようになる。最終的な消費〔FP〕が最大〔FP〕より大きい【魔法】は使用できない。"), 53 => Row.new("ブルーの迷宮:陰鬱な気分になり、他のキャラクターと関わる気力を失う。PC全員が不利な特異点「嫌な奴」を1段階得る。"), 54 => Row.new("レッドの迷宮:なぜか興奮して非常に好戦的になる。PC全員が不利な特異点「脳みそ筋肉」を得る。交戦中に「1:回復系」のイベントが発生しても戦闘を終了させることができない。"), 55 => Row.new("ピンクの迷宮:なんだか身近な異性(同性も?)が気になって仕方なくなる。PC全員が不利な特異点「英雄色を好む」を得る。魔族も戦闘意欲を失い、「分類:魔族」のエネミーが出現するイベントは無視する。"), 56 => Row.new("ハズレの迷宮(財宝ランク-1):ツギハギだらけの壁などでできた、ハリボテのような貧相な迷宮。宝箱の中身もなんだか貧相になる。"), 61 => Row.new("ラダマンティスの迷宮(財宝ランク+2):第一魔将ラダマンティスの像が入口に設置された迷宮。全てのエネミーが行うあらゆる判定に+2のボーナス。また、「遺跡6-6」のイベントのダメージ+%s。", [20, 40, 60, 80, 150]), 62 => Row.new("グレイヴディガーの迷宮(財宝ランク+2):第二魔将グレイヴディガーの像が入口に設置された迷宮。「分類:アンデッド」のエネミーが行うあらゆる判定に+5のボーナス。"), 63 => Row.new("ハイペリオンの迷宮(財宝ランク+2):第三魔将ハイペリオンの像が入口に設置された迷宮。全てのエネミーが「ターン開始」時に〔HP〕を全回復する。"), 64 => Row.new("ムスペルニヴルの迷宮(財宝ランク+2):勇ましくも美しい女性の像が設置された迷宮。エネミーが行う「火炎」もしくは「冷気」属性を含む攻撃の致傷力に+%sのボーナス。", [20, 40, 60, 80, 150]), 65 => Row.new("ウェルスの迷宮:人懐っこそうなアズマ風の青年が設置された迷宮。シナリオ上で第五魔将の正体が明らかに鳴っている場合のみ、PC全員のFtの最大値と現在値に+5のボーナス。この効果はシナリオ終了まで持続する。"), 66 => Row.new("バロールの迷宮(財宝ランク+2):第六魔将バロールの像が入口に設置された迷宮。「分類:ギア」のエネミーが行うあらゆる判定に+5のボーナス。"), } )
- LOT_NORMAL_TABLES =
ナンバーワンノーマルくじ表(GURPS-FW版)
別の表に飛ぶ場合は、遅延評価のためにlambdaでジャンプ先の表を括る。
{ 1 => DiceTable::RangeTable.new( "ナンバーワンノーマルくじ(phase 1)", "1D6", [ [1..3, "イレブンチキン"], [4..5, lambda { LOT_NORMAL_TABLES[2] }], [6, lambda { LOT_NORMAL_TABLES[3] }], ] ).freeze, 2 => DiceTable::RangeTable.new( "ナンバーワンノーマルくじ(phase 2)", "1D6", [ [1, "バロールたわし"], [2, "イグニスジッポ"], [3, "ヤコ仮面or梟の文鎮(選択可)"], [4, "ナレッジのハンモックorジンジャビースト"], [5..6, lambda { LOT_NORMAL_TABLES[3] }], ] ).freeze, 3 => DiceTable::RangeTable.new( "ナンバーワンノーマルくじ(phase 3)", "1D6", [ [1, "特性HPポーション"], [2, "特性MPポーション"], [3, "黒い甲冑"], [4, "天体望遠鏡"], [5, "金獅子の剥製"], [6, lambda { LOT_NORMAL_TABLES[4] }], ] ).freeze, 4 => DiceTable::RangeTable.new( "ナンバーワンノーマルくじ(phase 4)", "1D6", [ [1, "特性スタミナポーション"], [2, "戦乙女の兜"], [3, "フェンリルの首輪"], [4, "フェニックスカーペット"], [5, "動くアダマンゴーレム"], [6, lambda { LOT_NORMAL_TABLES[5] }], ] ).freeze, 5 => DiceTable::RangeTable.new( "ナンバーワンノーマルくじ(phase 5)", "1D6", [ [1, "キャンディークッション"], [2, "屑鉄の金床"], [3, "薪割り王の斧"], [4, "ロジエの水差し"], [5, "箱舟の模型"], [6, lambda { LOT_PREMIUM_TABLES[5] }], ] ).freeze, }.freeze
- LOT_PREMIUM_TABLES =
ナンバーワンプレミアムくじ表(GURPS-FW版)
別の表に飛ぶ場合は、遅延評価のためにlambdaでジャンプ先の表を括る。
{ 1 => DiceTable::RangeTable.new( "ナンバーワンプレミアムくじ(phase 1)", "1D6", [ [1..3, "プレミアムチキン"], [4, lambda { LOT_NORMAL_TABLES[3] }], [5..6, lambda { LOT_PREMIUM_TABLES[2] }], ] ).freeze, 2 => DiceTable::RangeTable.new( "ナンバーワンプレミアムくじ(phase 2)", "1D6", [ [1, "親衛隊バッジ"], [2, "ハタモトチャブダイ"], [3, "星のコンパス"], [4, "白銀の甲冑"], [5, lambda { LOT_NORMAL_TABLES[4] }], [6, lambda { LOT_PREMIUM_TABLES[3] }], ] ).freeze, 3 => DiceTable::RangeTable.new( "ナンバーワンプレミアムくじ(phase 3)", "1D6", [ [1, "特性クイックHPポーション"], [2, "特性クイックMPポーション"], [3, "特製クイックスタミナポーション"], [4, "火龍のフィギュアor氷龍のフィギュア(選択可)"], [5, "ヒメショーグンドレス"], [6, lambda { LOT_PREMIUM_TABLES[4] }], ] ).freeze, 4 => DiceTable::RangeTable.new( "ナンバーワンプレミアムくじ(phase 4)", "1D6", [ [1, "クイックユグドラポーション"], [2, "銀河龍のフィギュア/ドラゴン"], [3, "銀河龍のフィギュア/魔族"], [4, "魔族チェスセット"], [5, "イグニスコンロ"], [6, lambda { LOT_PREMIUM_TABLES[5] }], ] ).freeze, 5 => DiceTable::RangeTable.new( "ナンバーワンプレミアムくじ(phase 5)", "1D6", [ [1, "グレヴディバリウス"], [2, "天使の望遠鏡orデスの目覚まし時計(選択可)"], [3, "世界樹の蔦"], [4, "死神の飾りドレス"], [5, "ザバーニヤ等身大フィギュア"], [6, lambda { LOT_PREMIUM_TABLES[6] }], ] ).freeze, 6 => DiceTable::RangeTable.new( "ナンバーワンプレミアムくじ(phase 6)", "1D6", [ [1, "イレブンチキン"], [2, "イレブンチキン(2ピース)"], [3, "イレブンチキン(3ピース)"], [4, "イレブンチキン(6ピース)"], [5, "イレブンチキン(12ピース)"], [6, "wish star"], ] ).freeze, }.freeze
- COOK_TABLES =
マジカルクッキング表
別の表に飛ぶ場合は、遅延評価のためにlambdaでジャンプ先の表を括る。
{ 1 => DiceTable::RangeTable.new( "マジカルクッキング(Lv 1)", "1D6", [ [1, "おべんとミートボール"], [2, "パリパリ小魚"], [3, "キャロットタルト"], [4, "おにぎり"], [5..6, lambda { COOK_TABLES[2] }], ] ).freeze, 2 => DiceTable::RangeTable.new( "マジカルクッキング(Lv 2)", "1D6", [ [1, "カリカリミミズ肉"], [2, "竹つきチクワ"], [3, "トロピカルジュース"], [4, "イナリ寿司"], [5..6, lambda { COOK_TABLES[3] }], ] ).freeze, 3 => DiceTable::RangeTable.new( "マジカルクッキング(Lv 3)", "1D6", [ [1, "ホットミートパイ"], [2, "魔界魚の目玉"], [3, "パンプキンプリン"], [4, "スタミナ丼"], [5..6, lambda { COOK_TABLES[4] }], ] ).freeze, 4 => DiceTable::RangeTable.new( "マジカルクッキング(Lv 4)", "1D6", [ [1, "ジャンボ串焼き"], [2, "シルヴァまっしぐら"], [3, "フラウアイスクリーム"], [4, "ピクニックランチ"], [5..6, lambda { COOK_TABLES[5] }], ] ).freeze, 5 => DiceTable::RangeTable.new( "マジカルクッキング(Lv 5)", "1D6", [ [1, "グラント風香草焼き"], [2, "エドマエスシ"], [3, "スターフルーツパフェ"], [4, "具沢山本格カレー"], [5..6, lambda { COOK_TABLES[6] }], ] ).freeze, 6 => DiceTable::RangeTable.new( "マジカルクッキング(Lv 6)", "1D6", [ [1, "ドラゴンステーキ"], [2, "刺身盛り合わせ"], [3, "エデンのアップルパイ"], [4, "フォートレス炒飯"], [5..6, lambda { COOK_TABLES[7] }], ] ).freeze, 7 => DiceTable::RangeTable.new( "マジカルクッキング(Lv 7)", "1D6", [ [1, "マツザカスペシャル"], [2, "オオトロスシ"], [3, "スノーホワイトボンブ"], [4, "よもつへぐい"], [5..6, lambda { COOK_TABLES[8] }], ] ).freeze, 8 => DiceTable::RangeTable.new( "マジカルクッキング(Lv 8)", "1D6", [ [1, "超特大マンガ肉"], [2, "特上うな丼"], [3, "魔将樹のかき氷"], [4, "ヘブンズランチ"], [5..6, lambda { COOK_TABLES[9] }], ] ).freeze, 9 => DiceTable::RangeTable.new( "マジカルクッキング(Lv 9)", "1D6", [ [1..3, "世界樹のサラダ"], [4..6, "黄金のラダマン鍋"], ] ).freeze, }.freeze
- EVENT_TABLES =
[ cave, ruin, mountain, waterside, forest, graveyard, ].freeze
- TRESURE_TABLES =
{ 0 => DiceTable::Table.new( "財宝表", "1D6", [ "HPポーション(消耗品)", "FPポーション(消耗品)", "マジックパウダー:火(消耗品)", "マジックパウダー:氷(消耗品)", "マジックパウダー:雷(消耗品)", "500GP", ] ), 1 => DiceTable::Table.new( "財宝表", "1D6", [ "高級HPポーション(消耗品)", "高級FPポーション(消耗品)", "高級抵抗ポーション(消耗品)", "高級鉄壁ポーション(消耗品)", "マジックパウダー:火、氷、雷の3点セット(消耗品)", "1000GP", ] ), 2 => DiceTable::Table.new( "財宝表", "1D6", [ "鈴のお守り(装飾品)", "盗賊の小手(装飾品)", "狩人の羽帽子(装飾品)", "狙撃手の指貫(装飾品)", "「スタミナバンド」「健康お守り」「レザーマント」3点セット", "2000GP", ] ), 3 => DiceTable::Table.new( "財宝表", "1D6", [ "最高級HPポーション×2(消耗品)", "最高級FPポーション×2(消耗品)", "最高級抵抗ポーション×2(消耗品)", "任意の装飾品1つ(4000GPまでのもの)", "アタッチメント割引券(全員に1枚)", "3000GP", ] ), 4 => DiceTable::Table.new( "財宝表", "1D6", [ "任意の「ミスリル」武器1つ", "ミスリルシールド(盾)", "ミスリルスケイル(鎧)", "任意の装飾品1つ(5000GPまでのもの)", "アタッチメント割引券(全員に2枚)", "5000GP", ] ), 5 => DiceTable::Table.new( "財宝表", "1D6", [ "任意の武器1つ(10000GPまでのもの)", "任意の盾1つ(10000GPまでのもの)", "任意の鎧1つ(10000GPまでのもの)", "最高級HPポーション(人数分)", "任意の装飾品1つ(10000GPまでのもの)", "7500GP", ] ), 6 => DiceTable::Table.new( "財宝表", "1D6", [ "任意の武器1つ(15000GPまでのもの)", "任意の盾1つ(15000GPまでのもの)", "任意の鎧1つ(15000GPまでのもの)", "任意の装飾品1つ(15000GPまでのもの)", "最高級FPポーション(人数分)", "10000GP", ] ), 7 => DiceTable::Table.new( "財宝表", "1D6", [ "任意の武器1つ(30000GPまでのもの)", "任意の盾1つ(30000GPまでのもの)", "任意の鎧1つ(30000GPまでのもの)", "任意の装飾品1つ(30000GPまでのもの)", "蘇生ポーション(消耗品)", "20000GP", ] ), 8 => DiceTable::Table.new( "財宝表", "1D6", [ "任意の武器1つ(60000GPまでのもの)", "任意の盾1つ(60000GPまでのもの)", "任意の鎧1つ(60000GPまでのもの)", "任意の装飾品1つ(60000GPまでのもの)", "蘇生ポーション(装飾品)+アタッチメント割引券10枚(割引券は人数分)", "40000GP", ] ), 9 => DiceTable::Table.new( "財宝表", "1D6", [ "任意の武器1つ(100000GPまでのもの)", "任意の盾1つ(100000GPまでのもの)", "任意の鎧1つ(100000GPまでのもの)", "任意の装飾品1つ(100000GPまでのもの)", "蘇生ポーション(装飾品)+アタッチメント割引券20枚(割引券は人数分)", "60000GP", ] ), 10 => DiceTable::Table.new( "財宝表", "1D6", [ "任意の武器1つ(150000GPまでのもの)", "任意の盾1つ(150000GPまでのもの)", "任意の鎧1つ(150000GPまでのもの)", "任意の装飾品1つ(200000GPまでのもの)", "蘇生ポーション(装飾品)+アタッチメント割引券30枚(割引券は人数分)", "黄金の守護者の証(装飾品)(【ハッキング】があれば黄金の電子暗号キー(装飾品)も追加)", ] ), 11 => DiceTable::Table.new( "財宝表", "1D6", [ "体力の欠片(大事なもの)(全員に10個)", "敏捷の欠片(大事なもの)(全員に10個)", "感覚の欠片(大事なもの)(全員に10個)", "知力の欠片(大事なもの)(全員に10個)", "意志の欠片(大事なもの)(全員に10個)", "お好きな副能力の欠片(大事なもの)(1人ずつ好きなものを選択して全員に50個)", ] ), 12 => DiceTable::Table.new( "財宝表", "1D6", [ "体力の欠片(大事なもの)(全員に20個)", "敏捷の欠片(大事なもの)(全員に20個)", "感覚の欠片(大事なもの)(全員に20個)", "知力の欠片(大事なもの)(全員に20個)", "意志の欠片(大事なもの)(全員に20個)", "お好きな副能力の欠片(大事なもの)(1人ずつ好きなものを選択して全員に100個)", ] ) }.freeze
- AREA_LIST =
[ "洞窟", "遺跡", "山岳", "水辺", "森林", "墓場", ].freeze
- ENEMY_DATA =
{ "141" => [ "キャンディークラウン(CL40)1匹", "キャンディクラウン(CL40)「1D-3」匹(最低1匹)", "キャンディークラウン「1D-2」匹(最低1匹)出目が6だった場合ゴールデンクラウン(CL177)1匹", "ゴールデンクラウン(CL177)とエンカウント", "キャンディークラウン(CL40/オリジン)1匹" ], "142" => [ "ベルセルク(CL7)3匹", "ベルセルク(CL7)3匹(〔命中〕+4、〔HP〕+30、〔FP〕+10、あらゆる致傷力+20)", "ベルセルク(CL7)3匹(〔命中〕+8、〔HP〕+60、〔FP〕+20、あらゆる致傷力+40)", "ベルセルク(CL7)3匹(〔命中〕+16、〔HP〕+120、〔FP〕+40、あらゆる致傷力+80)", "ベルセルク(CL7/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)" ], "143" => [ "ガーゴイル(CL10)2匹", "ガーゴイル(CL10)2匹(〔命中〕+4、〔HP〕+20、〔FP〕+10、あらゆる致傷力と防護点+20)", "ガーゴイル(CL10)2匹(〔命中〕+8、〔HP〕+40、〔FP〕+20、あらゆる致傷力と防護点+40)", "ザッハーク(CL39)3匹", "ガーゴイル(CL10/オリジン)2匹(〔HP〕+500、あらゆる致傷力と防護点+100)" ], "144" => [ "デビルホイール(CL18)1匹", "デビルホイール(CL18)1匹、あらゆる致傷力+20", "デビルホイール(CL18)1匹、あらゆる致傷力+40", "ムスペルヘイムの獣(CL65)、あらゆる防護点+20", "デビルホイール(CL18/オリジン)1匹(〔HP〕+1000、あらゆる致傷力+100)" ], "145" => [ "ヘルハウンド(CL12)1匹、インプ(CL3)2匹", "フェニックス(CL25)2匹", "火龍ヘルブレイザー(CL50)1匹、ケルベロス(CL33)1匹", "煉獄龍バーガトリ(CL100)1匹", "ヘルハウンド(CL12/オリジン)1匹、インプ(CL3/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)" ], "146" => [ "アイスメイデン(CL10)1匹、アイスリザード(CL7)2匹", "クリスタルビースト(CL25)2匹", "氷河龍グレイシャル(CL65)1匹", "冥界龍コキュートス(CL110)1匹", "アイスメイデン(CL10/オリジン)1匹、アイスリザード(CL7/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)" ], "241" => [ "スケルトン(CL3)、アルテミス(CL8)、スターゲイザー(CL10)、ヤシャ(CL10)、ヘルハウンド(CL12)、ゴーレム(CL13)", "ナイトスケルトン(CL12)、カラクリフラウ弐式(CL16)、コスモロジスト(CL20)、クリスタルビースト(CL25)、ミスリルゴーレム(CL27)", "コガラシ(CL27)、アダマンゴーレム(CL45)、アシュラ(CL48)、火龍ヘルブレイザー(CL50)、氷龍グレイシャル(CL65)", "ロックダンサー(CL39)、デスサジタリー(CL45)、コンゴウ(CL60)、カラクリヒメショーグン(CL75)、フェンリル(CL85)、ゴールデンクラウン(CL177)\nゴールデンクラウンが最後に残り【逃走】した場合ドロップ品は入手できない", "スケルトン(CL3/オリジン)、アルテミス(CL8/オリジン)、スターゲイザー(CL10/オリジン)、ヤシャ(CL10/オリジン)、ヘルハウンド(CL12/オリジン)、ゴーレム(CL13/オリジン)(〔HP〕+500、あらゆる致傷力+100)" ], "242" => [ "アルテミス(CL8)3匹", "アルテミス(CL8)3匹(〔命中〕+4、〔HP〕+30、〔FP〕+20、あらゆる致傷力+20)", "アルテミス(CL8)3匹(〔命中〕+8、〔HP〕+60、〔FP〕+30、あらゆる致傷力+40)", "アルテミス(CL8)3匹(〔命中〕+16、〔HP〕+120、〔FP〕+40、あらゆる致傷力+80)", "アルテミス(CL8/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)" ], "243" => [ "スターゲイザー(CL10)2匹", "コスモロジスト(CL20)2匹", "コスモロジスト(CL20)4匹", "デスサジタリー(CL45)2匹", "スターゲイザー(CL10/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)" ], "244" => [ "ヤシャ(CL10)1匹、スケルトン(CL3)3匹", "ヤシャ(CL10)3匹(〔命中〕+4、〔HP〕+30、〔FP〕+10、あらゆる致傷力+15)", "アシュラ(CL48)2匹", "コンゴウ(CL60)2匹", "ヤシャ(CL10/オリジン)1匹、スケルトン(CL3/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)" ], "245" => [ "ヘルハウンド(CL12)2匹", "クリスタルビースト(CL25)2匹", "火龍ヘルブレイザー(CL50)1匹、氷河龍グレイシャル(CL65)", "『単眼の巨神』アイングロース(CL100/ネームド)", "ヘルハウンド(CL12/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)" ], "246" => [ "ゴーレム(CL13)1匹", "ミスリルゴーレム(CL27)1匹", "アダマンゴーレム(CL45)1匹", "カラクリヒメショーグン(CL75)1匹", "ゴーレム(CL13/オリジン)1匹(〔HP〕+1000、あらゆる致傷力+100)" ], "341" => [ "アイアンプリチン(CL5)5匹", "アイアンプリチン(CL5)5匹(〔命中〕+4、〔HP〕+30、〔FP〕+10)", "アイアンプリチン(CL5)5匹(〔命中〕+8、〔HP〕+60、〔FP〕+20)", "アイアンプリチン(CL5)5匹(〔命中〕+16、〔HP〕+120、〔FP〕+40)", "アイアンプリチン(CL5/オリジン)5匹(〔HP〕+300、あらゆる致傷力+100)" ], "342" => [ "ウイングスレイブ(CL4)5匹", "ウイングスレイブ(CL4)5匹(〔命中〕+4、〔HP〕+30、〔FP〕+10、あらゆる致傷力+20)", "ガルーダ(CL40)2匹", "栄光の天使(CL60)2匹", "ウイングスレイブ(CL4/オリジン)5匹(〔HP〕+300、あらゆる致傷力+100)" ], "343" => [ "ブラックナイト(CL10)1匹、ソルジャー(CL4)3匹", "デュラハン(CL22)1匹、ブラックナイト(CL10)2匹", "サーバントマスター(CL35)1匹、デュラハン(CL22)2匹", "ジェネラル(CL55)1匹、サーバントマスター(CL35)2匹", "ブラックナイト(CL10/オリジン)1匹、ソルジャー(CL4/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)" ], "344" => [ "ソルジャーアント(CL8)2匹", "ソルジャーアント(CL8)2匹(〔命中〕+4、〔HP〕+30、〔FP〕+10、あらゆる致傷力+20)", "インペリアルアント(CL30)2匹", "『女王キノコ』アカシックツリー(CL50/ネームド)1匹、インペリアルアント(CL30)2匹", "ソルジャーアント(CL8/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)" ], "345" => [ "カボチャの魔女(CL8)2匹", "カボチャの魔女(CL8)2匹(〔命中〕+4、〔HP〕+30、〔FP〕+10、あらゆる致傷力+20)", "カボチャの大魔女(CL35)2匹", "堕落の黒天使(CL60)2匹", "カボチャの魔女(CL8/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)" ], "346" => [ "フェニックス(CL25)2匹", "フェニックス(CL25)2匹(〔命中〕+4、〔HP〕+40、〔FP〕+10、あらゆる致傷力+30)", "フェニックス(CL25)2匹(〔命中〕+8、〔HP〕+80、〔FP〕+20、あらゆる致傷力+60)", "煉獄フェニックス(CL85)2匹", "フェニックス(CL25/オリジン)2匹(〔HP〕+1000、あらゆる致傷力+200)" ], "441" => [ "フロストクラブ(CL6)2匹", "フロストクラブ(CL6)3匹", "『氷海の主』ギガントキャンサー(CL20/ネームド)", "『氷海の主』ギガントキャンサー(CL20/ネームド)、フロストクラブ(CL6)3匹", "フロストクラブ(CL6/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)" ], "442" => [ "アシガル(CL4)3匹", "ハタモト(CL10)3匹", "ヒトキリ(CL33)2匹", "スカーレス(CL38)3匹", "アシガル(CL4/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)" ], "443" => [ "アンブッシュマン(CL5)3匹", "アンブッシュマン(CL5)3匹(〔命中〕+4、〔HP〕+20、〔FP〕+10、あらゆる致傷力+10)", "シャドウストーカー(CL35)2匹", "シャドウストーカー(CL35)3匹", "アンブッシュマン(CL5/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)" ], "444" => [ "アップルドール(CL12)2匹", "アップルドール(CL12)2匹、ポイズンリリー(CL7)2匹", "テラードール(CL30)2匹", "テラードール(CL30)2匹、バリアリーフ(CL27)2匹", "アップルドール(CL12/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)" ], "445" => [ "ナイトライダー(CL15)1匹", "ナイトライダー(CL15)2匹", "ジェネラル(CL55)1匹", "ジェネラル(CL55)2匹", "ナイトライダー(CL15/オリジン)1匹(〔HP〕+800、あらゆる致傷力+100)" ], "446" => [ "ジェルスケルトン(CL10)1匹", "ジェルスケルトン(CL10)1匹(〔命中〕+4、〔FP〕+10、あらゆる致傷力+20)", "ジェルスケルトン(CL10)1匹(〔命中〕+8、〔FP〕+20、あらゆる致傷力+40)", "ジェルスケルトン(CL10)1匹(〔命中〕+12、〔FP〕+40、あらゆる致傷力+80)", "ジェルスケルトン(CL10/オリジン)1匹(〔HP〕+1500、あらゆる致傷力+200)" ], "541" => [ "スナッチャー(CL4)3匹", "ゴールデンビースト(CL10)3匹", "ヨウコ(CL30)2匹", "イビルオーメン(CL42)2匹", "スナッチャー(CL4/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)" ], "542" => [ "スターゲイザー(CL10)1匹、オーク(CL3)3匹", "スターゲイザー(CL10)1匹、ヘルハウンド(CL12)2匹", "コスモロジスト(CL20)1匹、ケルベロス(CL33)1匹", "サーバントマスター(CL35)1匹、ケルベロス(CL33)2匹", "スターゲイザー(CL10/オリジン)1匹、オーク(CL3/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)" ], "543" => [ "オウルセージ(CL5)1匹、インプ(CL3)3匹。指定エネミー:オウルセージ", "オウルセージ(CL5)3匹。指定エネミー:オウルセージ", "オウルコマンダー(CL18)1匹、キメラ(CL15)2匹。指定エネミー:オウルコマンダー", "オウルコマンダー(CL18)2匹、キメラグレート(CL60)1匹。指定エネミー:オウルコマンダー", "オウルセージ(CL/オリジン5)1匹、インプ(CL3/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)。指定エネミー:オウルセージ" ], "544" => [ "グリーンアクトレス(CL22)1匹", "魔将樹の騎士(CL40)1匹", "魔将樹の番人(CL80)1匹", "『魔将樹の剣姫』ロジエモール(CL120/ネームド)1匹", "グリーンアクトレス(CL22/オリジン)1匹(〔HP〕+200、あらゆる致傷力+200、分類「ネームド」と【始原の力】を追加)" ], "545" => [ "ポイズンリリー(CL7)1匹、リリーの尖兵(CL5)1匹", "ポイズンリリー(CL7)1匹、リリーの尖兵(CL5)1匹(〔命中〕+4、〔HP〕+30、〔FP〕+10、あらゆる致傷力+20)", "バリアリーフ(CL27)1匹、リリーの尖兵(CL5)1匹(〔命中〕+8、〔HP〕+60、〔FP〕+20、あらゆる致傷力+40)", "『密林の女王』クイーンリリー(CL70/ネームド)1匹、リリーの尖兵(CL5)1匹(〔命中〕+16、〔HP〕+120、〔FP〕+40、あらゆる致傷力+80)", "ポイズンリリー(CL7/オリジン)1匹、リリーの尖兵(CL5/オリジン)1匹(〔HP〕+800、あらゆる致傷力+100)" ], "546" => [ "ブラックナイト(CL10)1匹、ソルジャー(CL4)3匹", "ヴァルキリー(CL20)1匹、ブラックナイト(CL10)2匹", "フレイヤ(CL45)1匹、ヴァルキリー(CL20)2匹", "ジェネラル(CL55)1匹、フレイヤ(CL45)2匹", "ブラックナイト(CL10/オリジン)1匹、ソルジャー(CL4/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)" ], "641" => [ "ヤコ(CL6)3匹(【狐の送り火】のデータを「疲労:なし」に変更)", "ヨウコ(CL30)1匹(【狐の送り火】のデータを「疲労:なし」に変更)", "ヨウコ(CL30)3匹(【狐の送り火】のデータを「疲労:なし」に変更)", "タタリドラゴン(CL60/ネームド)1匹(【狐の送り火】のデータを「疲労:なし」に変更)", "ヤコ(CL6/オリジン)3匹((〔HP〕+500、あらゆる致傷力+100、【狐の送り火】のデータを「疲労:なし」に変更)" ], "642" => [ "スケルトン(CL3)4匹", "ナイトスケルトン(CL12)3匹", "ヒトキリ(CL33)2匹(「分類:アンデッド」を追加)", "堕ちた黒龍(CL48)2匹", "スケルトン(CL3/オリジン)4匹(〔HP〕+500、あらゆる致傷力+200)" ], "643" => [ "ポイズンリリー(CL7)1匹(【華劇:リリーオブザバレー】使用済み)、ファントム(CL5)2匹", "ポイズンリリー(CL7)1匹(【華劇:リリーオブザバレー】使用済み)、ゴースト(CL10)3匹", "グリーンアクトレス(CL22)1匹(【華劇:フォレストステップ】使用済み)、デュラハン(CL22)2匹", "グリーンアクトレス(CL22)1匹(【華劇:フォレストステップ】使用済み)、カラクリヒメショーグン(CL75)1匹", "ポイズンリリー(CL7/オリジン)1匹(【華劇:リリーオブザバレー】使用済み)、ファントム(CL5)2匹(〔HP〕+500、あらゆる致傷力+100)" ], "644" => [ "君たちの冒険はここで終了だ。", "君たちの冒険はここで終了だ。", "君たちの冒険はここで終了だ。", "第二魔将『葬送者』グレイヴディガー(CL200/魔将)1匹、『ディガー様親衛隊長』フュネライユ(CL66/ネームド)1匹、『トラップマスター』アンテルモン(CL65/ネームド)1匹", "[現在エネミー未実装の為振り直ししてください]", ], "645" => [ "ゴースト(CL10)1匹(通常ドロップ「1000GP」)、ソルジャー(CL4)2匹", "ゴースト(CL10)1匹(通常ドロップ「2000GP」)、ハタモト(CL10)3匹", "リッチ(CL44)1匹(通常ドロップ「4000GP」)、ミスリルゴーレム(CL27)1匹", "エルダーリッチ(CL55)1匹(通常ドロップ「8000GP」)、アダマンゴーレム(CL45)1匹", "ゴースト(CL10/オリジン)1匹(通常ドロップ「1000GP」)、ソルジャー(CL4/オリジン)2匹(〔HP〕+500、あらゆる致傷力+100)" ], "646" => [ "ボーンスネーク(CL20)1匹", "ボーンスネーク(CL20)2匹", "ラダマンティスの蛇(CL50)1匹", "ラダマンティスの蛇(CL50)1匹(ネームド仕様[HP4倍、【ネームドエネミー】習得])", "ボーンスネーク(CL20/オリジン)1匹(〔HP〕+1500、あらゆる致傷力+200)" ], "256" => [ "ボーンスネーク(CL50)1匹", "ラダマンティスの蛇(CL50)1匹", "銀河龍ラクテア/ドラゴン形態(CL90)1匹", "『三つ首の災厄』トライディザスター(CL100/ネームド)1匹", "ボーンスネーク(CL50/オリジン)1匹(〔HP〕+2000、あらゆる致傷力+200)" ], "265" => [ "キャンディークラウン(CL40)「1D6」匹", "キャンディークラウン(CL40)「1D6+1」匹", "キャンディークラウン(CL40)「1D6」匹、ゴールデンクラウン(CL177)1匹", "キャンディークラウン(CL40)「1D6」匹、ゴールデンクラウン(CL177)2匹", "キャンディークラウン(CL40/オリジン)「1D6」匹", ], "465" => [ "リビングデッド(CL5)3匹", "ゴースト(CL10)3匹", "デュラハン(CL22)3匹", "リッチ(CL44)3匹", "リビングデッド(CL5/オリジン)3匹(〔HP〕+500、あらゆる致傷力+100)" ], "665" => [ "カロン(CL12)2匹", "カロンキャプテン(CL25)2匹", "リッチ(CL44)2匹", "エルダーリッチ(CL55)2匹(〔HP〕+10)", "カロンキャプテン(CL25/オリジン)2匹" ], "666" => [ "『漆黒の戦鬼』ブラックナイト(CL10/ネームド)1匹", "『漆黒の戦鬼』ブラックナイト(CL10/ネームド)1匹(〔命中〕+4、あらゆる致傷力+20、〔HP〕+200)", "『白銀の猛将』ジェネラル(CL55/ネームド)1匹", "『白銀の猛将』ジェネラル(CL55/ネームド)1匹(〔命中〕+4、あらゆる致傷力+20、〔HP〕+500)", "[現在エネミー未実装の為振り直ししてください]" ], }.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) ⇒ Result?
固有コマンドの評価結果.
-
#fetch_enemy_data(command) ⇒ Object
夢幻の迷宮エネミーデータ表.
-
#format_table_roll_result(table_name, number, result) ⇒ String
表を振った結果を独自の書式で整形する.
-
#getTresureResult(command) ⇒ Object
夢幻の迷宮財宝表.
-
#initialize(command) ⇒ FilledWith
constructor
A new instance of FilledWith.
-
#roll_jump_table(table_name, table) ⇒ Result
ジャンプする項目を含む表を振る.
-
#roll_random_event_table(command) ⇒ Object
夢幻の迷宮ランダムイベント表.
-
#roll_random_option_table(command) ⇒ Object
夢幻の迷宮追加オプション表.
-
#roll_trap_table(command) ⇒ Object
夢幻の迷宮トラップ表.
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) ⇒ FilledWith
49 50 51 52 |
# File 'lib/bcdice/game_system/FilledWith.rb', line 49 def initialize(command) super(command) @d66_sort_type = D66SortType::NO_SORT; # d66の差し替え end |
Instance Method Details
#eval_game_system_specific_command(command) ⇒ Result?
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/bcdice/game_system/FilledWith.rb', line 56 def eval_game_system_specific_command(command) # ダイスロールコマンド result = FW.roll(command, @randomizer) return result if result # 各種コマンド case command when "LOTN" roll_jump_table("ナンバーワンノーマルくじ", LOT_NORMAL_TABLES[1]) when "LOTP" roll_jump_table("ナンバーワンプレミアムくじ", LOT_PREMIUM_TABLES[1]) when /COOK([1-8])/ lv = Regexp.last_match(1).to_i roll_jump_table("マジカルクッキング", COOK_TABLES[lv]) when /TRAP[ENHLX]/ roll_trap_table(command) when /TRS.*/i getTresureResult(command) when /RAND.*/ roll_random_event_table(command) when /RENC.*/ roll_random_event_table(command) when /RED.*/i fetch_enemy_data(command) when /ROP[ENHLX]/ roll_random_option_table(command) else roll_tables(command, TABLES) end end |
#fetch_enemy_data(command) ⇒ Object
夢幻の迷宮エネミーデータ表
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/bcdice/game_system/filled_with/enemy_data_tables.rb', line 7 def fetch_enemy_data(command) m = /^RED([ENHLX])(256|265|465|665|666|[1-6]4[1-6])$/.match(command) unless m return nil end difficulty = Difficulty.new(m[1]) key = m[2] area_name = AREA_LIST[key[0].to_i - 1] chosen = ENEMY_DATA[key][difficulty.index] return "エネミーデータ表(#{key}):#{area_name}<#{difficulty.name}>:#{chosen}" end |
#format_table_roll_result(table_name, number, result) ⇒ String
表を振った結果を独自の書式で整形する
92 93 94 |
# File 'lib/bcdice/game_system/FilledWith.rb', line 92 def format_table_roll_result(table_name, number, result) "#{table_name}(#{number}):#{result}" end |
#getTresureResult(command) ⇒ Object
夢幻の迷宮財宝表
7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/bcdice/game_system/filled_with/tresure_tables.rb', line 7 def getTresureResult(command) m = /^TRS(\d+)([+\-]\d)?$/.match(command) unless m return nil end rank = m[1].to_i + m[2].to_i rank = rank.clamp(0, 12) return TRESURE_TABLES[rank].roll(@randomizer) end |
#roll_jump_table(table_name, table) ⇒ Result
ジャンプする項目を含む表を振る
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/bcdice/game_system/FilledWith.rb', line 100 def roll_jump_table(table_name, table) # 出目の配列 values = [] loop do roll_result = table.roll(@randomizer) values.concat(roll_result.values) content = roll_result.content case content when String return Result.new(format_table_roll_result(table_name, values.join, content)) when Proc # 次の繰り返しで指定された表を参照する table = content.call else raise TypeError end end end |
#roll_random_event_table(command) ⇒ Object
夢幻の迷宮ランダムイベント表
351 352 353 354 355 356 357 358 359 360 361 362 363 |
# File 'lib/bcdice/game_system/FilledWith.rb', line 351 def roll_random_event_table(command) m = /^(RAND|RENC)([ENHLX])([1-6])?$/.match(command) unless m return nil end type = m[1] == "RAND" ? nil : 4 difficulty = Difficulty.new(m[2]) area = m[3]&.to_i || @randomizer.roll_once(6) table = EVENT_TABLES[area - 1] return table.roll(@randomizer, difficulty, type: type) end |
#roll_random_option_table(command) ⇒ Object
夢幻の迷宮追加オプション表
340 341 342 343 344 345 346 347 348 |
# File 'lib/bcdice/game_system/FilledWith.rb', line 340 def roll_random_option_table(command) m = /^ROP([ENHLX])$/.match(command) unless m return nil end difficality = Difficulty.new(m[1]) return OPTION_TABLE.roll(@randomizer, difficality) end |
#roll_trap_table(command) ⇒ Object
夢幻の迷宮トラップ表
270 271 272 273 274 275 276 277 278 279 280 281 |
# File 'lib/bcdice/game_system/FilledWith.rb', line 270 def roll_trap_table(command) m = /^TRAP([ENHLX])$/.match(command) unless m return nil end difficality = Difficulty.new(m[1]) number = @randomizer.roll_sum(3, 6) chosen = TRAP_TABLE[number - 3] return "トラップ表<#{difficality.name}>(#{number}):#{chosen.format(difficality)}" end |