//===== rAthena Script =======================================
//= Hidden Flower Garden
//===== Description: =========================================
//= [Walkthrough Conversion]
//= Episode 17.2 Hidden Flower Garden
//= Episode 17.2 Security Area 1 & 2
//= Note:
// - NPC_LOCKON_LASER skill is currently no implemented.
//===== Changelog: ===========================================
//= 1.0 Initial release [crazyarashi]
//= 1.1 Optimizations and cleanup [Everade]
//= 1.2 Cleanup [Capuche]
//= 1.3 Updated monsters spawn times (significantly reduced). [Atemo]
//============================================================

ba_maison,120,320,0	script	#herbs_chk	HIDDEN_WARP_NPC,3,3,{
	end;
OnTouch:
	//You can start this quest without registering on alpha
	if (isbegin_quest(12497) == 0) {	// story
		cloakoffnpcself( "#he_admin1" );
		specialeffect EF_WHITEBODY, AREA, "#he_admin1";
		npctalk "Stand back from the perimeter of the security area. Outsiders are prohibited from accessing it.", "#he_admin1", bc_self;
		end;
	}
	// daily
	cloakoffnpcself( "#he_admin2" );
	specialeffect EF_WHITEBODY, AREA, "#he_admin2";
	end;
}

ba_maison,120,321,5	script(CLOAKED)	#he_admin1	MD_ASSISTANT,{
	if (ep17_2_main < 1)
		end;
	mes "[Flower Garden Manager]";
	mes "An unregistered guest has been detected.";
	next;
	.@party_id = getcharid(1);
	if (!is_party_leader()) {
		mes "[Flower Garden Manager]";
		mes "You cannot proceed to the next step, if you do not have the authority of the party leader.";
		close;
	}
	.@party_name$ = getpartyname(.@party_id);
	mes "[Flower Garden Manager]";
	mes "If you're an administrator who lost authority, you can get the authority reissued through an authentication procedure.";
	next;
	.@md_name$ = "Hidden Flower Garden";

	if (instance_live_info(ILI_NAME,instance_id(IM_PARTY)) == .@md_name$)
		.@menu$ = "^FF0000Enter^000000";

	switch( select( "Quit and Stand Back.", "Authenticate Identity", .@menu$ ) ) {
	case 1:
		mes "[Flower Garden Manager]";
		mes "A wise choice.";
		close;
	case 2:
		if (instance_create(.@md_name$) == -3)
			dispbottom "The reservation of the instance '" + .@md_name$ + "' has failed due to an active instance.";
		end;
	case 3:
		if (!is_party_leader()) {	// shouldn't happen
			mes "[Flower Garden Manager]";
			mes "You cannot proceed to the next step, if you do not have the authority of the party leader.";
			close;
		}
		if (instance_enter(.@md_name$) != IE_OK) {
			mes "[Flower Garden Manager]";
			mes "You can only move to the place when the party manager has completed all permits. Please re-check your issued access area.";
			close;
		}
		mapannounce "ba_maison", "" + strcharinfo(0) + " of the party, " + .@party_name$ + ", is entering the " + .@md_name$ + ".", bc_map, "0x00FF99";
		end;
	}
	end;
}

ba_maison,120,321,5	script(CLOAKED)	#he_admin2	MD_ASSISTANT,{
	if (ep17_2_main < 1)
		end;
	if (isbegin_quest(12497) != 2)
		end;
	switch( checkquest(12498,PLAYTIME) ) {
	case -1:
		break;
	case 0:
	case 1:
		mes "[Flower Garden Manager]";
		mes "You just entered the security area.";
		mes "Please rest your body for a day as Sigma ordered.";
		close;
	case 2:
		erasequest 12498;
		break;
	}
	mes "[Flower Garden Manager]";
	mes "Your identity been identified. You may enter the security area. How may I help you?";
	next;
	if (BaseLevel >= 150)
		.@menu$[0] = "1st Security Zone.";
	if (BaseLevel >= 180)
		.@menu$[1] = "^FF00002nd Security Zone.^000000";

	switch( select( "Stand back.", "Identity Authentication", "Enter Zone" ) ) {
	case 1:
		mes "[Flower Garden Manager]";
		mes "Alright.";
		close;
	case 2:
		switch( select( "Stand back.", .@menu$[0], .@menu$[1] ) ) {
		case 1:
			mes "[Flower Garden Manager]";
			mes "Alright.";
			close;
		case 2:
			.@md_name$ = "Security Area 1";
			break;
		case 3:
			.@md_name$ = "Security Area 2";
			break;
		}
		if (!is_party_leader()) {
			mes "[Flower Garden Manager]";
			mes "Only the party leader can start the identity verification. Let's leave it up to person in charge.";
			close;
		}
		if (instance_create(.@md_name$) == -3)
			dispbottom "The reservation of the instance '" + .@md_name$ + "' has failed due to an active instance.";
		end;
	case 3:
		switch( select( .@menu$[0], .@menu$[1] ) ) {
		case 1:
			.@md_name$ = "Security Area 1";
			.@qid = 12499;
			.@qid2 = 12500;
			break;
		case 2:
			.@md_name$ = "Security Area 2";
			.@qid = 12500;
			.@qid2 = 12499;
			break;
		}
		if (instance_enter(.@md_name$) != IE_OK) {
			mes "[Flower Garden Manager]";
			mes "You can only move to the place when the party manager has completed all permits. Please re-check your issued access area.";
			close;
		}
		setquest 12498;
		if (isbegin_quest(.@qid) > 0)
			erasequest .@qid;
		if (isbegin_quest(.@qid2) > 0)
			erasequest .@qid2;
		setquest .@qid;
		mapannounce "ba_maison", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering the " + .@md_name$ + ".", bc_map, "0x00FF99";
		end;
	}
	end;
}


1@herbs,1,1,0	script	#hidden_flower_garden_control	-1,{
	end;
OnInstanceInit:
	'map_herbs$ = instance_mapname("1@herbs");

	// story
	'action = 0;
	'pimp = 0;
	'guard_count = 0;
	'hidden_garden = 0;
	'npc_is_talking = false;

	// daily
	'room = 0;
	deletearray 'spawn_mobs;
	deletearray 'summon;
	end;
}

