Class: BCDice::GameSystem::SwordWorld2_5

Inherits:
SwordWorld2_0 show all
Defined in:
lib/bcdice/game_system/SwordWorld2_5.rb

Direct Known Subclasses

SwordWorld2_5_SimplifiedChinese

Constant Summary collapse

ID =

ゲームシステムの識別子

'SwordWorld2.5'
NAME =

ゲームシステム名

'ソード・ワールド2.5'
SORT_KEY =

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

'そおとわあると2.5'
HELP_MESSAGE =

ダイスボットの使い方

"\u81EA\u52D5\u7684\u6210\u529F\u3001\u6210\u529F\u3001\u5931\u6557\u3001\u81EA\u52D5\u7684\u5931\u6557\u306E\u81EA\u52D5\u5224\u5B9A\u3092\u884C\u3044\u307E\u3059\u3002\n\n\u30FB\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u8868\u3000(Kx)\n\u3000\"K\u30AD\u30FC\u30CA\u30F3\u30D0\u30FC+\u30DC\u30FC\u30CA\u30B9\"\u306E\u5F62\u3067\u8A18\u5165\u3057\u307E\u3059\u3002\n\u3000\u30DC\u30FC\u30CA\u30B9\u306E\u90E8\u5206\u306B\u300CK20+K30\u300D\u306E\u3088\u3046\u306B\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u3092\u53D6\u308B\u3053\u3068\u306F\u51FA\u6765\u307E\u305B\u3093\u3002\n\u3000\u307E\u305F\u3001\u30DC\u30FC\u30CA\u30B9\u306F\u8907\u6570\u53D6\u308B\u3053\u3068\u304C\u51FA\u6765\u307E\u3059\u3002\n\u3000\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u8868\u3082\u30C0\u30A4\u30B9\u30ED\u30FC\u30EB\u3068\u540C\u69D8\u306B\u3001\u4ED6\u306E\u30D7\u30EC\u30A4\u30E4\u30FC\u306B\u96A0\u308C\u3066\u30ED\u30FC\u30EB\u3059\u308B\u3053\u3068\u3082\u53EF\u80FD\u3067\u3059\u3002\n\u3000\u4F8B\uFF09K20\u3000\u3000\u3000K10+5\u3000\u3000\u3000k30\u3000\u3000\u3000k10+10\u3000\u3000\u3000Sk10-1\u3000\u3000\u3000k10+5+2\n\n\u30FB\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024\u306E\u8A2D\u5B9A\n\u3000\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024\u306F\"[\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024]\"\u3067\u6307\u5B9A\u3057\u307E\u3059\u3002\n\u3000\u6307\u5B9A\u3057\u306A\u3044\u5834\u5408\u306F\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u502410\u3068\u3057\u307E\u3059\u3002\n\u3000\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u51E6\u7406\u304C\u5FC5\u8981\u306A\u3044\u3068\u304D\u306F13\u306A\u3069\u3068\u3057\u3066\u304F\u3060\u3055\u3044\u3002(\u9632\u5FA1\u6642\u306A\u3069\u306E\u5BFE\u5FDC)\n\u3000\u307E\u305F\u30BF\u30A4\u30D7\u306E\u8EFD\u6E1B\u5316\u306E\u305F\u3081\u306B\u672B\u5C3E\u306B\u300C@\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024\u300D\u3067\u3082\u51E6\u7406\u3059\u308B\u3088\u3046\u306B\u3057\u307E\u3057\u305F\u3002\n\u3000\u4F8B\uFF09K20[10]\u3000\u3000\u3000K10+5[9]\u3000\u3000\u3000k30[10]\u3000\u3000\u3000k10[9]+10\u3000\u3000\u3000k10-5@9\n\n\u30FB\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u8868\u306E\u534A\u6E1B (HKx, KxH+N)\n\u3000\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u8868\u306E\u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u306B\"H\"\u3092\u3064\u3051\u308B\u3068\u3001\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u8868\u3092\u632F\u3063\u3066\u6700\u7D42\u7D50\u679C\u3092\u534A\u6E1B\u3055\u305B\u307E\u3059\u3002\n\u3000\u672B\u5C3E\u306B\u3064\u3051\u305F\u5834\u5408\u3001\u76F4\u5F8C\u306B\u4FEE\u6B63\u3092\u3092\u3064\u3051\u308B\u3053\u3068\u3067\u3001\u534A\u6E1B\u5F8C\u306E\u52A0\u6E1B\u7B97\u3092\u884C\u3046\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\n\u3000\u3053\u306E\u969B\u3001\u8907\u6570\u306E\u9805\u306B\u3088\u308B\u4FEE\u6B63\u306B\u306F\u30AB\u30C3\u30B3\u3067\u56F2\u3046\u3053\u3068\u304C\u5FC5\u8981\u3067\u3059\uFF08\u30AB\u30C3\u30B3\u304C\u306A\u3044\u3068\u30D1\u30FC\u30B9\u306B\u5931\u6557\u3057\u307E\u3059\uFF09\n\u3000\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024\u3092\u6307\u5B9A\u3057\u306A\u3044\u5834\u5408\u3001\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u306A\u3057\u3068\u6271\u308F\u308C\u307E\u3059\u3002\n\u3000\u4F8B\uFF09HK20\u3000\u3000K20h\u3000\u3000HK10-5@9\u3000\u3000K10-5@9H\u3000\u3000K20gfH\u3000\u3000K20+8H+2\u3000\u3000K20+8H+(1+1)\n\n\u30FB\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u8868\u306E1.5\u500D (OHKx, KxOH+N)\n\u3000\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u8868\u306E\u5148\u982D\u307E\u305F\u306F\u672B\u5C3E\u306B\"OH\"\u3092\u3064\u3051\u308B\u3068\u3001\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u8868\u3092\u632F\u3063\u3066\u6700\u7D42\u7D50\u679C\u30921.5\u500D\u3057\u307E\u3059\u3002\n\u3000\u672B\u5C3E\u306B\u3064\u3051\u305F\u5834\u5408\u3001\u76F4\u5F8C\u306B\u4FEE\u6B63\u3092\u3092\u3064\u3051\u308B\u3053\u3068\u3067\u30011.5\u500D\u5F8C\u306E\u52A0\u6E1B\u7B97\u3092\u884C\u3046\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\n\u3000\u3053\u306E\u969B\u3001\u8907\u6570\u306E\u9805\u306B\u3088\u308B\u4FEE\u6B63\u306B\u306F\u30AB\u30C3\u30B3\u3067\u56F2\u3046\u3053\u3068\u304C\u5FC5\u8981\u3067\u3059\uFF08\u30AB\u30C3\u30B3\u304C\u306A\u3044\u3068\u30D1\u30FC\u30B9\u306B\u5931\u6557\u3057\u307E\u3059\uFF09\n\u3000\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024\u3092\u6307\u5B9A\u3057\u306A\u3044\u5834\u5408\u3001\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u306A\u3057\u3068\u6271\u308F\u308C\u307E\u3059\u3002\n\u3000\u4F8B\uFF09OHK20\u3000\u3000K20oh\u3000\u3000OHK10-5@9\u3000\u3000K20+8OH+2\u3000\u3000K20+8OH+(1+1)\n\n\u30FB\u30C0\u30A4\u30B9\u76EE\u306E\u4FEE\u6B63\uFF08\u904B\u547D\u5909\u8EE2\u3084\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u30EC\u30A4\u7528\uFF09\n\u3000\u672B\u5C3E\u306B\u300C$\u4FEE\u6B63\u5024\u300D\u3067\u30C0\u30A4\u30B9\u76EE\u306B\u4FEE\u6B63\u304C\u304B\u304B\u308A\u307E\u3059\u3002\n\u3000$\uFF0B\uFF11\u3068\u4FEE\u6B63\u8868\u8A18\u306A\u3089\u30C0\u30A4\u30B9\u76EE\u306B\uFF0B\u4FEE\u6B63\u3001\uFF04\uFF19\u306E\u3088\u3046\u306B\u56FA\u5B9A\u5024\u306A\u3089\u30C0\u30A4\u30B9\u76EE\u3092\u305D\u306E\u51FA\u76EE\u306B\u5DEE\u3057\u66FF\u3048\u3002\n\u3000\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u3057\u305F\u5834\u5408\u3067\u3082\u56FA\u5B9A\u5024\u3084\u4FEE\u6B63\u5024\u306E\u9069\u7528\u306F\u6700\u521D\u306E\u4E00\u56DE\u3060\u3051\u3067\u3059\u3002\n\u3000\u4F8B\uFF09K20$+1\u3000\u3000\u3000K10+5$9\u3000\u3000\u3000k10-5@9$+2\u3000\u3000\u3000k10[9]+10$9\n\n\u30FB\u30C0\u30A4\u30B9\u76EE\u306E\u4FEE\u6B63\uFF08\u5FC5\u6BBA\u653B\u6483\u7528\uFF09\n\u3000\u300C\uFF03\u4FEE\u6B63\u5024\u300D\u3067\u30C0\u30A4\u30B9\u76EE\u306B\u4FEE\u6B63\u304C\u304B\u304B\u308A\u307E\u3059\u3002\n\u3000\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u3057\u305F\u5834\u5408\u3067\u3082\u4FEE\u6B63\u5024\u306E\u9069\u7528\u306F\u7D99\u7D9A\u3055\u308C\u307E\u3059\u3002\n\u3000\u4F8B\uFF09K20#1\u3000\u3000\u3000k10-5@9#2\n\n\u30FB\u9996\u5207\u308A\u5200\u7528\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u4E0A\u6607 r5\n\u3000\u4F8B\uFF09K20r5\u3000K30+24@8R5\u3000K40+24@8$12r5\n\n\u30FB\u30B0\u30EC\u30A4\u30C6\u30B9\u30C8\u30D5\u30A9\u30FC\u30C1\u30E5\u30F3\u306F\u672B\u5C3E\u306B gf\n\u3000\u4F8B\uFF09K20gf\u3000K30+24@8GF\u3000K40+24@8$12r5gf\n\n\u30FB\u5A01\u529B\u8868\u30921d+sf\u3067\u53C2\u7167 \u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5F8C\u3082\u7D99\u7D9A sf4\n\u3000\u4F8B\uFF09k10sf4\u3000k0+5sf4@13\u3000k70+26sf3@9\n\n\u30FB\u5A01\u529B\u8868\u30921d+tf\u3067\u53C2\u7167 \u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5F8C\u306F2d\u3067\u53C2\u7167 tf3\n\u3000\u4F8B\uFF09k10tf3\u3000k0+5tf4@13\u3000k70+26tf3@9\n\n\u30FB\u8D85\u8D8A\u5224\u5B9A\u7528\u306B2d6\u30ED\u30FC\u30EB\u306B 2D6@10 \u66F8\u5F0F\u3067\u30AF\u30EA\u30C6\u30A3\u30AB\u30EB\u5024\u4ED8\u4E0E\u304C\u53EF\u80FD\u306B\u3002\n\u3000\u4F8B\uFF092D6@10\u30002D6@10+11>=30\n\n\u30FB\u6210\u9577\u3000(Gr)\n\u3000\u672B\u5C3E\u306B\u6570\u5B57\u3092\u4ED8\u52A0\u3059\u308B\u3053\u3068\u3067\u3001\u8907\u6570\u56DE\u306E\u6210\u9577\u3092\u307E\u3068\u3081\u3066\u884C\u3048\u307E\u3059\u3002\n\u3000\u4F8B\uFF09Gr3\n\n\u30FB\u9632\u5FA1\u30D5\u30A1\u30F3\u30D6\u30EB\u8868\u3000(FT)\n\u3000\u9632\u5FA1\u30D5\u30A1\u30F3\u30D6\u30EB\u8868\u3092\u51FA\u3059\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\n\n\u30FB\u7D61\u307F\u52B9\u679C\u8868\u3000(TT)\n\u3000\u7D61\u307F\u52B9\u679C\u8868\u3092\u51FA\u3059\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\n\n\u30FB\u30C9\u30EB\u30A4\u30C9\u306E\u7269\u7406\u9B54\u6CD5\u7528\u8868\u3000(Dru[2-6\u306E\u5024,7-9\u306E\u5024,10-12\u306E\u5024])\n\u3000\u4F8B\uFF09Dru[0,3,6]+10-3\n\n\u30FB\u30A2\u30D3\u30B9\u30AB\u30FC\u30B9\u8868\u3000(ABT)\n\u3000\u30A2\u30D3\u30B9\u30AB\u30FC\u30B9\u8868\u3092\u51FA\u3059\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\n"

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 SwordWorld2_0

