Class: BCDice::GameSystem::Nechronica

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

Direct Known Subclasses

Nechronica_Korean

Constant Summary collapse

ID =

ゲームシステムの識別子

'Nechronica'
NAME =

ゲームシステム名

'ネクロニカ'
SORT_KEY =

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

'ねくろにか'
HELP_MESSAGE =

ダイスボットの使い方

<<~INFO_MESSAGE_TEXT
  ・判定 (nNC+m)
   ダイス数n、修正値mで判定ロールを行います(省略=1)
   ダイス数が2以上の時のパーツ破損数も表示します。
  ・攻撃判定 (nNA+m)
   ダイス数n、修正値mで攻撃判定ロールを行います(省略=1)
   命中部位とダイス数が2以上の時のパーツ破損数も表示します。

  ・姉妹への未練表 nm
  ・中立者への未練表 nmn
  ・敵への未練表 nme
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) ⇒ Nechronica

Returns a new instance of Nechronica.



32
33
34
35
36
37
38
# File 'lib/bcdice/game_system/Nechronica.rb', line 32

def initialize(command)
  super(command)

  @sort_add_dice = true
  @sort_barabara_dice = true
  @default_target_number = 6 # 目標値が空欄の時の目標値
end

Instance Method Details

#eval_game_system_specific_command(command) ⇒ Object



40
41
42
# File 'lib/bcdice/game_system/Nechronica.rb', line 40

def eval_game_system_specific_command(command)
  roll_tables(command, self.class::TABLES) || nechronica_check(command)
end

#result_nd10(total, _dice_total, value_list, cmp_op, target) ⇒ Object



44
45
46
47
48
49
50
51
# File 'lib/bcdice/game_system/Nechronica.rb', line 44

def result_nd10(total, _dice_total, value_list, cmp_op, target)
  # 後方互換を維持するため、1d10>=nを目標値nの1NCとして処理
  if value_list.count != 1 || cmp_op != :>= || target.nil? || target == "?"
    return nil
  end

  result_nechronica([total], target)
end