-
Notifications
You must be signed in to change notification settings - Fork 189
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
ニンジャスレイヤーTRPG2版を追加 #658
ニンジャスレイヤーTRPG2版を追加 #658
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #658 +/- ##
========================================
Coverage 95.64% 95.65%
========================================
Files 343 344 +1
Lines 19786 19939 +153
Branches 5174 5226 +52
========================================
+ Hits 18925 19072 +147
- Misses 861 867 +6 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
寄稿ありがとうございます。
ゲーム名
noteを見る限り 2.0版
でなく 2版
と書かれているように見えるので、 ニンジャスレイヤーTRPG 2版
としたいです。合わせてIDやクラス名も2.0から2に変更してください。正式名称がどこかWeb上で示されているようでしたら、ソースを教えてください。
対応するコマンド
様々な点に配慮して、BCDiceでは基本的にセッション中に使うコマンドを用意しキャラクター作成のコマンドは基本的には実装しないことにしています。そのため、一部コマンドを除外してください。
受け入れできないコマンド
NAM or NAM@{x1},{x2}
{x1}{x2}(共に11~66/省略時はd66)に対応するニンジャ名([Nam]e)を返します。
STA
d6を4回振って、カラテ/ニューロン/ワザマエ/ジツの値([Sta]tus)を返します。
JIT or JIT@{x}
{x}(1-6/省略時はd6)に対応する初期ジツ系統([Jit]su)を返します。
SKI or SKI@{x}
{x}(1-6/省略時はd6)に対応する初期スキル([Ski]ll)を返します。
KNO or KNO@{x}
{x}(1-6/省略時はd6)に対応する初期知識スキル([Kno]wledge)を返します。
ITE or ITE@{x}
{x}(1-6/省略時はd6)に対応する初期アイテム([Ite]m)を返します。
CYB or CYB@{x}
{x}(1-6/省略時はd6)に対応する初期サイバネ([Cyb]ernetics)を返します。
BAC or BAC@{x}
{x}(11~66/省略時はd66)に対応する生い立ち([Bac]kground)を返します。
NB
新規ニンジャ([N]ew[b]ie)、上記のNAM~CYBをまとめて振ってまとめて返します。
1版との互換性
保たなくて良いので、継承せず実装してください。
書籍版との関連明記
ヘルプメッセージに書籍版に対応していることを明記してほしいです。
def s_to_i(string, default) | ||
return string.nil? ? default : string.to_i | ||
end | ||
private :s_to_i |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
private
は以下のように書くと、 private
以降に書かれたメソッドが全てprivateになるので、このように書き直してください。
* privateに関する表記を修正 * NinjaSlayerから継承していた処理をNinjaSlayer2内で実装
noteの表記が正式なものですので、2_0や2.0等となっていた箇所は全て2に修正しました。
指定のあったコマンド群は全て削除しました。
全てNinjaSlayer2.rb内にて実装しました。
ヘルプメッセージに記載しました。
指定された形式に書き直しました。 |
了解しました。大丈夫になったら再度連絡をください。 |
* 一部ヘルプテキストを修正
確認が取れました。 こちらからの自発的な修正はこれで完了です。 |
寄稿ありがとうございます。マージしました。 |
システム概要
ニンジャスレイヤーTRPG2版
https://diehardtales.com/n/n20b0ff1f0f25?magazine_key=mfea3f29976b8&from=membership-magazine
コマンド概要
下記のダイスボットの機能のうち、BCDiceの標準コマンドで代替できないものと、乱数表を参照してのテキスト出力系のみを実装しています。(一部に挙動の差異や、意図的にオミットしたコマンドもあります)
https://note.com/kooreme/n/ncec59ad4ca8d
以下、今回実装したコマンドです。
先頭の文字を変えることで、難易度E([E]asy),N([N]ormal),H([H]ard),U([U]ltra-hard)でも実行可能です。(以下も同様)
判定式は「>=」の他に「>」「<=」「<」「=」「!=」が利用可能です。
[=5][=6]のように複数記述することで、それぞれで追加判定が可能です。
K{x1},{x2},...,{xn}[C] or K{x1},{x2},...,{xn}[C{y}]
出力時のテキストが、Sの場合は「サツバツ!」に、Cの場合は「クリティカル!」になります。
こちらも複数記述することで、それぞれで追加判定が可能です。
「_E」部分を変更することで、難易度N,H,Uでも利用可能です。(Kはありません)
他、既存のニンジャスレイヤーTRPG用ダイスボット(NinjaSleyer.rb)で利用可能だった以下のコマンドも利用可能です。
互換性確保のため、NinjaSlayer.tomlの全テストをNinjaSlayer2_0.tomlに移植した上で100% passed確認済みです。
ATx[y] or ATx@y or ATx
ELx[y] or ELx@y or ELx
備考
Discordサーバーの方で事前に相談済みですが、既存のニンジャスレイヤーTRPG用ダイスボット(NinjaSleyer.rb)とはダイスで参照する乱数表のテキスト内容に互換性が無いため、新規作成しています。