summaryrefslogtreecommitdiff
path: root/npc/re/quests/eden/71-85.txt
blob: cbb6c3e0c1981489042e6aa9d2fe5496713ca1c3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
//================= Hercules Script =======================================
//=       _   _                     _
//=      | | | |                   | |
//=      | |_| | ___ _ __ ___ _   _| | ___  ___
//=      |  _  |/ _ \ '__/ __| | | | |/ _ \/ __|
//=      | | | |  __/ | | (__| |_| | |  __/\__ \
//=      \_| |_/\___|_|  \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2015  Hercules Dev Team
//= Copyright (C)  Euphy
//= Copyright (C)  Masao
//= Copyright (C)  L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
//= the Free Software Foundation, either version 3 of the License, or
//= (at your option) any later version.
//=
//= This program is distributed in the hope that it will be useful,
//= but WITHOUT ANY WARRANTY; without even the implied warranty of
//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//= GNU General Public License for more details.
//=
//= You should have received a copy of the GNU General Public License
//= along with this program.  If not, see <http://www.gnu.org/licenses/>.
//=========================================================================
//= Eden Group Quests - Mission [71 - 85]
//================= Description ===========================================
//= Repetable Quests for Players between Baselevel 71 - 85.
//================= Current Version =======================================
//= 1.3
//=========================================================================

