summaryrefslogblamecommitdiff
path: root/npc/quests/quests_lighthalzen.txt
blob: cf91e91710b8d005486578250784f3ee39e466c4 (plain) (tree)





















































































































































































































                                                                                                                                                                                                                                             
//===== eAthena Script ======================================= 
//= Lighthalzen
//===== By: ================================================== 
//= Persian, Vicious_Pucca, Completed by aoa00
//===== Current Version: ===================================== 
//= 1.1
//===== Compatible With: ===================================== 
//= eAthena SVN
//===== Description: ========================================= 
//= Event for the Mobster respawn
//===== Additional Comments: ================================= 
//= Grammar/script check please. This was a quick job.
//= Things to add: Look at the thread "Lighthalzen Guard" in SVN script
//= 0.3 Initial Release
//= 0.5 Added mobsters spawn and Einbroch pollution. Alert lasts either 10 minutes or all mob killed.
//= 0.6 small bug fixes
//= 0.9 fix small bug. Added Bio-lab entrance Quest. Added Getting security-card Quest.
//= 1.0 Patched "mobsters spawn & Alert" like Real-RO.
//= 1.0a fixed rand(1,10) + comparision. There just can't be 'X < 1' [Lupus]
//= 1.1 Changed the mobster spawn to g_mobster to prevent exploits [MasterOfMuppets]
//============================================================ 
//= aoa's comment
//= In future, Need for new monsters. No-Drop, No-Exp, Weak "Mobster","VENOMOUS","NOXIOUS"
//= In future, Teleport skill is impossible in Lighthalzen.
//============================================================ 

lighthalzen.gat,1,1,7	script	sneakAddSuber	-1,{
OnInit:
	set $@sneakchance, 3; // chance of successful sneak(0 = never, 10 = always)
	set $@sneakguard, 0; // numbers of people who sneaked past guard
	set $@threshold, 10; // numbers of sneakers before mob appears
	set $@mob, 50; 	  // Max respawn numbers of "mobsters"
	set $@mobcount, 0; // current numbers of "mobsters"
	set $@lhz_alert, 0; // Alert on Lighthalzen(0 = off, 1 = on)
	set $@i, 0;
	
	end;

OnMinute00:
OnMinute05:
OnMinute10:
OnMinute15:
OnMinute20:
OnMinute25:
OnMinute30:
OnMinute35:
OnMinute40:
OnMinute45:
OnMinute50:
OnMinute55:
	if($@lhz_alert == 0) set $@sneakguard, $@sneakguard + rand(1,3);
	if($@lhz_alert == 1) set $@sneakguard, $@sneakguard - 1;  // Monsters will die after 5~10 min. (sneakAddSuber)
	end;
}

lighthalzen.gat,1,1,7	script	AlertChk	-1,{
OnInit:
	initnpctimer;
	end;

OnTimer10000:
	if($@sneakguard >= $@threshold) goto MakeMob;
	if($@sneakguard == 0) goto ClearMob;  // Monsters will die after 5~10 min. (sneakAddSuber)
	setnpctimer 0;
	end;
	
MakeMob:
	if($@lhz_alert == 1) goto ChkEnd;
	set $@mobcount, $@mob;
	mapannounce "lighthalzen.gat","Maintenance Organization of the Public Order: Currently the security of the city has been compromized, We ask the citizens to be more careful. I repeat. We ask the citizens to be more careful.", 1;
	
	for( set $@i, 0; $@i < $@mob; set $@i, $@i + 1 ) {
		monster "lighthalzen.gat",0,0,"Mobster",1592,1,"Mobs::MobKilled";
	}

	set $@lhz_alert, 1;	
	set $@sneakguard, 2;   // Monsters will die after 5~10 min. (sneakAddSuber)
	setnpctimer 0;
	end;
	
ClearMob:
	if($@lhz_alert == 0) goto ChkEnd;
	set $@mobcount, 0;
	mapannounce "lighthalzen.gat","Maintenance organization of the Public Order: We were able to get rid of all the trouble makers in the city. You may relax now.", 1;	
	killmonster "lighthalzen.gat","Mobs::MobKilled";
	set $@lhz_alert, 0;
	set $@sneakguard, 0;
	setnpctimer 0;
	end;
		
MobKilled:
	set $@mobcount, $@mobcount - 1;
	if($@mobcount == 0) goto ClearMob;
	setnpctimer 0;
	end;	
	
ChkEnd:	
	setnpctimer 0;
	end;	
}

