function script ROD_CAST {
if(FishLvl <= 10) {
.@Encounter1 = rand(1,10);
dispbottom "Casting Fishing Pole";
cutin "2013_summer_fish_1", 4;
sleep2 2000;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
dispbottom "All the jerking is starting to fatigue you.";
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
if (.@Encounter1 >= 5) {
mes "You have encountered a fish. Fight or Let go?";
next;
switch(select("Fight:Let go")) {
case 1:
dispbottom "You start jerking left, right, and right back to left!";
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
.@EncSum = rand(1,50)+FishLvl;
if( rand(100) < .@EncSum) {
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_5", 4;
dispbottom "Congratulations! You caught something!";
sleep2 1500;
RodExp += rand(1,50);
dispbottom "Total Rod Experience: "+RodExp+".";
getitem 501, 1;
cutin 0, 255;
close;
} else
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_2", 4;
sleep2 500;
cutin "2013_summer_fish_3", 4;
sleep2 1000;
cutin "2013_summer_fish_4", 4;
sleep2 500;
cutin "2013_summer_fish_6", 4;
dispbottom "You lost the fish..";
RodExp += rand(1,20);
dispbottom "Total Rod Experience: "+RodExp+".";
close2;
cutin 0, 255;
end;
case 2:
mes "oh";
cutin "", 255;
close;
}
} else
RodExp += rand(1,3);
dispbottom "Total Rod Experience: "+RodExp+".";
close2;
cutin 0, 255;
end;
} else
end;
}
function script FishingInfo {
mes .fsname$;
mes "Fishing Level - "+FishLvl+"";
mes "Fishing Exp - "+FishExp+"";
mes "Rod Level - "+RodLvl+"";
mes "Rod Exp - "+RodExp+"";
mes "Fishing Pole Durability - ^FF0000"+RodDur+"^000000/100";
close2;
//callsub ("FishingSystem::FISH_SYS_MENU");
end;
}
function script FishingSystem {
FISH_SYS_MENU:
switch(select("Commence Casting:View Fishing Card Info:Practice Casting (Increase Rod Exp):"""+ ((RodDur >= 100)?"Upgrade Rod":"Repair Rod")+":Cancel")) {
case 1:
callsub OnCast;
end;
case 2:
callfunc ("FishingInfo");
end;
case 3:
callfunc ("ROD_CAST");
end;
case 4:
if(RodDur == 100) {
mes "Please repair your Rod before you can Upgrade.";
close;
} else
if(RodExp <= 1000) {
mes "You need 1000 to Upgrade.";
close;
} else
close2;
end;
case 5:
close2;
end;
}
OnCast:
RodDur += rand(1,50);
if(RodDur >= 100) {
dispbottom "Oh no! Your Fishing Pole just broke. Please get it repaired!";
close2;
end;
}
FishExp += rand(1,3);
if(FishLvl <= 10) {
if( rand(100) < .F_Lvl1WinRate ) {
if(FishExp >= 1000 && FishLvl == 0) {
FishLvl++;
}
dispbottom "Total Fish Experience: "+FishExp+".";
getitem 501, 1;
//close2;
callfunc ("FishingInfo");
end;
}
else
if(FishExp >= 1000 && FishLvl == 0) {
FishLvl++;
}
dispbottom "Total Fish Experience: "+FishExp+".";
close2;
end;
}
}
prontera,150,153,4 script Fishing Spot#1 89,{
if (.F_Enabled == 1) {
mes "What would you like to do?";
next;
switch(select("Sit here.","Find a different Spot.")) {
case 1:
if(!issit()) {
dispbottom "You must be sitting to use the Fishing System.";
close2;
end;
} else
if(RodDur >= 100) {
dispbottom "Your Fishing Pole's Durability is at 100%, please repair it.";
close2;
callfunc ("FishingSystem");
end;
} else
callfunc ("FishingSystem");
end;
case 2:
mes "kk";
close;
}
} else
end;
OnInit:
.fsname$ = "^FF0000[Fishing System]^000000";
.FServName$ = "^00ff00eSperiaRO^000000";
.F_Enabled = 1;
.F_Lvl1WinRate = 99;
.F_Lvl2WinRate = rand(1,100);
.F_Lvl1Chance = 20;
.F_Lvl2Chance = 100;
setarray .F_Lvl1Rew[0],2410,2629,1530,1161,5013,2630,4121,4128,4129,4131,4132,4134,4135,4137,4142,4143,4144,4145,4146,4147,4148,4168,4263,4276,4302,4305,4318,4324,4330,4342,4352,4357,4359,4361,4363,4365,4367,4372,4374,4376,4386,4399,4403,4407,4408,4419,4425,4430,4441;
setarray .F_Lvl2Rew[0],2410,2629,1530,1161,5013,2630,4121,4128,4129,4131,4132,4134,4135,4137,4142,4143,4144,4145,4146,4147,4148,4168,4263,4276,4302,4305,4318,4324,4330,4342,4352,4357,4359,4361,4363,4365,4367,4372,4374,4376,4386,4399,4403,4407,4408,4419,4425,4430,4441;
}