#get_fumble_table, #get_tangle_table, #growth, #growth_step, #initialize, #rollDice

Methods inherited from SwordWorld

#initialize, #result_2d6

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::GameSystem::SwordWorld2_0

Instance Method Details

#druid_dice(command, power_list) ⇒ Object



117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# File 'lib/bcdice/game_system/SwordWorld2_5.rb', line 117

def druid_dice(command, power_list)
  dice_list = @randomizer.roll_barabara(2, 6)
  dice_total = dice_list.sum()
  offset =
    case dice_total
    when 2..6
      0
    when 7..9
      1
    when 10..12
      2
    end
  power = power_list[offset]
  total = power + command.modify_number
  sequence = [
    "(#{command.command.capitalize}#{Format.modifier(command.modify_number)})",
    "2D[#{dice_list.join(',')}]=#{dice_total}",
    "#{power}#{Format.modifier(command.modify_number)}",
    total
  ]

  return sequence.join(" > ")
end

#eval_game_system_specific_command(command) ⇒ Object



94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# File 'lib/bcdice/game_system/SwordWorld2_5.rb', line 94

def eval_game_system_specific_command(command)
  case command
  when /^dru\[(\d+),(\d+),(\d+)\]/i
    power_list = Regexp.last_match.captures.map(&:to_i)
    druid_parser = Command::Parser.new(/dru\[\d+,\d+,\d+\]/i, round_type: BCDice::RoundType::CEIL)

    cmd = druid_parser.parse(command)
    unless cmd
      return nil
    end

    druid_dice(cmd, power_list)
  when 'ABT'
    get_abyss_curse_table
  else
    super(command)
  end
end

#get_abyss_curse_tableObject



141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# File 'lib/bcdice/game_system/SwordWorld2_5.rb', line 141

def get_abyss_curse_table
  table_result = DiceTable::D66GridTable.from_i18n('SwordWorld2_5.AbyssCurseTable', @locale).roll(@randomizer)
  additional =
    case table_result.value
    when 14  # 「差別の」における分類決定表
      DiceTable::D66ParityTable.from_i18n('SwordWorld2_5.AbyssCurseCategoryTable', @locale).roll(@randomizer).to_s
    when 25  # 「過敏な」における属性決定表
      DiceTable::D66ParityTable.from_i18n('SwordWorld2_5.AbyssCurseAttrTable', @locale).roll(@randomizer).to_s
    end
  final_result = [
    table_result.to_s,
    additional,
  ].compact

  return final_result.join("\n")
end

#rating_parserObject



113
114
115
# File 'lib/bcdice/game_system/SwordWorld2_5.rb', line 113

def rating_parser
  return RatingParser.new(version: :v2_5)
end