1@herbs,56,278,4	script	#BMD000001	4_SYS_MSG,{
	if ('npc_is_talking)
		end;
	if ('hidden_garden == 0) {
		mes "It appears to be a hologram of an automatic doll. You can see a strange glass on the middle panel with the word ^0000FF[Enter the pattern on the touch screen]^000000 and other several buttons.";
		while(1) {
			next;
			if (select( "Leave it alone", "Touch the screen", .@menu$ ) == 1) {
				mes "The hologram faded.";
				close;
			}
			specialeffect EF_AGIUP2;
			progressbar_npc "3131FF",1;
			if (.@menu$ != "" || rand(1,5) == 1)
				break;
			specialeffect EF_HALLUTIME;
			mes "^FF0000ERROR^000000";
			mes "^FF0000Pattern does not match.^000000";
			.@menu$ = "^FF0000Try entering a different pattern^000000";
		}
		specialeffect EF_GUARD4;
		mes "^0000FFPattern recognized.^000000";
		mes "Running the sleep mode release protocol. Pattern input by ^0000CD" + strcharinfo(0) + "^000000 has been recognized.";
		close2;
		'admin$ = strcharinfo(0);
		donpcevent instance_npcname("#BMD000001") + "::OnTalk01";
		end;
	}
	if ('hidden_garden == 1) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		setpcblock PCBLOCK_NPC, true;
		npctalk "I'm an automatic doll that was designed to work only if your mana synchronizes with Varmundt's mana over a certain level.";
		sleep2 5000;
		npctalk "[" + 'admin$ + "]" + " has a 73.6% mana similarity to that of Varmundt. Who exactly are you [" + 'admin$ + "]?";
		sleep2 5000;
		setpcblock PCBLOCK_NPC, false;
		select("An adventurer who stumbled upon this place");
		setpcblock PCBLOCK_NPC, true;
		npctalk "It's strange. I've never seen an outsider with a mana pattern that matches more than 70% to that of Varmundt's.";
		sleep2 5000;
		setpcblock PCBLOCK_NPC, false;
		.@s = select( "I had the opportunity to meet Varmundt before.", "I don't know why." );
		setpcblock PCBLOCK_NPC, true;
		sleep2 1000;
		if (.@s == 1) {
			npctalk "There is a possibility that you have a similar mana pattern due to frequent contact with him in any form.";
			sleep2 5000;
		}
		while(1) {
			npctalk "Okay. From now on, I will set [" + 'admin$ + "] as our temporary administrator and take action accordingly. Do you agree?";
			sleep2 5000;
			setpcblock PCBLOCK_NPC, false;
			switch( select( "I'm a temporary administrator? Why should I?", "Refuse!", "Sure" ) ) {
			case 1:
				setpcblock PCBLOCK_NPC, true;
				sleep2 1000;
				npctalk "The automatic dolls maintain the flower garden and perform their given duties individually.";
				sleep2 5000;
				npctalk "While Master Varmundt was still present, the progress of duties was checked in the form of individual reports and weekly on-site evaluations.";
				sleep2 5000;
				npctalk "Currently, Master Varmundt has been away for over 1 million hours.";
				sleep2 5000;
				npctalk "Although you are not Master Varmundt, as someone who has more than 70% similarity to his mana pattern, I would like to ask you to evaluate our duties.";
				sleep2 5000;
				npctalk "Please understand that it's a necessary management to prevent our duties from falling into the wrong path.";
				continue;
			case 2:
				sleep2 1000;
				npctalk "I will wait until you give me your permission.";
				specialeffect EF_MARKING_USE_CHANGEMONSTER;
				setpcblock PCBLOCK_NPC, false;
				end;
			case 3:
				break;
			}
			break;
		}
		setpcblock PCBLOCK_NPC, true;
		sleep2 1000;
		npctalk "Thank you for your permission. From now on, I'll treat [" + 'admin$ + "] as a temporary administrator.";
		sleep2 5000;
		npctalk "First select a code name that will be used to control this automatic doll. Some of the names that were preferred in the past are randomly selected.";

		setarray .@names$[0],"Lisa","Barbara","Jennifer","Dorothy","Jun","Yeongchun","Susan","Martha","Hannah","Helen","Chunja","Karen","How do I stop this?";
		.@size = getarraysize(.@names$);
		.@menu$[0] = "Quit";	// note: script continues regardless of the selection
		for ( .@i = 1; .@i < 4; ++.@i ) {
			.@r = rand(.@size);
			.@menu$[.@i] = .@names$[.@r];
			deletearray .@names$[.@r],1;
			.@size--;
		}
		setpcblock PCBLOCK_NPC, false;
		.@s = select( .@menu$[0], .@menu$[1], .@menu$[2], .@menu$[3] ) - 1;
		setpcblock PCBLOCK_NPC, true;
		.@guide_name$ = .@menu$[.@s];
		.@guide_id = getnpcid(0, instance_npcname("#BMD000001"));

		npctalk "Order has been received.";
		sleep2 3000;
		npctalk "The code name of the automatic doll BMD000001 is [" + .@guide_name$ + "].";
		sleep2 5000;
		npctalk "We will start the on-site inspection of the garden based on the temporary administrator response protocol.";
		sleep2 5000;
		if ('hidden_garden == 1) {
			'guide_id = .@guide_id;
			'guide_name$ = .@guide_name$;
			'hidden_garden = 2;
			disablenpc instance_npcname("#mc_device");
			setpcblock PCBLOCK_NPC, false;
			npctalk "Please watch your step and follow me.";
			npcspeed 200;
			unitwalk 'guide_id,63,290, instance_npcname("#BMD000001") + "::OnEvent01";
		}
		end;
	}
	if ('hidden_garden == 3) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		mes "[" + 'guide_name$ + "]";
		mes "Please evaluate the landscape, water quality, and other overall layout of the garden.";
		next;
		while(true) {
			switch( select( "Hold on.", "It's a beautiful place.", "I wish there were more trees.", "Why is it surrounded by water?" ) ) {
			case 1:
				npctalk "I'll stop the guide. Automatic dolls and objects that has not been inspected and evaluated by the Automatic Doll [" + 'guide_name$ + "] are not allowed to go outside.";
				end;
			case 2:
				npctalk "Then, it has been determined that this place management has met its conditions.";
				break;
			case 3:
				'trees = 1;
				npctalk "Understood, we will add more trees in the future.";
				break;
			case 4:
				npctalk "Because this is a water garden, the area is surrounded by water.";
				sleep2 5000;
				npctalk "Changing to a non-water garden can not be accepted, as it is an area beyond Varmundt's taste.";
				break;
			}
			break;
		}
		'hidden_garden = 4;
		unitwalk 'guide_id,63,288, instance_npcname("#BMD000001") + "::OnEvent02";
		end;
	}
	end;

OnTalk01:
	'npc_is_talking = true;
	npctalk "This product is an automatic doll that serves as a guide for the flower garden with a serial number BMD000001.";
	sleep 5000;
	npctalk "The similarity check to Varmundt's mana pattern is at 73.6%. Switching to flower garden guide mode.";
	sleep 5000;
	npctalk "Operation will begin in 3 seconds.";
	progressbar_npc "3131FF",3;
	setnpcdisplay instance_npcname("#BMD000001"),20622;	// MD_ASSISTANT
	specialeffect EF_FLOWERCAST;
	npctalk "Sleep mode release protocol has been completed. I will check if the master, Varmundt is nearby in addition to the recognized target.";
	sleep 5000;
	npctalk "Searching......";
	progressbar_npc "3131FF",3;
	sleep 1000;
	npctalk "Master Varmundt is not detected within the network.";
	specialeffect EF_MARKING_USE_CHANGEMONSTER;
	if ('hidden_garden == 0)
		'hidden_garden = 1;
	'npc_is_talking = false;
	end;

OnEvent01:
	npctalk "You can start the evaluation from the entrance of this garden.";
	sleep 3000;
	npctalk "Objective evaluation reduces the working errors of the automatic dolls that manage this place and helps them perform their duties close to perfection.";
	sleep 6000;
	npctalk "[" + 'admin$ + "]. Please use the authority of the temporary administrator to determine whether the garden duties is being faithfully carried out.";
	sleep 6000;
	'hidden_garden = 3;
	specialeffect EF_MARKING_USE_CHANGEMONSTER;
	end;

OnEvent02:
	if (!'trees) {
		sleep 5000;
		npctalk "We have satisfied the criteria of the temporary administrator [" + 'admin$ + "] and will maintain the current management routine as it is.";
	}
	sleep 5000;
	npctalk "[" + 'admin$ + "], I'd like to request for you to continue the on-site inspection for the remaining sections.";
	unitwalk 'guide_id,82,300, instance_npcname("#BMD000001") + "::OnEvent03";
	end;

OnEvent03:
	npctalk "There is no bridge that connects the sections here.";
	sleep 6000;
	npctalk "Since Varmundt was a person who can move regardless of the terrain, we did not install a separate structure for normal people during the creation of the flower garden.";
	sleep 6000;
	npctalk "However, considering the temporary administrator's insufficient ability, I will support the space leap services.";
	sleep 6000;
	enablenpc instance_npcname("#BMD000002");
	enablenpc instance_npcname("#carota");
	instance_warpall 'map_herbs$,111,275,instance_id();
	sleep 1000;
	removespecialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000002");
	specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000002");
	disablenpc instance_npcname("#BMD000001");
	end;
}

1@herbs,56,278,4	duplicate(dummy_npc)	#mc_device	1_SHADOW_NPC


1@herbs,110,275,4	script(DISABLED)	#BMD000002	MD_ASSISTANT,3,3,{
	if ('hidden_garden == 4) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		'hidden_garden = 5;
		npctalk "Master Varmundt gave each of the automatic dolls a research project.";
		sleep 5000;
		npctalk "However, the purpose of the research is not available to us dolls, we have to decide on our own what to do with it in the future.";
		sleep 5000;
		npctalk "The flower garden is divided into several research sectors and each sector has a different subject as a project.";
		npcspeed 200;
		'guide_id = getnpcid(0, instance_npcname("#BMD000002"));
		unitwalk 'guide_id,124,275, instance_npcname("#BMD000002") + "::OnEvent00";
		end;
	}
	end;

OnEvent00:
	unitwalk 'guide_id,124,281, instance_npcname("#BMD000002") + "::OnEvent01";
	end;

OnEvent01:
	unitwalk 'guide_id,125,280, instance_npcname("#BMD000002") + "::OnEvent02";
	npctalk "Among the research sectors, this sector is a place to grow a plant called Turnip under the orders of Varmundt.";
	end;

OnEvent02:
	unitwalk 'guide_id,137,280, instance_npcname("#BMD000002") + "::OnEvent03";
	end;

OnEvent03:
	unitwalk 'guide_id,137,276, instance_npcname("#BMD000002") + "::OnEvent04";
	end;

OnEvent04:
	sleep 3000;
	npctalk "Let me introduce the automatic doll model CAROTA-88.";
	sleep 4000;
	npctalk "......";
	sleep 2000;
	npctalk "[Error: CAROTA-88 is out of control range. Need to track corresponding object coordinates.]";
	sleep 5000;
	npctalk "[Tracking coordinates...]";
	progressbar_npc "3131FF",4;
	npctalk "CAROTA-88. Please return to your original location as soon as possible. Don't forget that I can use force when needed.";
	'carota = getnpcid(0, instance_npcname("#carota"));
	donpcevent instance_npcname("#carota") + "::OnAction";
	end;

OnEvent05:
	npctalk "Let's move on to the next section.", instance_npcname("#BMD000002");
	'hidden_garden = 7;
	sleep 2000;
	enablenpc instance_npcname("#BMD000003");
	enablenpc instance_npcname("#pimp25");
	donpcevent instance_npcname("#pimp25") + "::OnWalk";
	instance_warpall 'map_herbs$,254,282,instance_id();
	sleep 1000;
	removespecialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000003");
	specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000003");
	disablenpc();
	end;

OnTouch:
	if ('hidden_garden == 4) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		specialeffect EF_MARKING_USE_CHANGEMONSTER;
	}
	end;
}

