summaryrefslogblamecommitdiff
path: root/npc/custom/events/mushroom_event.txt
blob: 9ebd3211a3d10236b6eebc40ff2a19dc2ed4d64d (plain) (tree)





























































                                                                                                                               
//===== rAthena Script ======================================= 
//= Find the Mushroom
//===== By: ================================================== 
//= Mysterious
//===== Current Version: ===================================== 
//= 3.6a
//===== Compatible With: ===================================== 
//= rAthena SVN
//===== Description: ========================================= 
//= Find the Mushroom - random amount of Mushrooms spawns in random maps.
//= Players need to find these mushrooms and kill them to gain prizes!
//===== Additional Comments: =================================
//= 3.0 Fully Functional with Rewritten script. [Mysterious]
//= 3.6a Slightly edited. [Euphy]
//============================================================ 

prontera,142,228,6	script	Find the Mushroom	1084,{
	mes "[ Find The Mushroom ]";
	if (!.Status)
		mes "There is no event at the moment!";
	else {
		mes "There are "+.Spawn+" Mushrooms left in "+.Map$+"!";
		mes "Find and kill the mushrooms to gain "+getitemname(.Prize)+"!";
	}
	if (.Status || getgmlevel() < .GM) close;
	mes "Start the event?";
	next;
	if(select("- No:- Yes") == 1) close;
	donpcevent strnpcinfo(0)+"::OnMinute10";
	mes "[ Find The Mushroom ]";
	mes "Event started!";
	close;

OnInit:
	set .Prize,512;	// Reward item ID
	set .Amount,10;	// Reward item amount
	set .GM,60;	// GM level required to access NPC
	setarray .Maps$[0],"izlude","geffen","morocc","prontera"; // Possible maps
	end;

OnMinute10:	// Start time (every hour)
	if (.Status) end;
	set .Status,1;
	set .Spawn,rand(1,10);	// How many Mushrooms should spawn?
	set .Map$,.Maps$[rand(getarraysize(.Maps$))];
	killmonster .Map$,"All";
	monster .Map$,0,0,"Please don't kill me!",1084,.Spawn,strnpcinfo(0)+"::OnMobKilled";
	announce "Find the Mushroom : Total of "+.Spawn+" Mushrooms have been spawned in "+.Map$+"!",0;
	sleep 2500;
	announce "Find the Mushroom : Every Mushroom you kill will give you "+getitemname(.Prize)+"!",0;
	end;

OnMobKilled:
	set .Spawn, .Spawn - 1;
	getitem .Prize, .Amount;
	if (.Spawn) announce "[ "+strcharinfo(0)+" ] has killed a Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map;
	else {
		announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0;
		set .Status,0;
	}
	end;
}