Elin:Fishing: Difference between revisions
mNo edit summary |
(Add initial number of fish calculation.) |
||
Line 81: | Line 81: | ||
== Calculations == | == Calculations == | ||
=== Fish === | === Fish LV === | ||
The formula to calculate the | The formula to calculate the fish LV that can be caught based on your fishing level: | ||
<pre>rnd(fishingLevel * 2) + 1</pre> | <pre>Fish LV = rnd(fishingLevel * 2) + 1</pre> | ||
* '''fishingLevel''': Your current fishing skill level. | * '''fishingLevel''': Your current fishing skill level. | ||
Line 151: | Line 151: | ||
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); | ||
</syntaxhighlight> | |||
=== Number of Fish === | |||
The formula to calculate the number of fish you can catch based on your fishing level: | |||
<pre>Number of Fish = rnd(fishingLevel / (Fish LV + 10)) + 1</pre> | |||
* '''fishingLevel''': Your current fishing skill level. | |||
* '''Fish LV''': The LV range of the fish calculated earlier using <code>rnd(fishingLevel * 2) + 1</code>. | |||
* '''rnd''': A random number between '''0''' and the value passed into the function. | |||
==== Example ==== | |||
If your fishing level is '''3''', and the Fish LV is determined to be '''5''', the potential number of fish is calculated as: | |||
<pre>rnd(3 / (5 + 10)) + 1</pre> | |||
This simplifies to: | |||
<pre>rnd(3 / 15) + 1</pre> | |||
The <code>rnd(3 / 15)</code> generates a random number between '''0''' and approximately '''0.2'''. Adding 1 ensures that you will catch at least 1 fish. | |||
==== Code (EA 23.37) ==== | |||
<syntaxhighlight lang="c#" line="1"> | |||
num2 = EClass.rnd(num / (num3 + 10)) + 1; | |||
int num4 = 5; | |||
if (EClass.Branch != null) | |||
{ | |||
num4 += EClass.Branch.Evalue(3604) * 20 + EClass.Branch.Evalue(3706) * 25; | |||
} | |||
if (num4 >= EClass.rnd(100)) | |||
{ | |||
num2++; | |||
} | |||
if (thing != null) | |||
{ | |||
thing.SetNum(num2); | |||
thing.SetBlessedState(BlessedState.Normal); | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 20:55, 23 November 2024
Overview
Fishing Table
Fish
Junk
Calculations
Fish LV
The formula to calculate the fish LV that can be caught based on your fishing level:
Fish LV = rnd(fishingLevel * 2) + 1
- fishingLevel: Your current fishing skill level.
- rnd: A random number between 0 and the value passed into the function.
Example
If your fishing level is 3, the potential fish LV is calculated as:
rnd(3 * 2) + 1
This gives a range of 1 to 6, meaning you can catch fish with LV between 1 and 6.
Fishing Level Range Table
Fishing Level | Minimum LV | Maximum LV |
---|---|---|
1 | 1 | 2 |
2 | 1 | 4 |
3 | 1 | 6 |
4 | 1 | 8 |
5 | 1 | 10 |
6 | 1 | 12 |
7 | 1 | 14 |
8 | 1 | 16 |
9 | 1 | 18 |
10 | 1 | 20 |
11 | 1 | 22 |
12 | 1 | 24 |
13 | 1 | 26 |
14 | 1 | 28 |
15 | 1 | 30 |
16 | 1 | 32 |
17 | 1 | 34 |
18 | 1 | 36 |
19 | 1 | 38 |
20 | 1 | 40 |
Code (EA 23.37)
int num3 = EClass.rnd(num * 2) + 1;
thing = ThingGen.Create("fish", -1, num3);
Number of Fish
The formula to calculate the number of fish you can catch based on your fishing level:
Number of Fish = rnd(fishingLevel / (Fish LV + 10)) + 1
- fishingLevel: Your current fishing skill level.
- Fish LV: The LV range of the fish calculated earlier using
rnd(fishingLevel * 2) + 1
. - rnd: A random number between 0 and the value passed into the function.
Example
If your fishing level is 3, and the Fish LV is determined to be 5, the potential number of fish is calculated as:
rnd(3 / (5 + 10)) + 1
This simplifies to:
rnd(3 / 15) + 1
The rnd(3 / 15)
generates a random number between 0 and approximately 0.2. Adding 1 ensures that you will catch at least 1 fish.
Code (EA 23.37)
num2 = EClass.rnd(num / (num3 + 10)) + 1;
int num4 = 5;
if (EClass.Branch != null)
{
num4 += EClass.Branch.Evalue(3604) * 20 + EClass.Branch.Evalue(3706) * 25;
}
if (num4 >= EClass.rnd(100))
{
num2++;
}
if (thing != null)
{
thing.SetNum(num2);
thing.SetBlessedState(BlessedState.Normal);
}