public int FishingLevel()
{
int num1 = 0;
int num2 = this.inventory[this.selectedItem].fishingPole;
if (num2 == 0)
{
for (int index = 0; index < 58; ++index)
{
if (this.inventory[index].fishingPole > num2)
num2 = this.inventory[index].fishingPole;
}
}
for (int index = 0; index < 58; ++index)
{
if (this.inventory[index].stack > 0 && this.inventory[index].bait > 0)
{
if (this.inventory[index].itemId == 2673)
return -1;
num1 = this.inventory[index].bait;
break;
}
}
if (num1 == 0 || num2 == 0)
return 0;
int num3 = num1 + num2 + this.fishingSkill;
if (Main.raining)
num3 = (int)((double)num3 * 1.20000004768372);
if ((double)Main.cloudBGAlpha > 0.0)
num3 = (int)((double)num3 * 1.10000002384186);
if (Main.dayTime && (Main.time < 5400.0 || Main.time > 48600.0))
num3 = (int)((double)num3 * 1.29999995231628);
if (Main.dayTime && Main.time > 16200.0 && Main.time < 37800.0)
num3 = (int)((double)num3 * 0.800000011920929);
if (!Main.dayTime && Main.time > 6480.0 && Main.time < 25920.0)
num3 = (int)((double)num3 * 0.800000011920929);
if (Main.moonPhase == 0)
num3 = (int)((double)num3 * 1.10000002384186);
if (Main.moonPhase == 1 || Main.moonPhase == 7)
num3 = (int)((double)num3 * 1.04999995231628);
if (Main.moonPhase == 3 || Main.moonPhase == 5)
num3 = (int)((double)num3 * 0.949999988079071);
if (Main.moonPhase == 4)
num3 = (int)((double)num3 * 0.899999976158142);
return num3;
}