チケット #37359

ランダムアーティファクトの生成強化

登録: 2017-07-15 17:17 最終更新: 2020-12-28 12:44

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
(未割り当て)
優先度:
7
重要度:
5 - 中
解決法:
受領
ファイル:
なし

詳細

#37324 よりいただいた匿名コメントを分離。

★追加などよりは慎重なバランスの検討が必要かと思われますが、☆近接武器に各種*スレイ*も出るようになど小幅なテコ入れはできないでしょうか? 元々有用な物が出る確率が低い近接武器のランダムアーティファクトですが、 ここ数年のエゴ強化と武器修復実装に取り残されてさらに役立つことが少なく、また個性の薄い物になっている印象を受けます。 常用する武器に/邪はほぼ必須と言えますが現状☆に付く可能性は8%程度しかなく、 特化兵器にするにしても*スレイ*が竜以外は付かないので、それらが手軽に得られるようになった今の○○スレイヤーエゴにすら見劣りしています。 雑な素案ですがartifact.c のrandom_slay() にて、/人竜オト巨デ死動が付く場合に

case 9:
case 10:
 add_flag(o_ptr->art_flags, TR_SLAY_ORC);
  if (one_in_(4)) add_flag(o_ptr->art_flags, TR_KILL_ORC);
のように低確率で*スレイ*付加 (後にバイアスによる追加時にパワーの無駄うちにならないように、else は使わず下位のスレイと同時付与) X龍に振り分けられていたcase17 は/邪に与えて付与率を現状の1.5倍に 例えばこんな感じなら行き過ぎない若干の強化と、各種*スレイ*持ちの特化兵器も出るようにバリエーション増加が図れるのではないかと。

正直、噛み合わない組み合わせになる確率、まともに有効な特性がつかない確率が多すぎるところであったと自身も実感しているので、引用案も含めてもう少し考えてみる。

チケットの履歴 (12 件中 3 件表示)

2017-07-15 17:17 更新者: deskull
  • 新しいチケット "ランダムアーティファクトの生成強化" が作成されました
2017-07-17 22:18 更新者: deskull
  • 優先度5 - 中 から 7 に更新されました
2017-08-21 23:51 更新者: deskull
コメント

pekiman氏がこの件について、アイデアを含めて実際のソース改変まで行ってくれたので適用。 各種スレイが(対邪悪まで含めて)提案の通り1/4の確率で*スレイ*に化けるようになった代わりに、対邪、理力、吸血、追加攻撃の複合によって極端に高いダメージが確認される場合にはダイス目とダメージ修正に抑止がかかるように調整した。この状態で当分様子を見る。

2017-08-22 09:46 更新者: None
コメント

僭越ながらいくつか懸念点を挙げさせていただきます

L2050 : !one_in_(12) の12はWEIRD_LUCK に統一しては?

L3921-3959 :

  • この計算順では理邪,理X邪のダメージ倍率が間違っている
  • /邪が無く理力のみがある場合に対応していない
  • int に小数の掛け算は気持ち悪い
  • 理力はMPコストやMP無し職あるので真面目に計算せず若干緩和させる選択肢もあるのでは?
    /* 改善案 */
    if (have_flag(flgs, TR_KILL_EVIL))
    {
    	dam = dam * 35 / 10;
    	if (cheat_xtra) msg_format("X邪計算後%d ", dam);
    }
    else if (!have_flag(flgs, TR_KILL_EVIL) &&  have_flag(flgs, TR_SLAY_EVIL))
    {
    	dam = dam * 2;
    	if (cheat_xtra) msg_format("/邪計算後%d ", dam);
    }
    
    if (have_flag(flgs,TR_FORCE_WEAPON))
    {				
    	dam = dam * 3 / 2 + (o_ptr->dd * o_ptr->ds + o_ptr->dd); // 厳密計算の場合
    	// dam = dam * 3 / 2 ; // 最後の2倍分はMPコストの対価として見逃す場合
    }
    
    if (have_flag(flgs, TR_VORPAL))
    {
    	dam = dam * 11 / 9;
    	if (cheat_xtra) msg_format("/切計算後%d ", dam);
    }
    

L4013 : これでは不等号が逆で、ダイスがマイナスにブーストされた時だけ有効になっており 実際にはダイスのマイナスブーストは存在しないので機能していない。

不等号を直しても、この処理ではブーストされた方に限定せず絶対値で ddを減らすかdsを減らすか選択しているので、 例えば2d11の六尺棒(ベース1d11)が最終的に2d7になったり不自然な結果を生む。

また、ループで回すのにダイス弱化と修正弱化が同時に行われて必要以上の弱化が起こりやすくなっている

/* 改善案 */
int bst_dd = o_ptr->dd - k_info[k_idx].dd;
int bst_ds = o_ptr->ds - k_info[k_idx].ds;


if (bst_dd > 0 || bst_ds > 0) 
{
	 if (bsd_dd > bst_ds)
	 {
		 o_ptr->dd--;
	 }
	 else
	 {
		 o_ptr->ds--;
	 }
	 return 1;
}

else if (o_ptr->to_d > 10)
{

2017-08-22 21:50 更新者: deskull
コメント

ありがとうございます。概ねご指摘の通りに直していくことになると思います。

2017-08-22 22:19 更新者: deskull
コメント

多忙につき、寄稿を未精査のままでとりあえずコミットした点、自分のミスです。ひとまずあからさまに問題な部分は即直し、下方修正処理についてはデバッグ機能で多数生成の上の統計を取ってから引き続き調整したいと思います。

2017-09-02 00:04 更新者: deskull
コメント

強化、とはちょっと違うかもしれないがランダムアーティファクト生成中に、ドラゴンとユニークESPが候補にあがらない不具合を修正したのでここで報告。

2017-09-02 00:19 更新者: deskull
コメント

抑制処置で新規追加した部分にまた目も当てられない見逃しがあったので修正。

2018-12-26 23:38 更新者: deskull
  • 詳細が更新されました
コメント

一定期待値を超えた場合にダイスを弱体化するのが大分不評であり、フレーバー的にもエンターテイメント性でもよろしくないので再調整の予定。少なくとも減らすのはダイスでなく殺戮修正やX邪などの強力なスレイのみで。

2019-01-03 11:57 更新者: deskull
コメント

2.2.2までに再修正してチケット完了にする。

2019-01-07 23:24 更新者: deskull
  • 状況オープン から 完了 に更新されました
コメント

一応修正完了。ひどいことにダイス抑制よりは意図せずベースアイテムより劣化する不具合を長いこと放置していた。大変申し訳ない。

2020-12-28 12:44 更新者: deskull

添付ファイルリスト

添付ファイルはありません

編集

このチケットにコメントを追加するには、ログインが必要です » ログインする