summaryrefslogtreecommitdiff
path: root/npc/000-2-1/peter.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/000-2-1/peter.txt')
-rw-r--r--npc/000-2-1/peter.txt339
1 files changed, 0 insertions, 339 deletions
diff --git a/npc/000-2-1/peter.txt b/npc/000-2-1/peter.txt
deleted file mode 100644
index 75f8e630a..000000000
--- a/npc/000-2-1/peter.txt
+++ /dev/null
@@ -1,339 +0,0 @@
-// Evol scripts.
-// Authors:
-// 4144
-// Ablu
-// Alastrim
-// Qwerty Dragon
-// Reid
-// Vasily_Makarov
-// Description:
-// Rat hunter.
-// 4+2 bits array:
-// ShipQuests
-// Variable:
-// ShipQuests_Peter
-// Values:
-// 0 Doesn't know the quest.
-// 1 Task given.
-// 2 Task given and reward expected.
-// 3 Task completed without reward.
-// 4 Asked for reward after completion of the task.
-// 5 Task done and reward given.
-// 6 Did not start the quest.
-// Others:
-// .@peter = Peter variable.
-// "000-2-2" - map with mobs.
-// "$@RAT_SAILOR_HELPER$" - Name of the participant.
-// "$@RAT_SAILOR_DEATHS - Number of deaths when the participant starts the fight.
-// "$@RAT_SAILOR_CONTROL" - Explanation of each index of the array.
-// "$@RAT_SAILOR_OLD_HELPER$" - Name of the participant.
-// "$@RAT_SAILOR_COUNTDOWN" - Seconds since the epoch of when the player done the quest.
-// [1] = Shows status of ratto number 1 (1 is dead and 0 is alive).
-// [2] = Shows status of ratto number 2 (1 is dead and 0 is alive).
-// [3] = Shows status of ratto number 3 (1 is dead and 0 is alive).
-// [4] = Shows status of ratto number 4 (1 is dead and 0 is alive).
-// [5] = Shows how many seconds passed since ratto number 1 died.
-// [6] = Shows how many seconds passed since ratto number 2 died.
-// [7] = Shows how many seconds passed since ratto number 3 died.
-// [8] = Shows how many seconds passed since ratto number 4 died.
-// [9] = Shows how many seconds passed since the player started the quest.
-// [10] = Shows how many seconds passed since the player done the quest.
-
-000-2-1,72,34,0 script AreaNPC#000-2-1 NPC_HIDDEN,0,1,{
-
-OnTouch:
- if (BaseLevel < 5) goto L_Stop;
- if ($@RAT_SAILOR_COUNTDOWN == 0) goto L_NoCountDown;
- if ((gettimetick(2) - $@RAT_SAILOR_COUNTDOWN) < 10) goto L_NoGoodTick;
- if (($@RAT_SAILOR_OLD_HELPER$ == strcharinfo(0)) && ((gettimetick(2) - $@RAT_SAILOR_COUNTDOWN) < 60)) goto L_NoGoodTick;
- $@RAT_SAILOR_COUNTDOWN = 0;
-
-L_NoCountDown:
- if ($@RAT_SAILOR_HELPER$ != "") goto L_Occupied;
- .@peter = getq(ShipQuests_Peter);
- if (.@peter < 1 || .@peter > 5) goto L_Task;
- if (.@peter == 1 || .@peter == 2) goto L_Rfail;
- if (.@peter == 3 || .@peter == 4) goto L_Rwin;
- if (.@peter > 5) goto L_SecondTime;
- doevent "Peter#000-2-1::OnReturnWin";
- close;
-
-L_Stop:
- doevent "Peter#000-2-1::OnStop";
-
- close;
-
-L_Occupied:
- doevent "Peter#000-2-1::OnDontneedHelp";
-
- close;
-
-L_Task:
- doevent "Peter#000-2-1::OnGiveTask";
-
- close;
-
-L_Rfail:
- doevent "Peter#000-2-1::OnReturnFail";
-
- close;
-
-L_Rwin:
- doevent "Peter#000-2-1::OnReturnWin";
-
- close;
-
-L_NoGoodTick:
- doevent "Peter#000-2-1::OnNoGoodTick";
-
- close;
-}
-
-000-2-1,70,35,0 script Peter#000-2-1 NPC_RATTO_SAILOR,{
- if (BaseLevel < 5) goto OnTooWeak;
- if ($@RAT_SAILOR_COUNTDOWN == 0) goto L_NoCountDown;
- if ((gettimetick(2) - $@RAT_SAILOR_COUNTDOWN) < 10) goto OnNoGoodTick;
- if (($@RAT_SAILOR_OLD_HELPER$ == strcharinfo(0)) && ((gettimetick(2) - $@RAT_SAILOR_COUNTDOWN) < 60)) goto OnNoGoodTick;
- $@RAT_SAILOR_COUNTDOWN = 0;
-
-L_NoCountDown:
- .@peter = getq(ShipQuests_Peter);
- if (.@peter == 1 || .@peter == 2) goto OnReturnFail;
- if (.@peter == 3 || .@peter == 4 || .@peter == 5) goto OnReturnWin;
-
-OnGiveTask:
- setq ShipQuests_Peter, 6;
- .@peter = getq(ShipQuests_Peter);
- mesn;
- mesq lg("Hey, girl!", "Hey, man!");
- next;
- mesq l("I need somebody who can rid the hold of the ship of these rattos. Can you help me?");
- next;
-
- menu
- l("Yeah, but what reward will I get?"), L_BonusTask,
- l("Why not, I need to train anyway."), L_Task,
- l("No, they are way too dangerous for me!"), -;
-
- mes "";
- mesn;
- mesq l("Hehe, hehe. Well, come back if you change your mind.");
-
- goto L_Quit;
-
-OnTooWeak:
- mesn;
- mesq lg("I need someone to help me clean the edge of the ship, but you aren't strong enough for now.");
-
- goto L_Quit;
-
-OnStop:
- warp "000-2-1", 72, 36;
-
- mesn;
- mesq l("You can't go there!");
-
- close;
-
-OnReturnFail:
- mesn;
- mesq l("I see it's not so easy to get rid of these rattos. Do you want to try again?");
- next;
-
- menu
- l("Yeah, but I would like to make sure I get a reward."), L_BonusTask,
- l("Why not, I need to train anyway."), L_Task,
- l("No, they are way too dangerous for me!"), -;
-
- mes "";
- mesn;
- mesq l("Hehe, hehe. Well, come back if you change your mind.");
-
- goto L_Quit;
-
-OnReturnWin:
- .@peter = getq(ShipQuests_Peter);
- mesn;
- mesq l("Thanks again for helping me. Drats these rattos for infesting our fair vessal!");
- next;
- mesq l("They are a permanent problem so I will always need your help to exterminate them in order to keep their number under control.");
- next;
- mesq l("Your help is very welcome indeed. Unfortunately, I can give you a reward for the first extermination only.");
- next;
-
- if (.@peter == 3 || .@peter == 4)
- menu
- l("Did you say reward? I want it!"), L_BonusTask,
- l("I am not worried about rewards. I just want to help."), L_Task,
- l("Sorry, I am not in the mood for another fight with these rattos."), -;
-
- if (.@peter == 5)
- menu
- l("No problem, I can help you anyway."), L_Task,
- l("Sorry, I am not in the mood for another fight with these rattos."), -;
-
- mes "";
- mesn;
- mesq l("Hehe, hehe. Well, come back if you change your mind.");
-
- close;
-
-L_BonusTask:
- mes "";
- mesn;
- mesq l("What if I give you 1000 Esperin for that job, is it ok?");
- next;
-
- menu
- lg("Okay, I'm ready to work!"), -,
- l("What? This reward is too small!"), L_Quit;
-
- .@peter = getq(ShipQuests_Peter);
- if ($@RAT_SAILOR_HELPER$ != "") goto OnDontneedHelp;
- if (.@peter == 6) setq ShipQuests_Peter, 2;
- if (.@peter == 3) setq ShipQuests_Peter, 4;
- .@peter = getq(ShipQuests_Peter);
- goto L_Start;
-
-L_Task:
- .@peter = getq(ShipQuests_Peter);
- if ($@RAT_SAILOR_HELPER$ != "") goto OnDontneedHelp;
- if (.@peter == 6) setq ShipQuests_Peter, 1;
- .@peter = getq(ShipQuests_Peter);
-
-L_Start:
- mes "";
- mesn;
- mesq l("Okay, you can start!");
-
-OnStartOutside:
- if ($@RAT_SAILOR_HELPER$ != "") goto OnDontneedHelp;
- $@RAT_SAILOR_HELPER$ = strcharinfo(0);
- $@RAT_SAILOR_DEATHS = PC_DIE_COUNTER;
- initnpctimer;
- warp "000-2-2", 48, 28;
- doevent "RattosControl#000-2-2::OnSpawn";
-
- goto L_Quit;
-
-OnTimer2000:
- if (attachrid(getcharid(3, $@RAT_SAILOR_HELPER$)) == 0) goto L_Logoff;
- $@RAT_SAILOR_CONTROL[9] = $@RAT_SAILOR_CONTROL[9] + 2;
- if ($@RAT_SAILOR_CONTROL[9] > 100) goto L_Timeout;
- if (PC_DIE_COUNTER > $@RAT_SAILOR_DEATHS) goto L_Dead;
- if ($@RAT_SAILOR_CONTROL[1] && $@RAT_SAILOR_CONTROL[2] && $@RAT_SAILOR_CONTROL[3] && $@RAT_SAILOR_CONTROL[4]) goto L_Done;
- if (getmapusers("000-2-2") == 0) goto L_CleaningEnd;
- goto L_CheckRattos;
-
- end;
-
-L_CheckRattos:
- if ($@RAT_SAILOR_CONTROL[1]) $@RAT_SAILOR_CONTROL[5] = $@RAT_SAILOR_CONTROL[5] + 2;
- if ($@RAT_SAILOR_CONTROL[2]) $@RAT_SAILOR_CONTROL[6] = $@RAT_SAILOR_CONTROL[6] + 2;
- if ($@RAT_SAILOR_CONTROL[3]) $@RAT_SAILOR_CONTROL[7] = $@RAT_SAILOR_CONTROL[7] + 2;
- if ($@RAT_SAILOR_CONTROL[4]) $@RAT_SAILOR_CONTROL[8] = $@RAT_SAILOR_CONTROL[8] + 2;
- if ($@RAT_SAILOR_CONTROL[5] > 45) doevent "RattosControl#000-2-2::OnRatto1Respawn";
- if ($@RAT_SAILOR_CONTROL[6] > 45) doevent "RattosControl#000-2-2::OnRatto2Respawn";
- if ($@RAT_SAILOR_CONTROL[7] > 45) doevent "RattosControl#000-2-2::OnRatto3Respawn";
- if ($@RAT_SAILOR_CONTROL[8] > 45) doevent "RattosControl#000-2-2::OnRatto4Respawn";
-
-L_NotYet:
- setnpctimer 0;
-
- end;
-
-OnDontneedHelp:
- mesn;
- mesq l("I don't need your help right now, come back later.");
- next;
- mesq l("@@ is helping me.", $@RAT_SAILOR_HELPER$);
-
- goto L_Quit;
-
-L_Timeout:
- mesn;
- mesq l("Hey! Be careful. You can't stay in this basement for so long, you're going to get sick. Come outside and take a break, maybe you can try again later.");
- warp "000-2-1", 72, 36;
-
- goto L_CleaningClose;
-
-L_Logoff:
- goto L_CleaningEnd;
-
-L_Dead:
-// Warps the dead body outside, so it does not interfere with the getmapusers check.
- if (getmapusers("000-2-2") > 0) warp "000-2-1", 72, 36;
-
- goto L_CleaningEnd;
-
-L_Done:
- $@RAT_SAILOR_CONTROL[10] = $@RAT_SAILOR_CONTROL[10] + 2;
- if($@RAT_SAILOR_CONTROL[10] < 5) goto L_NotYet;
- .@peter = getq(ShipQuests_Peter);
- if (.@peter == 2 || .@peter == 4) goto L_Reward;
- warp "000-2-1", 72, 36;
-
- goto L_Thanks;
-
-L_CleaningEnd:
- stopnpctimer;
- $@RAT_SAILOR_HELPER$ = "";
- $@RAT_SAILOR_DEATHS = 0;
- cleararray $@RAT_SAILOR_CONTROL, 0, 11;
- killmonster "000-2-2", "RattosControl#000-2-2::OnRatto1Death";
- killmonster "000-2-2", "RattosControl#000-2-2::OnRatto2Death";
- killmonster "000-2-2", "RattosControl#000-2-2::OnRatto3Death";
- killmonster "000-2-2", "RattosControl#000-2-2::OnRatto4Death";
-
- end;
-
-L_CleaningClose:
- stopnpctimer;
- $@RAT_SAILOR_OLD_HELPER$ = $@RAT_SAILOR_HELPER$;
- $@RAT_SAILOR_HELPER$ = "";
- $@RAT_SAILOR_DEATHS = 0;
- cleararray $@RAT_SAILOR_CONTROL, 0, 11;
- killmonster "000-2-2", "RattosControl#000-2-2::OnRatto1Death";
- killmonster "000-2-2", "RattosControl#000-2-2::OnRatto2Death";
- killmonster "000-2-2", "RattosControl#000-2-2::OnRatto3Death";
- killmonster "000-2-2", "RattosControl#000-2-2::OnRatto4Death";
- $@RAT_SAILOR_COUNTDOWN = gettimetick(2);
-
- close;
-
-L_Reward:
- warp "000-2-1", 72, 36;
- setq ShipQuests_Peter, 5;
- .@peter = getq(ShipQuests_Peter);
- mesn;
- mesq l("Good job!") + " " + l("Here's your reward!");
- getexp 100, 0;
- Zeny = Zeny + 1000;
- message strcharinfo(0), l("You receive @@ E!", 1000);
-
- goto L_CleaningClose;
-
-L_Thanks:
- mesn;
- mesq l("Thanks for helping me!");
- .@peter = getq(ShipQuests_Peter);
- if (.@peter == 1) setq ShipQuests_Peter, 3;
- .@peter = getq(ShipQuests_Peter);
-
- goto L_CleaningClose;
-
-L_Quit:
- .@peter = 0;
-
- close;
-
-OnNoGoodTick:
- mesn;
- mesq l("I don't need your help right now, come back later.");
- close;
-
-OnInit:
- .sex = G_MALE;
- .distance = 3;
- end;
-}