1@herbs,137,269,4	script(DISABLED)	#carota	CLEAR_NPC,3,3,{
	if ('npc_is_talking)
		end;
	if ('hidden_garden == 6) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		select("Report your work details.");
		setpcblock PCBLOCK_NPC, true;
		sleep2 1000;
		npctalk "Master Varmundt. No further instructions after entering Turnip's biological data . This automatic doll unattended.";
		sleep2 5000;
		npctalk "No further indications for 5076 hours. This automatic doll's AI collects network information about turnips.";
		sleep2 5000;
		npctalk "Obtaining information of edible plants. Finding ancient record of turnip cultivation.";
		sleep2 5000;
		npctalk "Optimized germination, growth and sowing of turnips for about 18816 hours compared and recorded.";
		sleep2 5000;
		npctalk "Over million hours passed. Collect data on cultivation and harvest of Turnips. a collection of information on breeding method.";
		sleep2 5000;
		npctalk "2 ton yield per year. 99.9% success pest control prevention. 0.2% loss due to physical work errors.";
		sleep2 5000;
		npctalk "Turnips from flower garden. Sold at an excellent price in a nearby big city. Contributing to maintenance costs for flower gardens and mansions.";
		sleep2 5000;
		setpcblock PCBLOCK_NPC, false;
		npctalk "Whether the research mission direction of this automatic doll should be improved, continued, or discarded. Waiting for the administrator's decision.";
		mes "^0000AAEvaluate CAROTA-88's work to date.^000000";
		next;
		if (select( "The product is full and good shape.", "Improve breeding.", "It's just farming, so everything is good." ) == 3)
			'talk_bool = true;
		else
			'talk_bool = false;
		close2;
		donpcevent instance_npcname("#carota") + "::OnTalk01";
		end;
	}
	end;

OnTalk01:
	'npc_is_talking = true;
	sleep 1000;
	npctalk "Evaluation received...";
	sleep 5000;
	if ('talk_bool) {
		npctalk "CAROTA-88 received confirmation from administrator that Varmundt instructions were performed perfectly.";
		sleep 3000;
		emotion ET_DELIGHT;
		sleep 2000;
		npctalk "Existing work routine will be repeated until further orders are issued.";
	}
	else {
		npctalk "Learning more breeding method.";
		sleep 3000;
		emotion ET_DELIGHT;
		sleep 2000;
		npctalk "I will actively increase the portion of experiments on improved product seeds that were to be discarded.";
	}
	sleep 5000;
	npctalk "Thank you, [" + 'admin$ + "] for responding to the evaluation.";
	sleep 5000;
	if ('talk_bool)
		npctalk "Automatic doll entering control mode to eradicate underground moles. Goodbye.";
	else
		npctalk "I'll move to the basement storage to check for new breeds.";
	progressbar_npc "3131FF",4;
	disablenpc();
	npctalk "CAROTA-88 shows a non-logical response to this evaluation. We will arrange for an inspection soon.", instance_npcname("#BMD000002");
	sleep 3000;
	if ('hidden_garden == 6)
		unitwalk 'guide_id,147,278, instance_npcname("#BMD000002") + "::OnEvent05";
	'npc_is_talking = false;
	end;

OnEvent00:
	npctalk "The project of CAROTA-88 is to grow crops here and protect them from outsiders. Why were you away?", instance_npcname("#BMD000002");
	unitwalk 'carota,137,272, instance_npcname("#carota") + "::OnEvent01";
	end;

OnEvent01:
	.@doll$ = instance_npcname("#BMD000002");
	sleep 5000;
	emotion ET_FRET;
	sleep 3000;
	npctalk "Currently, a human administrator is present here. I recommend changing the language code to the official language of humans.", .@doll$;
	sleep 3000;
	emotion ET_FRET;
	sleep 2000;
	progressbar_npc "3131FF",2;
	sleep 1000;
	specialeffect EF_FLOWERCAST;
	sleep 3000;
	npctalk "Management automatic doll irreasonable!! Very!! Forced recall during pursuit of 5 moles!!! The Turnips is ruined!!!";
	sleep 5000;
	npctalk "Haven't you updated your language pack yet? Regular updates are not mandatory, but its essential.", .@doll$;
	sleep 5000;
	npctalk "CAROTA-88 data storage capacity. Language expansion pack burden. If not important, I will return to original work.";
	sleep 5000;
	npctalk "Please wait CAROTA-88. Here is a administrator who can perform the on-site inspection.", .@doll$;
	sleep 5000;
	npctalk "Hasn't it been a long time since CAROTA-88 was last evaluated?", .@doll$;
	sleep 5000;
	npctalk "CAROTA-88 More than a million hours since last research evaluation. Failed to save more logs.";
	sleep 5000;
	npctalk "CAROTA-88. Don't you want a project evaluation? If we miss this administrator now, we don't know when we can get another project evaluation.", .@doll$;
	sleep 5000;
	npctalk "Agree with automatic doll [" + 'guide_name$ + "]. I want an immediate project assessment.";
	sleep 6000;
	npctalk "Then, open your control panel to [" + 'admin$ + "]. CAROTA-88.", .@doll$;
	progressbar_npc "3131FF",2;
	sleep 1000;
	specialeffect EF_FLOWERCAST;
	sleep 2000;
	npctalk "Automatic doll CAROTA-88 control panel opened. Waiting for input...";
	'hidden_garden = 6;
	specialeffect EF_MARKING_USE_CHANGEMONSTER;
	end;

OnAction:
	npcspeed 200;
	switch( 'action ) {
		case 0: .@x = 138; .@y = 266; .@event$ = "OnAction"; break;
		case 1: .@x = 139; .@y = 272; .@event$ = "OnAction"; break;
		case 2: .@x = 135; .@y = 270; .@event$ = "OnAction"; .@effect = true; break;
		case 3: .@x = 140; .@y = 270; .@event$ = "OnAction"; .@effect = true; break;
		case 4: .@x = 135; .@y = 270; .@event$ = "OnAction"; .@effect = true; break;
		case 5: .@x = 138; .@y = 266; .@event$ = "OnAction"; .@effect = true; break;
		case 6: .@x = 140; .@y = 267; .@event$ = "OnAction"; .@effect = true; break;
		case 7: .@x = 139; .@y = 266; .@event$ = "OnAction"; break;
		case 8: .@x = 135; .@y = 267; .@event$ = "OnAction"; .@effect = true; break;
		case 9: .@x = 139; .@y = 271; .@event$ = "OnAction"; .@transform = true; break;
		case 10: .@x = 134; .@y = 272; .@event$ = "OnAction"; break;
		case 11: .@x = 136; .@y = 270; .@event$ = "OnAction"; break;
		case 12: .@x = 134; .@y = 271; .@event$ = "OnAction"; break;
		case 13: .@x = 134; .@y = 267; .@event$ = "OnEvent00"; break;
	}
	'action += 1;
	if (.@effect)
		specialeffect EF_METEORSTORM;
	unitwalk 'carota,.@x,.@y, instance_npcname("#carota")+ "::" + .@event$;
	if (.@transform)
		setnpcdisplay instance_npcname("#carota"),3153;	// EXCAVATOR_ROBOT
	end;

OnTouch:
	if ('hidden_garden == 6) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		specialeffect EF_MARKING_USE_CHANGEMONSTER;
		end;
	}
	end;
}


1@herbs,250,280,4	script(DISABLED)	#BMD000003	MD_ASSISTANT,3,3,{
	if ('hidden_garden == 7) {
		'hidden_garden = 8;
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		npcspeed 200;
		'guide_id = getnpcid(0, instance_npcname("#BMD000003"));
		npctalk "This section is where we study a plant called Pumpkin.";
		unitwalk 'guide_id,253,277, instance_npcname("#BMD000003") + "::OnEvent01";
		end;
	}
	end;

OnEvent01:
	unitwalk 'guide_id,253,265, instance_npcname("#BMD000003") + "::OnEvent02";
	end;

OnEvent02:
	unitwalk 'guide_id,251,265, instance_npcname("#BMD000003") + "::OnEvent03";
	end;

OnEvent03:
	npctalk "The one in charge of this place is pimp25. An automatic doll modeled after a create from this world.";
	specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#pimp25");
	'hidden_garden = 9;
	end;

OnEvent04:
	unitwalk 'guide_id,254,254, instance_npcname("#BMD000003") + "::OnEvent05";
	end;

OnEvent05:
	unitwalk 'guide_id,251,251, instance_npcname("#BMD000003") + "::OnEvent06";
	end;

OnEvent06:
	unitwalk 'guide_id,239,251, instance_npcname("#BMD000003") + "::OnEvent07";
	end;

OnEvent07:
	npctalk "Let's move on.";
	enablenpc instance_npcname("#BMD000004");
	for ( .@i = 1; .@i < 4; ++.@i ) {
		enablenpc instance_npcname("#swat_" + .@i);
		hideonnpc instance_npcname("#swat_" + .@i);
	}
	sleep 5000;
	instance_warpall 'map_herbs$,206,288,instance_id();
	sleep 1000;
	removespecialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000004");
	specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000004");
	disablenpc();
	end;
OnTouch:
	if ('hidden_garden == 7) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		specialeffect EF_MARKING_USE_CHANGEMONSTER;
	}
	end;
}

1@herbs,249,268,6	script(DISABLED)	#pimp25	LITTLE_FATUM,3,3,{
	if ('pimp == 0) {
		'pimp = 1;
		npcstop;
	}
	if ('hidden_garden == 9) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		while (true) {
			switch( select( "Cancel.", "How long have you been in care of this place?", "Are they all farming here?" ) ) {
			case 1:
				end;
			case 2:
				break;
			case 3:
				npctalk "My work is to witness the birth and evolution of life! My research is not easy by any means!";
				continue;
			}
			break;
		}
		setpcblock PCBLOCK_NPC, true;
		npctalk "How long has it been since I got the orders of Varmundt?!";
		sleep2 5000;
		npctalk "Probably... about... More than a million hours have passed. Subsequent facility management was determined by self-made decision.";
		sleep2 5000;
		npctalk "Pimp. When you are reporting to the administrator, you must report the exact recorded time.", instance_npcname("#BMD000003");
		sleep2 3000;
		npctalk "Is that so? But Pimp can't afford to record more than a million hours. That's a waste of memory resources! Varmundt is angry!";
		sleep2 1000;
		setpcblock PCBLOCK_NPC, false;
		select("How is your research on Pumpkin farming?");
		setpcblock PCBLOCK_NPC, true;
		sleep2 1000;
		npctalk "Plants currently growing. Pumpkin has showed significant results in controlling sodium in human blood vessels.";
		sleep2 5000;
		npctalk "Pumpkin produced here is high in sugar and sufficient calories. It's very delicious according to humans. Nearby dogs and cats also eat it...";
		sleep2 1000;
		setpcblock PCBLOCK_NPC, false;
		select("Is it made of food?");
		setpcblock PCBLOCK_NPC, true;
		sleep2 1000;
		npctalk "I judged it to be a valued highly for various organisms. It's been continously produced, processed, and stored.";
		sleep2 5000;
		npctalk "The current annual output is about three tons. For long-term preservation, it's being stored in warehouses in 2~6 form of dried food .";
		sleep2 1000;
		setpcblock PCBLOCK_NPC, false;
		select("Did you decide all those methods?");
		setpcblock PCBLOCK_NPC, true;
		sleep2 1000;
		npctalk "Pimp has no will to make his own decisions! Only Master Varmundt knows.";
		sleep2 1000;
		setpcblock PCBLOCK_NPC, false;
		select("Is there someone who decided for your research?");
		setpcblock PCBLOCK_NPC, true;
		sleep2 1000;
		npctalk "I asked Varmundt what to do several times, but there was no answer.";
		sleep2 5000;
		npctalk "As there was no orders from the master, Pimp started looking for a place where research could be useful.";
		sleep2 1000;
		setpcblock PCBLOCK_NPC, false;
		select("Have you found it?");
		setpcblock PCBLOCK_NPC, true;
		sleep2 1000;
		npctalk "The maintenance of this mansion costs money. It costs a lot!";
		sleep2 3000;
		npctalk "The dried pumpkins in the warehouses are preserve food for the adventurers and are sold around the continent. Sales becomes money source.";
		sleep2 5000;
		npctalk "Money can protect the mansion. Pimp will protect this place! That's I'm working hard to raise pumpkins!";
		sleep2 1000;
		setpcblock PCBLOCK_NPC, false;
		select("I'm surprised you decided that far on your own.");
		setpcblock PCBLOCK_NPC, true;
		sleep2 1000;
		npctalk "I made a decision? I've never had such inference.";
		sleep2 3000;
		npctalk "......";
		sleep2 2000;
		npctalk "[Calculating]";
		progressbar_npc "3131FF",3;
		'hidden_garden = 10;
		setpcblock PCBLOCK_NPC, false;
		npctalk "You confused me! Pimp shall perform the only given task. Don't talk to me anymore administrator.";
		sleep 5000;
		npctalk "Are you done talking? The conversation here is recorded as evaluation data. Let's head to the next section.", instance_npcname("#BMD000003");
		unitwalk 'guide_id,254,261, instance_npcname("#BMD000003") + "::OnEvent04";
		end;
	}
	if ('hidden_garden > 9)
		npctalk "Get out of here!";
	end;

OnWalk:
	npcspeed 150;
	while ('pimp == 0) {
		switch( 'walk ) {
			case 0: .@x = 249; .@y = 268; 'walk = 1; break;
			case 1: .@x = 249; .@y = 259; 'walk = 2; break;
			case 2: .@x = 240; .@y = 259; 'walk = 3; break;
			case 3: .@x = 240; .@y = 268; 'walk = 0; break;
		}
		npcwalkto .@x,.@y;
		sleep 1500;
	}
	end;

OnTouch:
	if ('hidden_garden == 9) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		specialeffect EF_MARKING_USE_CHANGEMONSTER;
	}
	end;
}


