Class: BCDice::GameSystem::AceKillerGene

Inherits:
GardenOrder show all
Defined in:
lib/bcdice/game_system/AceKillerGene.rb

Constant Summary collapse

ID =

ゲームシステムの識別子

'AceKillerGene'
NAME =

ゲームシステム名

'エースキラージーン'
SORT_KEY =

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

'ええすきらあしいん'
HELP_MESSAGE =

ダイスボットの使い方

<<~INFO_MESSAGE_TEXT
  ・基本判定
   AKx/y@z x:成功率、y:連続攻撃回数(省略可)、z:クリティカル値(省略可)
   (連続攻撃では1回の判定のみが実施されます)
   例)AK55 AK100/2 AK70@10 AK155/3@44
  ・負傷表
   DCxxy
   xx:属性(切断:SL,銃弾:BL,衝撃:IM,灼熱:BR,冷却:RF,電撃:EL)
   y:ダメージ
   例)DCSL7 DCEL22
INFO_MESSAGE_TEXT

Constants inherited from GardenOrder

GardenOrder::DAMAGE_TABLE

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 GardenOrder

#check_roll, #check_roll_repeat_attack, #get_check_result, #get_critical_border, #get_damage_table_info_by_type, #look_up_damage_chart

Methods inherited from Base

#change_text, #check_result, command_pattern, #enable_debug, #enabled_d9?, #eval, eval, #grich_text, #initialize, prefixes_pattern, register_prefix, register_prefix_from_super_class, #sort_add_dice?, #sort_barabara_dice?

Methods included from Translate

#translate

Constructor Details

This class inherits a constructor from BCDice::Base

Instance Method Details

#eval_game_system_specific_command(command) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/bcdice/game_system/AceKillerGene.rb', line 35

def eval_game_system_specific_command(command)
  case command
  when %r{(AK|AKG)(-?\d+)(/(\d+))?(@(\d+))?}i
    success_rate = Regexp.last_match(2).to_i
    repeat_count = (Regexp.last_match(4) || 1).to_i
    critical_border_text = Regexp.last_match(6)
    critical_border = get_critical_border(critical_border_text, success_rate)

    return check_roll_repeat_attack(success_rate, repeat_count, critical_border)

  when /^DC(SL|BL|IM|BR|RF|EL)(\d+)/i
    type = Regexp.last_match(1)
    damage_value = Regexp.last_match(2).to_i
    return look_up_damage_chart(type, damage_value)
  end

  return nil
end