moc_para01,44,38,3	script	Mission [71 - 85]	4_BOARD3,{
	if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) {
		mes "- Only members of the -";
		mes "- Eden Group can read -";
		mes "- this bulletin board. -";
		close;
	}

	// Clear the original quest data (no longer used).
	if (slv_quest) slv_quest = 0;
	if (questprogress(10102) || questprogress(10103) || questprogress(10104) || questprogress(10105) || questprogress(10106)) {
		for(.@quest = 10102; .@quest<=10106; ++.@quest) {
			if (questprogress(.@quest))
				erasequest .@quest;
		}
		mes "- Since the client has moved -";
		mes "- to another place, -";
		mes "- the application form has been removed. -";
		next;
	}

	if (BaseLevel < 71) {
		mes "- Only members of the -";
		mes "- right level can read -";
		mes "- this bulletin board. -";
		mes "- Try to find a board -";
		mes "- that suits your level. -";
		close;
	} else if (BaseLevel > 85) {
		// Quest IDs: 10107-10123, 5055-5057
		setarray .@quests[0],
			10107,10108,10109,
			10110,10111,10112,10113,
			10114,10115,10116,10117,
			10118,10119,10120,
			10121,10122,10123,5055,5056;
		for(.@i = 0; .@i<getarraysize(.@quests); ++.@i) {
			if (questprogress(.@quests[.@i],HUNTING) == 2)
				.@complete[getarraysize(.@complete)] = .@quests[.@i];
		}
		if (questprogress(5057) && countitem(Festival_Mask) >= 30)
			.@complete[getarraysize(.@complete)] = 5057;
		if (getarraysize(.@complete)) {
			mes "You have quests in progress.";
			mes "Do you want to turn them in?";
			next;
			if(select("Of course.", "No.") == 2)
				close;
			for(.@i = 0; .@i<getarraysize(.@complete); ++.@i)
				callsub L_Quest,.@complete[.@i];
			close;
		}
		mes "- Only members of the -";
		mes "- right level can read -";
		mes "- this bulletin board. -";
		mes "- Try to find a board -";
		mes "- that suits your level. -";
		close;
	}
	mes "- Choose where you -";
	mes "- would like to hunt. -";
	next;
	switch(select("Sphinx Dungeon", "Glast Heim", "Juno Area", "Clock Tower", "Localized Islands")) {
	case 1:
		mes "- There are several requests -";
		mes "- related to the Sphinx Dungeon -";
		mes "- on this mission Board. -";
		next;
		.@str1$ = "The villagers of Morroc are worried by the increasing number of monsters in the Sphinx Dungeon. ";
		.@str2$ = "- Meidi from Morroc -";
		switch(select("Hunt Requiem", "Hunt Marduk", "Hunt Pasana")) {
			case 1: callsub L_Quest,10107,.@str1$+"Hunt 10 Requiems.",.@str2$;
			case 2: callsub L_Quest,10108,.@str1$+"Hunt 10 Marduks.",.@str2$;
			case 3: callsub L_Quest,10109,.@str1$+"Hunt 10 Pasanas.",.@str2$;
		}
	case 2:
		mes "- There are several requests -";
		mes "- related to Glast Heim -";
		mes "- on this mission Board. -";
		next;
		.@str1$ = "I am very afraid that the monsters from Glast Heim will attack us. ";
		.@str2$ = "- Ancellia from Geffen -";
		switch(select("Hunt Dark Frame", "Hunt Evil Druid", "Hunt Wraith", "Hunt Raydric Archer")) {
			case 1: callsub L_Quest,10110,.@str1$+"Hunt 10 Dark Frames.",.@str2$;
			case 2: callsub L_Quest,10111,.@str1$+"Hunt 10 Evil Druids.",.@str2$;
			case 3: callsub L_Quest,10112,.@str1$+"Hunt 10 Wraiths.",.@str2$;
			case 4: callsub L_Quest,10113,.@str1$+"Hunt 10 Raydric Archers.",.@str2$;
		}
	case 3:
		mes "- There are several requests -";
		mes "- related to the area -";
		mes "- around Juno. -";
		next;
		.@str1$ = "Those who can't fight, like me, find it much more difficult to travel due to the large number of monsters. ";
		.@str2$ = "- Jeanbai, traveler -";
		switch(select("Hunt Grand Peco", "Hunt Sleeper", "Hunt Goat", "Hunt Harpy")) {
			case 1: callsub L_Quest,10114,.@str1$+"Hunt 20 Grand Pecos.",.@str2$;
			case 2: callsub L_Quest,10115,.@str1$+"Hunt 20 Sleepers.",.@str2$;
			case 3: callsub L_Quest,10116,.@str1$+"Hunt 20 Goats.",.@str2$;
			case 4: callsub L_Quest,10117,.@str1$+"Hunt 20 Harpies.",.@str2$;
		}
	case 4:
		mes "- There are several requests -";
		mes "- related to the Clock Tower -";
		mes "- on this mission Board. -";
		next;
		.@str1$ = "I used to love listening to the sweet melody of the Al De Baran Clock Tower but I can't hear anything anymore because of all the noises the monsters are making. ";
		.@str2$ = "- Rizingsetter, President of the Love Clock community -";
		switch(select("Hunt Clock", "Hunt Punk", "Hunt Rideword")) {
			case 1: callsub L_Quest,10118,.@str1$+"Hunt 15 Clocks before it breaks.",.@str2$;
			case 2: callsub L_Quest,10119,.@str1$+"Hunt 15 Punks before it breaks.",.@str2$;
			case 3: callsub L_Quest,10120,.@str1$+"Hunt 15 Ridewords before it breaks.",.@str2$;
		}
	case 5:
		mes "- There are several requests -";
		mes "- related to the Localized Islands -";
		mes "- on this mission Board. -";
		next;
		.@str1$ = "I want to go on an adventure but there are so many things I have to deal with. If I can't, then others can't either! ";
		.@str2$ = "- Funfy, who wants to go on an adventure -";
		switch(select("Hunt Kikimora", "Hunt Miyabi Doll", "Hunt Mi Gao", "Hunt Headless Mule", "Hunt Tamruan", "Gather Festival Masks for the Festival")) {
			case 1: callsub L_Quest,10121,.@str1$+"Hunt 15 Kikimoras in Moscovia!",.@str2$;
			case 2: callsub L_Quest,10122,.@str1$+"Hunt 15 Miyabi Dolls in Amatsu!",.@str2$;
			case 3: callsub L_Quest,10123,.@str1$+"Hunt 15 Mi Gaos in Louyang!",.@str2$;
			case 4: callsub L_Quest,5055,"I know there are many terrifying monsters outside the city, but what terrifies me are these Headless Mules lurking around. I hope they will never venture into town. Hunt 15 Headless Mules!","- Mariana from Brasilis -";
			case 5: callsub L_Quest,5056,"Tamruans make a lot of noise. I don't mind in the morning but they keep me from falling asleep at night. I want to sleep. Hunt 15 Tamruans!","- Shaman Pumo from Ayothaya -";
			case 6: callsub L_Quest,5057,"The Dumpling Childs stole all the masks that I had prepared for the festival. Try to get a hold of 30 masks! I'll owe you~","- SaYumMoon Chief of Kunlun -";
		}
	}
	end;

