Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SW2.5のモンストラスロアで追加された森羅魔法のダメージ算出ダイスに対応 #372

Merged
merged 11 commits into from
Feb 13, 2021

Conversation

h-mikisato
Copy link
Contributor

SW2.5のモンストラスロアで追加されたドルイド技能(森羅魔法)において、
一部魔法で特異なダメージ算出方法が追加されました。

威力決定の際に威力表を参照せず、2d6の出目の範囲に応じて

  • 出目が2-6の時は「A+魔力」点のダメージ
  • 出目が7-9の時は「B+魔力」点のダメージ
  • 出目が10-12の時は「C+魔力」点のダメージ

という形でダメージを算出しています。このA、B、Cの値は、使用する魔法によって異なっています。

「ダメージ算出」であるという性質上加減算などが必要になり、 単純なダイス表で表現するのも難しいため、専用のダイスコマンドを実装いたしました。

@codecov
Copy link

codecov bot commented Jan 24, 2021

Codecov Report

Merging #372 (ade88e3) into master (3e08d51) will decrease coverage by 0.00%.
The diff coverage is 95.23%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #372      +/-   ##
==========================================
- Coverage   94.47%   94.47%   -0.01%     
==========================================
  Files         272      272              
  Lines       18491    18506      +15     
==========================================
+ Hits        17470    17484      +14     
- Misses       1021     1022       +1     
Impacted Files Coverage Δ
lib/bcdice/game_system/SwordWorld2_5.rb 98.14% <95.23%> (-1.86%) ⬇️
lib/bcdice/game_system/Illusio.rb 100.00% <0.00%> (ø)
lib/bcdice/game_system/OrgaRain.rb 100.00% <0.00%> (ø)
lib/bcdice/game_system/Garako.rb 98.46% <0.00%> (+0.07%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3e08d51...ade88e3. Read the comment docs.

Copy link
Member

@ysakasin ysakasin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

提案ありがとうございます! コード上の問題がいくつかあるので、修正お願いします。

lib/bcdice/game_system/SwordWorld2_5.rb Outdated Show resolved Hide resolved
lib/bcdice/game_system/SwordWorld2_5.rb Outdated Show resolved Hide resolved
lib/bcdice/game_system/SwordWorld2_5.rb Outdated Show resolved Hide resolved
@ysakasin
Copy link
Member

出力ですが、以下のようにコマンドがわかるようにした方が良いと思うのですがどうでしょう。
最近新しくコマンドを作る際には、できるだけ入力内容が出力でわかるようにしています。

(Dru[4,7,13]+10) > 2D[6,5]=13 > 13+10 > 23"

また、入力がDru[4,7,13]+5+5 のような時にも (Dru[4,7,13]+10) のように正規化されて表示されたら嬉しいです。

case command
when DRUID_DICE_RE
power_list = Regexp.last_match.captures.map(&:to_i)
druid_parser = Command::Parser.new(DRUID_DICE_RE, round_type: BCDice::RoundType::CEIL)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Command::Parserに渡す正規表現で ^ を使うのは想定していないため、使いまわさずにリテラルで指定してください。


def eval_game_system_specific_command(command)
case command
when DRUID_DICE_RE
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Command::Parser で使いまわさないため、定数で使いまわさずにリテラルを直接指定してください

@h-mikisato
Copy link
Contributor Author

ご連絡遅くなり申し訳ありません。レビュー部分反映させていただきました

Copy link
Member

@ysakasin ysakasin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@ysakasin ysakasin merged commit 7d6b050 into bcdice:master Feb 13, 2021
@h-mikisato h-mikisato deleted the feature/add_doruid_dice branch February 23, 2021 12:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants