Class: BCDice::GameSystem::SwordWorld2_5
- Inherits:
-
SwordWorld2_0
- Object
- Base
- SwordWorld
- SwordWorld2_0
- BCDice::GameSystem::SwordWorld2_5
- Defined in:
- lib/bcdice/game_system/SwordWorld2_5.rb
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\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\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"- ABYSS_CURSE_TABLE =
DiceTable::D66GridTable.new( 'アビスカース表', [ [ "「自傷の」 装備時 この武具を装備中に装備者がクリティカルを発生させた時、装備者のHPが5点減少する。", "「嘆きの」 装備時 近くに敵がいたり、長い緊張状態が続くと涙が止まらなくなる。戦闘中なら「射程:術者(自身)」「射程:接触」以外の効果で対象を選べなくなる。", "「優しき」 装備時 敵に同情してしまう。敵対するキャラクターを対象にする場合、対象のHPが1点以上減少しているなら命中力判定、魔法行使判定に-2のペナルティ修正を受ける。", "「差別の」 装備時 特定の分類に対して与える物理ダメージ・魔法ダメージが2点減少する。分類は「分類決定表」で無作為に決定する。", "「脆弱な」 装備時 魔法ダメージを受けるたび、そのダメージが+1点される。", "「無謀な」 装備時 防護点が2点減少する(最低0)。", ], [ "「重い」 装備時 強化した武具の必要筋力が+2される。威力、防護点などは変化なし。", "「難しい」 装備時 いかなる威力表使用時でも、③④欄の数値が威力に関係なく「0」になる(自動失敗ではない)。", "「軟弱な」 装備時 精神抵抗力判定に-1のペナルティ修正を受ける。", "「病弱な」 装備時 生命抵抗力判定に-1のペナルティ修正を受ける。", "「過敏な」 装備時 特定の属性から受ける物理ダメージ、魔法ダメージが2点上昇する。属性は「属性決定表」で無作為に決定する。", "「陽気な」 装備時 精神抵抗判定に失敗するたび、笑いが止まらなくなる。次の手番終了時まで行動判定(『Ⅰ』123頁)に-1のペナルティ修正を受ける。この効果は累積する。", ], [ "「たどたどしい」 装備時 話をする時に言葉に詰まったり、言い間違えたりしやすくなる。魔法行使判定に-1のペナルティ修正を受ける。", "「代弁する」 装備時 自身の会話は、そのまま武具が魔法文明語の聞き取りづらい声で話す。装備中は魔法文明語以外の言語で会話は行えず、妖精魔法、魔動機術を行使できなくなる。", "「施しは受けない」 装備時 戦闘中、「抵抗:任意」の効果を受け入れた場合、次の手番終了時まで生命抵抗力、精神抵抗力に-2のペナルティ修正を受ける。", "「死に近い」 携行時 常に生死判定に「冒険者レベル」と同じ値のペナルティ修正を受ける。", "「おしゃれな」 携行時 その武具を常に華美に飾りたくなる。収入を得るたび、その1割以上をこの武具の装飾に費やさなければならない(効果などに変化はない)。", "「マナを吸う」 携行時 魔法や練技など、自身の意思でMPを消費する効果を使用する場合、すべてのMP消費が1点上昇する。", ], [ "「鈍重な」 携行時 移動力が半分(端数切り上げ)になる。", "「定まらない」 携行時 戦闘中の手番開始時に1dし、出目が「1」なら《ターゲッティング》とそれを前提とした戦闘特技を習得していないものとして扱う。", "「錯乱の」 携行時 戦闘中の手番開始時に1dし、出目が「1」なら近接攻撃を含む「射程:接触」の対象に効果を使用する際、対象は同じ位置(エリア、座標)の全てのキャラクター(敵味方含む)から無作為に選ばれる。", "「足絡みの」 携行時 戦闘中の手番開始時に1dし、出目が「1」ならその場で即座に転倒する。手番中には起き上がれない。", "「滑り落ちる」 携行時 戦闘中の手番開始時に1dし、出目が「1」なら手に装備または保持しているものをすべてその場に落とす(その手番の主動作で拾う事は可能)。", "「悪臭放つ」 携行時 強い悪臭を放つ。所持しているだけで他のキャラクターに不快感を与え、隠密判定に-2のペナルティ修正を受ける。さらに冒険者ランク(『Ⅱ』137頁)が1段階低いものとして扱われる。", ], [ "「醜悪な」 携行時 武具の見た目が悪く、魅力がない。売却する際、基本取引価格の4分の1の価格で売却する。さらに冒険者ランク(『Ⅱ』137頁)が1段階低いものとして扱われる。", "「唸る」 携行時 その武具から常に羽虫が飛び交うような音が響く。隠密判定、危険感知判定に-4のペナルティ修正を受ける。", "「ふやけた」 携行時 水を吸ったようにふやけた質感をしている。追加ダメージ-1(武器)、防護点-1(鎧、盾)。病気属性の効果に対する生命抵抗力、精神抵抗力判定に-4のペナルティ修正を受ける。", "「古傷の」 携行時 HPを回復する効果(休息による回復を含む)を受けた場合、その回復量が1点減少する。", "「まばゆい」 携行時 光などを弾いて強く輝く。自身は常に視界が悪い事による-1のペナルティ修正を受ける。", "「栄光なき」 携行時 行為判定で自動成功した際、自動成功とは扱わず、2dを振り直し、その後の出目に従う。この効果は1日に1回のみ発揮される。", ], [ "「正直者の」 携行時 嘘、方便がすぐばれるようになる。真偽判定の対象となる場合、-4のペナルティ修正を受ける。", "「乗り物酔いの」 携行時 揺れに弱くなる。自身の足以外の手段で10分以上移動した後、1時間、行動判定に-1のペナルティ修正を受ける。", "「碧を厭う」 携行時 自然の中では落ち着かなくなる。自然環境(『Ⅰ』108頁)では行動判定に-1のペナルティ修正を受ける。", "「我慢できない」 携行時 セッション中に1日の始まりを迎えるたび、趣味や嗜好品などに「冒険者レベル×10」ガメルを出費しなければならない。趣味や嗜好品が消費できない環境であれば、翌日の朝まで最大HP、最大MPが「冒険者レベル」点減少する。", "「つきまとう」 携行時 この武具が気がつけば身の回りにある。この武具以外での命中力判定、魔法行使判定(武器)、回避力判定(鎧、盾)に-4のペナルティ修正を受ける。", "「のろまな」 携行時 戦闘開始処理の「戦闘準備」をいっさい行えなくなる。", ], ] )
- ABYSS_CURSE_CATEGORY_TABLE =
DiceTable::D66ParityTable.new( "アビスカース分類決定表", ["蛮族", "動物", "植物", "アンデッド", "魔法生物", "「蛮族」「動物」「植物」「アンデッド」「魔法生物」から任意"], ["魔動機", "幻獣", "妖精", "魔神", "人族", "「魔動機」「幻獣」「妖精」「魔神」「人族」から任意"] )
- ABYSS_CURSE_ATTR_TABLE =
DiceTable::D66ParityTable.new( "アビスカース属性決定表", ["土", "水・氷", "炎", "風", "雷", "純粋エネルギー"], ["断空", "衝撃", "毒", "病気", "呪い", "精神効果"] )
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
- #druid_dice(command, power_list) ⇒ Object
- #eval_game_system_specific_command(command) ⇒ Object
- #get_abyss_curse_table ⇒ Object
- #rating_parser ⇒ Object
Methods inherited from SwordWorld2_0
#get_ability_by_dice, #get_fumble_table, #get_tangle_table, #growth, #growth_step, #initialize, #rollDice
Methods inherited from SwordWorld
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
Constructor Details
This class inherits a constructor from BCDice::GameSystem::SwordWorld2_0
Instance Method Details
#druid_dice(command, power_list) ⇒ Object
164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 |
# File 'lib/bcdice/game_system/SwordWorld2_5.rb', line 164 def druid_dice(command, power_list) dice_list = @randomizer.(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
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
# File 'lib/bcdice/game_system/SwordWorld2_5.rb', line 141 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_table ⇒ Object
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'lib/bcdice/game_system/SwordWorld2_5.rb', line 188 def get_abyss_curse_table table_result = ABYSS_CURSE_TABLE.roll(@randomizer) additional = case table_result.value when 14 # 「差別の」における分類決定表 ABYSS_CURSE_CATEGORY_TABLE.roll(@randomizer).to_s when 25 # 「過敏な」における属性決定表 ABYSS_CURSE_ATTR_TABLE.roll(@randomizer).to_s end final_result = [ table_result.to_s, additional, ].compact return final_result.join("\n") end |
#rating_parser ⇒ Object
160 161 162 |
# File 'lib/bcdice/game_system/SwordWorld2_5.rb', line 160 def return RatingParser.new(version: :v2_5) end |