Class: BCDice::GameSystem::ArknightsFan

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

Defined Under Namespace

Modules: Status

Constant Summary collapse

ID =

ゲームシステムの識別子

"ArknightsFan"
NAME =

ゲームシステム名

"アークナイツTRPG by daaaper"
SORT_KEY =

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

"ああくないつTRPGはいてえはあ"
HELP_MESSAGE =
<<~TEXT
  ■ 能力値判定 (nADm<=x)
    nDmのダイスロールをして、出目が x 以下であれば成功。
    出目が91以上でエラー。
    出目が10以下でクリティカル。

  ■ 攻撃/防御判定 (nABm<=x)
    nBmのダイスロールをして、
      出目が x 以下であれば成功数+1。
      出目が91以上でエラー。成功数-1。
      出目が10以下でクリティカル。成功数+1。
    上記による成功数をカウント。

  ■ 役職効果付き攻撃判定 (nABm<=x--役職名h)
    h: 健康状態(0: 健康、1: 中等症、2: 重症)
    nBmのダイスロールをして、
      出目が x 以下であれば成功数+1。
      出目が91以上でエラー。成功数-1。
      出目が10以下でクリティカル。成功数+1。
    上記による成功数をカウントした上で、以下の役職名による成功数増加効果を適応。
      狙撃(SNI): 健康(h=0)かつ成功数1以上のとき、成功数+1。
    健康状態hを省略した場合、健康(h=0)として扱われる。

  ■ 鉱石病判定 (ORPx@y+Dd+Tt)
    x: 生理的耐性、y: 上昇後侵食度、d: ダイス補正、t: 判定値補正
    生理的耐性xのOPが侵食度yに上昇した際の鉱石病判定を、ダイス数補正d、判定値補正tで行う。
    ダイス数補正と判定値補正は省略可能。例えば ORP60@25 は ORP60@25+D0+T0 と同義。
    また、ダイス数補正と判定値補正は逆順でも可。例えば ORP60@25+T10+D2 も可。

  ■ 増悪判定(--WORSENING)
    症状を「末梢神経障害」「内臓機能不全」「精神症状」からランダムに選択。
    継続ラウンド数を1d6+1で判定。

  ■ 中毒判定(--ADDICTION)
    症状を「脳神経障害」「多臓器不全」「急性精神反応」からランダムに選択。

  ■ 判定の省略表記
    nADm、nABm、nABmにおいて、
      n(ダイス個数)を省略した場合、1として扱われる。
      m(ダイス種類)を省略した場合、100として扱われる。
    例えば、AD<=90は1AD100<=90として解釈される。
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) ⇒ ArknightsFan

Returns a new instance of ArknightsFan.



60
61
62
63
64
65
# File 'lib/bcdice/game_system/ArknightsFan.rb', line 60

def initialize(command)
  super(command)
  @sort_add_dice = true      # 加算ダイスでダイス目をソートする
  @sort_barabara_dice = true # バラバラダイスでダイス目をソートする
  @sides_implicit_d = 100    # 1D のようにダイスの面数が指定されていない場合に100面ダイスにする
end

Instance Method Details

#eval_game_system_specific_command(command) ⇒ Object



67
68
69
# File 'lib/bcdice/game_system/ArknightsFan.rb', line 67

def eval_game_system_specific_command(command)
  eval_ad(command) || eval_ab(command) || eval_orp(command) || eval_worsening(command) || eval_addiction(command)
end