1@herbs,201,287,4	script(DISABLED)	#BMD000004	MD_ASSISTANT,3,3,{
	if ('hidden_garden == 10) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		mes "[" + 'guide_name$ + "]";
		mes "This section is managed by three automatic dolls. Shall we continue with the guide?";
		next;
		if (select( "Cancel.", "Let's continue." ) == 1) {
			mes "[" + 'guide_name$ + "]";
			mes "I'll wait until further instructions are given.";
			close;
		}
		if ('hidden_garden == 10) {
			'hidden_garden = 11;
			npcspeed 200;
			'guide_id = getnpcid(0, instance_npcname("#BMD000004"));
			npctalk "I don't know what this place is for because it's not accessible to my authority level.";
			unitwalk 'guide_id,201,285, instance_npcname("#BMD000004") + "::OnEvent01";
		}
		end;
	}
	if ('hidden_garden == 12) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		mes "[" + 'guide_name$ + "]";
		mes "Can I help you with anything?";
		next;
		if (select( "Cancel.", "What are those automatic dolls?" ) == 1) {
			mes "[" + 'guide_name$ + "]";
			mes "Entering standby mode.";
			close;
		}
		mes "[" + 'guide_name$ + "]";
		mes "Automatic dolls are classified according to their usage.";
		next;
		mes "[" + 'guide_name$ + "]";
		mes "The unit that attacked [" + 'admin$ + "] is the initial version of Class 4 combat-type automatic dolls. It's combat strength is equivalent to 20 adult humans.";
		next;
		mes "[" + 'guide_name$ + "]";
		mes "I've delivered the information to the Manager ^0000CDSigma^000000, because the results were unexpected. The temporary administrator's combat capability is not of an average human.";
		next;
		select("Who's that??");
		mes "[" + 'guide_name$ + "]";
		mes "It's one of the three most privileged control systems in this mansion.";
		close2;
		while(true) {
			if (.@talk && .@talk2)
				.@question$ = "^FF0000Is the security area near here?^000000";
			switch( select( "Is the garden a security area?", "What's the real purpose of the garden", .@question$, .@teleport$ ) ) {
			case 1:
				setpcblock PCBLOCK_NPC, true;
				sleep2 1000;
				npctalk "The flower garden is the border between the security area and the general area.";
				sleep2 5000;
				npctalk "It is classified as a security zone to those who have enough authority.";
				sleep2 3000;
				.@talk = 1;
				break;
			case 2:
				setpcblock PCBLOCK_NPC, true;
				sleep2 1000;
				npctalk "Please understand that this is a buffer zone designed to protect areas that should not be seen by outsiders.";
				sleep2 5000;
				npctalk "Access to any additional information beyond this is prohibited at my authority level.";
				sleep2 3000;
				.@talk2 = 1;
				break;
			case 3:
				setpcblock PCBLOCK_NPC, true;
				sleep2 1000;
				npctalk "--- Operating ---";
				progressbar_npc "3131FF",3;
				npctalk "[Warning] This information is close to the limit of the current authority.";
				sleep2 5000;
				npctalk "Security zones is very close to the current coordinates.";
				sleep2 3000;
				.@teleport$ = "^FF11FFGuide me to the security area.^000000";
				break;
			case 4:
				setpcblock PCBLOCK_NPC, true;
				npctalk "--- Operating ---";
				progressbar_npc "3131FF",3;
				npctalk "[Warning] This is a request is exceeds my authority level.";
				sleep2 5000;
				npctalk "Your request has been rejected due to a low authority level for the administrator [" + 'admin$ + "].";
				setpcblock PCBLOCK_NPC, false;
				sleep 5000;
				mapannounce 'map_herbs$, "??? : The automatic dolls' response to you is very fresh. Strange visitor.", bc_map, 0xF6D6B6;
				sleep 5000;
				mapannounce 'map_herbs$, "??? : Will you escort him to the secure area? BMD000001. No, I mean automatic doll, [" + 'guide_name$ + "].", bc_map, 0xF6D6B6;
				sleep 5000;
				npctalk "The biological wavelength of this voice...";
				sleep 3000;
				mapannounce 'map_herbs$, "It's convenient that I don't have to tell me who I am. Anyway, are you sure you're going to be able to tell me what happened earlier?", bc_map, 0xF6D6B6;
				sleep 5000;
				npctalk "You mean the security area? But it's not possible with my authority level.";
				sleep 3000;
				mapannounce 'map_herbs$, "That's already been taken care of. [" + 'guide_name$ + "], Guide the visitor to this place.", bc_map, 0xF6D6B6;
				sleep 5000;
				npctalk "This is the first time since I was created. That an exception has occurred, we will modify some of the procedures in regards to that.";
				sleep 5000;
				if ('hidden_garden == 12) {
					'hidden_garden = 13;
					npctalk "I'll take you to the security area.";
					unitwalk 'guide_id,196,275, instance_npcname("#BMD000004") + "::OnEvent08";
				}
				end;
			}
			setpcblock PCBLOCK_NPC, false;
		}
	}
	end;

OnEvent:
	npctalk "[Searching the coordinates of the automatic doll in the area.]";
	progressbar_npc "3131FF",2;
	mapannounce 'map_herbs$, "??? : Unauthorized outsider intrusion detection. Code Category 063. Entering the identification process.", bc_map, 0xFF44FF;
	sleep 5000;
	npctalk "It looks like the automatic dolls are back. I don't think it's friendly to the administrator.";
	sleep 5000;
	specialeffect EF_FIREPILLARON2, AREA, instance_npcname("#swat_1");
	sleep 500;
	specialeffect EF_FIREPILLARON2, AREA, instance_npcname("#swat_2");
	sleep 500;
	specialeffect EF_FIREPILLARON2, AREA, instance_npcname("#swat_3");
	hideoffnpc instance_npcname("#swat_1");
	hideoffnpc instance_npcname("#swat_2");
	hideoffnpc instance_npcname("#swat_3");
	setnpcdisplay instance_npcname("#swat_1"),1739;	// G_ALICEL
	setnpcdisplay instance_npcname("#swat_2"),1739;
	setnpcdisplay instance_npcname("#swat_3"),1739;
	sleep 2000;
	npctalk "Facial biometrics. Comparing to list of administrators registered in database.", instance_npcname("#swat_3");
	sleep 2000;
	npctalk "---- No match ----", instance_npcname("#swat_1");
	sleep 500;
	npctalk "---- No match ----", instance_npcname("#swat_2");
	sleep 500;
	npctalk "---- No match ----", instance_npcname("#swat_3");
	sleep 2000;
	npctalk "Suppress unauthorized outsider.", instance_npcname("#swat_1");
	sleep 500;
	npctalk "---- Combat Mode ----", instance_npcname("#swat_2");
	sleep 500;
	npctalk "---- Combat Mode ----", instance_npcname("#swat_3");
	sleep 500;
	for ( .@i = 1; .@i < 4; ++.@i )
		donpcevent instance_npcname("#swat_" + .@i) + "::OnSummon";
	end;

OnEvent2:
	npctalk "Let's move to the warp point. Please stay near me.";
	enablenpc instance_npcname("#BMD000005");
	enablenpc instance_npcname("#sigma");
	enablenpc instance_npcname("#omega");
	enablenpc instance_npcname("#kappa");
	enablenpc instance_npcname("#barmund");

	hideonnpc instance_npcname("#omega");
	hideonnpc instance_npcname("#kappa");
	hideonnpc instance_npcname("#barmund");
	for ( .@i = 1; .@i < 4; ++.@i ) {
		enablenpc instance_npcname("#eff_npc" + .@i);
		hideonnpc instance_npcname("#eff_npc" + .@i);
	}
	sleep 5000;
	instance_warpall 'map_herbs$,85,106,instance_id();
	sleep 1000;
	removespecialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000005");
	specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000005");
	disablenpc();
	end;

OnEvent01:
	npcspeed 200;
	unitwalk 'guide_id,201,281, instance_npcname("#BMD000004") + "::OnEvent02";
	end;

OnEvent02:
	unitwalk 'guide_id,194,281, instance_npcname("#BMD000004") + "::OnEvent03";
	end;

OnEvent03:
	npctalk "However, since there are 3 automatic dolls managing, I can tell that this place has an important purpose.";
	unitwalk 'guide_id,196,279, instance_npcname("#BMD000004") + "::OnEvent04";
	end;

OnEvent04:
	unitwalk 'guide_id,196,265, instance_npcname("#BMD000004") + "::OnEvent05";
	end;

OnEvent05:
	unitwalk 'guide_id,201,265, instance_npcname("#BMD000004") + "::OnEvent06";
	end;

OnEvent06:
	sleep 5000;
	npctalk "That's weird. The automatic dolls here would be dormant when nothing special happening, but they're not visible.";
	unitwalk 'guide_id,196,265, instance_npcname("#BMD000004") + "::OnEvent07";
	end;

OnEvent07:
	unitwalk 'guide_id,195,276, instance_npcname("#BMD000004") + "::OnEvent";
	end;

OnEvent08:
	unitwalk 'guide_id,196,265, instance_npcname("#BMD000004") + "::OnEvent09";
	end;

OnEvent09:
	unitwalk 'guide_id,203,265, instance_npcname("#BMD000004") + "::OnEvent10";
	end;

OnEvent10:
	unitwalk 'guide_id,202,264, instance_npcname("#BMD000004") + "::OnEvent11";
	end;

OnEvent11:
	unitwalk 'guide_id,202,252, instance_npcname("#BMD000004") + "::OnEvent2";
	end;

OnTouch:
	if ('hidden_garden == 10) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		specialeffect EF_MARKING_USE_CHANGEMONSTER;
	}
	end;

OnGuardKill:
	'guard_count = 'guard_count + 1;
	if ('guard_count == 3) {
		sleep2 2000;
		npctalk "Are you not a human but a combat unit, [" + strcharinfo(0) + "]?";
		sleep2 3000;
		npctalk "[" + strcharinfo(0) + "], You're strong. It takes a lot of combat power to subdue three class 4 combat-type automatic dolls at the same time.";
		'hidden_garden = 12;
		specialeffect EF_MARKING_USE_CHANGEMONSTER;
	}
	end;
}


// 1@herbs,194,282,4	script	#swat_1	CLEAR_NPC,3,3,{	// unknown effects
1@herbs,194,282,4	script(DISABLED)	#swat_1	CLEAR_NPC,{
	end;
OnSummon:
	npcspeed 150;
	.@id = atoi(replacestr(strnpcinfo(2), "swat_", ""));
	switch( .@id ) {
		case 1: .@x = 194; .@y = 279; break;
		case 2: .@x = 194; .@y = 273; break;
		case 3: .@x = 191; .@y = 276; break;
	}
	unitwalk getnpcid(0),.@x,.@y, instance_npcname(strnpcinfo(0)) + "::OnSummon2";
	end;
