Zangband

ガンダルフの協力で地下127階でパワーワイアームの養殖を1時間くらいやって☆100個近く出てくるも刀返しは出ず(ちなみに変愚だと分解のブレス吐かれるので永久岩でもないとこの方法は使えない)。カオス魔法は*鑑定*がないから☆は全部置いて帰る。もったいない。結局トゥオルの影のクローク、ガンダルフのクォータースタッフ、刀返しの3つがまだ手に入ってない。まあもういいや。ホントに出るんかと疑ってコード見てみる。★は最初から生成される分と通常アイテムとして生成されてから★になる二種類がある。最初から生成される場合の仕組みは:


アーティファクト番号小さい方からループ
生成済みなら次の★番号へ
A ★のレベル>現在の階なら確率 1/2(★のレベルー現在の階)でBへ
それ以外は次の★番号へ
B ベースアイテムのレベル>現在の階なら
確率 1/2(ベースアイテムのレベルー現在の階)でCへ
それ以外は次の★番号へ
C 1〜(★のレアリティ) の乱数を振る。1ならそれを生成、
それ以外はここで判定を打ち切って終了
ループの終わり
となっている。このルーチンは上質のアイテムなら1/10の確率で呼ばれる。C の判定を打ち切って終了の所、今まであまり気が付かなかったけど、これでなんとなく分かった。刀返しのレアリティは3だけど、ガンダルフの杖のレアリティが105なので、ここで詰まっていた訳だ。あ、刀返しの方が番号若いか。じゃあ最近拾った一つの指輪、レベル100、レアリティ100がネックか。ということは、番号の若いレベル90、レアリティ100の★と、番号があとでレベル80、レアリティ5の★があった場合、地下90階でねばっていたらいつまでたってもレベル80の★は出ないことになる。逆に地下80階でやってれば上質なアイテムを50個も出せば出ることになる。
これで失敗しても通常アイテムを★にする部分があり、この場合

アーティファクト番号小さい方からループ
ベースアイテムが異なる場合次の★番号へ
生成済みなら次の★番号へ
A ★のレベル>現在の階なら確率 1/2(★のレベルー現在の階)でBへ
それ以外は次の★番号へ
B 1〜 ★のレアリティ の乱数を振る。1ならそれを生成、
それ以外は次の★番号へ
ループの終わり
となってて微妙に違う。うーん仕様なのかバグなのか、、、
追記:変愚では終了せずに次の番号へいくのでこういうことは起こらない。Z,Pでは起こる。Z最新版は生成の仕組みが変えてあるので起こらない。
追記2:Vでも終了せずに次の番号へいってた。日本語Zも直す。
追記3:大間違いしてた。前者の生成方法は力の指輪など専用、後者がそれ以外だった。刀返しは、まずPDSMが生成されないことには出てこない。PDSMが生成される確率がめちゃ低いから出ないというだけの話だった。