class BCDice::GameSystem::MagicaLogia
Constants
- HELP_MESSAGE
ダイスボットの使い方
- ID
ゲームシステムの識別子
- NAME
ゲームシステム名
- SKILL_TABLE
- SORT_KEY
ゲームシステム名の読みがな
- TABLES
Public Class Methods
new(command)
click to toggle source
Calls superclass method
BCDice::Base::new
# 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
Private Class Methods
translate_skill_table(locale)
click to toggle source
# File lib/bcdice/game_system/MagicaLogia.rb, line 177 def translate_skill_table(locale) DiceTable::SaiFicSkillTable.from_i18n( "MagicaLogia.skill_table", locale, rttn: ["RTS", "RTB", "RTF", "RTP", "RTD", "RTN"] ) end
translate_tables(locale, skill_table)
click to toggle source
# File lib/bcdice/game_system/MagicaLogia.rb, line 185 def translate_tables(locale, skill_table) inveterate_enemy_table = SkillExpandTable.from_i18n("MagicaLogia.inveterate_enemy_table", locale, skill_table) conspiracy_table = DiceTable::Table.from_i18n("MagicaLogia.conspiracy_table", locale) fate_table = DiceTable::Table.from_i18n("MagicaLogia.fate_table", locale) cueball_table = DiceTable::Table.from_i18n("MagicaLogia.cueball_table", locale) force_field_table = DiceTable::Table.from_i18n("MagicaLogia.force_field_table", locale) alliance_table = SkillExpandTable.from_i18n("MagicaLogia.alliance_table", locale, skill_table) { "TPT" => SkillExpandTable.from_i18n("MagicaLogia.tables.TPT", locale, skill_table), "ST" => SkillExpandTable.from_i18n("MagicaLogia.tables.ST", locale, skill_table), "FT" => DiceTable::Table.from_i18n("MagicaLogia.tables.FT", locale), "WT" => SkillExpandTable.from_i18n("MagicaLogia.tables.WT", locale, skill_table), "FCT" => DiceTable::Table.from_i18n("MagicaLogia.tables.FCT", locale), "AT" => SkillExpandTable.from_i18n("MagicaLogia.tables.AT", locale, skill_table), "BGT" => DiceTable::Table.from_i18n("MagicaLogia.tables.BGT", locale), "DAT" => DiceTable::Table.from_i18n("MagicaLogia.tables.DAT", locale), "FAT" => DiceTable::Table.from_i18n("MagicaLogia.tables.FAT", locale), "WIT" => DiceTable::Table.from_i18n("MagicaLogia.tables.WIT", locale), "TCT" => DiceTable::Table.from_i18n("MagicaLogia.tables.TCT", locale), "PCT" => DiceTable::Table.from_i18n("MagicaLogia.tables.PCT", locale), "MCT" => DiceTable::Table.from_i18n("MagicaLogia.tables.MCT", locale), "ICT" => DiceTable::Table.from_i18n("MagicaLogia.tables.ICT", locale), "SCT" => DiceTable::Table.from_i18n("MagicaLogia.tables.SCT", locale), "XCT" => DiceTable::Table.from_i18n("MagicaLogia.tables.XCT", locale), "WCT" => DiceTable::Table.from_i18n("MagicaLogia.tables.WCT", locale), "CCT" => DiceTable::Table.from_i18n("MagicaLogia.tables.CCT", locale), "MIT" => inveterate_enemy_table, "MOT" => conspiracy_table, "MAT" => fate_table, "MUT" => cueball_table, "MFT" => force_field_table, "MLT" => alliance_table, "BST" => DiceTable::ChainTable.new( I18n.translate("MagicaLogia.tables.BST.name", raise: true, locale: locale), "1D6", [ inveterate_enemy_table, conspiracy_table, fate_table, cueball_table, force_field_table, alliance_table, ] ), "PT" => DiceTable::Table.from_i18n("MagicaLogia.tables.PT", locale), "XEST" => SkillExpandTable.from_i18n("MagicaLogia.tables.XEST", locale, skill_table), "IWST" => SkillExpandTable.from_i18n("MagicaLogia.tables.IWST", locale, skill_table), "MCST" => SkillExpandTable.from_i18n("MagicaLogia.tables.MCST", locale, skill_table), "WDST" => SkillExpandTable.from_i18n("MagicaLogia.tables.WDST", locale, skill_table), "LWST" => SkillExpandTable.from_i18n("MagicaLogia.tables.LWST", locale, skill_table), "STB" => SkillExpandTable.from_i18n("MagicaLogia.tables.STB", locale, skill_table), "MGCT" => DiceTable::Table.from_i18n("MagicaLogia.tables.MGCT", locale), "MBST" => SkillExpandTable.from_i18n("MagicaLogia.tables.MBST", locale, skill_table), "MAST" => SkillExpandTable.from_i18n("MagicaLogia.tables.MAST", locale, skill_table), "TCST" => SkillExpandTable.from_i18n("MagicaLogia.tables.TCST", locale, skill_table), "PWST" => SkillExpandTable.from_i18n("MagicaLogia.tables.PWST", locale, skill_table), "PAST" => SkillExpandTable.from_i18n("MagicaLogia.tables.PAST", locale, skill_table), "GBST" => SkillExpandTable.from_i18n("MagicaLogia.tables.GBST", locale, skill_table), "SLST" => SkillExpandTable.from_i18n("MagicaLogia.tables.SLST", locale, skill_table), "WLAT" => DiceTable::Table.from_i18n("MagicaLogia.tables.WLAT", locale), "WMT" => SkillExpandTable.from_i18n("MagicaLogia.tables.WMT", locale, skill_table), "FFT" => DiceTable::Table.from_i18n("MagicaLogia.tables.FFT", locale), "OLST" => SkillExpandTable.from_i18n("MagicaLogia.tables.OLST", locale, skill_table), "TPTB" => SkillExpandTable.from_i18n("MagicaLogia.tables.TPTB", locale, skill_table), "FLT" => FallenAfterTable.from_i18n("MagicaLogia.tables.FLT", locale), } end
Public Instance Methods
eval_game_system_specific_command(command)
click to toggle source
# 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)
click to toggle source
ゲーム別成功度判定(2D6)
# 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
Private Instance Methods
gain_magic_element(dice1, dice2)
click to toggle source
魔素獲得チェック
# File lib/bcdice/game_system/MagicaLogia.rb, line 90 def gain_magic_element(dice1, dice2) return "" unless dice1 == dice2 element = translate("MagicaLogia.elements.items")[dice1 - 1] return " > " + format(translate("MagicaLogia.elements.format"), text: element) end