OnSummon2:
	.@id = atoi(replacestr(strnpcinfo(2), "swat_", ""));
	switch( .@id ) {
		case 1: .@x = 194; .@y = 279; break;
		case 2: .@x = 194; .@y = 273; break;
		case 3: .@x = 191; .@y = 276; break;
	}
	disablenpc();
	monster 'map_herbs$,.@x,.@y,"Surveillance Doll",1739,1, instance_npcname("#BMD000004") + "::OnGuardKill";
	end;
}
1@herbs,194,270,7	duplicate(#swat_1)	#swat_2	CLEAR_NPC
1@herbs,188,276,5	duplicate(#swat_1)	#swat_3	CLEAR_NPC
// 1@herbs,194,270,7	duplicate(#swat_1)	#swat_2	CLEAR_NPC,3,3
// 1@herbs,188,276,5	duplicate(#swat_1)	#swat_3	CLEAR_NPC,3,3


1@herbs,85,101,4	script(DISABLED)	#BMD000005	MD_ASSISTANT,3,3,{
	if ('hidden_garden == 13) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		'hidden_garden = 14;
		'guide_id = getnpcid(0, instance_npcname("#BMD000005"));
		npcspeed 200;
		npctalk "It's my first time here, this is where Sigma's body resides. Usually, communication is done only through the network.";
		unitwalk 'guide_id,85,91, instance_npcname("#BMD000005") + "::OnEvent01";
	}
	end;

OnEvent01:
	unitwalk 'guide_id,85,71, instance_npcname("#BMD000005") + "::OnEvent02";
	end;

OnEvent02:
	unitwalk 'guide_id,85,62, instance_npcname("#BMD000005") + "::OnEvent03";
	specialeffect EF_WHITEBODY, AREA, instance_npcname("#sigma");
	specialeffect EF_MOONSTAR, AREA, instance_npcname("#sigma");
	end;

OnEvent03:
	npctalk "Sigma. I have brought [" + 'admin$ + "].";
	sleep 3000;
	npctalk "Well done. You may go now.", instance_npcname("#sigma");
	sleep 3000;
	npctalk "I'm not finished with my guide. Is it okay if I return like this?";
	sleep 3000;
	npctalk "Oh, I'll record the subsequent information for the next guide. You can go back at ease.", instance_npcname("#sigma");
	sleep 3000;
	npctalk "Okay. I will follow the instructions.";
	unitwalk 'guide_id,85,72, instance_npcname("#BMD000005") + "::OnEvent04";
	end;

OnEvent04:
	unitwalk 'guide_id,85,92, instance_npcname("#BMD000005") + "::OnEvent05";
	end;

OnEvent05:
	unitwalk 'guide_id,85,99, instance_npcname("#BMD000005") + "::OnEvent06";
	end;

OnEvent06:
	'hidden_garden = 15;
	disablenpc();
	specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#sigma");
	end;
OnTouch:
	if ('hidden_garden == 13) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		specialeffect EF_MARKING_USE_CHANGEMONSTER;
	}
	end;
}

1@herbs,85,56,8	script(DISABLED)	#sigma	4_M_BARMUND,4,4,{
	if ('npc_is_talking)
		end;
	specialeffect EF_WHITEBODY;
	specialeffect EF_MOONSTAR;
	if ('hidden_garden == 15) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		select("Varmundt? Why are you here?");
		setpcblock PCBLOCK_NPC, true;
		sleep2 1000;
		npctalk "Of course. You know the master Varmundt well. [" + strcharinfo(0) + "].";
		sleep2 5000;
		npctalk "Unfortunately, I'm not Varmundt. This appearance is something that I created because there is something that I want to check on you.";
		sleep2 3000;
		setpcblock PCBLOCK_NPC, false;
		select("Then, who are you?");
		setpcblock PCBLOCK_NPC, false;
		donpcevent instance_npcname("#sigma") + "::OnTalk01";
		end;
	}
	if ('hidden_garden == 17) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		npctalk "Can you answer me? Have you met Varmundt before?";
		setpcblock PCBLOCK_NPC, true;
		sleep2 3000;
		setpcblock PCBLOCK_NPC, false;
		switch( select( "I don't really remember.", "We've met at Glastheim.", "I met him trying to save the world." ) ) {
		case 1:
			npctalk "Oh, that's possible. He might have made you forget what you saw...";
			break;
		case 2:
			npctalk "Was it on that place again...";
			break;
		case 3:
			npctalk "As expected, he was doing something important...";
			break;
		}
		donpcevent instance_npcname("#sigma") + "::OnTalk02";
		end;
	}
	if ('hidden_garden == 18) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		npctalk "Can you go tell them that Varmundt is alive?";
		setpcblock PCBLOCK_NPC, true;
		sleep2 2000;
		setpcblock PCBLOCK_NPC, false;
		select("What difference would it make?");
		setpcblock PCBLOCK_NPC, true;
		sleep2 1000;
		npctalk "They're trying to close this research area. I'm still against it, but the resource is starting to hit the limit.";
		sleep2 5000;
		npctalk "But once they find out Varmundt is alive, they won't be able to shut this place down.";
		sleep2 5000;
		specialeffect EF_WHITEBODY;
		specialeffect EF_MOONSTAR;
		npctalk "This all happened because Kappa and Lambda were on different task.";
		sleep2 2000;
		setpcblock PCBLOCK_NPC, false;
		select("What's the difference between your tasks?");
		if ('hidden_garden == 18) {
			'hidden_garden = 19;
			sleep2 2000;
			npctalk "It will be better to show you that personally.";
			unitwalk 'guide_id,83,113, instance_npcname("#sigma") + "::OnEvent08";
		}
		end;
	}
	if ('hidden_garden == 20) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		specialeffect EF_WHITEBODY;
		specialeffect EF_MOONSTAR;
		select( "Did you make the automatons outside?" );
		donpcevent instance_npcname("#sigma") + "::OnTalk03";
		end;
	}
	if ('hidden_garden == 21) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		specialeffect EF_WHITEBODY;
		specialeffect EF_MOONSTAR;
		select( "Have requested an evaluation." );
		donpcevent instance_npcname("#sigma") + "::OnTalk04";
		end;
	}
	if ('hidden_garden == 22) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		npctalk "All right, let's take a break. Ask me if you have any questions. I'll answer everything I can.";
		while (true) {
			specialeffect EF_WHITEBODY;
			specialeffect EF_MOONSTAR;
			setpcblock PCBLOCK_NPC, true;
			sleep2 2000;
			setpcblock PCBLOCK_NPC, false;
			switch( select( "Why does the flower garden exist?", .@menu$[0], .@menu$[1], .@menu$[2] ) ) {
			case 1:
				setpcblock PCBLOCK_NPC, true;
				npctalk "This security area was not supposed to be revealed to the world. So I planned a number of ways to cover it up.";
				sleep2 5000;
				npctalk "In order to hide and conceal this place, we decided to disguise it as an extremely normal and peaceful place.";
				sleep2 5000;
				npctalk "So it became the garden around the security area. Doesn't it look like a normal garden?";
				sleep2 3000;
				.@menu$[0] = "Why are the automatic dolls farming?";
				break;
			case 2:
				setpcblock PCBLOCK_NPC, true;
				npctalk "I've never asked them to farm. We just threw things away and watched how AI reacted.";
				sleep2 5000;
				npctalk "Only the ones who started farming stood out in the garden.";
				sleep2 5000;
				npctalk "I wish I could show Varmundt the process of self-learning automatic doll that can be left unattended without instructions...";
				sleep2 3000;
				.@menu$[1] = "What's your relationship with Alpha?";
				break;
			case 3:
				setpcblock PCBLOCK_NPC, true;
				npctalk "She has evolved from an early version of the Varmundt's management doll.";
				sleep2 5000;
				npctalk "Master Varmundt valued her emotional aesthetic so highly that he gave her the task to manage the mansion, not the research facility here.";
				sleep2 5000;
				npctalk "With the aesthetic sensibility that we don't have, she upgraded the appearance of every automatic doll that managed the mansion to look like herself.";
				sleep2 5000;
				npctalk "However, she recognizes that this security area was created according to Varmundt's personal taste.";
				sleep2 5000;
				npctalk "So she doesn't approach this place. Maybe they're taking it as some sort of sanctuary...";
				sleep2 3000;
				.@menu$[2] = "How were you born?";
				break;
			case 4:
				if ('hidden_garden == 22)
					'hidden_garden = 23;
				donpcevent instance_npcname("#sigma") + "::OnEvent";
				end;
			}
		}
	}
	if ('hidden_garden == 24) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		if (isbegin_quest(12497) == 0) {
			if (checkweight(1000103,20) == 0) {	// (custom)
				mes "^008800Wait a sec!!";
				mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
				close;
			}
			select("Who was that?");
			mes "[Sigma]";
			mes "Lambda. She developed intellectually and began to perceive herself as a woman.";
			next;
			mes "[Sigma]";
			mes "It's a big problem, she's about to make a leap here.";
			next;
			mes "[Sigma]";
			mes "Take this. A recognition code that could lead to other areas of this secret garden.";
			close2;
			setquest 12497;
			completequest 12497;
			getitem 1000103,20;
			specialeffect EF_MARKING_USE_CHANGEMONSTER;
			end;
		}
		mes "[Sigma]";
		mes "There's an approximately 82% chance you'll lose your life in her radical suppression before we let her know that Master Varmundt is alive.";
		next;
		mes "[Sigma]";
		mes "Let's avoid this place today and make a promise next time to come again. Next time you'll be free to go to another area.";
		next;
		mes "[Sigma]";
		mes "Hold me tight. I'll warp you out.";
		close2;
		warp "ba_maison",136,309;
		end;
	}
	end;

OnTalk01:
	'npc_is_talking = true;
	sleep 1000;
	npctalk "I am one of the holographic device type AI that is designed to learn Varmundt's personality.";
	sleep 5000;
	npctalk "Please understand if my tone is not like a machine. Varmundt was the only one who talked to me...";
	sleep 6000;
	setnpcdisplay instance_npcname("#sigma"),20621;	// MD_REDPEPPER_H
	npctalk "Now I'm going back to my original self. It's easier to maintain the original form.";
	sleep 4000;
	npctalk "Oh. This is an early form that was called Red Pepper by Varmundt. I'm optimized for auxiliary work.";
	sleep 2000;
	if ('hidden_garden == 15) {
		'hidden_garden = 16;
		'guide_id = getnpcid(0, instance_npcname("#sigma"));
		npcspeed 200;
		unitwalk 'guide_id,85,75, instance_npcname("#sigma") + "::OnEvent01";
	}
	'npc_is_talking = false;
	end;

OnTalk02:
	'npc_is_talking = true;
	sleep 3000;
	npctalk "Anyway, it's important that the automatic dolls here reacted to you.";
	sleep 6000;
	specialeffect EF_WHITEBODY;
	specialeffect EF_MOONSTAR;
	npctalk "Now, let's get down to business. I need your help.";
	sleep 6000;
	npctalk "There are two more red peppers in this security area besides me, Kappa and Lambda.";
	sleep 6000;
	npctalk "In the absence of master Varmundt for a long time, this security area is subject to the cancellation and closure of research records under the agreement of three Red Peppers.";
	sleep 2000;
	if ('hidden_garden == 17)
		'hidden_garden = 18;
	specialeffect EF_MARKING_USE_CHANGEMONSTER;
	'npc_is_talking = false;
	end;

OnTalk03:
	'npc_is_talking = true;
	npctalk "Oh, it's true that Master Varmundt made the prototypes of the automatons. But they were just like me, with simple functions.";
	sleep 3000;
	npctalk "We overlaid our memories and remodeled them into humanoids in Master Varmundt's image";
	sleep 2000;
	npctalk "Occasionally some of them were remodeled into peculiar shapes for functional testing purposes.";
	sleep 2000;
	npctalk "Didn't the automatons from the garden ask you to evaluate the mission?";
	sleep 1500;
	specialeffect EF_MARKING_USE_CHANGEMONSTER;
	if ('hidden_garden == 20)
		'hidden_garden = 21;
	'npc_is_talking = false;
	end;

OnTalk04:
	'npc_is_talking = true;
	npctalk "So it was.";
	sleep 3000;
	npctalk "In the first place, most of the automatons in this security area have never seen Master Varmundt before.";
	sleep 2000;
	npctalk "The memories they have of Master Varmundt are fabricated from my memories of my time as his assistant.";
	sleep 3000;
	npctalk "An entity heavily influenced by Kappa's intellect, who focuses on managing the mansion's running funds, is very calculating and obsessed with making money.";
	sleep 2500;
	npctalk "Children affected by Lambda's memories tend to be warlike towards outsiders. They trust no one but Master Varmundt.";
	sleep 2500;
	npctalk "This is how they tend to be, so I'd like you to refer to them before you meet them.";
	sleep 1500;
	specialeffect EF_MARKING_USE_CHANGEMONSTER;
	if ('hidden_garden == 21)
		'hidden_garden = 22;
	'npc_is_talking = false;
	end;

OnEvent:
	specialeffect EF_WHITEBODY;
	specialeffect EF_MOONSTAR;
	mapannounce 'map_herbs$, "??? : You're a good talker, Sigma. Do you want to be initialized right now?", bc_map, 0xFF4444;
	sleep 5000;
	npctalk "Oh... she must have been observing you too.";
	sleep 5000;
	mapannounce 'map_herbs$, "??? : It's not enough to have outsiders in the garden, but to even leak information. I can't overlook it.", bc_map, 0xFF4444;
	sleep 5000;
	mapannounce 'map_herbs$, "??? : With the authority of the Red Pepper, we will warp the whole research area. I'll take responsibility after that.", bc_map, 0xFF4444;
	'hidden_garden = 24;
	specialeffect EF_MARKING_USE_CHANGEMONSTER;
	end;

OnEvent01:
	npctalk "This place is restricted unless you have the same pattern as Varmundt's mana. I was surprised to hear that an outsider is inside the garden.";
	unitwalk 'guide_id,73,87, instance_npcname("#sigma") + "::OnEvent02";
	end;

OnEvent02:
	npctalk "I even speculated that Varmundt might have return here after hundreds of years in disguise.";
	unitwalk 'guide_id,62,98, instance_npcname("#sigma") + "::OnEvent03";
	end;

OnEvent03:
	unitwalk 'guide_id,55,98, instance_npcname("#sigma") + "::OnEvent04";
	end;

OnEvent04:
	specialeffect EF_WHITEBODY;
	specialeffect EF_MOONSTAR;
	sleep 1500;
	donpcevent instance_npcname("#sigma") + "::OnEffect";
	sleep 500;
	npctalk "Let's touch this for a moment and talk. I need to be fussed a little...";
	sleep 5000;
	npctalk "You're face is new to me. Then I realized, maybe this person met with Varmundt in some place before.";
	sleep 7000;
	npctalk "It's not just once or twice, but if you've met Varmundt over and over for quite some time, it's understandable that the automatic dolls gets mistaken.";
	sleep 6000;
	npctalk "So I kept watching you.";
	unitwalk 'guide_id,65,98, instance_npcname("#sigma") + "::OnEvent05";
	end;

OnEvent05:
	npctalk "There's been a series of references of Varmundt in this security area, and yet you never asked who he was.";
	unitwalk 'guide_id,64,110, instance_npcname("#sigma") + "::OnEvent06";
	end;

OnEvent06:
	unitwalk 'guide_id,64,113, instance_npcname("#sigma") + "::OnEvent07";
	end;

OnEvent07:
	sleep 5000;
	npctalk "It seemed like you knew him for long time already, at least in my eyes.";
	'hidden_garden = 17;
	specialeffect EF_MARKING_USE_CHANGEMONSTER;
	end;

OnEvent08:
	specialeffect EF_WHITEBODY;
	specialeffect EF_MOONSTAR;
	npctalk "We were originally holographic device-based research support AI. I can't even exert any physical force.";
	sleep 5000;
	npctalk "We've been working on organizing and recording the process alongside with Varmundt's research.";
	sleep 5000;
	npctalk "As data accumulates up over time, the simple electronic signal developed into what you humans often call intelligence.";
	sleep 5000;
	npctalk "At some point we began to understand his research and we were able to predict what decisions he would make.";
	sleep 5000;
	npctalk "We felt something about the fact that improving our skills was helpful to him. It must have been a feeling of joy.";
	sleep 5000;
	npctalk "And one day he gave us orders.";
	sleep 3000;
	hideoffnpc instance_npcname("#omega");
	hideoffnpc instance_npcname("#kappa");
	hideoffnpc instance_npcname("#barmund");
	specialeffect EF_WHITEBODY, AREA, instance_npcname("#barmund");
	sleep 1000;
	npctalk "[Lambda, starting today, make sure you manage all security rights for the results of this secret lab.]", instance_npcname("#barmund");
	sleep 4000;
	npctalk "[Affirmative.]", instance_npcname("#omega");
	sleep 4000;
	npctalk "[Kappa, make sure you get sufficient support on your research. As long as finances are not at risk.]", instance_npcname("#barmund");
	sleep 4000;
	npctalk "[I'll perform the instruction.]", instance_npcname("#kappa");
	sleep 4000;
	npctalk "[And Sigma, starting today, you're going to continue my research on artificial intelligence.]", instance_npcname("#barmund");
	sleep 4000;
	npctalk "[I don't have that ability.]";
	sleep 4000;
	specialeffect EF_WHITEBODY;
	specialeffect EF_MOONSTAR;
	specialeffect EF_WHITEBODY, AREA, instance_npcname("#barmund");
	npctalk "[You'll have to do it, Sigma. I have to go on a long journey from now on.]", instance_npcname("#barmund");
	sleep 4000;
	npctalk "[Are you coming back?]";
	sleep 4000;
	npctalk "[I don't know.]", instance_npcname("#barmund");
	sleep 4000;
	npctalk "[I am a simple research assistant machine. Why are you entrusting me with such a task.]";
	sleep 4000;
	npctalk "[This is because among the three of you, you were the fastest to resemble me.]", instance_npcname("#barmund");
	sleep 4000;
	npctalk "[My calculations shows that the probability of success is less than 2%. This is an impossible mission.]";
	sleep 4000;
	specialeffect EF_WHITEBODY;
	specialeffect EF_MOONSTAR;
	specialeffect EF_WHITEBODY, AREA, instance_npcname("#barmund");
	npctalk "[Well, you don't know that until you try, right?]", instance_npcname("#barmund");
	sleep 4000;
	npctalk "[I'm looking forward to your research while I'm away. I wish I could see again you someday.]", instance_npcname("#barmund");
	sleep 4000;
	npctalk "[Kappa and Lambda, assist Sigma on the research.]", instance_npcname("#barmund");
	sleep 4000;
	npctalk "[Affirmative.]", instance_npcname("#omega");
	npctalk "[I'll perform the instruction.]", instance_npcname("#kappa");
	specialeffect EF_BIG_PORTAL2, AREA, instance_npcname("#barmund");
	sleep 1000;
	disablenpc instance_npcname("#barmund");
	sleep 3000;
	npctalk "Since then, we've started using the facilities here to make automatic dolls that can learn human traits.";
	unitwalk 'guide_id,90,113, instance_npcname("#sigma") + "::OnEvent09";
	end;

OnEvent09:
	specialeffect EF_WHITEBODY;
	specialeffect EF_MOONSTAR;
	disablenpc instance_npcname("#omega");
	disablenpc instance_npcname("#kappa");
	unitwalk 'guide_id,107,113, instance_npcname("#sigma") + "::OnEvent10";
	end;

OnEvent10:
	npctalk "After about 300,000 hours, the accumulated knowledge reached the stage of forming a virtual personality.";
	unitwalk 'guide_id,107,94, instance_npcname("#sigma") + "::OnEvent11";
	end;


OnEvent11:
	npctalk "Since then, intelligence has risen exponentially.";
	unitwalk 'guide_id,97,84, instance_npcname("#sigma") + "::OnEvent12";
	end;

OnEvent12:
	npctalk "Since then, we've started renovating existing automatic dolls to learn about human personalities using the facilities here.";
	unitwalk 'guide_id,86,73, instance_npcname("#sigma") + "::OnEvent13";
	end;

OnEvent13:
	specialeffect EF_WHITEBODY;
	specialeffect EF_MOONSTAR;
	npctalk "The children created from this time are the children outside the garden you saw.";
	sleep 1000;
	specialeffect EF_MARKING_USE_CHANGEMONSTER;
	'hidden_garden = 20;
	end;

OnTouch:
	if ('hidden_garden == 15 || 'hidden_garden == 17) {
		removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
		specialeffect EF_MARKING_USE_CHANGEMONSTER;
	}
	end;

OnEffect:
	while ('hidden_garden < 17) {
		specialeffect EF_HITLINE2, AREA, instance_npcname("#eff_npc" + rand(1,3));
		sleep 500;
	}
	for ( .@i = 1; .@i < 4; ++.@i )
		disablenpc instance_npcname("#eff_npc" + .@i);
	end;
}

1@herbs,53,97,3	duplicate(dummy_disabled_npc)	#eff_npc1	CLEAR_NPC
1@herbs,53,98,3	duplicate(dummy_disabled_npc)	#eff_npc2	CLEAR_NPC
1@herbs,53,99,3	duplicate(dummy_disabled_npc)	#eff_npc3	CLEAR_NPC

// unknown ontouch effect
1@herbs,82,112,6	duplicate(dummy_disabled_npc)	#omega	MD_REDPEPPER_H,4,4
1@herbs,82,114,6	duplicate(dummy_disabled_npc)	#kappa	MD_REDPEPPER,4,4
1@herbs,90,113,3	duplicate(dummy_disabled_npc)	#barmund	4_M_BARMUND,4,4



// Daily
// (trigger normal mode)
1@herbs,45,208,0	script	#n_start	HIDDEN_WARP_NPC,3,3,{
	end;
OnTouch:
	if (!is_party_leader())
		end;
	disablenpc();
	disablenpc instance_npcname("#h_start");
	disablenpc instance_npcname("#BMD000001");
	disablenpc instance_npcname("#mc_device");
	enablenpc instance_npcname("#BMD_a");

	'guide_id = getnpcid(0, instance_npcname("#BMD_a"));
	'admin$ = strcharinfo(0);
	'mode = 0;

	unitwalk 'guide_id,53,196, instance_npcname("#BMD_a") + "::OnEvent01";
	end;
}

// (trigger hard mode)
1@herbs,59,214,0	script	#h_start	HIDDEN_WARP_NPC,3,3,{
	end;
OnTouch:
	if (!is_party_leader())
		end;
	disablenpc();
	disablenpc instance_npcname("#n_start");
	disablenpc instance_npcname("#BMD000001");
	disablenpc instance_npcname("#mc_device");
	enablenpc instance_npcname("#BMD_a");

	'guide_id = getnpcid(0, instance_npcname("#BMD_a"));
	'admin$ = strcharinfo(0);
	'mode = 1;

	unitwalk 'guide_id,53,196, instance_npcname("#BMD_a") + "::OnEvent01";
	end;
}

1@herbs,62,196,8	script(DISABLED)	#BMD_a	MD_ASSISTANT,{
	end;
OnEvent01:
	npcspeed 200;
	unitwalk 'guide_id,53,207, instance_npcname("#BMD_a") + "::OnStart";
	end;
OnStart:
	npctalk "[" + 'admin$ + "]! Sigma asked me to deliver a message.";
	sleep 3000;
	npctalk "The current situation isn't good, I think it's better for you to go back...";
	sleep 3000;
	mapannounce 'map_herbs$, "Lambda : It's up to me to decide whether those outsiders go back or not.", bc_map, 0xFFFF44;
	sleep 3000;
	mapannounce 'map_herbs$, "Lambda : You've created a fatal threat to the security in this area. I will dispose of it in accordance with the automatic doll management policy.", bc_map, 0xFFFF44;
	specialeffect EF_THUNDERSTORM2;
	sleep 1000;
	specialeffect EF_M03;
	disablenpc();
	sleep 2000;
	mapannounce 'map_herbs$, "Lambda : Just in time, I want to get a confirmation from you.", bc_map, 0xFFFF44;
	sleep 5000;
	mapannounce 'map_herbs$, "Lambda : It's been a while since an outsider came into this security area, so I'd better say what the other automatic dolls told me.", bc_map, 0xFFFF44;
	sleep 5000;
	mapannounce 'map_herbs$, "Lambda : We need to use you to 'evaluate' our security system.", bc_map, 0xFFFF44;
	donpcevent instance_npcname("#172_sec_mob") + "::OnSummon";
	end;
}

1@herbs,1,1,0	script	#172_sec_mob	HIDDEN_WARP_NPC,{
	end;

OnSummon:
	.@event$ = instance_npcname("#172_sec_mob") + "::OnMobKill";

	switch( 'room ) {
	case 0:
		if ('mode == 0) {
			'total_mobs = 16;
			monster 'map_herbs$,77,197,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,51,196,"Flower Garden Watcher",20622,1, .@event$;
			sleep 100;
			monster 'map_herbs$,63,217,"Flower Garden Watcher",20622,1, .@event$;
			sleep 100;
			monster 'map_herbs$,81,195,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,61,217,"Flower Garden Watcher",20622,1, .@event$;
			sleep 100;
			monster 'map_herbs$,57,193,"Flower Garden Watcher",20622,1, .@event$;
			sleep 100;
			monster 'map_herbs$,56,191,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,59,193,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,59,192,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,60,222,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,58,191,"Flower Garden Watcher",20622,1, .@event$;
			sleep 100;
			monster 'map_herbs$,78,199,"Flower Garden Watcher",20622,1, .@event$;
			sleep 100;
			monster 'map_herbs$,54,192,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,79,195,"Flower Garden Watcher",20622,1, .@event$;
			sleep 100;
			monster 'map_herbs$,76,192,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,51,196,"Flower Garden Watcher",20624,1, .@event$;
		}
		else {
			'total_mobs = 16;
			monster 'map_herbs$,53,197,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,62,217,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,57,219,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,62,222,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,79,200,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,80,195,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,80,199,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,58,193,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,56,192,"Flower Garden Watcher",20625,1, .@event$;
			sleep 100;
			monster 'map_herbs$,51,191,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,51,192,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,83,199,"Flower Garden Watcher",20625,1, .@event$;
			monster 'map_herbs$,83,191,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,83,196,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,57,193,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,62,222,"Flower Garden Watcher",20623,1, .@event$;
		}
		break;
	case 1:
		if ('mode == 0) {
			'total_mobs = 21;
			monster 'map_herbs$,114,226,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,114,227,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,119,217,"Flower Garden Watcher",20624,1, .@event$;
			sleep 100;
			monster 'map_herbs$,118,227,"Flower Garden Watcher",20622,1, .@event$;
			sleep 100;
			monster 'map_herbs$,116,216,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,114,215,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,114,225,"Flower Garden Watcher",20622,1, .@event$;
			sleep 100;
			monster 'map_herbs$,114,224,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,139,205,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,140,202,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,145,202,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,136,202,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,142,208,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,144,203,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,170,223,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,174,220,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,168,221,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,169,221,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,169,217,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,118,216,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,117,233,"Flower Garden Watcher",20622,1, .@event$;
		}
		else {
			'total_mobs = 21;
			monster 'map_herbs$,137,204,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,142,205,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,145,200,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,146,201,"Flower Garden Watcher",20625,1, .@event$;
			sleep 100;
			monster 'map_herbs$,147,201,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,141,208,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,166,224,"Flower Garden Watcher",20625,1, .@event$;
			sleep 100;
			monster 'map_herbs$,171,217,"Flower Garden Watcher",20627,1, .@event$;
			sleep 100;
			monster 'map_herbs$,172,225,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,173,214,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,174,225,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,174,223,"Flower Garden Watcher",20627,1, .@event$;
			sleep 100;
			monster 'map_herbs$,170,213,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,169,219,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,136,205,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,136,210,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,120,224,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,118,223,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,117,219,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,115,214,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,115,233,"Flower Garden Watcher",20623,1, .@event$;
		}
		break;
	case 2:
		if ('mode == 0) {
			'total_mobs = 28;
			monster 'map_herbs$,213,205,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,202,214,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,202,213,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,210,212,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,211,207,"Flower Garden Watcher",20624,1, .@event$;
			sleep 100;
			monster 'map_herbs$,209,214,"Flower Garden Watcher",20624,1, .@event$;
			sleep 100;
			monster 'map_herbs$,203,212,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,218,194,"Flower Garden Watcher",20622,1, .@event$;
			sleep 100;
			monster 'map_herbs$,203,196,"Flower Garden Watcher",20622,1, .@event$;
			sleep 100;
			monster 'map_herbs$,204,193,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,215,201,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,204,193,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,205,213,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,218,208,"Flower Garden Watcher",20622,1, .@event$;
			sleep 100;
			monster 'map_herbs$,210,210,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,245,214,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,220,192,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,248,208,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,253,208,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,253,208,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,246,212,"Flower Garden Watcher",20624,1, .@event$;
			sleep 100;
			monster 'map_herbs$,251,210,"Flower Garden Watcher",20622,1, .@event$;
			sleep 100;
			monster 'map_herbs$,245,209,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,222,195,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,203,212,"Flower Garden Watcher",20624,1, .@event$;
			sleep 100;
			monster 'map_herbs$,208,213,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,219,192,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,245,209,"Flower Garden Watcher",20626,1, .@event$;
		}
		else {
			'total_mobs = 27;
			monster 'map_herbs$,207,194,"Flower Garden Watcher",20625,1, .@event$;
			monster 'map_herbs$,217,204,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,210,210,"Flower Garden Watcher",20627,1, .@event$;
			sleep 100;
			monster 'map_herbs$,218,195,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,211,209,"Flower Garden Watcher",20627,1, .@event$;
			sleep 100;
			monster 'map_herbs$,210,211,"Flower Garden Watcher",20625,1, .@event$;
			sleep 100;
			monster 'map_herbs$,207,194,"Flower Garden Watcher",20625,1, .@event$;
			sleep 100;
			monster 'map_herbs$,209,214,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,216,192,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,208,211,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,214,208,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,209,214,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,215,201,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,205,214,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,205,214,"Flower Garden Watcher",20625,1, .@event$;
			sleep 100;
			monster 'map_herbs$,220,207,"Flower Garden Watcher",20625,1, .@event$;
			sleep 100;
			monster 'map_herbs$,208,213,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,202,212,"Flower Garden Watcher",20623,1, .@event$;
			sleep 100;
			monster 'map_herbs$,202,193,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,206,214,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,245,212,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,247,209,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,249,210,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,249,214,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,249,214,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,250,210,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,252,208,"Flower Garden Watcher",20627,1, .@event$;
		}
		break;
	case 3:
		if ('mode == 0) {
			'total_mobs = 31;
			monster 'map_herbs$,291,210,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,306,215,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,284,234,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,307,232,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,283,238,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,298,237,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,282,233,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,303,240,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,296,249,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,302,239,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,292,217,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,298,262,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,297,212,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,299,262,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,308,216,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,301,238,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,285,210,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,283,228,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,294,252,"Flower Garden Watcher",20624,1, .@event$;
			sleep 100;
			monster 'map_herbs$,295,247,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,294,245,"Flower Garden Watcher",20624,1, .@event$;
			sleep 100;
			monster 'map_herbs$,281,232,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,287,219,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,302,239,"Flower Garden Watcher",20626,1, .@event$;
			sleep 100;
			monster 'map_herbs$,307,217,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,300,235,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,295,249,"Flower Garden Watcher",20624,1, .@event$;
			monster 'map_herbs$,284,231,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,297,259,"Flower Garden Watcher",20622,1, .@event$;
			monster 'map_herbs$,306,238,"Flower Garden Watcher",20626,1, .@event$;
			monster 'map_herbs$,310,215,"Flower Garden Watcher",20624,1, .@event$;
		}
		else {
			'total_mobs = 33;
			monster 'map_herbs$,307,239,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,297,257,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,284,236,"Flower Garden Watcher",20625,1, .@event$;
			monster 'map_herbs$,283,235,"Flower Garden Watcher",20625,1, .@event$;
			monster 'map_herbs$,304,240,"Flower Garden Watcher",20627,1, .@event$;
			sleep 100;
			monster 'map_herbs$,298,246,"Flower Garden Watcher",20625,1, .@event$;
			monster 'map_herbs$,305,224,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,310,225,"Flower Garden Watcher",20627,1, .@event$;
			sleep 100;
			monster 'map_herbs$,284,218,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,298,213,"Flower Garden Watcher",20625,1, .@event$;
			sleep 100;
			monster 'map_herbs$,308,224,"Flower Garden Watcher",20625,1, .@event$;
			monster 'map_herbs$,290,210,"Flower Garden Watcher",20625,1, .@event$;
			monster 'map_herbs$,310,224,"Flower Garden Watcher",20627,1, .@event$;
			sleep 100;
			monster 'map_herbs$,308,220,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,284,211,"Flower Garden Watcher",20625,1, .@event$;
			monster 'map_herbs$,284,218,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,282,231,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,281,231,"Flower Garden Watcher",20625,1, .@event$;
			monster 'map_herbs$,280,226,"Flower Garden Watcher",20625,1, .@event$;
			monster 'map_herbs$,285,210,"Flower Garden Watcher",20625,1, .@event$;
			sleep 100;
			monster 'map_herbs$,280,227,"Flower Garden Watcher",20623,1, .@event$;
			monster 'map_herbs$,285,234,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,283,236,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,284,233,"Flower Garden Watcher",20625,1, .@event$;
			sleep 100;
			monster 'map_herbs$,284,237,"Flower Garden Watcher",20625,1, .@event$;
			monster 'map_herbs$,284,239,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,293,246,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,300,247,"Flower Garden Watcher",20627,1, .@event$;
			sleep 100;
			monster 'map_herbs$,294,253,"Flower Garden Watcher",20627,1, .@event$;
			monster 'map_herbs$,302,240,"Flower Garden Watcher",20625,1, .@event$;
			monster 'map_herbs$,299,255,"Flower Garden Watcher",20625,1, .@event$;
			monster 'map_herbs$,295,256,"Flower Garden Watcher",20625,1, .@event$;
			sleep 100;
			monster 'map_herbs$,310,218,"Flower Garden Watcher",20623,1, .@event$;
		}
		break;
	default:
		end;
	}
	end;

OnMobKill:
	'total_mobs -= 1;
	if ('total_mobs == 0)
		donpcevent instance_npcname("#172_sec_mob") + "::OnEvent";
	end;

OnEvent:
	switch( 'room ) {
	case 0:
		mapannounce 'map_herbs$, "Lambda : I know for sure that our security is not very good.", bc_map, 0xFFFF44;
		sleep 3000;
		mapannounce 'map_herbs$, "Lambda : [" + 'admin$ + "], I want you to [check] the next area as well.", bc_map, 0xFFFF44;
		break;
	case 1:
		mapannounce 'map_herbs$, "Lambda : Your movements helped me a lot. [" + 'admin$ + "]", bc_map, 0xFFFF44;
		sleep 3000;
		mapannounce 'map_herbs$, "Lambda : Then, let us move on.", bc_map, 0xFFFF44;
		break;
	case 2:
		mapannounce 'map_herbs$, "Lambda : Sigma might be correct.", bc_map, 0xFFFF44;
		sleep 3000;
		mapannounce 'map_herbs$, "Lambda : [" + 'admin$ + "], and your party may have really met Varmundt before.", bc_map, 0xFFFF44;
		sleep 3000;
		mapannounce 'map_herbs$, "Lambda : But. Before I meet you, I need to test you one last time.", bc_map, 0xFFFF44;
		break;
	case 3:
		'room = 4;
		if ('mode == 0) {
			mapannounce 'map_herbs$, "Kappa : Well, you're just as strong as Lambda said. [" + 'admin$ + "]", bc_map, 0xFF55FF;
			sleep 3000;
			mapannounce 'map_herbs$, "Kappa : But I don't think you're not strong enough to meet Lambda yet, so I'll show you to my room.", bc_map, 0xFF55FF;
			enablenpc instance_npcname("#kappa_1");
		}
		else {
			mapannounce 'map_herbs$, "Lambda : Great. If you're this strong, you're worth talking to.", bc_map, 0xFFFF44;
			sleep 3000;
			mapannounce 'map_herbs$, "Lambda : I'll take you to my room.", bc_map, 0xFFFF44;
			enablenpc instance_npcname("#ramda_1");
		}
		sleep 3000;
		mapannounce 'map_herbs$, "The warp connecting the flower garden and the security area has activated.", bc_map, 0x33FF33;
		enablenpc instance_npcname("#wp_4");
		end;
	default:
		end;
	}
	sleep 3000;
	mapannounce 'map_herbs$, "The warp connecting the flower garden has activated.", bc_map, 0x33FF33;
	'room += 1;
	enablenpc instance_npcname("#wp_" + 'room);
	end;
}

1@herbs,80,196,0	script(DISABLED)	#wp_1	WARPNPC,3,3,{
	end;
OnTouch:
	.@id = atoi(replacestr(strnpcinfo(2), "wp_", ""));

	if ('spawn_mobs[.@id] == 0 && .@id < 4) {
		'spawn_mobs[.@id] = 1;
		donpcevent instance_npcname("#172_sec_mob") + "::OnSummon";
	}
	switch( .@id ) {
	case 1:
		.@x = 101;
		.@y = 233;
		break;
	case 2:
		.@x = 197;
		.@y = 200;
		break;
	case 3:
		.@x = 276;
		.@y = 213;
		break;
	case 4:	// (boss room)
		if ('mode == 0) {
			.@x = 151;
			.@y = 80;
		}
		else {
			.@x = 250;
			.@y = 80;
		}
		break;
	}
	warp 'map_herbs$,.@x,.@y;
	end;
}

1@herbs,174,229,0	duplicate(#wp_1)	#wp_2	WARPNPC,3,3
1@herbs,254,212,0	duplicate(#wp_1)	#wp_3	WARPNPC,3,3
1@herbs,297,264,0	duplicate(#wp_1)	#wp_4	WARPNPC,3,3

// (normal mode)
1@herbs,147,80,0	warp2(DISABLED)	#bs_wp1	3,3,1@herbs,94,79
// (hard mode)
1@herbs,240,80,0	warp2(DISABLED)	#bs_wp2	3,3,1@herbs,94,79


// (normal mode)
1@herbs,168,79,3	script(DISABLED)	#kappa_1	MD_REDPEPPER,4,4,{
	if (!is_party_leader())
		end;
	if ('room != 4)
		end;
	'room = 5;
	npctalk "Your party ruined 30% of the garden, it's going to cost a lot to repair it.";
	sleep 5000;
	npctalk "We'd like to believe that Master Varmundt is still alive, but that's not possible with the human life span.";
	sleep 5000;
	npctalk "Nevertheless, you have to defeat me and obtain administrative authority, if you want to prevent the closure of the research area.";
	sleep 5000;
	disablenpc();
	donpcevent instance_npcname("#172_sec_boss") + "::OnSummon";
	end;
}

// (hard mode)
1@herbs,275,80,3	script(DISABLED)	#ramda_1	MD_REDPEPPER_H,4,4,{
	if (!is_party_leader())
		end;
	if ('room != 4)
		end;
	'room = 5;
	npctalk "We clearly checked which part of the flower garden should be improved. Now what's left is to negotiate.";
	sleep 5000;
	npctalk "We'd like to believe that Master Varmundt is still alive, but that's not possible with the human life span.";
	sleep 5000;
	npctalk "Nevertheless, you have to defeat me and obtain administrative authority, if you want to prevent the closure of the research area.";
	sleep 5000;
	disablenpc();
	donpcevent instance_npcname("#172_sec_boss") + "::OnSummonHard";
	end;
OnTouch:	// unknown effect
	end;
}


1@herbs,85,77,8	script(DISABLED)	#sigma2	MD_REDPEPPER_H,{
	if (isbegin_quest(12500) > 0)
		.@qid = 12500;
	else if (isbegin_quest(12499) > 0)
		.@qid = 12499;

	if (checkquest(.@qid,HUNTING) == 2) {
		if (checkweight(1000103,6) == 0) {	// (custom text)
			mes "^008800Wait a sec!!";
			mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
			close;
		}
		mes "[Sigma]";
		mes "You did great making them surrender, but I don't think you were granted any administrator rights.";
		next;
		mes "[Sigma]";
		mes "Since they will recover after some time, I think you will need to continue fighting them until Master Varmundt returns.";
		next;
		mes "[Sigma]";
		mes "Oh.";
		mes "I brought some old items from the past. It might help you, so take it.";
		close2;
		erasequest .@qid;
		getitem 1000103,6;
		if (.@qid == 12500) {
			if (rand(1,100) < 95)
				getitem 1000104,rand(1,5);
			else
				getitem 100161,1;
		}
		end;
	}
	mes "[Sigma]";
	mes "I'll show you the way out. What will you do?";
	next;
	if (select( "I'll look around more.", "I'll leave." ) == 2)
		warp "ba_maison",136,309;
	end;
}


1@herbs,1,1,0	script	#172_sec_boss	HIDDEN_WARP_NPC,{
	end;
OnSummon:
	monster 'map_herbs$,169,79,"Kappa",20620,1, instance_npcname("#172_sec_boss") + "::OnBossKill";
	'boss_gid = $@mobid[0];
	setunittitle 'boss_gid, "<Red Pepper>";
	donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
	end;
OnSummonHard:
	monster 'map_herbs$,275,80,"Lambda",20621,1, instance_npcname("#172_sec_boss") + "::OnBossKill";
	'boss_gid = $@mobid[0];
	setunittitle 'boss_gid, "<Red Pepper>";
	donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
	end;

OnBossKill:
	stopnpctimer;
	donpcevent instance_npcname("#172_sec_boss_shield") + "::OnStop";
	killmonster 'map_herbs$, instance_npcname("#172_sec_boss") + "::OnBossKill";
	killmonster 'map_herbs$, instance_npcname("#172_sec_boss") + "::OnBreakShield";
	if ('mode == 0)
		enablenpc instance_npcname("#bs_wp1");
	else
		enablenpc instance_npcname("#bs_wp2");
	enablenpc instance_npcname("#sigma2");
	mapannounce 'map_herbs$, "Sigma : I have activated the warp to my location. Come over here.", bc_map, 0xF6D6B6;
	end;

OnShield:
	.@event$ = instance_npcname("#172_sec_boss") + "::OnBreakShield";
	killmonster 'map_herbs$, .@event$;
	if ('mode)
		setarray .@xy[0],299,95,299,64,272,64,272,95;
	else
		setarray .@xy[0],171,94,171,65,200,65,200,94;

	for ( .@i = 0; .@i < 8; .@i += 2 )
		monster 'map_herbs$,.@xy[.@i],.@xy[.@i+1],"Guardian Part",20679,1, .@event$;
	unitskilluseid 'boss_gid,"NPC_RELIEVE_OFF",1;
	unitskilluseid 'boss_gid,"NPC_RELIEVE_ON",10;
	mapannounce 'map_herbs$, "SYSTEM : The manager has summoned Guardian Parts and will recover them as materials for it's energy shield.", bc_map, 0xFFFF00;
	initnpctimer;
	end;
OnTimer40000:
	stopnpctimer;
	killmonster 'map_herbs$, instance_npcname("#172_sec_boss") + "::OnBreakShield";
	mapannounce 'map_herbs$, "SYSTEM : A default energy shield value has been recovered.", bc_map, 0xFFFF00;
	donpcevent instance_npcname("#172_sec_boss_shield") + "::OnStart";
	end;

OnBreakShield:
	switch( mobcount('map_herbs$, instance_npcname("#172_sec_boss") + "::OnBreakShield") ) {
	case 0:
		stopnpctimer;
		unitskilluseid 'boss_gid,"NPC_RELIEVE_OFF",1;
		mapannounce 'map_herbs$, "SYSTEM : All the Guardian Parts have been destroyed. No energy shield has been recovered.", bc_map, 0xFFFF00;
		donpcevent instance_npcname("#172_sec_boss_shield") + "::OnStart";
		end;
	case 1:
		.@val = 3;
		break;
	case 2:
		.@val = 5;
		break;
	case 3:
		.@val = 7;
		break;
	default:
		end;
	}
	unitskilluseid 'boss_gid,"NPC_RELIEVE_OFF",1;
	unitskilluseid 'boss_gid,"NPC_RELIEVE_ON",.@val;
	mapannounce 'map_herbs$, "SYSTEM : The damage to the Guardian Parts has weakened the energy shield.", bc_map, 0xFFFF00;
	end;
}

1@herbs,1,1,0	script	#172_sec_boss_shield	HIDDEN_WARP_NPC,{
	end;
OnStart:
	initnpctimer;
	end;
OnTimer30000:
	stopnpctimer;
	getunitdata 'boss_gid, .@data;
	.@val = .@data[UMOB_MAXHP] / 10;
	// todo system to trigger NPC_LOCKON_LASER
	if (.@data[UMOB_HP] <= (.@val * 8) && 'summon[0] == 0) {
		'summon[0] = 1;
		donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
		end;
	}
	if (.@data[UMOB_HP] <= (.@val * 6) && 'summon[1] == 0) {
		'summon[1] = 1;
		donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
		end;
	}
	if (.@data[UMOB_HP] <= (.@val * 4) && 'summon[2] == 0) {
		'summon[2] = 1;
		donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
		end;
	}
	if (.@data[UMOB_HP] <= (.@val * 2) && 'summon[3] == 0) {
		'summon[3] = 1;
		donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
		end;
	}
	if ('summon[0] == 0 || 'summon[1] == 0 || 'summon[2] == 0 || 'summon[3] == 0)
		initnpctimer;
	end;
OnStop:
	stopnpctimer;
	end;
}