9,864
edits
Sakumashiki (talk | contribs) (EN版の情報を反映。釣果表はElin:釣りに引っ越し。) |
Sakumashiki (talk | contribs) m (EN版の更新を反映) |
||
| Line 1: | Line 1: | ||
'''[[Elin:釣り|釣り]]'''に関する計算式などのページです。 | |||
==魚 LV== | |||
自分の釣りレベルから釣れる魚LVを算出する公式: | 自分の釣りレベルから釣れる魚LVを算出する公式: | ||
| Line 10: | Line 10: | ||
*'''rnd''': '''0'''から関数に渡された値までの間のランダムな数値。 | *'''rnd''': '''0'''から関数に渡された値までの間のランダムな数値。 | ||
====例==== | ====調整済み魚LV==== | ||
調整済み魚LVはアイテム作成時に計算されます。これは「rnd」関数に複数回呼び出しを行い、最後に「+2」というハードコードされた値を追加します。最終的な調整レベルは次のようになります。 | |||
<pre>adjustedLV = fishLV + 2 + rnd(rnd(rnd(rnd(Mathf.Min(fishLV * 2, 20)) + 1) + 1) + 1)</pre> | |||
*調整プロセスには以下の処理が含まれます。 | |||
**基本となる '''fishLV''' を '''rnd(fishingLevel * 2) + 1''' と決定します。 | |||
**「rnd」関数に複数回呼び出しを適用します。 | |||
***「rnd」は「0」から「(最大値 - 1)」までの間のランダムな数値を生成します。 | |||
***各呼び出しは、直前の「rnd」の結果に依存し、徐々に可能な範囲を狭めていきます。 | |||
**ハードコードされた「+2」を追加し、調整されたLVが常にオフセットを持つようにします。 | |||
==== 例==== | |||
釣りレベルが「10」の場合: | |||
*「基本レベル」: | |||
**「fishLV = rnd(10 * 2) + 1 = rnd(20) + 1」。 | |||
**結果例:「10」。 | |||
*'''調整''': | |||
**1つ目 '''rnd(20)''' → 結果 = '''7'''. | |||
**2つ目 '''rnd(7 + 1)''' → 結果 = '''3'''. | |||
**3つ目 '''rnd(3 + 1)''' → 結果 = '''2'''. | |||
**4つ目 '''rnd(2 + 1)''' → 結果 = '''0'''. | |||
*'''最終的な調整後LV''': | |||
**'''adjustedLV = 10 + 2 + 0 = 12'''. | |||
====魚LV範囲表==== | ====魚LV範囲表 ==== | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
!釣りレベル!!最低LV!!最大LV | !釣りレベル!!最低LV!!最大LV | ||
|- | |- | ||
|1|| | |1||3||5 | ||
|- | |- | ||
|2|| | |2||3||7 | ||
|- | |- | ||
|3|| | |3||3||9 | ||
|- | |- | ||
|4|| | |4||3||11 | ||
|- | |- | ||
|5|| | |5||3||13 | ||
|- | |- | ||
|6|| | |6||3||15 | ||
|- | |- | ||
|7|| | |7||3||17 | ||
|- | |- | ||
|8|| | |8||3||19 | ||
|- | |- | ||
|9|| | |9||3||21 | ||
|- | |- | ||
|10|| | |10||3||23 | ||
|- | |- | ||
|11|| | |11||3||25 | ||
|- | |- | ||
|12|| | |12||3||27 | ||
|- | |- | ||
|13|| | |13||3||29 | ||
|- | |- | ||
|14|| | |14||3||31 | ||
|- | |- | ||
|15|| | |15||3||33 | ||
|- | |- | ||
|16|| | |16||3||35 | ||
|- | |- | ||
|17|| | |17||3||37 | ||
|- | |- | ||
|18|| | |18||3||39 | ||
|- | |- | ||
|19|| | |19||3||40 | ||
|} | |} | ||
====コード (EA 23. | ====コード (EA 23.41)==== | ||
<syntaxhighlight lang="c#" line="1"> | <syntaxhighlight lang="c#" line="1"> | ||
int num3 = EClass.rnd(num * 2) + 1; | int num3 = EClass.rnd(num * 2) + 1; | ||
thing = ThingGen.Create("fish", -1, num3); | thing = ThingGen.Create("fish", -1, num3); | ||
lv = lv + 2 + EClass.rnd(EClass.rnd(EClass.rnd(EClass.rnd(Mathf.Min(lv * 2, 20)) + 1) + 1) + 1); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== 魚の数 == | |||
自分の釣りレベルから釣れる匹数を計算する式は次の通りです。 | 自分の釣りレベルから釣れる匹数を計算する式は次の通りです。 | ||
| Line 130: | Line 154: | ||
例えば: | 例えば: | ||
*chanceForOneMoreFish = 50'''、かつ <code>rnd(100)</code> によって生成された乱数が '''50 以下''' の場合、魚が1匹追加で釣れます。''' | *chanceForOneMoreFish = 50'''、かつ <code>rnd(100)</code> によって生成された乱数が '''50 以下''' の場合、魚が1匹追加で釣れます。''' | ||
====土地フィートの例==== | ====土地フィートの例==== | ||
| Line 177: | Line 201: | ||
ランダムチェックは、追加の魚の確率が同じであることを除いて、上記と同じ動作をします。 | ランダムチェックは、追加の魚の確率が同じであることを除いて、上記と同じ動作をします。 | ||
====魚の数表 ==== | ====魚の数表==== | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
!魚LV !!魚を2匹釣るための最低釣りレベル!!魚を3匹釣るための最低釣りレベル | !魚LV!!魚を2匹釣るための最低釣りレベル!!魚を3匹釣るための最低釣りレベル | ||
|- | |- | ||
|1||22||33 | |1||22||33 | ||
| Line 192: | Line 216: | ||
|20||60||90 | |20||60||90 | ||
|- | |- | ||
|25||70||105 | | 25||70||105 | ||
|- | |- | ||
|30||80||120 | |30 ||80||120 | ||
|- | |- | ||
|35||90||135 | |35|| 90||135 | ||
|- | |- | ||
|40||100||150 | |40||100||150 | ||
| Line 268: | Line 292: | ||
!釣りレベル!!最小成功閾値!!最大成功閾値 | !釣りレベル!!最小成功閾値!!最大成功閾値 | ||
|- | |- | ||
|1||10||10 | |1|| 10||10 | ||
|- | |- | ||
|5||10||10 | |5||10||10 | ||
| Line 280: | Line 304: | ||
|25||8||10 | |25||8||10 | ||
|- | |- | ||
|30||7||10 | |30|| 7||10 | ||
|- | |- | ||
|35||7||10 | |35||7|| 10 | ||
|- | |- | ||
|40||6||10 | |40||6||10 | ||
| Line 295: | Line 319: | ||
|} | |} | ||
==== リセット ==== | ====リセット==== | ||
「ヒット」のリセットを決定する計算式は以下の通りです。 | 「ヒット」のリセットを決定する計算式は以下の通りです。 | ||
| Line 318: | Line 342: | ||
2番目の乱数ロール、<code>rnd(8)</code>が実行されます。結果が「0」の場合、「ヒット」カウンターがリセットされます。 | 2番目の乱数ロール、<code>rnd(8)</code>が実行されます。結果が「0」の場合、「ヒット」カウンターがリセットされます。 | ||
==== リセット閾値テーブル ==== | ====リセット閾値テーブル==== | ||
{| class="wikitable sortable」" | {| class="wikitable sortable」" | ||
|- | |- | ||