lighthalzen.gat,267,200,3	script	Security Guard	868,{

	if(countitem(7350)>=1) goto Lhzpass1;
	if($@lhz_alert == 1) goto Lhzstop;
	if((gettime(2)>00 && gettime(2)<10)) goto LhzTalk2;
	if((gettime(2)>30 && gettime(2)<40)) goto LhzTalk2;
	set @LhzTalk,rand(1,10);
	if(@LhzTalk  < 2 ) goto LhzTalk1;

LhzTalk:
	mes "[Guard]";
	mes "Hey! Where do you think you are going?";
	mes "I can not send nobody to the slum district!";
	mes "If we let suspecious people like you pass,";
	mes "there is no point in piece keeping!";
	close;

LhzTalk1:
	mes "-Looks like the guard is doing something else";
	mes "Now is a good time to sneak by.-";
	next;
	warp "lighthalzen.gat",297,227;
	set $@sneakguard, $@sneakguard + 1;
	close;

LhzTalk2:
	set @LhzTalk,rand(1,10);
	if(@LhzTalk  < 2 ) goto LhzTalk;
	mes "[Guard]";
	mes "zzZ... zzZ... zzZ...";
	mes "hmm. hmm... zzZ...";
	next;
	mes "-Looks like the guard is sleeping";
	mes "Now is a good time to sneak by.-";
	next;
	warp "lighthalzen.gat",297,227;
	close;

Lhzpass1:
	mes "[Guard]";
	mes "Who are you! ...Hmm? You have a pass?";
	mes "I'm sorry. You look like an adventurer,";
	mes "but I guess you got the authority.";
	mes "You may pass.";
	next; 
	warp "lighthalzen.gat",297,227;
	close;

Lhzstop:
	mes "[Guard]";
	mes "Recently, there were too many people sneaking pass us,";
	mes "so we raised the security level.";
	mes "Who sneak past us anyway?";
	mes "It's troublesome...";
	close;
}

lighthalzen.gat,294,223,7	script	Security Guard	868,{

	if(countitem(7350)==1) goto Lhzpass1;
	if($@lhz_alert == 1) goto Lhzstop;
	if((gettime(2)>00 && gettime(2)<10)) goto LhzTalk2;
	if((gettime(2)>30 && gettime(2)<40)) goto LhzTalk2;
	set @LhzTalk,rand(1,10);
	if(@LhzTalk  < 2 ) goto LhzTalk1;

LhzTalk:
	mes "[Guard]";
	mes "Hey! Where do you think you are going?";
	mes "I can not send nobody to the slum district!";
	mes "If we let suspecious people like you pass,";
	mes "there is no point in piece keeping!";
	close;

LhzTalk1:
	mes "-Looks like the guard is doing something else";
	mes "Now is a good time to sneak by.-";
	next;
	warp "lighthalzen.gat",264,200;
	set $@sneakguard, $@sneakguard + 1;
	close;

LhzTalk2:
	set @LhzTalk,rand(1,10);
	if(@LhzTalk  < 2 ) goto LhzTalk;
	mes "[Guard]";
	mes "zzZ... zzZ... zzZ...";
	mes "hmm. hmm... zzZ...";
	next;
	mes "-Looks like the guard is sleeping";
	mes "Now is a good time to sneak by.-";
	next;
	warp "lighthalzen.gat",264,200;
	close;

Lhzpass1:
	mes "[Guard]";
	mes "Who are you! ...Hmm? You have a pass?";
	mes "I'm sorry. You look like an adventurer,";
	mes "but I guess you got the authority.";
	mes "You may pass.";
	next; 
	warp "lighthalzen.gat",264,200;
	close;

Lhzstop:
	mes "[Guard]";
	mes "Recently, there were too many people sneaking pass us,";
	mes "so we raised the security level.";
	mes "Who sneak past us anyway?";
	mes "It's troublesome...";
	close;
}