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

ソード・ワールドの威力表ダイスをパーサを使用したものに変更、半減後修正に対応 #373

Merged
merged 21 commits into from
Feb 26, 2021

Conversation

h-mikisato
Copy link
Contributor

@h-mikisato h-mikisato commented Jan 28, 2021

ソード・ワールドの威力表ダイスについて、正規表現が肥大化しており保守性が悪く、汎用コマンドパーサーと同様に、RACCを使用したパーサで対応する変更を行いました。

また同時に、一部の装備等で発生する、威力表半減後の加減算修正に対応しました。

@h-mikisato h-mikisato changed the title ソード・ワールドの威力表ダイスを、 ソード・ワールドの威力表ダイスを、コマンドを使用したものに変更 Jan 28, 2021
@h-mikisato h-mikisato changed the title ソード・ワールドの威力表ダイスを、コマンドを使用したものに変更 ソード・ワールドの威力表ダイスを、パーサを使用したものに変更 Jan 28, 2021
@codecov
Copy link

codecov bot commented Jan 28, 2021

Codecov Report

Merging #373 (9e60567) into master (d4e001c) will increase coverage by 0.08%.
The diff coverage is 99.07%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #373      +/-   ##
==========================================
+ Coverage   94.48%   94.56%   +0.08%     
==========================================
  Files         272      275       +3     
  Lines       18514    18634     +120     
==========================================
+ Hits        17493    17622     +129     
+ Misses       1021     1012       -9     
Impacted Files Coverage Δ
lib/bcdice/game_system/sword_world/rating_lexer.rb 94.44% <94.44%> (ø)
lib/bcdice/game_system/SwordWorld.rb 97.26% <100.00%> (+8.97%) ⬆️
lib/bcdice/game_system/SwordWorld2_0.rb 100.00% <100.00%> (ø)
lib/bcdice/game_system/SwordWorld2_5.rb 96.77% <100.00%> (-1.38%) ⬇️
...ib/bcdice/game_system/sword_world/rating_parsed.rb 100.00% <100.00%> (ø)
...ib/bcdice/game_system/sword_world/rating_parser.rb 93.02% <0.00%> (ø)

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 d4e001c...9e60567. Read the comment docs.

@h-mikisato h-mikisato changed the title ソード・ワールドの威力表ダイスを、パーサを使用したものに変更 ソード・ワールドの威力表ダイスをパーサを使用したものに変更、半減後修正に対応 Jan 28, 2021
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.

ありがとうございます!
まだ全部は見切れていませんが、nil関連の扱いについて気になった部分が多かったので、取り急ぎ解説しました。修正お願いします。

lib/bcdice/game_system/sword_world/rating_parsed.rb Outdated Show resolved Hide resolved
lib/bcdice/game_system/sword_world/rating_parser.y Outdated Show resolved Hide resolved
lib/bcdice/game_system/sword_world/rating_parser.y Outdated Show resolved Hide resolved
lib/bcdice/game_system/sword_world/rating_parser.y Outdated Show resolved Hide resolved
@ysakasin
Copy link
Member

修正値が順不同にかけて、合算されると言う仕様は今後の拡張に問題がありそうなので、従来の仕様に戻すようお願いします。
https://discord.com/channels/597133335243784192/597135607604445204/804705240146247712

@ysakasin
Copy link
Member

大枠はOKそうです。細々とした修正したいところが多々あるのであとはこちらで直します。 #372 とコンフリクトするだろうとのことなので、そちらをマージしてから手をつけます。

@ysakasin
Copy link
Member

@h-mikisato 気になった点をこちらで修正しました。そちらでも動作に影響していないか見ていただけると助かります。

@h-mikisato
Copy link
Contributor Author

承知しました。26日中には対応します。

@h-mikisato
Copy link
Contributor Author

コードの確認およびある程度のダイスをreplで振ってみました。挙動に関して問題なさそうです。ありがとうございます。

@ysakasin ysakasin merged commit a2cd6f6 into bcdice:master Feb 26, 2021
@ysakasin
Copy link
Member

@h-mikisato ありがとうございます。マージしました。

@h-mikisato h-mikisato deleted the feature/sw_rating_racc branch November 27, 2022 16:23
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