summaryrefslogblamecommitdiff
path: root/npc/re/quests/eden/71-85.txt
blob: e88e388cb2a6e9328a66fcb1b2d70be1476ac63b (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                              
                                         
                                                              
             
                                                              
       
                                                              
                                                           
                                                              
                      
                                                        
                          
                                                      

                                                              
                                                                  
                                  


                                               

                      
 
                                                          
                                     
                                                                                                                                   
                                                                 
                                                   
                                                   
                 


                                                                 
                     
         
 














                                                    
                                                                 
                                                                      
                                                                                     
                 
                                                                 
                                                                    


                                                           
                             

                                                         
                                                                         
                                                                
                              
                 




                                                 

                      

                                      
             





                                                                                             

                                                                                                                             



                                                                                          
                 




                                                     

                                                                                                




                                                                                                   
                 




                                                     

                                                                                                                                        




                                                                                             
                 




                                                     

                                                                                                                                                                                              



                                                                                                            
                 




                                                           

                                                                                                                                                  






                                                                                                                                                                                                                                                                                

                 
            
 

                                                                 
                            
                         



















                                                                                                    








                                                                                                  
                             
                               
                 
                      


                                                                                                           

                                                 
                                                       




                                                                   

                                      
                             























                                                                                                                      
                 
                      
         
 
//===== Hercules Script ======================================
//= Eden Group Quests - Mission [71 - 85]
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 1.3
//===== Description: =========================================
//= Repetable Quests for Players between Baselevel 71 - 85.
//===== Additional Comments: =================================
//= 1.0 First Version.
//= 1.1 Some little optimization here and there. [Masao]
//= 1.2 Optimized. [Euphy]
//= 1.3 Updated to match the official scripts. [Euphy]
//============================================================

moc_para01,44,38,3	script	Mission [71 - 85]	4_BOARD3,{
	if (countitem(6219) < 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(7187) >= 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 Ayotaya -";
			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 7187,30; //Festival_Mask
			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(7187) >= 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 7187,30; //Festival_Mask
				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;
	}
}