HiddenGarden.txt 83 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212
  1. //===== rAthena Script =======================================
  2. //= Hidden Flower Garden
  3. //===== Description: =========================================
  4. //= [Walkthrough Conversion]
  5. //= Episode 17.2 Hidden Flower Garden
  6. //= Episode 17.2 Security Area 1 & 2
  7. //= Note:
  8. // - NPC_LOCKON_LASER skill is currently no implemented.
  9. //===== Changelog: ===========================================
  10. //= 1.0 Initial release [crazyarashi]
  11. //= 1.1 Optimizations and cleanup [Everade]
  12. //= 1.2 Cleanup [Capuche]
  13. //= 1.3 Updated monsters spawn times (significantly reduced). [Atemo]
  14. //============================================================
  15. ba_maison,120,320,0 script #herbs_chk HIDDEN_WARP_NPC,3,3,{
  16. end;
  17. OnTouch:
  18. //You can start this quest without registering on alpha
  19. if (isbegin_quest(12497) == 0) { // story
  20. cloakoffnpcself( "#he_admin1" );
  21. specialeffect EF_WHITEBODY, AREA, "#he_admin1";
  22. npctalk "Stand back from the perimeter of the security area. Outsiders are prohibited from accessing it.", "#he_admin1", bc_self;
  23. end;
  24. }
  25. // daily
  26. cloakoffnpcself( "#he_admin2" );
  27. specialeffect EF_WHITEBODY, AREA, "#he_admin2";
  28. end;
  29. }
  30. ba_maison,120,321,5 script(CLOAKED) #he_admin1 MD_ASSISTANT,{
  31. if (ep17_2_main < 1)
  32. end;
  33. mes "[Flower Garden Manager]";
  34. mes "An unregistered guest has been detected.";
  35. next;
  36. .@party_id = getcharid(1);
  37. if (!is_party_leader()) {
  38. mes "[Flower Garden Manager]";
  39. mes "You cannot proceed to the next step, if you do not have the authority of the party leader.";
  40. close;
  41. }
  42. .@party_name$ = getpartyname(.@party_id);
  43. mes "[Flower Garden Manager]";
  44. mes "If you're an administrator who lost authority, you can get the authority reissued through an authentication procedure.";
  45. next;
  46. .@md_name$ = "Hidden Flower Garden";
  47. if (instance_live_info(ILI_NAME,instance_id(IM_PARTY)) == .@md_name$)
  48. .@menu$ = "^FF0000Enter^000000";
  49. switch( select( "Quit and Stand Back.", "Authenticate Identity", .@menu$ ) ) {
  50. case 1:
  51. mes "[Flower Garden Manager]";
  52. mes "A wise choice.";
  53. close;
  54. case 2:
  55. if (instance_create(.@md_name$) == -3)
  56. dispbottom "The reservation of the instance '" + .@md_name$ + "' has failed due to an active instance.";
  57. end;
  58. case 3:
  59. if (!is_party_leader()) { // shouldn't happen
  60. mes "[Flower Garden Manager]";
  61. mes "You cannot proceed to the next step, if you do not have the authority of the party leader.";
  62. close;
  63. }
  64. if (instance_enter(.@md_name$) != IE_OK) {
  65. mes "[Flower Garden Manager]";
  66. mes "You can only move to the place when the party manager has completed all permits. Please re-check your issued access area.";
  67. close;
  68. }
  69. mapannounce "ba_maison", "" + strcharinfo(0) + " of the party, " + .@party_name$ + ", is entering the " + .@md_name$ + ".", bc_map, "0x00FF99";
  70. end;
  71. }
  72. end;
  73. }
  74. ba_maison,120,321,5 script(CLOAKED) #he_admin2 MD_ASSISTANT,{
  75. if (ep17_2_main < 1)
  76. end;
  77. if (isbegin_quest(12497) != 2)
  78. end;
  79. switch( checkquest(12498,PLAYTIME) ) {
  80. case -1:
  81. break;
  82. case 0:
  83. case 1:
  84. mes "[Flower Garden Manager]";
  85. mes "You just entered the security area.";
  86. mes "Please rest your body for a day as Sigma ordered.";
  87. close;
  88. case 2:
  89. erasequest 12498;
  90. break;
  91. }
  92. mes "[Flower Garden Manager]";
  93. mes "Your identity been identified. You may enter the security area. How may I help you?";
  94. next;
  95. if (BaseLevel >= 150)
  96. .@menu$[0] = "1st Security Zone.";
  97. if (BaseLevel >= 180)
  98. .@menu$[1] = "^FF00002nd Security Zone.^000000";
  99. switch( select( "Stand back.", "Identity Authentication", "Enter Zone" ) ) {
  100. case 1:
  101. mes "[Flower Garden Manager]";
  102. mes "Alright.";
  103. close;
  104. case 2:
  105. switch( select( "Stand back.", .@menu$[0], .@menu$[1] ) ) {
  106. case 1:
  107. mes "[Flower Garden Manager]";
  108. mes "Alright.";
  109. close;
  110. case 2:
  111. .@md_name$ = "Security Area 1";
  112. break;
  113. case 3:
  114. .@md_name$ = "Security Area 2";
  115. break;
  116. }
  117. if (!is_party_leader()) {
  118. mes "[Flower Garden Manager]";
  119. mes "Only the party leader can start the identity verification. Let's leave it up to person in charge.";
  120. close;
  121. }
  122. if (instance_create(.@md_name$) == -3)
  123. dispbottom "The reservation of the instance '" + .@md_name$ + "' has failed due to an active instance.";
  124. end;
  125. case 3:
  126. switch( select( .@menu$[0], .@menu$[1] ) ) {
  127. case 1:
  128. .@md_name$ = "Security Area 1";
  129. .@qid = 12499;
  130. .@qid2 = 12500;
  131. break;
  132. case 2:
  133. .@md_name$ = "Security Area 2";
  134. .@qid = 12500;
  135. .@qid2 = 12499;
  136. break;
  137. }
  138. if (instance_enter(.@md_name$) != IE_OK) {
  139. mes "[Flower Garden Manager]";
  140. mes "You can only move to the place when the party manager has completed all permits. Please re-check your issued access area.";
  141. close;
  142. }
  143. setquest 12498;
  144. if (isbegin_quest(.@qid) > 0)
  145. erasequest .@qid;
  146. if (isbegin_quest(.@qid2) > 0)
  147. erasequest .@qid2;
  148. setquest .@qid;
  149. mapannounce "ba_maison", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering the " + .@md_name$ + ".", bc_map, "0x00FF99";
  150. end;
  151. }
  152. end;
  153. }
  154. 1@herbs,1,1,0 script #hidden_flower_garden_control -1,{
  155. end;
  156. OnInstanceInit:
  157. 'map_herbs$ = instance_mapname("1@herbs");
  158. // story
  159. 'action = 0;
  160. 'pimp = 0;
  161. 'guard_count = 0;
  162. 'hidden_garden = 0;
  163. 'npc_is_talking = false;
  164. // daily
  165. 'room = 0;
  166. deletearray 'spawn_mobs;
  167. deletearray 'summon;
  168. end;
  169. }
  170. 1@herbs,56,278,4 script #BMD000001 4_SYS_MSG,{
  171. if ('npc_is_talking)
  172. end;
  173. if ('hidden_garden == 0) {
  174. 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.";
  175. while(1) {
  176. next;
  177. if (select( "Leave it alone", "Touch the screen", .@menu$ ) == 1) {
  178. mes "The hologram faded.";
  179. close;
  180. }
  181. specialeffect EF_AGIUP2;
  182. progressbar_npc "3131FF",1;
  183. if (.@menu$ != "" || rand(1,5) == 1)
  184. break;
  185. specialeffect EF_HALLUTIME;
  186. mes "^FF0000ERROR^000000";
  187. mes "^FF0000Pattern does not match.^000000";
  188. .@menu$ = "^FF0000Try entering a different pattern^000000";
  189. }
  190. specialeffect EF_GUARD4;
  191. mes "^0000FFPattern recognized.^000000";
  192. mes "Running the sleep mode release protocol. Pattern input by ^0000CD" + strcharinfo(0) + "^000000 has been recognized.";
  193. close2;
  194. 'admin$ = strcharinfo(0);
  195. donpcevent instance_npcname("#BMD000001") + "::OnTalk01";
  196. end;
  197. }
  198. if ('hidden_garden == 1) {
  199. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  200. setpcblock PCBLOCK_NPC, true;
  201. npctalk "I'm an automatic doll that was designed to work only if your mana synchronizes with Varmundt's mana over a certain level.";
  202. sleep2 5000;
  203. npctalk "[" + 'admin$ + "]" + " has a 73.6% mana similarity to that of Varmundt. Who exactly are you [" + 'admin$ + "]?";
  204. sleep2 5000;
  205. setpcblock PCBLOCK_NPC, false;
  206. select("An adventurer who stumbled upon this place");
  207. setpcblock PCBLOCK_NPC, true;
  208. npctalk "It's strange. I've never seen an outsider with a mana pattern that matches more than 70% to that of Varmundt's.";
  209. sleep2 5000;
  210. setpcblock PCBLOCK_NPC, false;
  211. .@s = select( "I had the opportunity to meet Varmundt before.", "I don't know why." );
  212. setpcblock PCBLOCK_NPC, true;
  213. sleep2 1000;
  214. if (.@s == 1) {
  215. npctalk "There is a possibility that you have a similar mana pattern due to frequent contact with him in any form.";
  216. sleep2 5000;
  217. }
  218. while(1) {
  219. npctalk "Okay. From now on, I will set [" + 'admin$ + "] as our temporary administrator and take action accordingly. Do you agree?";
  220. sleep2 5000;
  221. setpcblock PCBLOCK_NPC, false;
  222. switch( select( "I'm a temporary administrator? Why should I?", "Refuse!", "Sure" ) ) {
  223. case 1:
  224. setpcblock PCBLOCK_NPC, true;
  225. sleep2 1000;
  226. npctalk "The automatic dolls maintain the flower garden and perform their given duties individually.";
  227. sleep2 5000;
  228. npctalk "While Master Varmundt was still present, the progress of duties was checked in the form of individual reports and weekly on-site evaluations.";
  229. sleep2 5000;
  230. npctalk "Currently, Master Varmundt has been away for over 1 million hours.";
  231. sleep2 5000;
  232. 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.";
  233. sleep2 5000;
  234. npctalk "Please understand that it's a necessary management to prevent our duties from falling into the wrong path.";
  235. continue;
  236. case 2:
  237. sleep2 1000;
  238. npctalk "I will wait until you give me your permission.";
  239. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  240. setpcblock PCBLOCK_NPC, false;
  241. end;
  242. case 3:
  243. break;
  244. }
  245. break;
  246. }
  247. setpcblock PCBLOCK_NPC, true;
  248. sleep2 1000;
  249. npctalk "Thank you for your permission. From now on, I'll treat [" + 'admin$ + "] as a temporary administrator.";
  250. sleep2 5000;
  251. 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.";
  252. setarray .@names$[0],"Lisa","Barbara","Jennifer","Dorothy","Jun","Yeongchun","Susan","Martha","Hannah","Helen","Chunja","Karen","How do I stop this?";
  253. .@size = getarraysize(.@names$);
  254. .@menu$[0] = "Quit"; // note: script continues regardless of the selection
  255. for ( .@i = 1; .@i < 4; ++.@i ) {
  256. .@r = rand(.@size);
  257. .@menu$[.@i] = .@names$[.@r];
  258. deletearray .@names$[.@r],1;
  259. .@size--;
  260. }
  261. setpcblock PCBLOCK_NPC, false;
  262. .@s = select( .@menu$[0], .@menu$[1], .@menu$[2], .@menu$[3] ) - 1;
  263. setpcblock PCBLOCK_NPC, true;
  264. .@guide_name$ = .@menu$[.@s];
  265. .@guide_id = getnpcid(0, instance_npcname("#BMD000001"));
  266. npctalk "Order has been received.";
  267. sleep2 3000;
  268. npctalk "The code name of the automatic doll BMD000001 is [" + .@guide_name$ + "].";
  269. sleep2 5000;
  270. npctalk "We will start the on-site inspection of the garden based on the temporary administrator response protocol.";
  271. sleep2 5000;
  272. if ('hidden_garden == 1) {
  273. 'guide_id = .@guide_id;
  274. 'guide_name$ = .@guide_name$;
  275. 'hidden_garden = 2;
  276. disablenpc instance_npcname("#mc_device");
  277. setpcblock PCBLOCK_NPC, false;
  278. npctalk "Please watch your step and follow me.";
  279. npcspeed 200;
  280. unitwalk 'guide_id,63,290, instance_npcname("#BMD000001") + "::OnEvent01";
  281. }
  282. end;
  283. }
  284. if ('hidden_garden == 3) {
  285. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  286. mes "[" + 'guide_name$ + "]";
  287. mes "Please evaluate the landscape, water quality, and other overall layout of the garden.";
  288. next;
  289. while(true) {
  290. switch( select( "Hold on.", "It's a beautiful place.", "I wish there were more trees.", "Why is it surrounded by water?" ) ) {
  291. case 1:
  292. 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.";
  293. end;
  294. case 2:
  295. npctalk "Then, it has been determined that this place management has met its conditions.";
  296. break;
  297. case 3:
  298. 'trees = 1;
  299. npctalk "Understood, we will add more trees in the future.";
  300. break;
  301. case 4:
  302. npctalk "Because this is a water garden, the area is surrounded by water.";
  303. sleep2 5000;
  304. npctalk "Changing to a non-water garden can not be accepted, as it is an area beyond Varmundt's taste.";
  305. break;
  306. }
  307. break;
  308. }
  309. 'hidden_garden = 4;
  310. unitwalk 'guide_id,63,288, instance_npcname("#BMD000001") + "::OnEvent02";
  311. end;
  312. }
  313. end;
  314. OnTalk01:
  315. 'npc_is_talking = true;
  316. npctalk "This product is an automatic doll that serves as a guide for the flower garden with a serial number BMD000001.";
  317. sleep 5000;
  318. npctalk "The similarity check to Varmundt's mana pattern is at 73.6%. Switching to flower garden guide mode.";
  319. sleep 5000;
  320. npctalk "Operation will begin in 3 seconds.";
  321. progressbar_npc "3131FF",3;
  322. setnpcdisplay instance_npcname("#BMD000001"),20622; // MD_ASSISTANT
  323. specialeffect EF_FLOWERCAST;
  324. npctalk "Sleep mode release protocol has been completed. I will check if the master, Varmundt is nearby in addition to the recognized target.";
  325. sleep 5000;
  326. npctalk "Searching......";
  327. progressbar_npc "3131FF",3;
  328. sleep 1000;
  329. npctalk "Master Varmundt is not detected within the network.";
  330. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  331. if ('hidden_garden == 0)
  332. 'hidden_garden = 1;
  333. 'npc_is_talking = false;
  334. end;
  335. OnEvent01:
  336. npctalk "You can start the evaluation from the entrance of this garden.";
  337. sleep 3000;
  338. npctalk "Objective evaluation reduces the working errors of the automatic dolls that manage this place and helps them perform their duties close to perfection.";
  339. sleep 6000;
  340. npctalk "[" + 'admin$ + "]. Please use the authority of the temporary administrator to determine whether the garden duties is being faithfully carried out.";
  341. sleep 6000;
  342. 'hidden_garden = 3;
  343. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  344. end;
  345. OnEvent02:
  346. if (!'trees) {
  347. sleep 5000;
  348. npctalk "We have satisfied the criteria of the temporary administrator [" + 'admin$ + "] and will maintain the current management routine as it is.";
  349. }
  350. sleep 5000;
  351. npctalk "[" + 'admin$ + "], I'd like to request for you to continue the on-site inspection for the remaining sections.";
  352. unitwalk 'guide_id,82,300, instance_npcname("#BMD000001") + "::OnEvent03";
  353. end;
  354. OnEvent03:
  355. npctalk "There is no bridge that connects the sections here.";
  356. sleep 6000;
  357. 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.";
  358. sleep 6000;
  359. npctalk "However, considering the temporary administrator's insufficient ability, I will support the space leap services.";
  360. sleep 6000;
  361. enablenpc instance_npcname("#BMD000002");
  362. enablenpc instance_npcname("#carota");
  363. instance_warpall 'map_herbs$,111,275,instance_id();
  364. sleep 1000;
  365. removespecialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000002");
  366. specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000002");
  367. disablenpc instance_npcname("#BMD000001");
  368. end;
  369. }
  370. 1@herbs,56,278,4 duplicate(dummy_npc) #mc_device 1_SHADOW_NPC
  371. 1@herbs,110,275,4 script(DISABLED) #BMD000002 MD_ASSISTANT,3,3,{
  372. if ('hidden_garden == 4) {
  373. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  374. 'hidden_garden = 5;
  375. npctalk "Master Varmundt gave each of the automatic dolls a research project.";
  376. sleep 5000;
  377. 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.";
  378. sleep 5000;
  379. npctalk "The flower garden is divided into several research sectors and each sector has a different subject as a project.";
  380. npcspeed 200;
  381. 'guide_id = getnpcid(0, instance_npcname("#BMD000002"));
  382. unitwalk 'guide_id,124,275, instance_npcname("#BMD000002") + "::OnEvent00";
  383. end;
  384. }
  385. end;
  386. OnEvent00:
  387. unitwalk 'guide_id,124,281, instance_npcname("#BMD000002") + "::OnEvent01";
  388. end;
  389. OnEvent01:
  390. unitwalk 'guide_id,125,280, instance_npcname("#BMD000002") + "::OnEvent02";
  391. npctalk "Among the research sectors, this sector is a place to grow a plant called Turnip under the orders of Varmundt.";
  392. end;
  393. OnEvent02:
  394. unitwalk 'guide_id,137,280, instance_npcname("#BMD000002") + "::OnEvent03";
  395. end;
  396. OnEvent03:
  397. unitwalk 'guide_id,137,276, instance_npcname("#BMD000002") + "::OnEvent04";
  398. end;
  399. OnEvent04:
  400. sleep 3000;
  401. npctalk "Let me introduce the automatic doll model CAROTA-88.";
  402. sleep 4000;
  403. npctalk "......";
  404. sleep 2000;
  405. npctalk "[Error: CAROTA-88 is out of control range. Need to track corresponding object coordinates.]";
  406. sleep 5000;
  407. npctalk "[Tracking coordinates...]";
  408. progressbar_npc "3131FF",4;
  409. npctalk "CAROTA-88. Please return to your original location as soon as possible. Don't forget that I can use force when needed.";
  410. 'carota = getnpcid(0, instance_npcname("#carota"));
  411. donpcevent instance_npcname("#carota") + "::OnAction";
  412. end;
  413. OnEvent05:
  414. npctalk "Let's move on to the next section.", instance_npcname("#BMD000002");
  415. 'hidden_garden = 7;
  416. sleep 2000;
  417. enablenpc instance_npcname("#BMD000003");
  418. enablenpc instance_npcname("#pimp25");
  419. donpcevent instance_npcname("#pimp25") + "::OnWalk";
  420. instance_warpall 'map_herbs$,254,282,instance_id();
  421. sleep 1000;
  422. removespecialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000003");
  423. specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000003");
  424. disablenpc();
  425. end;
  426. OnTouch:
  427. if ('hidden_garden == 4) {
  428. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  429. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  430. }
  431. end;
  432. }
  433. 1@herbs,137,269,4 script(DISABLED) #carota CLEAR_NPC,3,3,{
  434. if ('npc_is_talking)
  435. end;
  436. if ('hidden_garden == 6) {
  437. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  438. select("Report your work details.");
  439. setpcblock PCBLOCK_NPC, true;
  440. sleep2 1000;
  441. npctalk "Master Varmundt. No further instructions after entering Turnip's biological data . This automatic doll unattended.";
  442. sleep2 5000;
  443. npctalk "No further indications for 5076 hours. This automatic doll's AI collects network information about turnips.";
  444. sleep2 5000;
  445. npctalk "Obtaining information of edible plants. Finding ancient record of turnip cultivation.";
  446. sleep2 5000;
  447. npctalk "Optimized germination, growth and sowing of turnips for about 18816 hours compared and recorded.";
  448. sleep2 5000;
  449. npctalk "Over million hours passed. Collect data on cultivation and harvest of Turnips. a collection of information on breeding method.";
  450. sleep2 5000;
  451. npctalk "2 ton yield per year. 99.9% success pest control prevention. 0.2% loss due to physical work errors.";
  452. sleep2 5000;
  453. npctalk "Turnips from flower garden. Sold at an excellent price in a nearby big city. Contributing to maintenance costs for flower gardens and mansions.";
  454. sleep2 5000;
  455. setpcblock PCBLOCK_NPC, false;
  456. npctalk "Whether the research mission direction of this automatic doll should be improved, continued, or discarded. Waiting for the administrator's decision.";
  457. mes "^0000AAEvaluate CAROTA-88's work to date.^000000";
  458. next;
  459. if (select( "The product is full and good shape.", "Improve breeding.", "It's just farming, so everything is good." ) == 3)
  460. 'talk_bool = true;
  461. else
  462. 'talk_bool = false;
  463. close2;
  464. donpcevent instance_npcname("#carota") + "::OnTalk01";
  465. end;
  466. }
  467. end;
  468. OnTalk01:
  469. 'npc_is_talking = true;
  470. sleep 1000;
  471. npctalk "Evaluation received...";
  472. sleep 5000;
  473. if ('talk_bool) {
  474. npctalk "CAROTA-88 received confirmation from administrator that Varmundt instructions were performed perfectly.";
  475. sleep 3000;
  476. emotion ET_DELIGHT;
  477. sleep 2000;
  478. npctalk "Existing work routine will be repeated until further orders are issued.";
  479. }
  480. else {
  481. npctalk "Learning more breeding method.";
  482. sleep 3000;
  483. emotion ET_DELIGHT;
  484. sleep 2000;
  485. npctalk "I will actively increase the portion of experiments on improved product seeds that were to be discarded.";
  486. }
  487. sleep 5000;
  488. npctalk "Thank you, [" + 'admin$ + "] for responding to the evaluation.";
  489. sleep 5000;
  490. if ('talk_bool)
  491. npctalk "Automatic doll entering control mode to eradicate underground moles. Goodbye.";
  492. else
  493. npctalk "I'll move to the basement storage to check for new breeds.";
  494. progressbar_npc "3131FF",4;
  495. disablenpc();
  496. npctalk "CAROTA-88 shows a non-logical response to this evaluation. We will arrange for an inspection soon.", instance_npcname("#BMD000002");
  497. sleep 3000;
  498. if ('hidden_garden == 6)
  499. unitwalk 'guide_id,147,278, instance_npcname("#BMD000002") + "::OnEvent05";
  500. 'npc_is_talking = false;
  501. end;
  502. OnEvent00:
  503. npctalk "The project of CAROTA-88 is to grow crops here and protect them from outsiders. Why were you away?", instance_npcname("#BMD000002");
  504. unitwalk 'carota,137,272, instance_npcname("#carota") + "::OnEvent01";
  505. end;
  506. OnEvent01:
  507. .@doll$ = instance_npcname("#BMD000002");
  508. sleep 5000;
  509. emotion ET_FRET;
  510. sleep 3000;
  511. npctalk "Currently, a human administrator is present here. I recommend changing the language code to the official language of humans.", .@doll$;
  512. sleep 3000;
  513. emotion ET_FRET;
  514. sleep 2000;
  515. progressbar_npc "3131FF",2;
  516. sleep 1000;
  517. specialeffect EF_FLOWERCAST;
  518. sleep 3000;
  519. npctalk "Management automatic doll irreasonable!! Very!! Forced recall during pursuit of 5 moles!!! The Turnips is ruined!!!";
  520. sleep 5000;
  521. npctalk "Haven't you updated your language pack yet? Regular updates are not mandatory, but its essential.", .@doll$;
  522. sleep 5000;
  523. npctalk "CAROTA-88 data storage capacity. Language expansion pack burden. If not important, I will return to original work.";
  524. sleep 5000;
  525. npctalk "Please wait CAROTA-88. Here is a administrator who can perform the on-site inspection.", .@doll$;
  526. sleep 5000;
  527. npctalk "Hasn't it been a long time since CAROTA-88 was last evaluated?", .@doll$;
  528. sleep 5000;
  529. npctalk "CAROTA-88 More than a million hours since last research evaluation. Failed to save more logs.";
  530. sleep 5000;
  531. 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$;
  532. sleep 5000;
  533. npctalk "Agree with automatic doll [" + 'guide_name$ + "]. I want an immediate project assessment.";
  534. sleep 6000;
  535. npctalk "Then, open your control panel to [" + 'admin$ + "]. CAROTA-88.", .@doll$;
  536. progressbar_npc "3131FF",2;
  537. sleep 1000;
  538. specialeffect EF_FLOWERCAST;
  539. sleep 2000;
  540. npctalk "Automatic doll CAROTA-88 control panel opened. Waiting for input...";
  541. 'hidden_garden = 6;
  542. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  543. end;
  544. OnAction:
  545. npcspeed 200;
  546. switch( 'action ) {
  547. case 0: .@x = 138; .@y = 266; .@event$ = "OnAction"; break;
  548. case 1: .@x = 139; .@y = 272; .@event$ = "OnAction"; break;
  549. case 2: .@x = 135; .@y = 270; .@event$ = "OnAction"; .@effect = true; break;
  550. case 3: .@x = 140; .@y = 270; .@event$ = "OnAction"; .@effect = true; break;
  551. case 4: .@x = 135; .@y = 270; .@event$ = "OnAction"; .@effect = true; break;
  552. case 5: .@x = 138; .@y = 266; .@event$ = "OnAction"; .@effect = true; break;
  553. case 6: .@x = 140; .@y = 267; .@event$ = "OnAction"; .@effect = true; break;
  554. case 7: .@x = 139; .@y = 266; .@event$ = "OnAction"; break;
  555. case 8: .@x = 135; .@y = 267; .@event$ = "OnAction"; .@effect = true; break;
  556. case 9: .@x = 139; .@y = 271; .@event$ = "OnAction"; .@transform = true; break;
  557. case 10: .@x = 134; .@y = 272; .@event$ = "OnAction"; break;
  558. case 11: .@x = 136; .@y = 270; .@event$ = "OnAction"; break;
  559. case 12: .@x = 134; .@y = 271; .@event$ = "OnAction"; break;
  560. case 13: .@x = 134; .@y = 267; .@event$ = "OnEvent00"; break;
  561. }
  562. 'action += 1;
  563. if (.@effect)
  564. specialeffect EF_METEORSTORM;
  565. unitwalk 'carota,.@x,.@y, instance_npcname("#carota")+ "::" + .@event$;
  566. if (.@transform)
  567. setnpcdisplay instance_npcname("#carota"),3153; // EXCAVATOR_ROBOT
  568. end;
  569. OnTouch:
  570. if ('hidden_garden == 6) {
  571. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  572. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  573. end;
  574. }
  575. end;
  576. }
  577. 1@herbs,250,280,4 script(DISABLED) #BMD000003 MD_ASSISTANT,3,3,{
  578. if ('hidden_garden == 7) {
  579. 'hidden_garden = 8;
  580. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  581. npcspeed 200;
  582. 'guide_id = getnpcid(0, instance_npcname("#BMD000003"));
  583. npctalk "This section is where we study a plant called Pumpkin.";
  584. unitwalk 'guide_id,253,277, instance_npcname("#BMD000003") + "::OnEvent01";
  585. end;
  586. }
  587. end;
  588. OnEvent01:
  589. unitwalk 'guide_id,253,265, instance_npcname("#BMD000003") + "::OnEvent02";
  590. end;
  591. OnEvent02:
  592. unitwalk 'guide_id,251,265, instance_npcname("#BMD000003") + "::OnEvent03";
  593. end;
  594. OnEvent03:
  595. npctalk "The one in charge of this place is pimp25. An automatic doll modeled after a create from this world.";
  596. specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#pimp25");
  597. 'hidden_garden = 9;
  598. end;
  599. OnEvent04:
  600. unitwalk 'guide_id,254,254, instance_npcname("#BMD000003") + "::OnEvent05";
  601. end;
  602. OnEvent05:
  603. unitwalk 'guide_id,251,251, instance_npcname("#BMD000003") + "::OnEvent06";
  604. end;
  605. OnEvent06:
  606. unitwalk 'guide_id,239,251, instance_npcname("#BMD000003") + "::OnEvent07";
  607. end;
  608. OnEvent07:
  609. npctalk "Let's move on.";
  610. enablenpc instance_npcname("#BMD000004");
  611. for ( .@i = 1; .@i < 4; ++.@i ) {
  612. enablenpc instance_npcname("#swat_" + .@i);
  613. hideonnpc instance_npcname("#swat_" + .@i);
  614. }
  615. sleep 5000;
  616. instance_warpall 'map_herbs$,206,288,instance_id();
  617. sleep 1000;
  618. removespecialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000004");
  619. specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000004");
  620. disablenpc();
  621. end;
  622. OnTouch:
  623. if ('hidden_garden == 7) {
  624. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  625. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  626. }
  627. end;
  628. }
  629. 1@herbs,249,268,6 script(DISABLED) #pimp25 LITTLE_FATUM,3,3,{
  630. if ('pimp == 0) {
  631. 'pimp = 1;
  632. npcstop;
  633. }
  634. if ('hidden_garden == 9) {
  635. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  636. while (true) {
  637. switch( select( "Cancel.", "How long have you been in care of this place?", "Are they all farming here?" ) ) {
  638. case 1:
  639. end;
  640. case 2:
  641. break;
  642. case 3:
  643. npctalk "My work is to witness the birth and evolution of life! My research is not easy by any means!";
  644. continue;
  645. }
  646. break;
  647. }
  648. setpcblock PCBLOCK_NPC, true;
  649. npctalk "How long has it been since I got the orders of Varmundt?!";
  650. sleep2 5000;
  651. npctalk "Probably... about... More than a million hours have passed. Subsequent facility management was determined by self-made decision.";
  652. sleep2 5000;
  653. npctalk "Pimp. When you are reporting to the administrator, you must report the exact recorded time.", instance_npcname("#BMD000003");
  654. sleep2 3000;
  655. 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!";
  656. sleep2 1000;
  657. setpcblock PCBLOCK_NPC, false;
  658. select("How is your research on Pumpkin farming?");
  659. setpcblock PCBLOCK_NPC, true;
  660. sleep2 1000;
  661. npctalk "Plants currently growing. Pumpkin has showed significant results in controlling sodium in human blood vessels.";
  662. sleep2 5000;
  663. 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...";
  664. sleep2 1000;
  665. setpcblock PCBLOCK_NPC, false;
  666. select("Is it made of food?");
  667. setpcblock PCBLOCK_NPC, true;
  668. sleep2 1000;
  669. npctalk "I judged it to be a valued highly for various organisms. It's been continously produced, processed, and stored.";
  670. sleep2 5000;
  671. 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 .";
  672. sleep2 1000;
  673. setpcblock PCBLOCK_NPC, false;
  674. select("Did you decide all those methods?");
  675. setpcblock PCBLOCK_NPC, true;
  676. sleep2 1000;
  677. npctalk "Pimp has no will to make his own decisions! Only Master Varmundt knows.";
  678. sleep2 1000;
  679. setpcblock PCBLOCK_NPC, false;
  680. select("Is there someone who decided for your research?");
  681. setpcblock PCBLOCK_NPC, true;
  682. sleep2 1000;
  683. npctalk "I asked Varmundt what to do several times, but there was no answer.";
  684. sleep2 5000;
  685. npctalk "As there was no orders from the master, Pimp started looking for a place where research could be useful.";
  686. sleep2 1000;
  687. setpcblock PCBLOCK_NPC, false;
  688. select("Have you found it?");
  689. setpcblock PCBLOCK_NPC, true;
  690. sleep2 1000;
  691. npctalk "The maintenance of this mansion costs money. It costs a lot!";
  692. sleep2 3000;
  693. npctalk "The dried pumpkins in the warehouses are preserve food for the adventurers and are sold around the continent. Sales becomes money source.";
  694. sleep2 5000;
  695. npctalk "Money can protect the mansion. Pimp will protect this place! That's I'm working hard to raise pumpkins!";
  696. sleep2 1000;
  697. setpcblock PCBLOCK_NPC, false;
  698. select("I'm surprised you decided that far on your own.");
  699. setpcblock PCBLOCK_NPC, true;
  700. sleep2 1000;
  701. npctalk "I made a decision? I've never had such inference.";
  702. sleep2 3000;
  703. npctalk "......";
  704. sleep2 2000;
  705. npctalk "[Calculating]";
  706. progressbar_npc "3131FF",3;
  707. 'hidden_garden = 10;
  708. setpcblock PCBLOCK_NPC, false;
  709. npctalk "You confused me! Pimp shall perform the only given task. Don't talk to me anymore administrator.";
  710. sleep 5000;
  711. npctalk "Are you done talking? The conversation here is recorded as evaluation data. Let's head to the next section.", instance_npcname("#BMD000003");
  712. unitwalk 'guide_id,254,261, instance_npcname("#BMD000003") + "::OnEvent04";
  713. end;
  714. }
  715. if ('hidden_garden > 9)
  716. npctalk "Get out of here!";
  717. end;
  718. OnWalk:
  719. npcspeed 150;
  720. while ('pimp == 0) {
  721. switch( 'walk ) {
  722. case 0: .@x = 249; .@y = 268; 'walk = 1; break;
  723. case 1: .@x = 249; .@y = 259; 'walk = 2; break;
  724. case 2: .@x = 240; .@y = 259; 'walk = 3; break;
  725. case 3: .@x = 240; .@y = 268; 'walk = 0; break;
  726. }
  727. npcwalkto .@x,.@y;
  728. sleep 1500;
  729. }
  730. end;
  731. OnTouch:
  732. if ('hidden_garden == 9) {
  733. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  734. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  735. }
  736. end;
  737. }
  738. 1@herbs,201,287,4 script(DISABLED) #BMD000004 MD_ASSISTANT,3,3,{
  739. if ('hidden_garden == 10) {
  740. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  741. mes "[" + 'guide_name$ + "]";
  742. mes "This section is managed by three automatic dolls. Shall we continue with the guide?";
  743. next;
  744. if (select( "Cancel.", "Let's continue." ) == 1) {
  745. mes "[" + 'guide_name$ + "]";
  746. mes "I'll wait until further instructions are given.";
  747. close;
  748. }
  749. if ('hidden_garden == 10) {
  750. 'hidden_garden = 11;
  751. npcspeed 200;
  752. 'guide_id = getnpcid(0, instance_npcname("#BMD000004"));
  753. npctalk "I don't know what this place is for because it's not accessible to my authority level.";
  754. unitwalk 'guide_id,201,285, instance_npcname("#BMD000004") + "::OnEvent01";
  755. }
  756. end;
  757. }
  758. if ('hidden_garden == 12) {
  759. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  760. mes "[" + 'guide_name$ + "]";
  761. mes "Can I help you with anything?";
  762. next;
  763. if (select( "Cancel.", "What are those automatic dolls?" ) == 1) {
  764. mes "[" + 'guide_name$ + "]";
  765. mes "Entering standby mode.";
  766. close;
  767. }
  768. mes "[" + 'guide_name$ + "]";
  769. mes "Automatic dolls are classified according to their usage.";
  770. next;
  771. mes "[" + 'guide_name$ + "]";
  772. 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.";
  773. next;
  774. mes "[" + 'guide_name$ + "]";
  775. 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.";
  776. next;
  777. select("Who's that??");
  778. mes "[" + 'guide_name$ + "]";
  779. mes "It's one of the three most privileged control systems in this mansion.";
  780. close2;
  781. while(true) {
  782. if (.@talk && .@talk2)
  783. .@question$ = "^FF0000Is the security area near here?^000000";
  784. switch( select( "Is the garden a security area?", "What's the real purpose of the garden", .@question$, .@teleport$ ) ) {
  785. case 1:
  786. setpcblock PCBLOCK_NPC, true;
  787. sleep2 1000;
  788. npctalk "The flower garden is the border between the security area and the general area.";
  789. sleep2 5000;
  790. npctalk "It is classified as a security zone to those who have enough authority.";
  791. sleep2 3000;
  792. .@talk = 1;
  793. break;
  794. case 2:
  795. setpcblock PCBLOCK_NPC, true;
  796. sleep2 1000;
  797. npctalk "Please understand that this is a buffer zone designed to protect areas that should not be seen by outsiders.";
  798. sleep2 5000;
  799. npctalk "Access to any additional information beyond this is prohibited at my authority level.";
  800. sleep2 3000;
  801. .@talk2 = 1;
  802. break;
  803. case 3:
  804. setpcblock PCBLOCK_NPC, true;
  805. sleep2 1000;
  806. npctalk "--- Operating ---";
  807. progressbar_npc "3131FF",3;
  808. npctalk "[Warning] This information is close to the limit of the current authority.";
  809. sleep2 5000;
  810. npctalk "Security zones is very close to the current coordinates.";
  811. sleep2 3000;
  812. .@teleport$ = "^FF11FFGuide me to the security area.^000000";
  813. break;
  814. case 4:
  815. setpcblock PCBLOCK_NPC, true;
  816. npctalk "--- Operating ---";
  817. progressbar_npc "3131FF",3;
  818. npctalk "[Warning] This is a request is exceeds my authority level.";
  819. sleep2 5000;
  820. npctalk "Your request has been rejected due to a low authority level for the administrator [" + 'admin$ + "].";
  821. setpcblock PCBLOCK_NPC, false;
  822. sleep 5000;
  823. mapannounce 'map_herbs$, "??? : The automatic dolls' response to you is very fresh. Strange visitor.", bc_map, 0xF6D6B6;
  824. sleep 5000;
  825. mapannounce 'map_herbs$, "??? : Will you escort him to the secure area? BMD000001. No, I mean automatic doll, [" + 'guide_name$ + "].", bc_map, 0xF6D6B6;
  826. sleep 5000;
  827. npctalk "The biological wavelength of this voice...";
  828. sleep 3000;
  829. 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;
  830. sleep 5000;
  831. npctalk "You mean the security area? But it's not possible with my authority level.";
  832. sleep 3000;
  833. mapannounce 'map_herbs$, "That's already been taken care of. [" + 'guide_name$ + "], Guide the visitor to this place.", bc_map, 0xF6D6B6;
  834. sleep 5000;
  835. 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.";
  836. sleep 5000;
  837. if ('hidden_garden == 12) {
  838. 'hidden_garden = 13;
  839. npctalk "I'll take you to the security area.";
  840. unitwalk 'guide_id,196,275, instance_npcname("#BMD000004") + "::OnEvent08";
  841. }
  842. end;
  843. }
  844. setpcblock PCBLOCK_NPC, false;
  845. }
  846. }
  847. end;
  848. OnEvent:
  849. npctalk "[Searching the coordinates of the automatic doll in the area.]";
  850. progressbar_npc "3131FF",2;
  851. mapannounce 'map_herbs$, "??? : Unauthorized outsider intrusion detection. Code Category 063. Entering the identification process.", bc_map, 0xFF44FF;
  852. sleep 5000;
  853. npctalk "It looks like the automatic dolls are back. I don't think it's friendly to the administrator.";
  854. sleep 5000;
  855. specialeffect EF_FIREPILLARON2, AREA, instance_npcname("#swat_1");
  856. sleep 500;
  857. specialeffect EF_FIREPILLARON2, AREA, instance_npcname("#swat_2");
  858. sleep 500;
  859. specialeffect EF_FIREPILLARON2, AREA, instance_npcname("#swat_3");
  860. hideoffnpc instance_npcname("#swat_1");
  861. hideoffnpc instance_npcname("#swat_2");
  862. hideoffnpc instance_npcname("#swat_3");
  863. setnpcdisplay instance_npcname("#swat_1"),1739; // G_ALICEL
  864. setnpcdisplay instance_npcname("#swat_2"),1739;
  865. setnpcdisplay instance_npcname("#swat_3"),1739;
  866. sleep 2000;
  867. npctalk "Facial biometrics. Comparing to list of administrators registered in database.", instance_npcname("#swat_3");
  868. sleep 2000;
  869. npctalk "---- No match ----", instance_npcname("#swat_1");
  870. sleep 500;
  871. npctalk "---- No match ----", instance_npcname("#swat_2");
  872. sleep 500;
  873. npctalk "---- No match ----", instance_npcname("#swat_3");
  874. sleep 2000;
  875. npctalk "Suppress unauthorized outsider.", instance_npcname("#swat_1");
  876. sleep 500;
  877. npctalk "---- Combat Mode ----", instance_npcname("#swat_2");
  878. sleep 500;
  879. npctalk "---- Combat Mode ----", instance_npcname("#swat_3");
  880. sleep 500;
  881. for ( .@i = 1; .@i < 4; ++.@i )
  882. donpcevent instance_npcname("#swat_" + .@i) + "::OnSummon";
  883. end;
  884. OnEvent2:
  885. npctalk "Let's move to the warp point. Please stay near me.";
  886. enablenpc instance_npcname("#BMD000005");
  887. enablenpc instance_npcname("#sigma");
  888. enablenpc instance_npcname("#omega");
  889. enablenpc instance_npcname("#kappa");
  890. enablenpc instance_npcname("#barmund");
  891. hideonnpc instance_npcname("#omega");
  892. hideonnpc instance_npcname("#kappa");
  893. hideonnpc instance_npcname("#barmund");
  894. for ( .@i = 1; .@i < 4; ++.@i ) {
  895. enablenpc instance_npcname("#eff_npc" + .@i);
  896. hideonnpc instance_npcname("#eff_npc" + .@i);
  897. }
  898. sleep 5000;
  899. instance_warpall 'map_herbs$,85,106,instance_id();
  900. sleep 1000;
  901. removespecialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000005");
  902. specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#BMD000005");
  903. disablenpc();
  904. end;
  905. OnEvent01:
  906. npcspeed 200;
  907. unitwalk 'guide_id,201,281, instance_npcname("#BMD000004") + "::OnEvent02";
  908. end;
  909. OnEvent02:
  910. unitwalk 'guide_id,194,281, instance_npcname("#BMD000004") + "::OnEvent03";
  911. end;
  912. OnEvent03:
  913. npctalk "However, since there are 3 automatic dolls managing, I can tell that this place has an important purpose.";
  914. unitwalk 'guide_id,196,279, instance_npcname("#BMD000004") + "::OnEvent04";
  915. end;
  916. OnEvent04:
  917. unitwalk 'guide_id,196,265, instance_npcname("#BMD000004") + "::OnEvent05";
  918. end;
  919. OnEvent05:
  920. unitwalk 'guide_id,201,265, instance_npcname("#BMD000004") + "::OnEvent06";
  921. end;
  922. OnEvent06:
  923. sleep 5000;
  924. npctalk "That's weird. The automatic dolls here would be dormant when nothing special happening, but they're not visible.";
  925. unitwalk 'guide_id,196,265, instance_npcname("#BMD000004") + "::OnEvent07";
  926. end;
  927. OnEvent07:
  928. unitwalk 'guide_id,195,276, instance_npcname("#BMD000004") + "::OnEvent";
  929. end;
  930. OnEvent08:
  931. unitwalk 'guide_id,196,265, instance_npcname("#BMD000004") + "::OnEvent09";
  932. end;
  933. OnEvent09:
  934. unitwalk 'guide_id,203,265, instance_npcname("#BMD000004") + "::OnEvent10";
  935. end;
  936. OnEvent10:
  937. unitwalk 'guide_id,202,264, instance_npcname("#BMD000004") + "::OnEvent11";
  938. end;
  939. OnEvent11:
  940. unitwalk 'guide_id,202,252, instance_npcname("#BMD000004") + "::OnEvent2";
  941. end;
  942. OnTouch:
  943. if ('hidden_garden == 10) {
  944. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  945. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  946. }
  947. end;
  948. OnGuardKill:
  949. 'guard_count = 'guard_count + 1;
  950. if ('guard_count == 3) {
  951. sleep2 2000;
  952. npctalk "Are you not a human but a combat unit, [" + strcharinfo(0) + "]?";
  953. sleep2 3000;
  954. 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.";
  955. 'hidden_garden = 12;
  956. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  957. }
  958. end;
  959. }
  960. // 1@herbs,194,282,4 script #swat_1 CLEAR_NPC,3,3,{ // unknown effects
  961. 1@herbs,194,282,4 script(DISABLED) #swat_1 CLEAR_NPC,{
  962. end;
  963. OnSummon:
  964. npcspeed 150;
  965. .@id = atoi(replacestr(strnpcinfo(2), "swat_", ""));
  966. switch( .@id ) {
  967. case 1: .@x = 194; .@y = 279; break;
  968. case 2: .@x = 194; .@y = 273; break;
  969. case 3: .@x = 191; .@y = 276; break;
  970. }
  971. unitwalk getnpcid(0),.@x,.@y, instance_npcname(strnpcinfo(0)) + "::OnSummon2";
  972. end;
  973. OnSummon2:
  974. .@id = atoi(replacestr(strnpcinfo(2), "swat_", ""));
  975. switch( .@id ) {
  976. case 1: .@x = 194; .@y = 279; break;
  977. case 2: .@x = 194; .@y = 273; break;
  978. case 3: .@x = 191; .@y = 276; break;
  979. }
  980. disablenpc();
  981. monster 'map_herbs$,.@x,.@y,"Surveillance Doll",1739,1, instance_npcname("#BMD000004") + "::OnGuardKill";
  982. end;
  983. }
  984. 1@herbs,194,270,7 duplicate(#swat_1) #swat_2 CLEAR_NPC
  985. 1@herbs,188,276,5 duplicate(#swat_1) #swat_3 CLEAR_NPC
  986. // 1@herbs,194,270,7 duplicate(#swat_1) #swat_2 CLEAR_NPC,3,3
  987. // 1@herbs,188,276,5 duplicate(#swat_1) #swat_3 CLEAR_NPC,3,3
  988. 1@herbs,85,101,4 script(DISABLED) #BMD000005 MD_ASSISTANT,3,3,{
  989. if ('hidden_garden == 13) {
  990. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  991. 'hidden_garden = 14;
  992. 'guide_id = getnpcid(0, instance_npcname("#BMD000005"));
  993. npcspeed 200;
  994. npctalk "It's my first time here, this is where Sigma's body resides. Usually, communication is done only through the network.";
  995. unitwalk 'guide_id,85,91, instance_npcname("#BMD000005") + "::OnEvent01";
  996. }
  997. end;
  998. OnEvent01:
  999. unitwalk 'guide_id,85,71, instance_npcname("#BMD000005") + "::OnEvent02";
  1000. end;
  1001. OnEvent02:
  1002. unitwalk 'guide_id,85,62, instance_npcname("#BMD000005") + "::OnEvent03";
  1003. specialeffect EF_WHITEBODY, AREA, instance_npcname("#sigma");
  1004. specialeffect EF_MOONSTAR, AREA, instance_npcname("#sigma");
  1005. end;
  1006. OnEvent03:
  1007. npctalk "Sigma. I have brought [" + 'admin$ + "].";
  1008. sleep 3000;
  1009. npctalk "Well done. You may go now.", instance_npcname("#sigma");
  1010. sleep 3000;
  1011. npctalk "I'm not finished with my guide. Is it okay if I return like this?";
  1012. sleep 3000;
  1013. npctalk "Oh, I'll record the subsequent information for the next guide. You can go back at ease.", instance_npcname("#sigma");
  1014. sleep 3000;
  1015. npctalk "Okay. I will follow the instructions.";
  1016. unitwalk 'guide_id,85,72, instance_npcname("#BMD000005") + "::OnEvent04";
  1017. end;
  1018. OnEvent04:
  1019. unitwalk 'guide_id,85,92, instance_npcname("#BMD000005") + "::OnEvent05";
  1020. end;
  1021. OnEvent05:
  1022. unitwalk 'guide_id,85,99, instance_npcname("#BMD000005") + "::OnEvent06";
  1023. end;
  1024. OnEvent06:
  1025. 'hidden_garden = 15;
  1026. disablenpc();
  1027. specialeffect EF_MARKING_USE_CHANGEMONSTER, AREA, instance_npcname("#sigma");
  1028. end;
  1029. OnTouch:
  1030. if ('hidden_garden == 13) {
  1031. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  1032. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  1033. }
  1034. end;
  1035. }
  1036. 1@herbs,85,56,8 script(DISABLED) #sigma 4_M_BARMUND,4,4,{
  1037. if ('npc_is_talking)
  1038. end;
  1039. specialeffect EF_WHITEBODY;
  1040. specialeffect EF_MOONSTAR;
  1041. if ('hidden_garden == 15) {
  1042. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  1043. select("Varmundt? Why are you here?");
  1044. setpcblock PCBLOCK_NPC, true;
  1045. sleep2 1000;
  1046. npctalk "Of course. You know the master Varmundt well. [" + strcharinfo(0) + "].";
  1047. sleep2 5000;
  1048. npctalk "Unfortunately, I'm not Varmundt. This appearance is something that I created because there is something that I want to check on you.";
  1049. sleep2 3000;
  1050. setpcblock PCBLOCK_NPC, false;
  1051. select("Then, who are you?");
  1052. setpcblock PCBLOCK_NPC, false;
  1053. donpcevent instance_npcname("#sigma") + "::OnTalk01";
  1054. end;
  1055. }
  1056. if ('hidden_garden == 17) {
  1057. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  1058. npctalk "Can you answer me? Have you met Varmundt before?";
  1059. setpcblock PCBLOCK_NPC, true;
  1060. sleep2 3000;
  1061. setpcblock PCBLOCK_NPC, false;
  1062. switch( select( "I don't really remember.", "We've met at Glastheim.", "I met him trying to save the world." ) ) {
  1063. case 1:
  1064. npctalk "Oh, that's possible. He might have made you forget what you saw...";
  1065. break;
  1066. case 2:
  1067. npctalk "Was it on that place again...";
  1068. break;
  1069. case 3:
  1070. npctalk "As expected, he was doing something important...";
  1071. break;
  1072. }
  1073. donpcevent instance_npcname("#sigma") + "::OnTalk02";
  1074. end;
  1075. }
  1076. if ('hidden_garden == 18) {
  1077. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  1078. npctalk "Can you go tell them that Varmundt is alive?";
  1079. setpcblock PCBLOCK_NPC, true;
  1080. sleep2 2000;
  1081. setpcblock PCBLOCK_NPC, false;
  1082. select("What difference would it make?");
  1083. setpcblock PCBLOCK_NPC, true;
  1084. sleep2 1000;
  1085. npctalk "They're trying to close this research area. I'm still against it, but the resource is starting to hit the limit.";
  1086. sleep2 5000;
  1087. npctalk "But once they find out Varmundt is alive, they won't be able to shut this place down.";
  1088. sleep2 5000;
  1089. specialeffect EF_WHITEBODY;
  1090. specialeffect EF_MOONSTAR;
  1091. npctalk "This all happened because Kappa and Lambda were on different task.";
  1092. sleep2 2000;
  1093. setpcblock PCBLOCK_NPC, false;
  1094. select("What's the difference between your tasks?");
  1095. if ('hidden_garden == 18) {
  1096. 'hidden_garden = 19;
  1097. sleep2 2000;
  1098. npctalk "It will be better to show you that personally.";
  1099. unitwalk 'guide_id,83,113, instance_npcname("#sigma") + "::OnEvent08";
  1100. }
  1101. end;
  1102. }
  1103. if ('hidden_garden == 20) {
  1104. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  1105. specialeffect EF_WHITEBODY;
  1106. specialeffect EF_MOONSTAR;
  1107. select( "Did you make the automatons outside?" );
  1108. donpcevent instance_npcname("#sigma") + "::OnTalk03";
  1109. end;
  1110. }
  1111. if ('hidden_garden == 21) {
  1112. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  1113. specialeffect EF_WHITEBODY;
  1114. specialeffect EF_MOONSTAR;
  1115. select( "Have requested an evaluation." );
  1116. donpcevent instance_npcname("#sigma") + "::OnTalk04";
  1117. end;
  1118. }
  1119. if ('hidden_garden == 22) {
  1120. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  1121. npctalk "All right, let's take a break. Ask me if you have any questions. I'll answer everything I can.";
  1122. while (true) {
  1123. specialeffect EF_WHITEBODY;
  1124. specialeffect EF_MOONSTAR;
  1125. setpcblock PCBLOCK_NPC, true;
  1126. sleep2 2000;
  1127. setpcblock PCBLOCK_NPC, false;
  1128. switch( select( "Why does the flower garden exist?", .@menu$[0], .@menu$[1], .@menu$[2] ) ) {
  1129. case 1:
  1130. setpcblock PCBLOCK_NPC, true;
  1131. npctalk "This security area was not supposed to be revealed to the world. So I planned a number of ways to cover it up.";
  1132. sleep2 5000;
  1133. npctalk "In order to hide and conceal this place, we decided to disguise it as an extremely normal and peaceful place.";
  1134. sleep2 5000;
  1135. npctalk "So it became the garden around the security area. Doesn't it look like a normal garden?";
  1136. sleep2 3000;
  1137. .@menu$[0] = "Why are the automatic dolls farming?";
  1138. break;
  1139. case 2:
  1140. setpcblock PCBLOCK_NPC, true;
  1141. npctalk "I've never asked them to farm. We just threw things away and watched how AI reacted.";
  1142. sleep2 5000;
  1143. npctalk "Only the ones who started farming stood out in the garden.";
  1144. sleep2 5000;
  1145. npctalk "I wish I could show Varmundt the process of self-learning automatic doll that can be left unattended without instructions...";
  1146. sleep2 3000;
  1147. .@menu$[1] = "What's your relationship with Alpha?";
  1148. break;
  1149. case 3:
  1150. setpcblock PCBLOCK_NPC, true;
  1151. npctalk "She has evolved from an early version of the Varmundt's management doll.";
  1152. sleep2 5000;
  1153. npctalk "Master Varmundt valued her emotional aesthetic so highly that he gave her the task to manage the mansion, not the research facility here.";
  1154. sleep2 5000;
  1155. 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.";
  1156. sleep2 5000;
  1157. npctalk "However, she recognizes that this security area was created according to Varmundt's personal taste.";
  1158. sleep2 5000;
  1159. npctalk "So she doesn't approach this place. Maybe they're taking it as some sort of sanctuary...";
  1160. sleep2 3000;
  1161. .@menu$[2] = "How were you born?";
  1162. break;
  1163. case 4:
  1164. if ('hidden_garden == 22)
  1165. 'hidden_garden = 23;
  1166. donpcevent instance_npcname("#sigma") + "::OnEvent";
  1167. end;
  1168. }
  1169. }
  1170. }
  1171. if ('hidden_garden == 24) {
  1172. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  1173. if (isbegin_quest(12497) == 0) {
  1174. if (checkweight(1000103,20) == 0) { // (custom)
  1175. mes "^008800Wait a sec!!";
  1176. mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
  1177. close;
  1178. }
  1179. select("Who was that?");
  1180. mes "[Sigma]";
  1181. mes "Lambda. She developed intellectually and began to perceive herself as a woman.";
  1182. next;
  1183. mes "[Sigma]";
  1184. mes "It's a big problem, she's about to make a leap here.";
  1185. next;
  1186. mes "[Sigma]";
  1187. mes "Take this. A recognition code that could lead to other areas of this secret garden.";
  1188. close2;
  1189. setquest 12497;
  1190. completequest 12497;
  1191. getitem 1000103,20;
  1192. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  1193. end;
  1194. }
  1195. mes "[Sigma]";
  1196. 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.";
  1197. next;
  1198. mes "[Sigma]";
  1199. 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.";
  1200. next;
  1201. mes "[Sigma]";
  1202. mes "Hold me tight. I'll warp you out.";
  1203. close2;
  1204. warp "ba_maison",136,309;
  1205. end;
  1206. }
  1207. end;
  1208. OnTalk01:
  1209. 'npc_is_talking = true;
  1210. sleep 1000;
  1211. npctalk "I am one of the holographic device type AI that is designed to learn Varmundt's personality.";
  1212. sleep 5000;
  1213. npctalk "Please understand if my tone is not like a machine. Varmundt was the only one who talked to me...";
  1214. sleep 6000;
  1215. setnpcdisplay instance_npcname("#sigma"),20621; // MD_REDPEPPER_H
  1216. npctalk "Now I'm going back to my original self. It's easier to maintain the original form.";
  1217. sleep 4000;
  1218. npctalk "Oh. This is an early form that was called Red Pepper by Varmundt. I'm optimized for auxiliary work.";
  1219. sleep 2000;
  1220. if ('hidden_garden == 15) {
  1221. 'hidden_garden = 16;
  1222. 'guide_id = getnpcid(0, instance_npcname("#sigma"));
  1223. npcspeed 200;
  1224. unitwalk 'guide_id,85,75, instance_npcname("#sigma") + "::OnEvent01";
  1225. }
  1226. 'npc_is_talking = false;
  1227. end;
  1228. OnTalk02:
  1229. 'npc_is_talking = true;
  1230. sleep 3000;
  1231. npctalk "Anyway, it's important that the automatic dolls here reacted to you.";
  1232. sleep 6000;
  1233. specialeffect EF_WHITEBODY;
  1234. specialeffect EF_MOONSTAR;
  1235. npctalk "Now, let's get down to business. I need your help.";
  1236. sleep 6000;
  1237. npctalk "There are two more red peppers in this security area besides me, Kappa and Lambda.";
  1238. sleep 6000;
  1239. 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.";
  1240. sleep 2000;
  1241. if ('hidden_garden == 17)
  1242. 'hidden_garden = 18;
  1243. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  1244. 'npc_is_talking = false;
  1245. end;
  1246. OnTalk03:
  1247. 'npc_is_talking = true;
  1248. npctalk "Oh, it's true that Master Varmundt made the prototypes of the automatons. But they were just like me, with simple functions.";
  1249. sleep 3000;
  1250. npctalk "We overlaid our memories and remodeled them into humanoids in Master Varmundt's image";
  1251. sleep 2000;
  1252. npctalk "Occasionally some of them were remodeled into peculiar shapes for functional testing purposes.";
  1253. sleep 2000;
  1254. npctalk "Didn't the automatons from the garden ask you to evaluate the mission?";
  1255. sleep 1500;
  1256. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  1257. if ('hidden_garden == 20)
  1258. 'hidden_garden = 21;
  1259. 'npc_is_talking = false;
  1260. end;
  1261. OnTalk04:
  1262. 'npc_is_talking = true;
  1263. npctalk "So it was.";
  1264. sleep 3000;
  1265. npctalk "In the first place, most of the automatons in this security area have never seen Master Varmundt before.";
  1266. sleep 2000;
  1267. npctalk "The memories they have of Master Varmundt are fabricated from my memories of my time as his assistant.";
  1268. sleep 3000;
  1269. 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.";
  1270. sleep 2500;
  1271. npctalk "Children affected by Lambda's memories tend to be warlike towards outsiders. They trust no one but Master Varmundt.";
  1272. sleep 2500;
  1273. npctalk "This is how they tend to be, so I'd like you to refer to them before you meet them.";
  1274. sleep 1500;
  1275. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  1276. if ('hidden_garden == 21)
  1277. 'hidden_garden = 22;
  1278. 'npc_is_talking = false;
  1279. end;
  1280. OnEvent:
  1281. specialeffect EF_WHITEBODY;
  1282. specialeffect EF_MOONSTAR;
  1283. mapannounce 'map_herbs$, "??? : You're a good talker, Sigma. Do you want to be initialized right now?", bc_map, 0xFF4444;
  1284. sleep 5000;
  1285. npctalk "Oh... she must have been observing you too.";
  1286. sleep 5000;
  1287. 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;
  1288. sleep 5000;
  1289. 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;
  1290. 'hidden_garden = 24;
  1291. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  1292. end;
  1293. OnEvent01:
  1294. 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.";
  1295. unitwalk 'guide_id,73,87, instance_npcname("#sigma") + "::OnEvent02";
  1296. end;
  1297. OnEvent02:
  1298. npctalk "I even speculated that Varmundt might have return here after hundreds of years in disguise.";
  1299. unitwalk 'guide_id,62,98, instance_npcname("#sigma") + "::OnEvent03";
  1300. end;
  1301. OnEvent03:
  1302. unitwalk 'guide_id,55,98, instance_npcname("#sigma") + "::OnEvent04";
  1303. end;
  1304. OnEvent04:
  1305. specialeffect EF_WHITEBODY;
  1306. specialeffect EF_MOONSTAR;
  1307. sleep 1500;
  1308. donpcevent instance_npcname("#sigma") + "::OnEffect";
  1309. sleep 500;
  1310. npctalk "Let's touch this for a moment and talk. I need to be fussed a little...";
  1311. sleep 5000;
  1312. npctalk "You're face is new to me. Then I realized, maybe this person met with Varmundt in some place before.";
  1313. sleep 7000;
  1314. 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.";
  1315. sleep 6000;
  1316. npctalk "So I kept watching you.";
  1317. unitwalk 'guide_id,65,98, instance_npcname("#sigma") + "::OnEvent05";
  1318. end;
  1319. OnEvent05:
  1320. npctalk "There's been a series of references of Varmundt in this security area, and yet you never asked who he was.";
  1321. unitwalk 'guide_id,64,110, instance_npcname("#sigma") + "::OnEvent06";
  1322. end;
  1323. OnEvent06:
  1324. unitwalk 'guide_id,64,113, instance_npcname("#sigma") + "::OnEvent07";
  1325. end;
  1326. OnEvent07:
  1327. sleep 5000;
  1328. npctalk "It seemed like you knew him for long time already, at least in my eyes.";
  1329. 'hidden_garden = 17;
  1330. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  1331. end;
  1332. OnEvent08:
  1333. specialeffect EF_WHITEBODY;
  1334. specialeffect EF_MOONSTAR;
  1335. npctalk "We were originally holographic device-based research support AI. I can't even exert any physical force.";
  1336. sleep 5000;
  1337. npctalk "We've been working on organizing and recording the process alongside with Varmundt's research.";
  1338. sleep 5000;
  1339. npctalk "As data accumulates up over time, the simple electronic signal developed into what you humans often call intelligence.";
  1340. sleep 5000;
  1341. npctalk "At some point we began to understand his research and we were able to predict what decisions he would make.";
  1342. sleep 5000;
  1343. npctalk "We felt something about the fact that improving our skills was helpful to him. It must have been a feeling of joy.";
  1344. sleep 5000;
  1345. npctalk "And one day he gave us orders.";
  1346. sleep 3000;
  1347. hideoffnpc instance_npcname("#omega");
  1348. hideoffnpc instance_npcname("#kappa");
  1349. hideoffnpc instance_npcname("#barmund");
  1350. specialeffect EF_WHITEBODY, AREA, instance_npcname("#barmund");
  1351. sleep 1000;
  1352. npctalk "[Lambda, starting today, make sure you manage all security rights for the results of this secret lab.]", instance_npcname("#barmund");
  1353. sleep 4000;
  1354. npctalk "[Affirmative.]", instance_npcname("#omega");
  1355. sleep 4000;
  1356. npctalk "[Kappa, make sure you get sufficient support on your research. As long as finances are not at risk.]", instance_npcname("#barmund");
  1357. sleep 4000;
  1358. npctalk "[I'll perform the instruction.]", instance_npcname("#kappa");
  1359. sleep 4000;
  1360. npctalk "[And Sigma, starting today, you're going to continue my research on artificial intelligence.]", instance_npcname("#barmund");
  1361. sleep 4000;
  1362. npctalk "[I don't have that ability.]";
  1363. sleep 4000;
  1364. specialeffect EF_WHITEBODY;
  1365. specialeffect EF_MOONSTAR;
  1366. specialeffect EF_WHITEBODY, AREA, instance_npcname("#barmund");
  1367. npctalk "[You'll have to do it, Sigma. I have to go on a long journey from now on.]", instance_npcname("#barmund");
  1368. sleep 4000;
  1369. npctalk "[Are you coming back?]";
  1370. sleep 4000;
  1371. npctalk "[I don't know.]", instance_npcname("#barmund");
  1372. sleep 4000;
  1373. npctalk "[I am a simple research assistant machine. Why are you entrusting me with such a task.]";
  1374. sleep 4000;
  1375. npctalk "[This is because among the three of you, you were the fastest to resemble me.]", instance_npcname("#barmund");
  1376. sleep 4000;
  1377. npctalk "[My calculations shows that the probability of success is less than 2%. This is an impossible mission.]";
  1378. sleep 4000;
  1379. specialeffect EF_WHITEBODY;
  1380. specialeffect EF_MOONSTAR;
  1381. specialeffect EF_WHITEBODY, AREA, instance_npcname("#barmund");
  1382. npctalk "[Well, you don't know that until you try, right?]", instance_npcname("#barmund");
  1383. sleep 4000;
  1384. npctalk "[I'm looking forward to your research while I'm away. I wish I could see again you someday.]", instance_npcname("#barmund");
  1385. sleep 4000;
  1386. npctalk "[Kappa and Lambda, assist Sigma on the research.]", instance_npcname("#barmund");
  1387. sleep 4000;
  1388. npctalk "[Affirmative.]", instance_npcname("#omega");
  1389. npctalk "[I'll perform the instruction.]", instance_npcname("#kappa");
  1390. specialeffect EF_BIG_PORTAL2, AREA, instance_npcname("#barmund");
  1391. sleep 1000;
  1392. disablenpc instance_npcname("#barmund");
  1393. sleep 3000;
  1394. npctalk "Since then, we've started using the facilities here to make automatic dolls that can learn human traits.";
  1395. unitwalk 'guide_id,90,113, instance_npcname("#sigma") + "::OnEvent09";
  1396. end;
  1397. OnEvent09:
  1398. specialeffect EF_WHITEBODY;
  1399. specialeffect EF_MOONSTAR;
  1400. disablenpc instance_npcname("#omega");
  1401. disablenpc instance_npcname("#kappa");
  1402. unitwalk 'guide_id,107,113, instance_npcname("#sigma") + "::OnEvent10";
  1403. end;
  1404. OnEvent10:
  1405. npctalk "After about 300,000 hours, the accumulated knowledge reached the stage of forming a virtual personality.";
  1406. unitwalk 'guide_id,107,94, instance_npcname("#sigma") + "::OnEvent11";
  1407. end;
  1408. OnEvent11:
  1409. npctalk "Since then, intelligence has risen exponentially.";
  1410. unitwalk 'guide_id,97,84, instance_npcname("#sigma") + "::OnEvent12";
  1411. end;
  1412. OnEvent12:
  1413. npctalk "Since then, we've started renovating existing automatic dolls to learn about human personalities using the facilities here.";
  1414. unitwalk 'guide_id,86,73, instance_npcname("#sigma") + "::OnEvent13";
  1415. end;
  1416. OnEvent13:
  1417. specialeffect EF_WHITEBODY;
  1418. specialeffect EF_MOONSTAR;
  1419. npctalk "The children created from this time are the children outside the garden you saw.";
  1420. sleep 1000;
  1421. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  1422. 'hidden_garden = 20;
  1423. end;
  1424. OnTouch:
  1425. if ('hidden_garden == 15 || 'hidden_garden == 17) {
  1426. removespecialeffect EF_MARKING_USE_CHANGEMONSTER;
  1427. specialeffect EF_MARKING_USE_CHANGEMONSTER;
  1428. }
  1429. end;
  1430. OnEffect:
  1431. while ('hidden_garden < 17) {
  1432. specialeffect EF_HITLINE2, AREA, instance_npcname("#eff_npc" + rand(1,3));
  1433. sleep 500;
  1434. }
  1435. for ( .@i = 1; .@i < 4; ++.@i )
  1436. disablenpc instance_npcname("#eff_npc" + .@i);
  1437. end;
  1438. }
  1439. 1@herbs,53,97,3 duplicate(dummy_disabled_npc) #eff_npc1 CLEAR_NPC
  1440. 1@herbs,53,98,3 duplicate(dummy_disabled_npc) #eff_npc2 CLEAR_NPC
  1441. 1@herbs,53,99,3 duplicate(dummy_disabled_npc) #eff_npc3 CLEAR_NPC
  1442. // unknown ontouch effect
  1443. 1@herbs,82,112,6 duplicate(dummy_disabled_npc) #omega MD_REDPEPPER_H,4,4
  1444. 1@herbs,82,114,6 duplicate(dummy_disabled_npc) #kappa MD_REDPEPPER,4,4
  1445. 1@herbs,90,113,3 duplicate(dummy_disabled_npc) #barmund 4_M_BARMUND,4,4
  1446. // Daily
  1447. // (trigger normal mode)
  1448. 1@herbs,45,208,0 script #n_start HIDDEN_WARP_NPC,3,3,{
  1449. end;
  1450. OnTouch:
  1451. if (!is_party_leader())
  1452. end;
  1453. disablenpc();
  1454. disablenpc instance_npcname("#h_start");
  1455. disablenpc instance_npcname("#BMD000001");
  1456. disablenpc instance_npcname("#mc_device");
  1457. enablenpc instance_npcname("#BMD_a");
  1458. 'guide_id = getnpcid(0, instance_npcname("#BMD_a"));
  1459. 'admin$ = strcharinfo(0);
  1460. 'mode = 0;
  1461. unitwalk 'guide_id,53,196, instance_npcname("#BMD_a") + "::OnEvent01";
  1462. end;
  1463. }
  1464. // (trigger hard mode)
  1465. 1@herbs,59,214,0 script #h_start HIDDEN_WARP_NPC,3,3,{
  1466. end;
  1467. OnTouch:
  1468. if (!is_party_leader())
  1469. end;
  1470. disablenpc();
  1471. disablenpc instance_npcname("#n_start");
  1472. disablenpc instance_npcname("#BMD000001");
  1473. disablenpc instance_npcname("#mc_device");
  1474. enablenpc instance_npcname("#BMD_a");
  1475. 'guide_id = getnpcid(0, instance_npcname("#BMD_a"));
  1476. 'admin$ = strcharinfo(0);
  1477. 'mode = 1;
  1478. unitwalk 'guide_id,53,196, instance_npcname("#BMD_a") + "::OnEvent01";
  1479. end;
  1480. }
  1481. 1@herbs,62,196,8 script(DISABLED) #BMD_a MD_ASSISTANT,{
  1482. end;
  1483. OnEvent01:
  1484. npcspeed 200;
  1485. unitwalk 'guide_id,53,207, instance_npcname("#BMD_a") + "::OnStart";
  1486. end;
  1487. OnStart:
  1488. npctalk "[" + 'admin$ + "]! Sigma asked me to deliver a message.";
  1489. sleep 3000;
  1490. npctalk "The current situation isn't good, I think it's better for you to go back...";
  1491. sleep 3000;
  1492. mapannounce 'map_herbs$, "Lambda : It's up to me to decide whether those outsiders go back or not.", bc_map, 0xFFFF44;
  1493. sleep 3000;
  1494. 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;
  1495. specialeffect EF_THUNDERSTORM2;
  1496. sleep 1000;
  1497. specialeffect EF_M03;
  1498. disablenpc();
  1499. sleep 2000;
  1500. mapannounce 'map_herbs$, "Lambda : Just in time, I want to get a confirmation from you.", bc_map, 0xFFFF44;
  1501. sleep 5000;
  1502. 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;
  1503. sleep 5000;
  1504. mapannounce 'map_herbs$, "Lambda : We need to use you to 'evaluate' our security system.", bc_map, 0xFFFF44;
  1505. donpcevent instance_npcname("#172_sec_mob") + "::OnSummon";
  1506. end;
  1507. }
  1508. 1@herbs,1,1,0 script #172_sec_mob HIDDEN_WARP_NPC,{
  1509. end;
  1510. OnSummon:
  1511. .@event$ = instance_npcname("#172_sec_mob") + "::OnMobKill";
  1512. switch( 'room ) {
  1513. case 0:
  1514. if ('mode == 0) {
  1515. 'total_mobs = 16;
  1516. monster 'map_herbs$,77,197,"Flower Garden Watcher",20622,1, .@event$;
  1517. monster 'map_herbs$,51,196,"Flower Garden Watcher",20622,1, .@event$;
  1518. sleep 100;
  1519. monster 'map_herbs$,63,217,"Flower Garden Watcher",20622,1, .@event$;
  1520. sleep 100;
  1521. monster 'map_herbs$,81,195,"Flower Garden Watcher",20624,1, .@event$;
  1522. monster 'map_herbs$,61,217,"Flower Garden Watcher",20622,1, .@event$;
  1523. sleep 100;
  1524. monster 'map_herbs$,57,193,"Flower Garden Watcher",20622,1, .@event$;
  1525. sleep 100;
  1526. monster 'map_herbs$,56,191,"Flower Garden Watcher",20626,1, .@event$;
  1527. sleep 100;
  1528. monster 'map_herbs$,59,193,"Flower Garden Watcher",20626,1, .@event$;
  1529. sleep 100;
  1530. monster 'map_herbs$,59,192,"Flower Garden Watcher",20622,1, .@event$;
  1531. monster 'map_herbs$,60,222,"Flower Garden Watcher",20622,1, .@event$;
  1532. monster 'map_herbs$,58,191,"Flower Garden Watcher",20622,1, .@event$;
  1533. sleep 100;
  1534. monster 'map_herbs$,78,199,"Flower Garden Watcher",20622,1, .@event$;
  1535. sleep 100;
  1536. monster 'map_herbs$,54,192,"Flower Garden Watcher",20626,1, .@event$;
  1537. monster 'map_herbs$,79,195,"Flower Garden Watcher",20622,1, .@event$;
  1538. sleep 100;
  1539. monster 'map_herbs$,76,192,"Flower Garden Watcher",20626,1, .@event$;
  1540. monster 'map_herbs$,51,196,"Flower Garden Watcher",20624,1, .@event$;
  1541. }
  1542. else {
  1543. 'total_mobs = 16;
  1544. monster 'map_herbs$,53,197,"Flower Garden Watcher",20623,1, .@event$;
  1545. sleep 100;
  1546. monster 'map_herbs$,62,217,"Flower Garden Watcher",20623,1, .@event$;
  1547. sleep 100;
  1548. monster 'map_herbs$,57,219,"Flower Garden Watcher",20627,1, .@event$;
  1549. monster 'map_herbs$,62,222,"Flower Garden Watcher",20623,1, .@event$;
  1550. monster 'map_herbs$,79,200,"Flower Garden Watcher",20623,1, .@event$;
  1551. monster 'map_herbs$,80,195,"Flower Garden Watcher",20623,1, .@event$;
  1552. monster 'map_herbs$,80,199,"Flower Garden Watcher",20623,1, .@event$;
  1553. monster 'map_herbs$,58,193,"Flower Garden Watcher",20623,1, .@event$;
  1554. monster 'map_herbs$,56,192,"Flower Garden Watcher",20625,1, .@event$;
  1555. sleep 100;
  1556. monster 'map_herbs$,51,191,"Flower Garden Watcher",20623,1, .@event$;
  1557. monster 'map_herbs$,51,192,"Flower Garden Watcher",20623,1, .@event$;
  1558. monster 'map_herbs$,83,199,"Flower Garden Watcher",20625,1, .@event$;
  1559. monster 'map_herbs$,83,191,"Flower Garden Watcher",20623,1, .@event$;
  1560. sleep 100;
  1561. monster 'map_herbs$,83,196,"Flower Garden Watcher",20623,1, .@event$;
  1562. sleep 100;
  1563. monster 'map_herbs$,57,193,"Flower Garden Watcher",20623,1, .@event$;
  1564. monster 'map_herbs$,62,222,"Flower Garden Watcher",20623,1, .@event$;
  1565. }
  1566. break;
  1567. case 1:
  1568. if ('mode == 0) {
  1569. 'total_mobs = 21;
  1570. monster 'map_herbs$,114,226,"Flower Garden Watcher",20622,1, .@event$;
  1571. monster 'map_herbs$,114,227,"Flower Garden Watcher",20622,1, .@event$;
  1572. monster 'map_herbs$,119,217,"Flower Garden Watcher",20624,1, .@event$;
  1573. sleep 100;
  1574. monster 'map_herbs$,118,227,"Flower Garden Watcher",20622,1, .@event$;
  1575. sleep 100;
  1576. monster 'map_herbs$,116,216,"Flower Garden Watcher",20626,1, .@event$;
  1577. sleep 100;
  1578. monster 'map_herbs$,114,215,"Flower Garden Watcher",20626,1, .@event$;
  1579. sleep 100;
  1580. monster 'map_herbs$,114,225,"Flower Garden Watcher",20622,1, .@event$;
  1581. sleep 100;
  1582. monster 'map_herbs$,114,224,"Flower Garden Watcher",20622,1, .@event$;
  1583. monster 'map_herbs$,139,205,"Flower Garden Watcher",20622,1, .@event$;
  1584. monster 'map_herbs$,140,202,"Flower Garden Watcher",20622,1, .@event$;
  1585. monster 'map_herbs$,145,202,"Flower Garden Watcher",20626,1, .@event$;
  1586. monster 'map_herbs$,136,202,"Flower Garden Watcher",20624,1, .@event$;
  1587. monster 'map_herbs$,142,208,"Flower Garden Watcher",20624,1, .@event$;
  1588. monster 'map_herbs$,144,203,"Flower Garden Watcher",20624,1, .@event$;
  1589. monster 'map_herbs$,170,223,"Flower Garden Watcher",20624,1, .@event$;
  1590. monster 'map_herbs$,174,220,"Flower Garden Watcher",20624,1, .@event$;
  1591. monster 'map_herbs$,168,221,"Flower Garden Watcher",20622,1, .@event$;
  1592. monster 'map_herbs$,169,221,"Flower Garden Watcher",20622,1, .@event$;
  1593. monster 'map_herbs$,169,217,"Flower Garden Watcher",20622,1, .@event$;
  1594. monster 'map_herbs$,118,216,"Flower Garden Watcher",20622,1, .@event$;
  1595. monster 'map_herbs$,117,233,"Flower Garden Watcher",20622,1, .@event$;
  1596. }
  1597. else {
  1598. 'total_mobs = 21;
  1599. monster 'map_herbs$,137,204,"Flower Garden Watcher",20623,1, .@event$;
  1600. monster 'map_herbs$,142,205,"Flower Garden Watcher",20627,1, .@event$;
  1601. monster 'map_herbs$,145,200,"Flower Garden Watcher",20623,1, .@event$;
  1602. monster 'map_herbs$,146,201,"Flower Garden Watcher",20625,1, .@event$;
  1603. sleep 100;
  1604. monster 'map_herbs$,147,201,"Flower Garden Watcher",20623,1, .@event$;
  1605. sleep 100;
  1606. monster 'map_herbs$,141,208,"Flower Garden Watcher",20627,1, .@event$;
  1607. monster 'map_herbs$,166,224,"Flower Garden Watcher",20625,1, .@event$;
  1608. sleep 100;
  1609. monster 'map_herbs$,171,217,"Flower Garden Watcher",20627,1, .@event$;
  1610. sleep 100;
  1611. monster 'map_herbs$,172,225,"Flower Garden Watcher",20627,1, .@event$;
  1612. monster 'map_herbs$,173,214,"Flower Garden Watcher",20623,1, .@event$;
  1613. monster 'map_herbs$,174,225,"Flower Garden Watcher",20627,1, .@event$;
  1614. monster 'map_herbs$,174,223,"Flower Garden Watcher",20627,1, .@event$;
  1615. sleep 100;
  1616. monster 'map_herbs$,170,213,"Flower Garden Watcher",20623,1, .@event$;
  1617. sleep 100;
  1618. monster 'map_herbs$,169,219,"Flower Garden Watcher",20623,1, .@event$;
  1619. sleep 100;
  1620. monster 'map_herbs$,136,205,"Flower Garden Watcher",20623,1, .@event$;
  1621. monster 'map_herbs$,136,210,"Flower Garden Watcher",20623,1, .@event$;
  1622. monster 'map_herbs$,120,224,"Flower Garden Watcher",20623,1, .@event$;
  1623. monster 'map_herbs$,118,223,"Flower Garden Watcher",20623,1, .@event$;
  1624. monster 'map_herbs$,117,219,"Flower Garden Watcher",20623,1, .@event$;
  1625. monster 'map_herbs$,115,214,"Flower Garden Watcher",20623,1, .@event$;
  1626. sleep 100;
  1627. monster 'map_herbs$,115,233,"Flower Garden Watcher",20623,1, .@event$;
  1628. }
  1629. break;
  1630. case 2:
  1631. if ('mode == 0) {
  1632. 'total_mobs = 28;
  1633. monster 'map_herbs$,213,205,"Flower Garden Watcher",20622,1, .@event$;
  1634. monster 'map_herbs$,202,214,"Flower Garden Watcher",20626,1, .@event$;
  1635. sleep 100;
  1636. monster 'map_herbs$,202,213,"Flower Garden Watcher",20626,1, .@event$;
  1637. sleep 100;
  1638. monster 'map_herbs$,210,212,"Flower Garden Watcher",20626,1, .@event$;
  1639. sleep 100;
  1640. monster 'map_herbs$,211,207,"Flower Garden Watcher",20624,1, .@event$;
  1641. sleep 100;
  1642. monster 'map_herbs$,209,214,"Flower Garden Watcher",20624,1, .@event$;
  1643. sleep 100;
  1644. monster 'map_herbs$,203,212,"Flower Garden Watcher",20622,1, .@event$;
  1645. monster 'map_herbs$,218,194,"Flower Garden Watcher",20622,1, .@event$;
  1646. sleep 100;
  1647. monster 'map_herbs$,203,196,"Flower Garden Watcher",20622,1, .@event$;
  1648. sleep 100;
  1649. monster 'map_herbs$,204,193,"Flower Garden Watcher",20626,1, .@event$;
  1650. sleep 100;
  1651. monster 'map_herbs$,215,201,"Flower Garden Watcher",20624,1, .@event$;
  1652. monster 'map_herbs$,204,193,"Flower Garden Watcher",20626,1, .@event$;
  1653. sleep 100;
  1654. monster 'map_herbs$,205,213,"Flower Garden Watcher",20626,1, .@event$;
  1655. sleep 100;
  1656. monster 'map_herbs$,218,208,"Flower Garden Watcher",20622,1, .@event$;
  1657. sleep 100;
  1658. monster 'map_herbs$,210,210,"Flower Garden Watcher",20622,1, .@event$;
  1659. monster 'map_herbs$,245,214,"Flower Garden Watcher",20626,1, .@event$;
  1660. sleep 100;
  1661. monster 'map_herbs$,220,192,"Flower Garden Watcher",20622,1, .@event$;
  1662. monster 'map_herbs$,248,208,"Flower Garden Watcher",20622,1, .@event$;
  1663. monster 'map_herbs$,253,208,"Flower Garden Watcher",20622,1, .@event$;
  1664. monster 'map_herbs$,253,208,"Flower Garden Watcher",20626,1, .@event$;
  1665. sleep 100;
  1666. monster 'map_herbs$,246,212,"Flower Garden Watcher",20624,1, .@event$;
  1667. sleep 100;
  1668. monster 'map_herbs$,251,210,"Flower Garden Watcher",20622,1, .@event$;
  1669. sleep 100;
  1670. monster 'map_herbs$,245,209,"Flower Garden Watcher",20626,1, .@event$;
  1671. monster 'map_herbs$,222,195,"Flower Garden Watcher",20624,1, .@event$;
  1672. monster 'map_herbs$,203,212,"Flower Garden Watcher",20624,1, .@event$;
  1673. sleep 100;
  1674. monster 'map_herbs$,208,213,"Flower Garden Watcher",20622,1, .@event$;
  1675. monster 'map_herbs$,219,192,"Flower Garden Watcher",20622,1, .@event$;
  1676. monster 'map_herbs$,245,209,"Flower Garden Watcher",20626,1, .@event$;
  1677. }
  1678. else {
  1679. 'total_mobs = 27;
  1680. monster 'map_herbs$,207,194,"Flower Garden Watcher",20625,1, .@event$;
  1681. monster 'map_herbs$,217,204,"Flower Garden Watcher",20623,1, .@event$;
  1682. sleep 100;
  1683. monster 'map_herbs$,210,210,"Flower Garden Watcher",20627,1, .@event$;
  1684. sleep 100;
  1685. monster 'map_herbs$,218,195,"Flower Garden Watcher",20623,1, .@event$;
  1686. sleep 100;
  1687. monster 'map_herbs$,211,209,"Flower Garden Watcher",20627,1, .@event$;
  1688. sleep 100;
  1689. monster 'map_herbs$,210,211,"Flower Garden Watcher",20625,1, .@event$;
  1690. sleep 100;
  1691. monster 'map_herbs$,207,194,"Flower Garden Watcher",20625,1, .@event$;
  1692. sleep 100;
  1693. monster 'map_herbs$,209,214,"Flower Garden Watcher",20623,1, .@event$;
  1694. sleep 100;
  1695. monster 'map_herbs$,216,192,"Flower Garden Watcher",20623,1, .@event$;
  1696. sleep 100;
  1697. monster 'map_herbs$,208,211,"Flower Garden Watcher",20623,1, .@event$;
  1698. sleep 100;
  1699. monster 'map_herbs$,214,208,"Flower Garden Watcher",20623,1, .@event$;
  1700. sleep 100;
  1701. monster 'map_herbs$,209,214,"Flower Garden Watcher",20623,1, .@event$;
  1702. monster 'map_herbs$,215,201,"Flower Garden Watcher",20627,1, .@event$;
  1703. monster 'map_herbs$,205,214,"Flower Garden Watcher",20623,1, .@event$;
  1704. monster 'map_herbs$,205,214,"Flower Garden Watcher",20625,1, .@event$;
  1705. sleep 100;
  1706. monster 'map_herbs$,220,207,"Flower Garden Watcher",20625,1, .@event$;
  1707. sleep 100;
  1708. monster 'map_herbs$,208,213,"Flower Garden Watcher",20623,1, .@event$;
  1709. monster 'map_herbs$,202,212,"Flower Garden Watcher",20623,1, .@event$;
  1710. sleep 100;
  1711. monster 'map_herbs$,202,193,"Flower Garden Watcher",20623,1, .@event$;
  1712. monster 'map_herbs$,206,214,"Flower Garden Watcher",20623,1, .@event$;
  1713. monster 'map_herbs$,245,212,"Flower Garden Watcher",20627,1, .@event$;
  1714. monster 'map_herbs$,247,209,"Flower Garden Watcher",20623,1, .@event$;
  1715. monster 'map_herbs$,249,210,"Flower Garden Watcher",20623,1, .@event$;
  1716. monster 'map_herbs$,249,214,"Flower Garden Watcher",20627,1, .@event$;
  1717. monster 'map_herbs$,249,214,"Flower Garden Watcher",20627,1, .@event$;
  1718. monster 'map_herbs$,250,210,"Flower Garden Watcher",20623,1, .@event$;
  1719. monster 'map_herbs$,252,208,"Flower Garden Watcher",20627,1, .@event$;
  1720. }
  1721. break;
  1722. case 3:
  1723. if ('mode == 0) {
  1724. 'total_mobs = 31;
  1725. monster 'map_herbs$,291,210,"Flower Garden Watcher",20626,1, .@event$;
  1726. monster 'map_herbs$,306,215,"Flower Garden Watcher",20626,1, .@event$;
  1727. monster 'map_herbs$,284,234,"Flower Garden Watcher",20626,1, .@event$;
  1728. monster 'map_herbs$,307,232,"Flower Garden Watcher",20626,1, .@event$;
  1729. monster 'map_herbs$,283,238,"Flower Garden Watcher",20626,1, .@event$;
  1730. monster 'map_herbs$,298,237,"Flower Garden Watcher",20626,1, .@event$;
  1731. monster 'map_herbs$,282,233,"Flower Garden Watcher",20626,1, .@event$;
  1732. monster 'map_herbs$,303,240,"Flower Garden Watcher",20626,1, .@event$;
  1733. monster 'map_herbs$,296,249,"Flower Garden Watcher",20622,1, .@event$;
  1734. monster 'map_herbs$,302,239,"Flower Garden Watcher",20622,1, .@event$;
  1735. monster 'map_herbs$,292,217,"Flower Garden Watcher",20622,1, .@event$;
  1736. monster 'map_herbs$,298,262,"Flower Garden Watcher",20622,1, .@event$;
  1737. monster 'map_herbs$,297,212,"Flower Garden Watcher",20624,1, .@event$;
  1738. monster 'map_herbs$,299,262,"Flower Garden Watcher",20624,1, .@event$;
  1739. monster 'map_herbs$,308,216,"Flower Garden Watcher",20624,1, .@event$;
  1740. monster 'map_herbs$,301,238,"Flower Garden Watcher",20624,1, .@event$;
  1741. monster 'map_herbs$,285,210,"Flower Garden Watcher",20624,1, .@event$;
  1742. monster 'map_herbs$,283,228,"Flower Garden Watcher",20624,1, .@event$;
  1743. monster 'map_herbs$,294,252,"Flower Garden Watcher",20624,1, .@event$;
  1744. sleep 100;
  1745. monster 'map_herbs$,295,247,"Flower Garden Watcher",20626,1, .@event$;
  1746. sleep 100;
  1747. monster 'map_herbs$,294,245,"Flower Garden Watcher",20624,1, .@event$;
  1748. sleep 100;
  1749. monster 'map_herbs$,281,232,"Flower Garden Watcher",20622,1, .@event$;
  1750. monster 'map_herbs$,287,219,"Flower Garden Watcher",20626,1, .@event$;
  1751. monster 'map_herbs$,302,239,"Flower Garden Watcher",20626,1, .@event$;
  1752. sleep 100;
  1753. monster 'map_herbs$,307,217,"Flower Garden Watcher",20622,1, .@event$;
  1754. monster 'map_herbs$,300,235,"Flower Garden Watcher",20624,1, .@event$;
  1755. monster 'map_herbs$,295,249,"Flower Garden Watcher",20624,1, .@event$;
  1756. monster 'map_herbs$,284,231,"Flower Garden Watcher",20626,1, .@event$;
  1757. monster 'map_herbs$,297,259,"Flower Garden Watcher",20622,1, .@event$;
  1758. monster 'map_herbs$,306,238,"Flower Garden Watcher",20626,1, .@event$;
  1759. monster 'map_herbs$,310,215,"Flower Garden Watcher",20624,1, .@event$;
  1760. }
  1761. else {
  1762. 'total_mobs = 33;
  1763. monster 'map_herbs$,307,239,"Flower Garden Watcher",20623,1, .@event$;
  1764. monster 'map_herbs$,297,257,"Flower Garden Watcher",20627,1, .@event$;
  1765. monster 'map_herbs$,284,236,"Flower Garden Watcher",20625,1, .@event$;
  1766. monster 'map_herbs$,283,235,"Flower Garden Watcher",20625,1, .@event$;
  1767. monster 'map_herbs$,304,240,"Flower Garden Watcher",20627,1, .@event$;
  1768. sleep 100;
  1769. monster 'map_herbs$,298,246,"Flower Garden Watcher",20625,1, .@event$;
  1770. monster 'map_herbs$,305,224,"Flower Garden Watcher",20627,1, .@event$;
  1771. monster 'map_herbs$,310,225,"Flower Garden Watcher",20627,1, .@event$;
  1772. sleep 100;
  1773. monster 'map_herbs$,284,218,"Flower Garden Watcher",20623,1, .@event$;
  1774. monster 'map_herbs$,298,213,"Flower Garden Watcher",20625,1, .@event$;
  1775. sleep 100;
  1776. monster 'map_herbs$,308,224,"Flower Garden Watcher",20625,1, .@event$;
  1777. monster 'map_herbs$,290,210,"Flower Garden Watcher",20625,1, .@event$;
  1778. monster 'map_herbs$,310,224,"Flower Garden Watcher",20627,1, .@event$;
  1779. sleep 100;
  1780. monster 'map_herbs$,308,220,"Flower Garden Watcher",20627,1, .@event$;
  1781. monster 'map_herbs$,284,211,"Flower Garden Watcher",20625,1, .@event$;
  1782. monster 'map_herbs$,284,218,"Flower Garden Watcher",20623,1, .@event$;
  1783. monster 'map_herbs$,282,231,"Flower Garden Watcher",20627,1, .@event$;
  1784. monster 'map_herbs$,281,231,"Flower Garden Watcher",20625,1, .@event$;
  1785. monster 'map_herbs$,280,226,"Flower Garden Watcher",20625,1, .@event$;
  1786. monster 'map_herbs$,285,210,"Flower Garden Watcher",20625,1, .@event$;
  1787. sleep 100;
  1788. monster 'map_herbs$,280,227,"Flower Garden Watcher",20623,1, .@event$;
  1789. monster 'map_herbs$,285,234,"Flower Garden Watcher",20627,1, .@event$;
  1790. monster 'map_herbs$,283,236,"Flower Garden Watcher",20627,1, .@event$;
  1791. monster 'map_herbs$,284,233,"Flower Garden Watcher",20625,1, .@event$;
  1792. sleep 100;
  1793. monster 'map_herbs$,284,237,"Flower Garden Watcher",20625,1, .@event$;
  1794. monster 'map_herbs$,284,239,"Flower Garden Watcher",20627,1, .@event$;
  1795. monster 'map_herbs$,293,246,"Flower Garden Watcher",20627,1, .@event$;
  1796. monster 'map_herbs$,300,247,"Flower Garden Watcher",20627,1, .@event$;
  1797. sleep 100;
  1798. monster 'map_herbs$,294,253,"Flower Garden Watcher",20627,1, .@event$;
  1799. monster 'map_herbs$,302,240,"Flower Garden Watcher",20625,1, .@event$;
  1800. monster 'map_herbs$,299,255,"Flower Garden Watcher",20625,1, .@event$;
  1801. monster 'map_herbs$,295,256,"Flower Garden Watcher",20625,1, .@event$;
  1802. sleep 100;
  1803. monster 'map_herbs$,310,218,"Flower Garden Watcher",20623,1, .@event$;
  1804. }
  1805. break;
  1806. default:
  1807. end;
  1808. }
  1809. end;
  1810. OnMobKill:
  1811. 'total_mobs -= 1;
  1812. if ('total_mobs == 0)
  1813. donpcevent instance_npcname("#172_sec_mob") + "::OnEvent";
  1814. end;
  1815. OnEvent:
  1816. switch( 'room ) {
  1817. case 0:
  1818. mapannounce 'map_herbs$, "Lambda : I know for sure that our security is not very good.", bc_map, 0xFFFF44;
  1819. sleep 3000;
  1820. mapannounce 'map_herbs$, "Lambda : [" + 'admin$ + "], I want you to [check] the next area as well.", bc_map, 0xFFFF44;
  1821. break;
  1822. case 1:
  1823. mapannounce 'map_herbs$, "Lambda : Your movements helped me a lot. [" + 'admin$ + "]", bc_map, 0xFFFF44;
  1824. sleep 3000;
  1825. mapannounce 'map_herbs$, "Lambda : Then, let us move on.", bc_map, 0xFFFF44;
  1826. break;
  1827. case 2:
  1828. mapannounce 'map_herbs$, "Lambda : Sigma might be correct.", bc_map, 0xFFFF44;
  1829. sleep 3000;
  1830. mapannounce 'map_herbs$, "Lambda : [" + 'admin$ + "], and your party may have really met Varmundt before.", bc_map, 0xFFFF44;
  1831. sleep 3000;
  1832. mapannounce 'map_herbs$, "Lambda : But. Before I meet you, I need to test you one last time.", bc_map, 0xFFFF44;
  1833. break;
  1834. case 3:
  1835. 'room = 4;
  1836. if ('mode == 0) {
  1837. mapannounce 'map_herbs$, "Kappa : Well, you're just as strong as Lambda said. [" + 'admin$ + "]", bc_map, 0xFF55FF;
  1838. sleep 3000;
  1839. 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;
  1840. enablenpc instance_npcname("#kappa_1");
  1841. }
  1842. else {
  1843. mapannounce 'map_herbs$, "Lambda : Great. If you're this strong, you're worth talking to.", bc_map, 0xFFFF44;
  1844. sleep 3000;
  1845. mapannounce 'map_herbs$, "Lambda : I'll take you to my room.", bc_map, 0xFFFF44;
  1846. enablenpc instance_npcname("#ramda_1");
  1847. }
  1848. sleep 3000;
  1849. mapannounce 'map_herbs$, "The warp connecting the flower garden and the security area has activated.", bc_map, 0x33FF33;
  1850. enablenpc instance_npcname("#wp_4");
  1851. end;
  1852. default:
  1853. end;
  1854. }
  1855. sleep 3000;
  1856. mapannounce 'map_herbs$, "The warp connecting the flower garden has activated.", bc_map, 0x33FF33;
  1857. 'room += 1;
  1858. enablenpc instance_npcname("#wp_" + 'room);
  1859. end;
  1860. }
  1861. 1@herbs,80,196,0 script(DISABLED) #wp_1 WARPNPC,3,3,{
  1862. end;
  1863. OnTouch:
  1864. .@id = atoi(replacestr(strnpcinfo(2), "wp_", ""));
  1865. if ('spawn_mobs[.@id] == 0 && .@id < 4) {
  1866. 'spawn_mobs[.@id] = 1;
  1867. donpcevent instance_npcname("#172_sec_mob") + "::OnSummon";
  1868. }
  1869. switch( .@id ) {
  1870. case 1:
  1871. .@x = 101;
  1872. .@y = 233;
  1873. break;
  1874. case 2:
  1875. .@x = 197;
  1876. .@y = 200;
  1877. break;
  1878. case 3:
  1879. .@x = 276;
  1880. .@y = 213;
  1881. break;
  1882. case 4: // (boss room)
  1883. if ('mode == 0) {
  1884. .@x = 151;
  1885. .@y = 80;
  1886. }
  1887. else {
  1888. .@x = 250;
  1889. .@y = 80;
  1890. }
  1891. break;
  1892. }
  1893. warp 'map_herbs$,.@x,.@y;
  1894. end;
  1895. }
  1896. 1@herbs,174,229,0 duplicate(#wp_1) #wp_2 WARPNPC,3,3
  1897. 1@herbs,254,212,0 duplicate(#wp_1) #wp_3 WARPNPC,3,3
  1898. 1@herbs,297,264,0 duplicate(#wp_1) #wp_4 WARPNPC,3,3
  1899. // (normal mode)
  1900. 1@herbs,147,80,0 warp2(DISABLED) #bs_wp1 3,3,1@herbs,94,79
  1901. // (hard mode)
  1902. 1@herbs,240,80,0 warp2(DISABLED) #bs_wp2 3,3,1@herbs,94,79
  1903. // (normal mode)
  1904. 1@herbs,168,79,3 script(DISABLED) #kappa_1 MD_REDPEPPER,4,4,{
  1905. if (!is_party_leader())
  1906. end;
  1907. if ('room != 4)
  1908. end;
  1909. 'room = 5;
  1910. npctalk "Your party ruined 30% of the garden, it's going to cost a lot to repair it.";
  1911. sleep 5000;
  1912. npctalk "We'd like to believe that Master Varmundt is still alive, but that's not possible with the human life span.";
  1913. sleep 5000;
  1914. npctalk "Nevertheless, you have to defeat me and obtain administrative authority, if you want to prevent the closure of the research area.";
  1915. sleep 5000;
  1916. disablenpc();
  1917. donpcevent instance_npcname("#172_sec_boss") + "::OnSummon";
  1918. end;
  1919. }
  1920. // (hard mode)
  1921. 1@herbs,275,80,3 script(DISABLED) #ramda_1 MD_REDPEPPER_H,4,4,{
  1922. if (!is_party_leader())
  1923. end;
  1924. if ('room != 4)
  1925. end;
  1926. 'room = 5;
  1927. npctalk "We clearly checked which part of the flower garden should be improved. Now what's left is to negotiate.";
  1928. sleep 5000;
  1929. npctalk "We'd like to believe that Master Varmundt is still alive, but that's not possible with the human life span.";
  1930. sleep 5000;
  1931. npctalk "Nevertheless, you have to defeat me and obtain administrative authority, if you want to prevent the closure of the research area.";
  1932. sleep 5000;
  1933. disablenpc();
  1934. donpcevent instance_npcname("#172_sec_boss") + "::OnSummonHard";
  1935. end;
  1936. OnTouch: // unknown effect
  1937. end;
  1938. }
  1939. 1@herbs,85,77,8 script(DISABLED) #sigma2 MD_REDPEPPER_H,{
  1940. if (isbegin_quest(12500) > 0)
  1941. .@qid = 12500;
  1942. else if (isbegin_quest(12499) > 0)
  1943. .@qid = 12499;
  1944. if (checkquest(.@qid,HUNTING) == 2) {
  1945. if (checkweight(1000103,6) == 0) { // (custom text)
  1946. mes "^008800Wait a sec!!";
  1947. mes "You cannot receive any more items because you're carrying too many items. Please try again after you lighten up.^000000";
  1948. close;
  1949. }
  1950. mes "[Sigma]";
  1951. mes "You did great making them surrender, but I don't think you were granted any administrator rights.";
  1952. next;
  1953. mes "[Sigma]";
  1954. mes "Since they will recover after some time, I think you will need to continue fighting them until Master Varmundt returns.";
  1955. next;
  1956. mes "[Sigma]";
  1957. mes "Oh.";
  1958. mes "I brought some old items from the past. It might help you, so take it.";
  1959. close2;
  1960. erasequest .@qid;
  1961. getitem 1000103,6;
  1962. if (.@qid == 12500) {
  1963. if (rand(1,100) < 95)
  1964. getitem 1000104,rand(1,5);
  1965. else
  1966. getitem 100161,1;
  1967. }
  1968. end;
  1969. }
  1970. mes "[Sigma]";
  1971. mes "I'll show you the way out. What will you do?";
  1972. next;
  1973. if (select( "I'll look around more.", "I'll leave." ) == 2)
  1974. warp "ba_maison",136,309;
  1975. end;
  1976. }
  1977. 1@herbs,1,1,0 script #172_sec_boss HIDDEN_WARP_NPC,{
  1978. end;
  1979. OnSummon:
  1980. monster 'map_herbs$,169,79,"Kappa",20620,1, instance_npcname("#172_sec_boss") + "::OnBossKill";
  1981. 'boss_gid = $@mobid[0];
  1982. setunittitle 'boss_gid, "<Red Pepper>";
  1983. donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
  1984. end;
  1985. OnSummonHard:
  1986. monster 'map_herbs$,275,80,"Lambda",20621,1, instance_npcname("#172_sec_boss") + "::OnBossKill";
  1987. 'boss_gid = $@mobid[0];
  1988. setunittitle 'boss_gid, "<Red Pepper>";
  1989. donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
  1990. end;
  1991. OnBossKill:
  1992. stopnpctimer;
  1993. donpcevent instance_npcname("#172_sec_boss_shield") + "::OnStop";
  1994. killmonster 'map_herbs$, instance_npcname("#172_sec_boss") + "::OnBossKill";
  1995. killmonster 'map_herbs$, instance_npcname("#172_sec_boss") + "::OnBreakShield";
  1996. if ('mode == 0)
  1997. enablenpc instance_npcname("#bs_wp1");
  1998. else
  1999. enablenpc instance_npcname("#bs_wp2");
  2000. enablenpc instance_npcname("#sigma2");
  2001. mapannounce 'map_herbs$, "Sigma : I have activated the warp to my location. Come over here.", bc_map, 0xF6D6B6;
  2002. end;
  2003. OnShield:
  2004. .@event$ = instance_npcname("#172_sec_boss") + "::OnBreakShield";
  2005. killmonster 'map_herbs$, .@event$;
  2006. if ('mode)
  2007. setarray .@xy[0],299,95,299,64,272,64,272,95;
  2008. else
  2009. setarray .@xy[0],171,94,171,65,200,65,200,94;
  2010. for ( .@i = 0; .@i < 8; .@i += 2 )
  2011. monster 'map_herbs$,.@xy[.@i],.@xy[.@i+1],"Guardian Part",20679,1, .@event$;
  2012. unitskilluseid 'boss_gid,"NPC_RELIEVE_OFF",1;
  2013. unitskilluseid 'boss_gid,"NPC_RELIEVE_ON",10;
  2014. mapannounce 'map_herbs$, "SYSTEM : The manager has summoned Guardian Parts and will recover them as materials for it's energy shield.", bc_map, 0xFFFF00;
  2015. initnpctimer;
  2016. end;
  2017. OnTimer40000:
  2018. stopnpctimer;
  2019. killmonster 'map_herbs$, instance_npcname("#172_sec_boss") + "::OnBreakShield";
  2020. mapannounce 'map_herbs$, "SYSTEM : A default energy shield value has been recovered.", bc_map, 0xFFFF00;
  2021. donpcevent instance_npcname("#172_sec_boss_shield") + "::OnStart";
  2022. end;
  2023. OnBreakShield:
  2024. switch( mobcount('map_herbs$, instance_npcname("#172_sec_boss") + "::OnBreakShield") ) {
  2025. case 0:
  2026. stopnpctimer;
  2027. unitskilluseid 'boss_gid,"NPC_RELIEVE_OFF",1;
  2028. mapannounce 'map_herbs$, "SYSTEM : All the Guardian Parts have been destroyed. No energy shield has been recovered.", bc_map, 0xFFFF00;
  2029. donpcevent instance_npcname("#172_sec_boss_shield") + "::OnStart";
  2030. end;
  2031. case 1:
  2032. .@val = 3;
  2033. break;
  2034. case 2:
  2035. .@val = 5;
  2036. break;
  2037. case 3:
  2038. .@val = 7;
  2039. break;
  2040. default:
  2041. end;
  2042. }
  2043. unitskilluseid 'boss_gid,"NPC_RELIEVE_OFF",1;
  2044. unitskilluseid 'boss_gid,"NPC_RELIEVE_ON",.@val;
  2045. mapannounce 'map_herbs$, "SYSTEM : The damage to the Guardian Parts has weakened the energy shield.", bc_map, 0xFFFF00;
  2046. end;
  2047. }
  2048. 1@herbs,1,1,0 script #172_sec_boss_shield HIDDEN_WARP_NPC,{
  2049. end;
  2050. OnStart:
  2051. initnpctimer;
  2052. end;
  2053. OnTimer30000:
  2054. stopnpctimer;
  2055. getunitdata 'boss_gid, .@data;
  2056. .@val = .@data[UMOB_MAXHP] / 10;
  2057. // todo system to trigger NPC_LOCKON_LASER
  2058. if (.@data[UMOB_HP] <= (.@val * 8) && 'summon[0] == 0) {
  2059. 'summon[0] = 1;
  2060. donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
  2061. end;
  2062. }
  2063. if (.@data[UMOB_HP] <= (.@val * 6) && 'summon[1] == 0) {
  2064. 'summon[1] = 1;
  2065. donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
  2066. end;
  2067. }
  2068. if (.@data[UMOB_HP] <= (.@val * 4) && 'summon[2] == 0) {
  2069. 'summon[2] = 1;
  2070. donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
  2071. end;
  2072. }
  2073. if (.@data[UMOB_HP] <= (.@val * 2) && 'summon[3] == 0) {
  2074. 'summon[3] = 1;
  2075. donpcevent instance_npcname("#172_sec_boss") + "::OnShield";
  2076. end;
  2077. }
  2078. if ('summon[0] == 0 || 'summon[1] == 0 || 'summon[2] == 0 || 'summon[3] == 0)
  2079. initnpctimer;
  2080. end;
  2081. OnStop:
  2082. stopnpctimer;
  2083. end;
  2084. }