Class: BCDice::GameSystem::NinjaSlayer
- Defined in:
- lib/bcdice/game_system/NinjaSlayer.rb
Defined Under Namespace
Constant Summary collapse
- ID =
ゲームシステムの識別子
'NinjaSlayer'- NAME =
ゲームシステム名
'ニンジャスレイヤーTRPG'- SORT_KEY =
ゲームシステム名の読みがな
'にんしやすれいやあTRPG'- HELP_MESSAGE =
ダイスボットの使い方
"\u30FB\u901A\u5E38\u5224\u5B9A\u3000NJ\n\u3000NJx[y] or NJx@y or NJx\n\u3000x=\u5224\u5B9A\u30C0\u30A4\u30B9 y=\u96E3\u6613\u5EA6 \u7701\u7565\u6642\u306FNORMAL(4)\n\u3000\u4F8B:NJ4@H \u96E3\u6613\u5EA6HARD\u3001\u5224\u5B9A\u30C0\u30A4\u30B94\u3067\u5224\u5B9A\n\u30FB\u56DE\u907F\u5224\u5B9A\u3000EV\n\u3000EVx[y]/z or EVx@y/z or EVx/z or EVx[y] or EVx@y or EVx\n\u3000x=\u5224\u5B9A\u30C0\u30A4\u30B9 y=\u96E3\u6613\u5EA6 z=\u653B\u6483\u5074\u306E\u6210\u529F\u6570(\u7701\u7565\u53EF) \u96E3\u6613\u5EA6\u3092\u7701\u7565\u6642\u306FNORMAL(4)\n\u3000\u653B\u6483\u5074\u306E\u6210\u529F\u6570\u3092\u6307\u5B9A\u3057\u305F\u5834\u5408\u3001\u30AB\u30A6\u30F3\u30BF\u30FC\u30AB\u30E9\u30C6\u767A\u751F\u6642\u306B\u306F\u8868\u793A\n\u3000\u4F8B:EV5/3 \u96E3\u6613\u5EA6NORMAL(\u7701\u7565\u6642)\u3001\u5224\u5B9A\u30C0\u30A4\u30B95\u3001\u653B\u6483\u5074\u306E\u6210\u529F\u65703\u3067\u5224\u5B9A\n\u30FB\u8FD1\u63A5\u653B\u6483\u3000AT\n\u3000ATx[y] or ATx@y or ATx\n\u3000x=\u5224\u5B9A\u30C0\u30A4\u30B9 y=\u96E3\u6613\u5EA6 \u7701\u7565\u6642\u306FNORMAL(4) \u30B5\u30C4\u30D0\u30C4\uFF01\u767A\u751F\u6642\u306B\u306F\u8868\u793A\n\u3000\u4F8B:AT6[H] \u96E3\u6613\u5EA6HARD,\u5224\u5B9A\u30C0\u30A4\u30B95\u3067\u8FD1\u63A5\u653B\u6483\u306E\u5224\u5B9A\n\u30FB\u30B5\u30C4\u30D0\u30C4\u5224\u5B9A\u3000SB\n\u30FB\u96FB\u5B50\u6226\u3000EL\n\u3000ELx[y] or ELx@y or ELx\n\u3000x=\u5224\u5B9A\u30C0\u30A4\u30B9 y=\u96E3\u6613\u5EA6 \u7701\u7565\u6642\u306FNORMAL(4)\n\u3000\u4F8B:EL6[H] \u96E3\u6613\u5EA6HARD,\u5224\u5B9A\u30C0\u30A4\u30B95\u3067\u96FB\u5B50\u6226\u306E\u5224\u5B9A\n\n\u30FB\u96E3\u6613\u5EA6\n\u3000KIDS=K,EASY=E,NORMAL=N,HARD=H,ULTRA HARD=UH \u6570\u5B57\u306B\u3082\u5BFE\u5FDC\n\n\u203B\u4E0A\u8A18\u30B3\u30DE\u30F3\u30C9\u7FA4\u306F\u300E\u30CB\u30F3\u30B8\u30E3\u30B9\u30EC\u30A4\u30E4\u30FCTRPG \u30B3\u30A2\u30FB\u30EB\u30FC\u30EB\u30D6\u30C3\u30AF\u300F\u306B\u5BFE\u5FDC\u3057\u3066\u3044\u307E\u305B\u3093\u3002\u30B3\u30A2\u30FB\u30EB\u30FC\u30EB\u30D6\u30C3\u30AF\u3067\u904A\u3076\u5834\u5408\u306B\u306F\u300E\u30CB\u30F3\u30B8\u30E3\u30B9\u30EC\u30A4\u30E4\u30FCTRPG 2\u7248\u300F\u306E\u30B3\u30DE\u30F3\u30C9\u3092\u5229\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n"- DIFFICULTY_VALUE_RE =
難易度の値の正規表現
/UH|[2-6KENH]/i.freeze
- DIFFICULTY_RE =
難易度の正規表現
/\[(#{DIFFICULTY_VALUE_RE})\]|@(#{DIFFICULTY_VALUE_RE})/io.freeze
- NJ_RE =
通常判定の正規表現
/\A(S)?NJ(\d+)#{DIFFICULTY_RE}?\z/io.freeze
- EV_RE =
回避判定の正規表現
%r{\AEV(\d+)#{DIFFICULTY_RE}?(?:/(\d+))?\z}io.freeze
- AT_RE =
近接攻撃の正規表現
/\AAT(\d+)#{DIFFICULTY_RE}?\z/io.freeze
- EL_RE =
電子戦の正規表現
/\AEL(\d+)#{DIFFICULTY_RE}?\z/io.freeze
- DIFFICULTY_SYMBOL_TO_INTEGER =
難易度の文字表現から整数値への対応
{ 'K' => 2, 'E' => 3, 'N' => 4, 'H' => 5, 'UH' => 6 }.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
- #change_text(str) ⇒ Object
- #eval_game_system_specific_command(command) ⇒ Object
-
#initialize(command) ⇒ NinjaSlayer
constructor
A new instance of NinjaSlayer.
Methods inherited from Base
#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
Constructor Details
#initialize(command) ⇒ NinjaSlayer
Returns a new instance of NinjaSlayer.
45 46 47 48 49 50 |
# File 'lib/bcdice/game_system/NinjaSlayer.rb', line 45 def initialize(command) super(command) @default_cmp_op = :>= @default_target_number = 4 end |
Instance Method Details
#change_text(str) ⇒ Object
82 83 84 85 86 87 88 |
# File 'lib/bcdice/game_system/NinjaSlayer.rb', line 82 def change_text(str) m = NJ_RE.match(str) return str unless m b_roll = bRollCommand(m[2], integerValueOfDifficulty(m[3] || m[4])) return "#{m[1]}#{b_roll}" end |
#eval_game_system_specific_command(command) ⇒ Object
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/bcdice/game_system/NinjaSlayer.rb', line 90 def eval_game_system_specific_command(command) debug('eval_game_system_specific_command begin string', command) if (table = TABLES[command]) return table.roll(randomizer) end case node = parse(command) when EV return executeEV(node) when AT return executeAT(node) when EL return executeEL(node) else return nil end end |