//callsub L_Quest,<quest ID>{,"<description1>","<description2>"};
L_Quest:
	.@quest = getarg(0);
	switch(.@quest) {
		case 10107: .@name$ = "Hunt Requiem"; .@exp = 15000; break;
		case 10108: .@name$ = "Hunt Marduk"; .@exp = 15000; break;
		case 10109: .@name$ = "Hunt Pasana"; .@exp = 15000; break;
		case 10110: .@name$ = "Hunt Dark Frame"; .@exp = 20000; break;
		case 10111: .@name$ = "Hunt Evil Druid"; .@exp = 20000; break;
		case 10112: .@name$ = "Hunt Wraith"; .@exp = 20000; break;
		case 10113: .@name$ = "Hunt Raydric Archer"; .@exp = 20000; break;
		case 10114: .@name$ = "Hunt Grand Peco"; .@exp = 30000; break;
		case 10115: .@name$ = "Hunt Sleeper"; .@exp = 30000; break;
		case 10116: .@name$ = "Hunt Goat"; .@exp = 30000; break;
		case 10117: .@name$ = "Hunt Harpy"; .@exp = 30000; break;
		case 10118: .@name$ = "Hunt Clock"; .@exp = 25000; break;
		case 10119: .@name$ = "Hunt Punk"; .@exp = 25000; break;
		case 10120: .@name$ = "Hunt Rideword"; .@exp = 25000; break;
		case 10121: .@name$ = "Hunt Kikimora"; .@exp = 30000; break;
		case 10122: .@name$ = "Hunt Miyabi Doll"; .@exp = 30000; break;
		case 10123: .@name$ = "Hunt Mi Gao"; .@exp = 30000; break;
		case 5055: .@name$ = "Hunt Headless Mule"; .@exp = 30000; break;
		case 5056: .@name$ = "Hunt Tamruan"; .@exp = 30000; break;
		case 5057: .@name$ = "Gather Festival Masks for the Festival"; .@exp = 30000; break;
	}
	if (getargcount() == 1) {
		mes "'"+.@name$+"' completed. Do you want to turn it in and receive your reward?";
		next;
		if(select("Turn in quest.", "Cancel.") == 1) {
			if (.@quest == 5057) delitem Festival_Mask,30;
			erasequest .@quest;
			getexp .@exp,0;
			mes "You've received EXP for finishing the quest.";
			next;
			return;
		}
		close;
	} else {
		if (.@quest == 5057) {
			// Quest 5057 is the only collection quest, so separate conditions are unnecessary.
			if (!questprogress(5057))
				.@hunting = 0;
			else if (countitem(Festival_Mask) >= 30)
				.@hunting = 2;
		} else {
			.@hunting = questprogress(.@quest,HUNTING);
		}
		if (.@hunting == 1) {
			mes getarg(1);
			mes getarg(2);
			next;
			mes "Return here when you've finished the quest.";
		} else if (.@hunting == 2) {
			mes "You have completed the quest.";
			next;
			if(select("Turn in quest.", "Cancel.") == 1) {
				if (.@quest == 5057) delitem Festival_Mask,30;
				erasequest .@quest;
				getexp .@exp,0;
				mes "You've received EXP for finishing the quest.";
			}
		}/* else if (.@hunting == 3) {
//			recall_completequest .@quest
			erasequest .@quest;
			mes "You have re-accepted the quest '"+.@name$+"'.";
		}*/ else {
			mes getarg(1);
			mes getarg(2);
			next;
			mes "Do you want to accept the quest?";
			next;
			if(select("Yes.", "No.") == 1) {
				mes "You've received the quest '"+.@name$+"'. View your quest info for more details.";
				setquest .@quest;
			}
		}
		close;
	}
}