Class: BCDice::GameSystem::Irisbane

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

Constant Summary collapse

ID =

ゲームシステムの識別子

'Irisbane'
NAME =

ゲームシステム名

'瞳逸らさぬイリスベイン'
SORT_KEY =

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

'ひとみそらさぬいりすへいん'
HELP_MESSAGE =

ダイスボットの使い方

<<~HELP
  ■攻撃判定( ATTACKx@y<=z )
  x: 攻撃力
  y: 判定数
  z: 目標値
  (※ ATTACK は ATK または AT と簡略化可能)
  例) ATTACK2@3<=5
  例) ATK10@2<=4
  例) AT8@3<=2

  上記 x y z にはそれぞれ四則演算を指定可能。
  例) ATTACK2+7@3*2<=5-1

  □攻撃判定のダメージ増減( ATTACKx@y<=z[+a]  ATTACKx@y<=z[-a])
  末尾に [+a] または [-a] と指定すると、最終的なダメージを増減できる。
  a: 増減量
  例) ATTACK2@3<=5[+10]
  例) ATK10@2<=4[-8]
  例) AT8@3<=2[-8+5]

  ■シチュエーション(p115)
  SceneSituation, SSi
HELP
ATTACK_ROLL_REG =
%r{^AT(TACK|K)?([+\-*/()\d]+)@([+\-*/()\d]+)<=([+\-*/()\d]+)(\[([+\-])([+\-*/()\d]+)\])?}i.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

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

Returns a new instance of Irisbane.



43
44
45
46
47
48
# File 'lib/bcdice/game_system/Irisbane.rb', line 43

def initialize(command)
  super(command)

  @sort_barabara_dice = true
  @round_type = RoundType::CEIL
end

Instance Method Details

#eval_game_system_specific_command(command) ⇒ Object



50
51
52
53
54
55
56
57
58
# File 'lib/bcdice/game_system/Irisbane.rb', line 50

def eval_game_system_specific_command(command)
  command = ALIAS[command] || command

  if (m = ATTACK_ROLL_REG.match(command))
    roll_attack(m[2], m[3], m[4], m[6], m[7])
  else
    roll_tables(command, TABLES)
  end
end