Class: BCDice::GameSystem::MagicaLogia

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

Defined Under Namespace

Classes: FallenAfterTable, SkillExpandTable

Constant Summary collapse

ID =

ゲームシステムの識別子

'MagicaLogia'
NAME =

ゲームシステム名

'マギカロギア'
SORT_KEY =

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

'まきかろきあ'
HELP_MESSAGE =

ダイスボットの使い方

<<~INFO_MESSAGE_TEXT
  ・判定
  スペシャル/ファンブル/成功/失敗を判定
  ・各種表
  経歴表 BGT/初期アンカー表 DAT/運命属性表 FAT
  願い表 WIT/プライズ表 PT
  時の流れ表 TPT/大判時の流れ表 TPTB
  事件表 AT
  ファンブル表 FT/変調表 WT
  運命変転表 FCT
   典型的災厄 TCT/物理的災厄 PCT/精神的災厄 MCT/狂気的災厄 ICT
   社会的災厄 SCT/超常的災厄 XCT/不思議系災厄 WCT/コミカル系災厄 CCT
   魔法使いの災厄 MGCT
  シーン表 ST/大判シーン表 STB
   極限環境 XEST/内面世界 IWST/魔法都市 MCST
   死後世界 WDST/迷宮世界 LWST
   魔法書架 MBST/魔法学院 MAST/クレドの塔 TCST
   並行世界 PWST/終末   PAST/異世界酒場 GBST
   ほしかげ SLST/旧図書館 OLST
  世界法則追加表 WLAT/さまよう怪物表 WMT
  ランダム分野表 RCT
  ランダム特技表 RTT
   星分野ランダム特技表  RTS, RTT1
   獣分野ランダム特技表  RTB, RTT2
   力分野ランダム特技表  RTF, RTT3
   歌分野ランダム特技表  RTP, RTT4
   夢分野ランダム特技表  RTD, RTT5
   闇分野ランダム特技表  RTN, RTT6
  ブランク秘密表 BST/
   宿敵表 MIT/謀略表 MOT/因縁表 MAT
   奇人表 MUT/力場表 MFT/同盟表 MLT
  落花表 FFT
  その後表 FLT
  ・D66ダイスあり
INFO_MESSAGE_TEXT

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) ⇒ MagicaLogia

Returns a new instance of MagicaLogia.



54
55
56
57
58
59
60
# File 'lib/bcdice/game_system/MagicaLogia.rb', line 54

def initialize(command)
  super(command)

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

Instance Method Details

#eval_game_system_specific_command(command) ⇒ Object



82
83
84
85
# File 'lib/bcdice/game_system/MagicaLogia.rb', line 82

def eval_game_system_specific_command(command)
  self.class::SKILL_TABLE.roll_command(@randomizer, command) ||
    roll_tables(command, self.class::TABLES)
end

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

ゲーム別成功度判定(2D6)



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/bcdice/game_system/MagicaLogia.rb', line 63

def result_2d6(total, dice_total, dice_list, cmp_op, target)
  return nil if target == '?'
  return nil unless cmp_op == :>=

  result =
    if dice_total <= 2
      Result.fumble(translate("fumble"))
    elsif dice_total >= 12
      Result.critical(translate("MagicaLogia.special"))
    elsif total >= target
      Result.success(translate("success"))
    else
      Result.failure(translate("failure"))
    end

  result.text += gain_magic_element(dice_list[0], dice_list[1])
  return result
end