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

[SwordWorld2.0][SwordWorld2.5]レーティング表を1d6+nで参照する機能の追加 #515

Merged
merged 10 commits into from
Dec 1, 2021

Conversation

Sarla-TRPG
Copy link
Contributor

概要

『ソードワールド2.0』『ソードワールド2.5』にレーティング表を1d6+nで参照する機能を追加するものです。

背景

この機能を追加するきっかけとなったのは、両システムに存在する《薬師道具セット》というアイテムでした。
このアイテムの効果は「レーティング表を1d6+nで参照する」ものであり、
従来この挙動を実現するには、

  1. 1d6+nを実行する
  2. レーティング表の出目を1.の値に固定して参照する
    という運用が必要となっていました。

今回、これをレーティング表内で完結させることで、この手順の省略を図りました。

実装に際して発生した懸念点とそれに対する解答

懸念点1:クリティカル時にレーティング表を「1d+n」と「2d」のどちらで参照するかが不明なケースがある
懸念点2:両方の挙動を実装する場合、「公式で存在しないケース」のピンポイントな実装は憚られる
懸念点3:どちらか一方のみの実装は、懸念点1に対する解答をBCDiceとして示してしまうことになるため受け入れ難い
 解答:ソードワールド2.0公式サプリメント『フォルトナコード』35頁に【天の星々は未来の絶望を識る】という名の
 スキルがあり、その効果には次の要素が含まれています。
 ・効果時間中、対象の2dの出目を「1d+n」に変更する=クリティカル時にレーティング表を「1d+n」で参照する
 ・効果時間中、対象の2dの出目をはじめの1回だけ「1d+n」に変更する=クリティカル時にレーティング表を「2d」で参照する
 上記の通り、クリティカル時にレーティング表を「1d+n」で参照するケース、「2d」で参照するケースの
 いずれも『公式で存在するケース』であり、『両方の挙動を実装する』ことで全ての懸念点が解消するものと思います。

###仕様
・sf(semi-fixed)
 威力表を1d6+nで参照する 1d6+4で参照するときは k20sf4のように記述する
 クリティカル後も1d6+nで参照する
・tf(temporal-fixed)
 威力表を1d6+nで参照する 1d6+3で参照するときは k20tf3のように記述する
 クリティカル後は2dで参照する

・gf, sf, tfはそれぞれ同時に指定できない
・sf,tfは1~6の数値を指定する(7以上の数値は6になる)
・C値の下限はsf+2 (クリティカル後もレーティング表を1d6+nで参照する都合上、無限にクリティカルすることを防ぐため)

@codecov
Copy link

codecov bot commented Nov 23, 2021

Codecov Report

Merging #515 (46deb61) into master (667477c) will increase coverage by 0.01%.
The diff coverage is 98.07%.

❗ Current head 46deb61 differs from pull request most recent head ca56617. Consider uploading reports for the commit ca56617 to get more accurate results
Impacted file tree graph

@@            Coverage Diff             @@
##           master     #515      +/-   ##
==========================================
+ Coverage   95.50%   95.52%   +0.01%     
==========================================
  Files         318      318              
  Lines       18635    18693      +58     
==========================================
+ Hits        17798    17857      +59     
+ Misses        837      836       -1     
Impacted Files Coverage Δ
lib/bcdice/common_command/choice.rb 100.00% <ø> (ø)
lib/bcdice/game_system/SwordWorld2_5.rb 97.61% <ø> (ø)
lib/bcdice/dice_table/d66_table.rb 95.45% <66.66%> (+4.15%) ⬆️
lib/bcdice/game_system/DoubleCross.rb 100.00% <100.00%> (ø)
lib/bcdice/game_system/SwordWorld.rb 97.38% <100.00%> (+0.03%) ⬆️
lib/bcdice/game_system/SwordWorld2_0.rb 98.33% <100.00%> (+0.22%) ⬆️
.../game_system/one_way_heroics/random_event_table.rb 87.30% <100.00%> (ø)
...ib/bcdice/game_system/sword_world/rating_parsed.rb 100.00% <100.00%> (ø)
...ib/bcdice/game_system/sword_world/rating_parser.rb 93.84% <0.00%> (+0.82%) ⬆️

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 667477c...ca56617. Read the comment docs.

@ysakasin ysakasin self-requested a review November 23, 2021 09:11
@ysakasin ysakasin merged commit 44c26e9 into bcdice:master Dec 1, 2021
@ysakasin
Copy link
Member

ysakasin commented Dec 1, 2021

@Sarla-TRPG ありがとうございます!

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