HiddenGarden.txt 83 KB

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