//===== 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, ""; 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, ""; 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; }