Class: BCDice::GameSystem::ShinobiGami

Inherits:
Base
  • Object
show all
Defined in:
lib/bcdice/game_system/ShinobiGami.rb

Defined Under Namespace

Classes: DemonSkillTableForMetamorphose

Constant Summary collapse

ID =

ゲームシステムの識別子

'ShinobiGami'
NAME =

ゲームシステム名

'シノビガミ'
SORT_KEY =

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

'しのひかみ'
HELP_MESSAGE =

ダイスボットの使い方

<<~INFO_MESSAGE_TEXT
  ・行為判定 nSG@s#f>=x
   2D6の行為判定を行う。ダイス数が指定された場合、大きい出目2個を採用する。
   n: ダイス数 (省略時 2)
   s: スペシャル値 (省略時 12)
   f: ファンブル値 (省略時 2)
   x: 目標値 (省略可)
   例)SG, SG@11, SG@11#3, SG#3>=7, 3SG>=7

  ・ランダム特技決定表 RTTn (n:分野番号、省略可能)
   1器術 2体術 3忍術 4謀術 5戦術 6妖術

  ・ランダム分野表 RCT

  ・各種表(基本ルールブック以降)
   ファンブル表 FT、変調表 WT、戦国変調表 GWT、戦場表 BT、感情表 ET
   妖魔化(異形表、妖魔忍法表一括) MT
   異形表 MTR、妖魔忍法表(x:A,B,C) DSx
   プライズ効果表 PT

  >流派ブック以降
   新戦場表 BNT、【数奇】OTS、妖術変調対応表(x:なし-現代/戦国、1-現代、2-戦国)YWTx
   妖魔化(新異形表利用) NMT、新異形表 NMTR、妖魔忍法表(x:1-異霊 2-凶身 3-神化 4-攻激)DSNx
   覚醒表 OTAT、忍法授業シーン表(x:1-攻撃系 2-防御系 3-戦略系)NCTx
   パニック表 HRPT、出物表 ONDT

  (基本ルールブック改訂版以前)
  ・(無印)旧ファンブル表 OFT 、旧変調表 OWT、旧戦場表 OBT、異形表 MT
  ・(怪)怪ファンブル表 KFT、怪変調表 KWT (基本ルールブックと同一)

  ・シーン表
  >基本ルールブック
   通常 ST、出島 DST、都市 CST、館 MST、トラブル TST、回想 KST、日常 NST、学校 GAST、戦国 GST
  >忍秘伝
   中忍試験 HC、滅びの塔 HT、影の街 HK、夜行列車 HY、病院 HO、龍動 HR、密室 HM、催眠 HS
  >基本ルールブック改訂版以前
   (死)東京 TKST、(リプレイ戦1〜2巻)京都 KYST、神社仏閣 JBST
   (その他シーン表)秋空に雪舞えば AKST、災厄 CLST、出島EX DXST、斜歯ラボ HLST、夏の終わり NTST、培養プラント PLST
  >正忍記
  カジノ TC、ロードムービ TRM、マスカレイド・キャッスル TMC、月天に死の咲く TGS、恋人との日々 TKH、学校(黒星祭) TKG、魔都学園 TMG、魔都東京 TMT
  >流派ブック以降
  不良高校 OTFK
  ・D66ダイスあり
INFO_MESSAGE_TEXT
SPECIAL =
"スペシャル(【生命力】1点か変調一つを回復)"
RTT =
DiceTable::SaiFicSkillTable.new(
  [
    ['器術', ['絡繰術', '火術', '水術', '針術', '仕込み', '衣装術', '縄術', '登術', '拷問術', '壊器術', '掘削術']],
    ['体術', ['騎乗術', '砲術', '手裏剣術', '手練', '身体操術', '歩法', '走法', '飛術', '骨法術', '刀術', '怪力']],
    ['忍術', ['生存術', '潜伏術', '遁走術', '盗聴術', '腹話術', '隠形術', '変装術', '香術', '分身の術', '隠蔽術', '第六感']],
    ['謀術', ['医術', '毒術', '罠術', '調査術', '詐術', '対人術', '遊芸', '九ノ一の術', '傀儡の術', '流言の術', '経済力']],
    ['戦術', ['兵糧術', '鳥獣術', '野戦術', '地の利', '意気', '用兵術', '記憶術', '見敵術', '暗号術', '伝達術', '人脈']],
    ['妖術', ['異形化', '召喚術', '死霊術', '結界術', '封術', '言霊術', '幻術', '瞳術', '千里眼の術', '憑依術', '呪術']],
  ],
  s_format: "『%<category_name>s』%<skill_name>s",
  rtt_format: "ランダム指定特技表(%<category_dice>d,%<row_dice>d) > %<text>s"
)

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 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

#translate

Constructor Details

#initialize(command) ⇒ ShinobiGami

Returns a new instance of ShinobiGami.



74
75
76
77
78
79
# File 'lib/bcdice/game_system/ShinobiGami.rb', line 74

def initialize(command)
  super(command)

  @sort_add_dice = true
  @d66_sort_type = D66SortType::ASC
end

Instance Method Details

#eval_game_system_specific_command(command) ⇒ Object



101
102
103
104
# File 'lib/bcdice/game_system/ShinobiGami.rb', line 101

def eval_game_system_specific_command(command)
  return action_roll(command) || roll_tables(command, TABLES) || roll_tables(command, SCENE_TABLES) ||
         roll_tables(command, DEMON_SKILL_TABLES) || roll_tables(command, DEMON_SKILL_TABLES_NEW) || RTT.roll_command(@randomizer, command)
end

#result_2d6(total, dice_total, _dice_list, cmp_op, target) ⇒ Object



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/bcdice/game_system/ShinobiGami.rb', line 83

def result_2d6(total, dice_total, _dice_list, cmp_op, target)
  return nil unless cmp_op == :>=

  if dice_total <= 2
    Result.fumble("ファンブル")
  elsif dice_total >= 12
    Result.critical(SPECIAL)
  elsif target == "?"
    nil
  elsif total >= target
    Result.success("成功")
  else
    Result.failure("失敗")
  end
end