1 //===== rAthena Script =======================================
3 //===== Description: =========================================
4 //= [Official Conversion]
5 //= Horror Toy Factory Instance
6 //===== Changelogs: ==========================================
7 //= 1.0 First version. Uses official script structure and text
8 //= from iRO. [Capuche]
9 //============================================================
11 xmas,237,303,3 script Catherine Jet Johnson 4_F_SKULL06GIRL,{
12 if (getstatus(SC_MONSTER_TRANSFORM,1) > 0) {
13 mes "[Catherine Jet Johnson]";
14 mes "Aaa.. Are you going to go into there?";
16 mes "[Catherine Jet Johnson]";
17 mes "You'd better release your transformation if you'd like to enter. It could be dangerous in some ways.";
21 if (BaseLevel < 140) {
22 mes "[Catherine Jet Johnson]";
23 mes "Ah, wait! Please wait. This is not a good place for a promising young "+ ( Sex ? "man" : "woman" ) +" like you!";
25 mes "[Catherine Jet Johnson]";
26 mes "If you must, come back later after you become far stronger. Hmmm.. I would say.. Lv.140?";
30 mes "^ff0000Be cautious taming or other ways than hunting monsters are not considered as normal killing counts.^000000";
32 mes "[Catherine Jet Johnson]";
33 switch( isbegin_quest(12330) ) {
35 mes "Do.. Don't be afraid of me. Now I look ugly, but I wasn't like this before.";
37 mes "^0000ffThe skull-faced girl in front of you is speaking in a tearful voice. Void holes where there should be eyes are staring at you.^000000";
39 select("What's wrong with your face?");
40 mes "[Catherine Jet Johnson]";
41 mes "This is a long story.. Would you mind if I talk to you? If you waste your time on someone like me?";
43 if (select( "Quit.", "Please keep talking." ) == 1) {
44 mes "[Catherine Jet Johnson]";
45 mes "Okay, take care of yourself. And don't ever come near that odd entrance.";
48 mes "[Catherine Jet Johnson]";
49 mes "Mmm.. Where should I start.. The story of this town first?...";
51 mes "^0000ffWith a sigh, the girl begins to speak in a subdued tone like a bard who tells an old story.^000000";
53 mes "[Catherine Jet Johnson]";
54 mes "There was a toy factory in this town. All of the people in this town work there and I was one of the employees.";
56 mes "[Catherine Jet Johnson]";
57 mes "We all were happy in the beginning. We used to gather around together and have a friendly chat having gingerbread and hot tea after work.";
59 select("I couldn't even imagine, seeing this mood...");
60 mes "[Catherine Jet Johnson]";
61 mes "Yes, because we couldn't earn a livng by packaging toys forever. The situations got tough after the villagers left in ones and twos.";
63 mes "[Catherine Jet Johnson]";
64 mes "I was the one who worked as an assistant beside the doll craftsman who made dolls to the end.";
66 mes "^0000ffI could feel her slender jawbone is trembling due to the subtle change of her emotion.^000000";
68 select("Ask her to continue.");
69 mes "[Catherine Jet Johnson]";
70 mes "On the day when the factory is decided to be closed, the doll maker dressed the last doll he made and shed tears.";
72 mes "[Catherine Jet Johnson]";
73 mes "Perhaps he thought he wouldn't make a doll anymore.";
75 mes "[Catherine Jet Johnson]";
76 mes "He named the last doll ^0000ffCeline Kimi^000000 and stopped all the lines in the factory.";
78 select("Did he give a doll a name?");
79 mes "[Catherine Jet Johnson]";
80 mes "Sometimes there can be the work as if it were their child to doll makers. Kimi was the one for him.";
82 mes "[Catherine Jet Johnson]";
83 mes "I guess his earnestness breathed life to Kimi.";
85 select("Do you mean the doll is alive?");
86 mes "[Catherine Jet Johnson]";
87 mes "Yes, ^0000ffShe^000000 became a living creature. I don't know the reason, but she is striding in the toy factory with heavy sorrow and rage.";
89 mes "[Catherine Jet Johnson]";
90 mes "When I first saw her, she was standing beside the doll maker who died and collapsed. She stood there with an unknowable expression.";
92 mes "[Catherine Jet Johnson]";
93 mes "That's the end. I was outside when I woke up again after I had been blacked out. My face has become like this.";
95 select("Did Kimi do that?");
96 mes "[Catherine Jet Johnson]";
97 mes "I don't know.. She would do it, or it could be a different problem. I have no memory with this.";
99 select("Do you blame her?");
100 mes "[Catherine Jet Johnson]";
101 mes "Ah, no. I don't blame her! I just want to know what happened to the doll craftsman on that day.";
103 mes "[Catherine Jet Johnson]";
104 mes "I don't think the scene I saw was everything. However, getting into the factory again is.. Re-entering there is...";
106 mes "[Catherine Jet Johnson]";
107 mes "Yes, I am scared and reluctant to do it. If there's someone who can help me..";
109 if (select( "I am not very helpful to you.", "Maybe I can help you with it." ) == 1) {
110 mes "[Catherine Jet Johnson]";
111 mes "Thank you for.. for listening to me. Hope you will enjoy your trip..";
114 mes "[Catherine Jet Johnson]";
115 mes "Heh? You would do me a favor?";
117 select("Let's get into the factory with me.");
118 mes "[Catherine Jet Johnson]";
119 mes "We.. Well, I cannot help you at all except for providing you with directions. Besides, there can be a big danger to you.";
121 select("You can reunite with Kimi, can't you?");
122 mes "[Catherine Jet Johnson]";
123 mes "Kimi, you mean Kimi..";
125 mes "^0000ffShe is thinking about something intently with gaping eyes.^000000";
127 mes "[Catherine Jet Johnson]";
128 mes "I.. I've decided. It won't be a great help to you, but I can simply let you know the directions.";
130 mes "[Catherine Jet Johnson]";
131 mes "Wait, please wait until I am prepared. I can guide you when I am ready.";
132 setquest 12330;// Skull-faced Girl
135 mes "Done. Let me try to open the closed door.";
139 mes "Kimi's soul is still staying in this ground. When I can let her rest in peace...";
143 if (getcharid(1) < 1) {
144 mes "^0000ffYou need to organize a party having more than a member to get into Horror Toy Factory.^000000";
147 switch( checkquest(12331,PLAYTIME) ) {
149 if (getpartyleader(getcharid(1),2) != getcharid(0)) {
150 mes "[Catherine Jet Johnson]";
151 mes "Eh.. Give me a second. I am talking to the person in charge. Please wait for a while.";
154 if (select( "Unlock Horror Toy Factory", "Cancel" ) == 1) {
155 mes "Door will be.. opened soon.. Would you wait for a moment?";
156 if (instance_create("Horror Toy Factory") >= 0)
157 'xm_d_map$ = instance_mapname("1@xm_d");
162 mes "[Catherine Jet Johnson]";
163 mes "The smell of preservative from the factory has not been going away. You cannot stand longer there under this state.";
165 mes "[Catherine Jet Johnson]";
166 mes "I will keep you from entering before the scent of preservative is completely gone away.";
169 mes "^0000ffThe smell of preservative has gone away. You can talk to Catherine Jet Johnson.^000000";
175 xmas,233,305,4 script Factory Dimension Telep PORTAL,{
176 if (getstatus(SC_MONSTER_TRANSFORM,1) > 0) {
177 mes "[Factory Dimension Teleporter]";
178 mes "There are some work study programs as monster workers during the Horror Toy Factory tour. Therefore, ^ff0000You are limited to enter when you are in transformation.^000000";
181 if (BaseLevel < 140) {
182 mes "[Factory Dimension Teleporter]";
183 mes "You are not eligible for dimensional shifting. You should be at least Lv.140.";
186 if (getcharid(1) < 1) {
187 mes "[Factory Dimension Teleporter]";
188 mes "You don't have any fellows? Please organize a party and come again if you go alone.";
191 switch( checkquest(12331,PLAYTIME) ) {
193 switch( instance_enter("Horror Toy Factory") ) {
195 mes "An unknown error has occurred.";
198 mes "The gateway for dimensional shifting has not been activated.";
201 mes "[Factory Dimension Teleporter]";
202 mes "You don't have any fellows? Please organize a party and come again if you go alone.";
205 mapannounce "xmas", getpartyname( getcharid(1) ) +" party's party member "+ strcharinfo(0) +" enters Horror Toy Factory.", bc_map, "0x00ff99";
206 setquest 12331;// Trail of Toy Factory
211 mes "You already have a trail of dimensional shifting. Your access has been denied.";
214 mes "^0000ffThe trail of dimensional shifting disappeared. You are allowed to use Factory Dimension Teleporter.^000000";
220 1@xm_d,112,20,6 script Catherine Jet Johnson#0 4_F_SKULL06GIRL,{
221 if (getstatus(SC_MONSTER_TRANSFORM,1) > 0) {
222 mes "[Catherine Jet Johnson]";
223 mes "You cannot come to here if you are under the effect of a monstre transformation.";
225 mes "[Catherine Jet Johnson]";
226 mes "Please wait until the transformation is finished. You cannot move to another area before you become normal.";
229 if (getpartyleader(getcharid(1),2) != getcharid(0)) {
230 mes "[Catherine Jet Johnson]";
231 mes "Eh.. Give me a second. I am talking to the person in charge. Please wait.";
234 mes "[Catherine Jet Johnson]";
235 mes "Everyone is in their mortal corruptible state right?";
236 npctalk "Catherine Jet Johnson: Everyone is in their mortal corruptible state right?";
238 switch( select( "Quit the story", "Listen to her story.", "I know your situation. Let's start quickly!" ) ) {
240 mes "[Catherine Jet Johnson]";
241 mes "Oh, dear. Let me know when you are ready.";
244 donpcevent instance_npcname("Catherine Jet Johnson#01") + "::OnStart";
247 donpcevent instance_npcname("Catherine Jet Johnson#01") + "::OnStart2";
252 1@xm_d,112,20,1 script Catherine Jet Johnson#01 4_F_SKULL06GIRL,{
255 enablenpc instance_npcname("#bgm01");
256 enablenpc instance_npcname("Catherine Jet Johnson#01");
257 disablenpc instance_npcname("Catherine Jet Johnson#0");
259 npctalk "Catherine Jet Johnson: This area was Factory No.1. It used to be the place where the toys and dolls were stored before given as presents.";
261 npctalk "Catherine Jet Johnson: Ah, I remember several things. If someone wasn't in the employee's uniform, the guards used to come and scold them....";
263 npctalk "Catherine Jet Johnson: By the way...";
264 donpcevent instance_npcname("#fac1ct") + "::OnStart";
266 mapannounce 'xm_d_map$, "Factory announcement: Wake up, toy factory working time has come...", bc_map, "0x00ff44";
268 npctalk "Catherine Jet Johnson: Wh.. What happened? Toys and dolls are wandering instead of human workers. As if they are employees...";
270 npctalk "Catherine Jet Johnson: I think other spirits have inhabited the empty factory for too long.";
272 mapannounce 'xm_d_map$, "Factory announcement: Waste and other debries should be kept clear from work areas. This is to keep you safe at all times.", bc_map, "0x00ff44";
274 npctalk "Catherine Jet Johnson: It's just like when humans worked here.";
276 mapannounce 'xm_d_map$, "Factory announcement: Let's make presents for every child's dream today.", bc_map, "0x00ff44";
278 npctalk "Catherine Jet Johnson: But, it's not the time to be happy. Once we find the last factory area, we will need to halt all production lines.";
280 mapannounce 'xm_d_map$, "Factory announcement: Please start product line No.1. Don't forget to wear a safety helmet! This means you Bob!", bc_map, "0x00ff44";
282 npctalk "Catherine Jet Johnson: Ah, maybe we should restore those toys and gift boxes to their original condition.";
284 npctalk "Catherine Jet Johnson: Eh? I... I mean... To return them as they were.. Yes... We need to fight them? I don't how exactly.";
286 mapannounce 'xm_d_map$, "Factory announcement: All employees must wear a proper uniform and identification. Please check with security if you do not have yours.", bc_map, "0x00ff44";
288 npctalk "Catherine Jet Johnson: Good heavens, I home the guards are still human. There were boxes of uniforms near here in the past..";
289 enablenpc instance_npcname("Employees' Uniform Box#1");
290 enablenpc instance_npcname("Employees' Uniform Box#2");
291 enablenpc instance_npcname("Employees' Uniform Box#3");
293 npctalk "Catherine Jet Johnson: Ah, they are behind me. You'd better change into the uniform. Fortunately, I still have my employee card.";
295 npctalk "Catherine Jet Johnson: I will find my way around here. Let's meet near the second production line. Cheer up its a toy factory. It can't be all that bad!!";
297 disablenpc instance_npcname("Catherine Jet Johnson#01");
298 disablenpc instance_npcname("#bgm01");
302 enablenpc instance_npcname("#bgm01");
303 enablenpc instance_npcname("Catherine Jet Johnson#01");
304 disablenpc instance_npcname("Catherine Jet Johnson#0");
306 npctalk "Catherine Jet Johnson: Ah.. We have explored here before? Okay, let's meet at the same spot again.";
308 disablenpc instance_npcname("Catherine Jet Johnson#01");
309 enablenpc instance_npcname("Employees' Uniform Box#1");
310 enablenpc instance_npcname("Employees' Uniform Box#2");
311 enablenpc instance_npcname("Employees' Uniform Box#3");
312 mapannounce 'xm_d_map$, "Factory announcement: Wake up, toy factory working time has come...", bc_map, "0x00ff44";
314 mapannounce 'xm_d_map$, "Factory announcement: Waste and other debries should be kept clear from work areas. This is to keep you safe at all times.", bc_map, "0x00ff44";
316 mapannounce 'xm_d_map$, "Factory announcement: Let's make presents for every child's dream today.", bc_map, "0x00ff44";
317 donpcevent instance_npcname("#fac1ct") + "::OnStart";
318 disablenpc instance_npcname("#bgm01");
322 disablenpc instance_npcname( strnpcinfo(0) );
323 // disable some warps
324 disablenpc instance_npcname("#fac3wp");
325 disablenpc instance_npcname("#fac3wp2");
326 disablenpc instance_npcname("#fac4wp");
327 disablenpc instance_npcname("#fac4wp2");
328 disablenpc instance_npcname("#fac5wp");
329 disablenpc instance_npcname("#fac6wp");
333 1@xm_d,112,20,0 script #bgm01 -1,9,9,{
339 disablenpc instance_npcname( strnpcinfo(0) );
343 1@xm_d,13,105,6 script Employees' Uniform Box#1 4_NONMYSTCASE,{
344 progressbar "ffff00",1;
346 .@mob_id_transform = getstatus(SC_MONSTER_TRANSFORM,1);
347 if (.@mob_id_transform == 1246 || .@mob_id_transform < 1) {
348 mes "^0000ffYou put on a factory uniform. There still seem to be a few uniforms left in the box.^000000";
349 transform 1246,180000;// COOKIE_XMAS
352 mes "^ff0000In transformation";
353 mes "You cannot use uniform box when already transformed.^000000";
356 disablenpc instance_npcname( strnpcinfo(0) );
359 1@xm_d,116,16,6 duplicate(Employees' Uniform Box#1) Employees' Uniform Box#2 4_NONMYSTCASE
360 1@xm_d,10,20,6 duplicate(Employees' Uniform Box#1) Employees' Uniform Box#3 4_NONMYSTCASE
362 1@xm_d,1,5,3 script #fac1ct CLEAR_NPC,{
365 .@event$ = instance_npcname("#fac1ct") + "::OnMyMobDead";
366 killmonster 'xm_d_map$, .@event$;
367 areamonster 'xm_d_map$,16,24,114,112, "Vicious Cookie",2989,31, .@event$; // XM_COOKIE
368 areamonster 'xm_d_map$,16,24,114,112, "Evil Dwelling Box",2991,36, .@event$;// XM_MYSTCASE
372 if (mobcount( 'xm_d_map$, instance_npcname("#fac1ct") + "::OnMyMobDead" ) < 30)
377 killmonster 'xm_d_map$, instance_npcname("#fac1ct") + "::OnMyMobDead";
378 enablenpc instance_npcname("#fac1bs");
379 mapannounce 'xm_d_map$, "Coordinator's announcement: Huh? Where's everyone! How dare workers to be absent from the line!", bc_map, "0xff8800";
380 for ( .@i = 61; .@i <= 89; .@i++ )
381 disablenpc instance_npcname( "alert#"+ .@i );
386 hideonnpc instance_npcname( strnpcinfo(0) );
390 1@xm_d,71,129,3 script #fac1bs 4_M_COOKIE,{
391 if (getpartyleader(getcharid(1),2) == getcharid(0)) {
392 .@mob_id_transform = getstatus(SC_MONSTER_TRANSFORM,1);
394 if (.@mob_id_transform == 1246) {
395 mes "I can't find the other workers. We don't have time for dawdling. Children are waiting for presents.";
398 mes "Hurry up! Carry ^ff0000the gift box over there^000000 and move to the east.";
399 enablenpc instance_npcname("#pck1");
400 npctalk "Coordinator: Hurry up! Carry the gift box over there and move to the east.";
402 else if (.@mob_id_transform == 1249)
403 mes "Why are you hanging around! Carry ^ff0000the gift box over here^000000 and move to the east.";
405 mes "What!? Humans!!!";
406 donpcevent instance_npcname("#fac1bs") + "::OnAlert";
413 .@npc_name$ = instance_npcname("#fac1bs");
414 .@event$ = .@npc_name$ + "::OnMyMobDead";
415 killmonster 'xm_d_map$, .@event$;
416 npctalk "Coordinator: Guard! Where is guard! Humans are invading!!";
418 disablenpc .@npc_name$;
419 for ( .@i = 0; .@i <= 10; .@i++ ) {
420 areamonster 'xm_d_map$,61,118,71,128, "Guard",2990,1, .@event$;// XM_CRUISER
429 .@npc_name$ = instance_npcname("#fac1bs");
430 killmonster 'xm_d_map$, .@npc_name$ + "::OnMyMobDead";
431 enablenpc .@npc_name$;
432 npctalk "Coordinator: This kind of things happens a lot these days...";
437 disablenpc instance_npcname( strnpcinfo(0) );
441 1@xm_d,65,127,6 script #pck1 4_NONMYSTCASE,{
442 progressbar "ffff00",1;
443 .@mob_id_transform = getstatus(SC_MONSTER_TRANSFORM,1);
444 if (.@mob_id_transform == 1246) {
445 mes "^0000ffYou are carrying the packaged present.^000000";
446 transform 1249,180000;// MYSTCASE
448 else if (.@mob_id_transform == 1249)
449 mes "^009900The box is in your hands. You cannot carry more than one boxe.^000000";
451 mes "^ff0000You are not in uniform. The Coordinator won't let you pick it up.^000000";
455 disablenpc instance_npcname( strnpcinfo(0) );
459 1@xm_d,76,129,0 script #fac1wp WARPNPC,2,2,{
461 if (getstatus(SC_MONSTER_TRANSFORM,1) == 1249) {
462 warp 'xm_d_map$,88,129;
468 1@xm_d,179,129,0 script #fac2wp WARPNPC,2,2,{
470 if (getstatus(SC_MONSTER_TRANSFORM,1) == 1249) {
471 warp 'xm_d_map$,183,100;
477 1@xm_d,1,5,3 script #alert1 CLEAR_NPC,{
482 mapannounce 'xm_d_map$, "Factory announcement: Outsiders are spotted on the product line. Guard, please move out immediately.",bc_map,"0x00ffff";
484 mapannounce 'xm_d_map$, "Factory announcement: Invaders have been identified. Distinction Code AX0829. Type: Human. Chase them away.", bc_map, "0x00ffff";
486 mapannounce 'xm_d_map$, "Guard's announcement: Please immediately leave here, outsiders.", bc_map, "0xffff00";
488 mapannounce 'xm_d_map$, "Factory announcement: Outsiders, hold up your hands and surrender. Otherwise, I will shoot you.", bc_map, "0x00ffff";
490 mapannounce 'xm_d_map$, "Factory announcement: Dispatch the guard. Suppress the invaders.", bc_map, "0x00ffff";
492 mapannounce 'xm_d_map$, "CAUTION: The plant manger is coming to inspect. Wipe out the outsiders.", bc_map, "0xff4444";
494 mapannounce 'xm_d_map$, "Factory announcement: Not good news. Outside creatures are detected. Guard, please mobilize.", bc_map, "0x00ff88";
496 mapannounce 'xm_d_map$, "Factory announcement: Outsiders or invaders are obstacles to operate the factory. You can kill them if it is necessary.", bc_map, "0xff9999";
498 mapannounce 'xm_d_map$, "Factory announcement: Okay that's it, party's over! Get out of my house!", bc_map, "0x00ffff";
500 mapannounce 'xm_d_map$, "Guard's announcement: Invaders are spotted! They seem human! I will blip them off!", bc_map, "0xffff00";
504 disablenpc instance_npcname( strnpcinfo(0) );
508 1@xm_d,10,24,0 script alert#61 -1,10,10,{
510 if (getstatus(SC_MONSTER_TRANSFORM,1) != 1246) {
511 switch( atoi(strnpcinfo(2)) ) {
530 getmapxy .@map$, .@x, .@y, 0;
531 .@npc_name$ = instance_npcname( strnpcinfo(0) );
532 .@event$ = .@npc_name$ + "::OnMyMobDead";
534 specialeffect EF_VENOMDUST;
535 donpcevent instance_npcname("#alert1") + "::Onstart";
536 disablenpc .@npc_name$;
537 killmonster 'xm_d_map$, .@event$;
538 areamonster 'xm_d_map$,(.@x-10),(.@y-10),(.@x+10),(.@y+10), "Toy Factory Guard",2990,.@count, .@event$;// XM_CRUISER
544 enablenpc instance_npcname( strnpcinfo(0) );
545 killmonster 'xm_d_map$, instance_npcname( strnpcinfo(0) ) +"::OnMyMobDead";
552 1@xm_d,30,24,0 duplicate(alert#61) alert#62 -1,10,10
553 1@xm_d,50,24,0 duplicate(alert#61) alert#63 -1,10,10
554 1@xm_d,70,24,0 duplicate(alert#61) alert#64 -1,10,10
555 1@xm_d,90,24,0 duplicate(alert#61) alert#65 -1,10,10
556 1@xm_d,10,44,0 duplicate(alert#61) alert#66 -1,10,10
557 1@xm_d,30,44,0 duplicate(alert#61) alert#67 -1,10,10
558 1@xm_d,50,44,0 duplicate(alert#61) alert#68 -1,10,10
559 1@xm_d,70,44,0 duplicate(alert#61) alert#69 -1,10,10
560 1@xm_d,90,44,0 duplicate(alert#61) alert#70 -1,10,10
561 1@xm_d,110,44,0 duplicate(alert#61) alert#71 -1,10,10
562 1@xm_d,10,64,0 duplicate(alert#61) alert#72 -1,10,10
563 1@xm_d,30,64,0 duplicate(alert#61) alert#73 -1,10,10
564 1@xm_d,50,64,0 duplicate(alert#61) alert#74 -1,10,10
565 1@xm_d,70,64,0 duplicate(alert#61) alert#75 -1,10,10
566 1@xm_d,90,64,0 duplicate(alert#61) alert#76 -1,10,10
567 1@xm_d,110,64,0 duplicate(alert#61) alert#77 -1,10,10
568 1@xm_d,10,84,0 duplicate(alert#61) alert#78 -1,10,10
569 1@xm_d,30,84,0 duplicate(alert#61) alert#79 -1,10,10
570 1@xm_d,50,84,0 duplicate(alert#61) alert#80 -1,10,10
571 1@xm_d,70,84,0 duplicate(alert#61) alert#81 -1,10,10
572 1@xm_d,90,84,0 duplicate(alert#61) alert#82 -1,10,10
573 1@xm_d,110,84,0 duplicate(alert#61) alert#83 -1,10,10
574 1@xm_d,10,104,0 duplicate(alert#61) alert#84 -1,10,10
575 1@xm_d,30,104,0 duplicate(alert#61) alert#85 -1,10,10
576 1@xm_d,50,104,0 duplicate(alert#61) alert#86 -1,10,10
577 1@xm_d,70,104,0 duplicate(alert#61) alert#87 -1,10,10
578 1@xm_d,90,104,0 duplicate(alert#61) alert#88 -1,10,10
579 1@xm_d,110,104,0 duplicate(alert#61) alert#89 -1,10,10
580 1@xm_d,155,20,0 duplicate(alert#61) alert#90 -1,10,10
581 1@xm_d,180,50,0 duplicate(alert#61) alert#91 -1,10,10
582 1@xm_d,205,80,0 duplicate(alert#61) alert#92 -1,10,10
583 1@xm_d,230,110,0 duplicate(alert#61) alert#93 -1,10,10
584 1@xm_d,180,20,0 duplicate(alert#61) alert#94 -1,10,10
585 1@xm_d,180,50,0 duplicate(alert#61) alert#95 -1,10,10
586 1@xm_d,180,80,0 duplicate(alert#61) alert#96 -1,10,10
587 1@xm_d,205,20,0 duplicate(alert#61) alert#97 -1,10,10
588 1@xm_d,205,50,0 duplicate(alert#61) alert#98 -1,10,10
589 1@xm_d,205,80,0 duplicate(alert#61) alert#99 -1,10,10
590 1@xm_d,205,110,0 duplicate(alert#61) alert#100 -1,10,10
591 1@xm_d,230,20,0 duplicate(alert#61) alert#101 -1,10,10
592 1@xm_d,230,50,0 duplicate(alert#61) alert#102 -1,10,10
593 1@xm_d,230,80,0 duplicate(alert#61) alert#103 -1,10,10
594 1@xm_d,230,110,0 duplicate(alert#61) alert#104 -1,10,10
597 1@xm_d,185,100,6 script Catherine Jet Johnson#2 4_F_SKULL06GIRL,{
598 if (getpartyleader(getcharid(1),2) == getcharid(0)) {
599 mes "[Catherine Jet Johnson]";
600 mes "Lucky you got here safely.";
602 switch( select( "Quit the story", "Listen to her tatics.", "I know what to do. Proceed quickly!" ) ) {
604 mes "[Catherine Jet Johnson]";
605 mes "Oh, dear. Let me know when you are ready.";
608 donpcevent instance_npcname("Catherine Jet Johnson#21") + "::OnStart";
611 donpcevent instance_npcname("Catherine Jet Johnson#21") + "::OnStart2";
615 mes "[Catherine Jet Johnson]";
616 mes "Hold on~ I am talking to your manager, so please wait.";
620 1@xm_d,185,100,6 script Catherine Jet Johnson#21 4_F_SKULL06GIRL,{
627 enablenpc instance_npcname("#bgm06");
628 enablenpc instance_npcname("Catherine Jet Johnson#21");
629 disablenpc instance_npcname("Catherine Jet Johnson#2");
632 npctalk "Catherine Jet Johnson: If you find all clues, search other places. I will look for the spot where I met the doll maker last time I was here.";
634 npctalk "Catherine Jet Johnson: This place was Factory No.2.";
636 npctalk "Catherine Jet Johnson: It used to be filled with people, but now it isn't.";
638 npctalk "Catherine Jet Johnson: Ah, I realized something while coming here. Some...Children...";
640 npctalk "Catherine Jet Johnson: How can I say.. There were lots of souls looking very scary, but awfully sad.";
642 npctalk "Catherine Jet Johnson: How pitiful they are, but please make them rest if they attack you. Fortunately, they won't come at me.";
644 npctalk "Catherine Jet Johnson: If you see a worker toy on duty while searching here, would you ask it about the doll maker?";
646 npctalk "Catherine Jet Johnson: He might be sent to Heaven if they recall the memory of doll maker. That the only hope.";
648 npctalk "Catherine Jet Johnson: If you find all clues, search other places. I will look for the spot where I met the doll maker last time I was here.";
650 npctalk "Catherine Jet Johnson: Sorry that I can't be a big help to you. See you in a minute.";
653 disablenpc instance_npcname("Catherine Jet Johnson#21");
654 enablenpc instance_npcname("Employees' Uniform Box#4");
655 donpcevent instance_npcname("#fac2ct") + "::OnStart";
657 for ( .@i = 1; .@i <= 10; .@i++ )
658 enablenpc instance_npcname( "Worker#"+ .@i );
659 disablenpc instance_npcname("#bgm06");
663 disablenpc instance_npcname( strnpcinfo(0) );
667 1@xm_d,185,100,0 script #bgm06 -1,9,9,{
672 disablenpc instance_npcname( strnpcinfo(0) );
676 1@xm_d,185,94,6 script Employees' Uniform Box#4 4_NONMYSTCASE,{
677 progressbar "ffff00",1;
679 .@mob_id_transform = getstatus(SC_MONSTER_TRANSFORM,1);
680 if (.@mob_id_transform == 1246 || .@mob_id_transform == 1249 || .@mob_id_transform < 1) {
681 mes "^0000ff>You changed into uniform.^000000";
682 transform 1246,300000;// COOKIE_XMAS
685 mes "^ff0000You transformed into a different form.";
686 mes "You can't seem to put on the uniform over your fangs.^000000";
690 disablenpc instance_npcname( strnpcinfo(0) );
694 1@xm_d,1,5,3 script #fac2ct CLEAR_NPC,{
697 killmonster 'xm_d_map$, instance_npcname("#fac2ct") + "::OnMyMobDead";
701 .@event$ = instance_npcname("#fac2ct") + "::OnMyMobDead";
702 killmonster 'xm_d_map$, .@event$;
703 areamonster 'xm_d_map$,140,18,240,120, "Malicious Baby Ghost",2993,19, .@event$; // XM_HYLOZOIST
704 areamonster 'xm_d_map$,140,18,240,120, "Evil Dwelling Box",2991,16, .@event$; // XM_MYSTCASE
705 areamonster 'xm_d_map$,140,18,240,120, "Abandoned Teddy bear",2995,22, .@event$; // XM_TEDDY_BEAR
706 areamonster 'xm_d_map$,140,18,240,120, "Creepy Demon",2992,16, .@event$; // XM_LUDE
712 hideonnpc instance_npcname( strnpcinfo(0) );
716 1@xm_d,1,2,3 script #fac2wpc CLEAR_NPC,{
719 .@fac_open = 'worker[1] + 'worker[2] + 'worker[3] + 'worker[4] + 'worker[5] + 'worker[6] + 'worker[7] + 'worker[8] + 'worker[9] + 'worker[10];
720 if (.@fac_open == 10) {
721 enablenpc instance_npcname("#fac3wp");
722 enablenpc instance_npcname("#fac3wp2");
723 donpcevent instance_npcname("#fac2ct") + "::OnEnd";
724 mapannounce 'xm_d_map$, "Factory announcement: Everyone has gone home. The line is shut down and the employee's lounge is open.", bc_map, "0x00ff44";
725 for ( .@i = 90; .@i <= 104; .@i++ )
726 disablenpc instance_npcname( "alert#"+ .@i );
729 mapannounce 'xm_d_map$, "Factory announcement: Now there are " + (10 - .@fac_open) + " people on the packaging line. Take care of yourself.", bc_map, "0x00ff44";
733 disablenpc instance_npcname( strnpcinfo(0) );
737 1@xm_d,155,98,3 script Worker#1 4_M_COOKIE,{
738 if (getstatus(SC_MONSTER_TRANSFORM,1) == 1246) {
739 .@num = atoi(strnpcinfo(2));
741 mes "Huh? What happened?";
743 if (select( "No, nothing special", "Do you know about the doll maker?" ) == 1) {
746 mes "I'm working now! I'm very busy!";
748 mes "I'm very busy with working, so could you stop chatting?";
752 pcblockmove getcharid(3),1;// todo : not able to talk to npc
753 pcblockskill getcharid(3),1;
756 npctalk "Worker: Ah! Grandpa? He's a real good man. He oiled us everyday and cleaned the dust very often.";
758 npctalk "Worker: I wish he wouldn't pass away. Ah... Ahah... I feel better.";
761 npctalk "Worker: Did Kimi kill the craftman grandpa? Who said that? That's not true. Kimi was going to save him!";
763 npctalk "Worker: Ah... B.. By the way, why my body becomes...";
766 npctalk "Worker: He had chronic cardiac disease, but it suddenly started to fit on the day he died. Kimi found him and gave him first aid, but..";
768 npctalk "Worker: Ah.. Did you do something to me? I feel strange...";
771 npctalk "Worker: Kimi didn't move at all for sometime and sat down like ordinary dolls.";
773 npctalk "Worker: She was about to fly her soul forever... Like me now... Oh, my... What happened to me?";
776 npctalk "Worker: Oh, Kimi.. My dear.. She thought the doll maker passed away because she startled him.";
778 npctalk "Worker: Grandpa was just very pleased that Kimi was moving..";
781 npctalk "Worker: He could see a living doll for a while. That's what Kimi first did.";
783 npctalk "Worker: And what she first saw was his death. What a misery.";
786 npctalk "Worker: Kimi was able to hear the Grandpa's voice and feel before she was indwelled.";
788 npctalk "Worker: Perhaps Grandpa's affection made her move and become alive. Ahah.. I'm sleepy..";
791 npctalk "Worker: Grandpa good man! Kimi pity! Kimi loves Grandpa! Granpa died. I'm sad!";
795 npctalk "Worker: He was so amazed to see Kimi's opening eyes and his heart... It became like that.";
797 npctalk "Worker: Anyhow, why my body... It's likely to float in the air.... Something strange.";
800 npctalk "Worker: Kimi didn't hurt Grandpa! Kimi's wanted to save Grandpa! People are scared of Kimi Kimi is kind! Kimi is a good girl!";
802 npctalk "Worker: Grandpa... I miss him. Grandpa, Grandpa...";
806 disablenpc instance_npcname( strnpcinfo(0) );
807 if ('worker[.@num] == 0) {
809 donpcevent instance_npcname("#fac2wpc") + "::OnStart";
811 pcblockmove getcharid(3),0;
812 pcblockskill getcharid(3),0;
816 mes "What!? You are not one of us!!";
817 donpcevent instance_npcname( strnpcinfo(0) ) + "::OnAlert";
821 .@npc_name$ = instance_npcname( strnpcinfo(0) );
822 killmonster 'xm_d_map$, .@npc_name$ + "::OnMyMobDead";
823 .@num = atoi(strnpcinfo(2));
825 npctalk "Worker: Guard! Guard!!";
827 npctalk "Worker: Guard, Guard! Where are you?! Humans are here!!";
831 setarray .@coord[0],233,27;
834 setarray .@coord[0],209,27;
837 getmapxy .@map$, .@coord[0], .@coord[1], UNITTYPE_NPC;
840 areamonster 'xm_d_map$,(.@coord[0]-8),(.@coord[1]-8),(.@coord[0]+8),(.@coord[1]+8), "Guard",2990,21, .@npc_name$ + "::OnMyMobDead";
841 disablenpc .@npc_name$;
842 if ('worker[.@num] == 0) {
844 donpcevent instance_npcname("#fac2wpc") + "::OnStart";
849 killmonster 'xm_d_map$, instance_npcname( strnpcinfo(0) ) + "::OnMyMobDead";
857 disablenpc instance_npcname( strnpcinfo(0) );
860 1@xm_d,130,72,3 duplicate(Worker#1) Worker#2 4_M_COOKIE
861 1@xm_d,134,34,1 duplicate(Worker#1) Worker#3 4_M_COOKIE
862 1@xm_d,195,28,3 duplicate(Worker#1) Worker#4 4_M_COOKIE
863 1@xm_d,228,30,1 duplicate(Worker#1) Worker#5 4_M_COOKIE
864 1@xm_d,203,55,3 duplicate(Worker#1) Worker#6 4_M_COOKIE
865 1@xm_d,132,52,1 duplicate(Worker#1) Worker#7 4_M_COOKIE
866 1@xm_d,162,52,1 duplicate(Worker#1) Worker#8 4_M_COOKIE
867 1@xm_d,242,17,5 duplicate(Worker#1) Worker#9 4_M_COOKIE
868 1@xm_d,209,15,3 duplicate(Worker#1) Worker#10 4_M_COOKIE
871 // Note : aegis script have OnClick part
872 1@xm_d,131,208,0 script Captured Santa#2 4_M_SANTA,10,10,{
875 disablenpc instance_npcname("Captured Santa#2");
876 enablenpc instance_npcname("Captured Santa#3");
877 donpcevent instance_npcname("Antonio#1") + "::OnStart";
878 enablenpc instance_npcname("#bgm04");
882 1@xm_d,131,208,8 script Captured Santa#3 4_M_SANTA,{
883 mes "[Captured Santa]";
884 mes "Even if no one owns it, its not right to steal it from everyone.";
888 disablenpc instance_npcname( strnpcinfo(0) );
892 1@xm_d,131,213,4 script Antonio#1 4_M_ANTONIO,{
894 mes "Hey, Santa. Stop being stuffy, you old man. Fair is fair after all, kekeke.";
898 .@antonio$ = instance_npcname("Antonio#1");
899 .@santa$ = instance_npcname("Captured Santa#3");
901 npctalk "Antonio: Listen to me, Santa~ I mean, I like this factory.", .@antonio$;
903 npctalk "Antonio: No one owns it~ And there are a number of things I can use.", .@antonio$;
905 npctalk "Captured Santa: You silly! Just to be sure, I followed you. Now you steal from everyones factory!", .@santa$;
907 npctalk "Antonio: Hey, is this a big deal if I have surplus presents? I don't know about that~", .@antonio$;
909 npctalk "Captured Santa: Whew... Okay, but think about that how children feel when they got them.", .@santa$;
911 npctalk "Captured Santa: How they feel if they know you distributed the masterless things to them?", .@santa$;
913 npctalk "Antonio: Hmm...", .@antonio$;
915 npctalk "Antonio: Maybe... I will be happy?! Anyway, that's a present, kekekeke.", .@antonio$;
917 npctalk "Captured Santa: Who said the present itself is the problem! You'd better stop this theft, Antonio!", .@santa$;
919 mapannounce 'xm_d_map$, "Factory announcement: The sending preparations have finished in Factory No.3.", bc_map, "0x00ff44";
921 mapannounce 'xm_d_map$, "Factory announcement: Delivery employees, please stand by.", bc_map, "0x00ff44";
923 npctalk "Antonio: Oh! Wohuhu! A bunch of presents are dealayed. Let's have a party today?!", .@antonio$;
925 npctalk "Antonio: Hey, human. You can follow me if you'd like to help. I'm okay unless you disturb me!", .@antonio$;
927 disablenpc .@antonio$;
929 npctalk "Captured Santa: Tha.. That dude has no ethics!", .@santa$;
931 npctalk "Captured Santa: Hey, would you go kick that Antonio out? He might run away if you hit several times.", .@santa$;
933 npctalk "Captured Santa: Its not right to steal from the community!", .@santa$;
935 disablenpc instance_npcname("#bgm04");
936 enablenpc instance_npcname("#fac4wp");
937 enablenpc instance_npcname("#fac4wp2");
938 donpcevent instance_npcname("#fac3ct") + "::OnStart";
939 donpcevent instance_npcname("#fac3ct2") + "::OnStart";
940 donpcevent instance_npcname("#fac3ct3") + "::OnStart";
942 enablenpc instance_npcname("#bgm05");
946 1@xm_d,131,208,0 script #bgm04 -1,9,9,{
951 disablenpc instance_npcname( strnpcinfo(0) );
955 1@xm_d,131,208,0 script #bgm05 -1,9,9,{
960 disablenpc instance_npcname( strnpcinfo(0) );
964 1@xm_d,1,5,3 script #fac3ct CLEAR_NPC,{
967 killmonster 'xm_d_map$, instance_npcname( strnpcinfo(0) ) + "::OnMyMobDead";
970 .@event$ = instance_npcname( strnpcinfo(0) ) + "::OnMyMobDead";
971 killmonster 'xm_d_map$, .@event$;
972 areamonster 'xm_d_map$,13,144,121,248, "Dancing Marionette",2994,37, .@event$; // XM_MARIONETTE
973 areamonster 'xm_d_map$,13,144,121,248, "Decorated Evil Tree",2987,31, .@event$; // XM_TREE
974 areamonster 'xm_d_map$,13,144,121,248, "Abandoned Teddy bear",2995,43, .@event$;// XM_TEDDY_BEAR
975 areamonster 'xm_d_map$,13,144,121,248, "Creepy Demon",2992,31, .@event$; // XM_LUDE
980 hideonnpc instance_npcname( strnpcinfo(0) );
984 1@xm_d,1,5,3 script #fac3ct2 CLEAR_NPC,{
987 killmonster 'xm_d_map$, instance_npcname( strnpcinfo(0) ) + "::OnMyMobDead";
990 .@event$ = instance_npcname( strnpcinfo(0) ) + "::OnMyMobDead";
991 killmonster 'xm_d_map$, .@event$;
992 areamonster 'xm_d_map$,159,215,241,247, "Malicious Baby Ghost",2993,13, .@event$; // XM_HYLOZOIST
993 areamonster 'xm_d_map$,159,215,241,247, "Decorated Evil Tree",2987,11, .@event$; // XM_TREE
994 areamonster 'xm_d_map$,159,215,241,247, "Abandoned Teddy bear",2995,15, .@event$; // XM_TEDDY_BEAR
995 areamonster 'xm_d_map$,159,215,241,247, "Creepy Demon",2992,11, .@event$; // XM_LUDE
1000 hideonnpc instance_npcname( strnpcinfo(0) );
1004 1@xm_d,1,5,3 script #fac3ct3 CLEAR_NPC,{
1008 areamonster 'xm_d_map$,13,144,121,248 ,"Antonio",2988,1, instance_npcname("#fac3ct3")+"::OnMyMobDead";// ANTONIO
1010 areamonster 'xm_d_map$,159,215,241,247, "Antonio",2988,1, instance_npcname("#fac3ct3")+"::OnMyMobDead";
1014 if (mobcount( 'xm_d_map$, instance_npcname("#fac3ct3") + "::OnMyMobDead" ) < 1)
1020 killmonster 'xm_d_map$, instance_npcname( strnpcinfo(0) ) + "::OnMyMobDead";
1021 donpcevent instance_npcname("#fac3ct") + "::OnEnd";
1022 donpcevent instance_npcname("#fac3ct2") + "::OnEnd";
1023 donpcevent instance_npcname("#finalbs") + "::OnStart";
1024 disablenpc instance_npcname("Captured Santa#3");
1025 mapannounce 'xm_d_map$, "???: I won't harm you if you leave quietly without spoiling it for me.", bc_map, "0xff8800";
1030 hideonnpc instance_npcname( strnpcinfo(0) );
1034 1@xm_d,1,5,3 script #finalbs CLEAR_NPC,{
1037 enablenpc instance_npcname("Catherine Jet Johnson#5");
1038 enablenpc instance_npcname("Celine Kimi#0");
1039 enablenpc instance_npcname("#fac5wp");
1040 // enablenpc instance_npcname("#fac5wp2");// never enabled
1041 enablenpc instance_npcname("#jeton1");
1044 disablenpc instance_npcname( strnpcinfo(0) );
1050 1@xm_d,160,208,0 script #fac5wp2 WARPNPC,2,2,{
1052 warp 'xm_d_map$,145,208;
1055 disablenpc instance_npcname( strnpcinfo(0) );
1060 1@xm_d,233,183,3 script Celine Kimi#0 4_F_KIMI,{
1061 mes "[Celine Kimi]";
1062 mes "Did you come here as well? Why all the humans are anxious to destroy what we built?";
1065 disablenpc instance_npcname( strnpcinfo(0) );
1069 1@xm_d,222,183,0 script #jeton1 -1,7,7,{
1071 disablenpc instance_npcname("#jeton1");
1072 donpcevent instance_npcname("Catherine Jet Johnson#5") + "::OnStart";
1073 enablenpc instance_npcname("#bgm02");
1076 disablenpc instance_npcname( strnpcinfo(0) );
1080 1@xm_d,222,183,0 script #bgm02 -1,9,9,{
1085 disablenpc instance_npcname( strnpcinfo(0) );
1089 1@xm_d,222,183,6 script Catherine Jet Johnson#5 4_F_SKULL06GIRL,{
1090 mes "[Catherine Jet Johnson]";
1091 mes "Wa.. Watch out! Kimi isn't under the normal status.";
1095 .@kimi$ = instance_npcname("Celine Kimi#0");
1097 npctalk "Catherine Jet Johnson: Kimi! Listen to me. I didn't come to blame you here.";
1099 npctalk "Celine Kimi: Everyone hates me!... You don't like me as well? This ugly and creepy doll likes me...", .@kimi$;
1101 npctalk "Catherine Jet Johnson: Kimi, I heard about you from dolls here. The doll maker adored you so much!";
1103 mapannounce 'xm_d_map$, "Phantom's yell: Lie!", bc_map, "0xff8800";
1105 npctalk "Celine Kimi: Don't lie. If that's true, why didn't he see me with love in his eyes?", .@kimi$;
1107 npctalk "Celine Kimi: Why didn't call my name? [Kimi] [Kimi!] I was anxious to hear the Grandpa's voice.", .@kimi$;
1109 mapannounce 'xm_d_map$, "Phantom's yell: Yes, Kimi~ Father was frightened! He was scared of you~", bc_map, "0xff8800";
1111 npctalk "Catherine Jet Johnson: No, don't listen to it, Kimi! He really cherished you.";
1113 npctalk "Celine Kimi: Did he... cherish me?", .@kimi$;
1115 npctalk "Catherine Jet Johnson: Yes, when you start to move, he was so plea...";
1117 mapannounce 'xm_d_map$, "Phantom's yell: He was scared of your appearance and his heart stopped, Kimi~ You killed him!", bc_map, "0xff8800";
1119 npctalk "Celine Kimi: D.. Did I.. kill him?...", .@kimi$;
1121 npctalk "Catherine Jet Johnson: No, Kimi! I've realized that. I misunderstood you. Just he had a disease!";
1123 npctalk "Celine Kimi: D.. Di.. Did I... kill... him?", .@kimi$;
1125 mapannounce 'xm_d_map$, "Phantom's yell: See how you look, Kimi~ See the mirror~ How do yo feel? ", bc_map, "0xff8800";
1127 npctalk "Celine Kimi: I... I...", .@kimi$;
1129 mapannounce 'xm_d_map$, "Phantom's yell: Don't you agree you are frightening? No one loves you, Kimi~", bc_map, "0xff8800";
1131 npctalk "Celine Kimi: Because of me, granpa was dead...", .@kimi$;
1132 specialeffect EF_MAPPILLAR2, AREA, .@kimi$;
1134 npctalk "Catherine Jet Johnson: It became serious. Kimi is suffering. It would be dangerous under this condition!";
1135 specialeffect EF_MAPPILLAR2, AREA, .@kimi$;
1137 mapannounce 'xm_d_map$, "Phantom's yell: Rage~ Sorrow~ No one cries for you, Kimi~", bc_map, "0xff8800";
1139 npctalk "Catherine Jet Johnson: I will find the emergency exit to escape. Run away, adventurer!";
1141 disablenpc instance_npcname("Catherine Jet Johnson#5");
1144 donpcevent instance_npcname("#finalbs2") + "::OnStart";
1145 disablenpc instance_npcname("#bgm02");
1149 disablenpc instance_npcname( strnpcinfo(0) );
1153 1@xm_d,1,5,3 script #finalbs2 CLEAR_NPC,{
1157 enablenpc instance_npcname("#bgm03");
1158 .@event$ = instance_npcname("#finalbs2") + "::OnMyMobDead";
1159 killmonster 'xm_d_map$, .@event$;
1160 monster 'xm_d_map$,231,184, "Celine Kimi",2996,1, .@event$;// XM_CELINE_KIMI
1161 'celene_id = $@mobid[0];
1162 monster 'xm_d_map$,226,190, "Kimi's Phantom",2997,1, .@event$;// G_XM_CELINE_KIMI
1163 'phantom_id = $@mobid[0];
1164 setunitdata 'celene_id, UMOB_HP,20000000;
1165 setunitdata 'phantom_id,UMOB_HP,20000000;
1167 unittalk 'celene_id, "I don't want to be deserted. I don't want to be abandoned.";
1172 if (mobcount( 'xm_d_map$, instance_npcname("#finalbs2") + "::OnMyMobDead" ) < 1)
1173 donpcevent instance_npcname("#finalbs2") + "::OnEnd";
1178 killmonster 'xm_d_map$, instance_npcname( strnpcinfo(0) ) + "::OnMyMobDead";
1179 disablenpc instance_npcname("#bgm03");
1180 donpcevent instance_npcname("#finalbs_e") + "::OnStart";
1184 .@chat_r = rand(1,10);
1186 unittalk 'celene_id, "I will burn you with hell inferno.";
1187 else if (.@chat_r == 2)
1188 unittalk 'celene_id, "Will you bear this flame?!";
1189 else if (.@chat_r == 3)
1190 unittalk 'celene_id, "I shouldn't have done, but...";
1191 else if (.@chat_r == 4)
1192 unittalk 'celene_id, "It's boiling!... Bear it if you can.";
1193 else if (.@chat_r == 5)
1194 unittalk 'celene_id, "Breathe as much as you can. It'll be the last breath you make.";
1195 else if (.@chat_r == 6)
1196 unittalk 'celene_id, "Frankly, I don't like fire.";
1198 unittalk 'celene_id, "Everyone is afraid of me! What have I done so wrong?!";
1202 getunitdata 'celene_id, .@data;
1203 if ((.@data[UMOB_X] < 211 || .@data[UMOB_X] > 241 || .@data[UMOB_Y] < 166 || .@data[UMOB_Y] > 201) && (.@data[UMOB_X] > 0 || .@data[UMOB_Y] > 0)) {
1204 mapannounce 'xm_d_map$, "Celine Kimi: No! I should keep my place!",bc_map,"0xff6666",FW_NORMAL,15;
1205 donpcevent instance_npcname("#finalbs2") + "::Onfail";
1211 killmonster 'xm_d_map$, instance_npcname( strnpcinfo(0) ) + "::OnMyMobDead";
1212 enablenpc instance_npcname("Celine Kimi#2");
1213 disablenpc instance_npcname("#bgm03");
1214 enablenpc instance_npcname("#kimion1");
1218 donpcevent instance_npcname("#bssk01") + "::OnStart";
1222 if (mobcount( 'xm_d_map$, instance_npcname("#finalbs2") + "::OnMyMobDead" ) > 1) {
1223 .@npc_name$ = instance_npcname("#finalbs2");
1224 getunitdata 'celene_id, .@MOB_HP1;
1225 getunitdata 'phantom_id, .@MOB_HP2;
1226 if (.@MOB_HP1[UMOB_HP] > .@MOB_HP2[UMOB_HP]) {
1227 setarray .@mob_hp[0], .@MOB_HP1[UMOB_HP], .@MOB_HP2[UMOB_HP];
1228 setarray .@string$[0],
1229 "You and I are the one! I will recover you!",
1230 "Celine Kimi recovers herself and her phantom ";
1231 .@talk = 'celene_id;
1233 else if (.@MOB_HP2[UMOB_HP] > .@MOB_HP1[UMOB_HP]) {
1234 setarray .@mob_hp[0], .@MOB_HP2[UMOB_HP], .@MOB_HP1[UMOB_HP];
1235 setarray .@string$[0],
1236 "I will restore you!!",
1237 "Celine Kimi's phantom recovers herself and her master ";
1238 .@talk = 'phantom_id;
1240 .@diff_hp = .@mob_hp[0] - .@mob_hp[1];
1241 if (.@diff_hp > 100000) {
1242 .@set_bs_hp = (.@diff_hp * 5) / 10;
1243 .@MOB_HP3 = .@mob_hp[0] + .@set_bs_hp;
1244 if (.@MOB_HP3 > 66666666)
1245 .@MOB_HP3 = 66666666;
1246 setunitdata 'celene_id, UMOB_HP, .@MOB_HP3;
1247 setunitdata 'phantom_id, UMOB_HP, .@MOB_HP3;
1248 donpcevent instance_npcname("#eff_f01") + "::OnStart";
1249 unittalk .@talk, .@string$[0];
1251 mapannounce 'xm_d_map$, .@string$[1] + .@set_bs_hp +" HP has been recovered.", bc_map, "0xff6666";
1252 donpcevent instance_npcname("#heal_c") + "::OnStart";
1259 hideonnpc instance_npcname( strnpcinfo(0) );
1263 1@xm_d,216,193,3 script #eff_f01 CLEAR_NPC,{
1266 for ( .@i = 1; .@i < 10; .@i++ )
1267 specialeffect EF_HEARTCASTING, AREA, instance_npcname( "#eff_f0"+ .@i );
1270 hideonnpc instance_npcname( strnpcinfo(0) );
1274 1@xm_d,226,193,3 script #eff_f02 CLEAR_NPC,{
1277 hideonnpc instance_npcname( strnpcinfo(0) );
1280 1@xm_d,236,193,3 duplicate(#eff_f02) #eff_f03 CLEAR_NPC
1281 1@xm_d,216,183,3 duplicate(#eff_f02) #eff_f04 CLEAR_NPC
1282 1@xm_d,226,183,3 duplicate(#eff_f02) #eff_f05 CLEAR_NPC
1283 1@xm_d,236,183,3 duplicate(#eff_f02) #eff_f06 CLEAR_NPC
1284 1@xm_d,216,173,3 duplicate(#eff_f02) #eff_f07 CLEAR_NPC
1285 1@xm_d,226,173,3 duplicate(#eff_f02) #eff_f08 CLEAR_NPC
1286 1@xm_d,236,173,3 duplicate(#eff_f02) #eff_f09 CLEAR_NPC
1288 1@xm_d,1,5,3 script #bssk01 CLEAR_NPC,{
1293 donpcevent instance_npcname("#bssk02") + "::OnStart";
1295 donpcevent instance_npcname("#bssk03") + "::OnStart";
1298 disablenpc instance_npcname( strnpcinfo(0) );
1302 1@xm_d,1,5,3 script #bssk02 CLEAR_NPC,{
1305 donpcevent instance_npcname("#finalbs2") + "::OnTalk";
1306 for ( .@i = 1; .@i < 5; .@i++ )
1307 donpcevent instance_npcname( "#crssk"+ .@i ) + "::OnStart";
1310 disablenpc instance_npcname( strnpcinfo(0) );
1314 1@xm_d,1,5,3 script #bssk03 CLEAR_NPC,{
1317 .@event$ = instance_npcname( strnpcinfo(0) ) + "::OnMyMobDead";
1318 killmonster 'xm_d_map$, .@event$;
1320 getunitdata 'celene_id, .@data;
1321 .@x = .@data[UMOB_X] + rand(1,20) - 10;
1322 .@y = .@data[UMOB_Y] + rand(1,20) - 10;
1323 monster 'xm_d_map$,.@x,.@y, "#f_w_1",3038,1, .@event$;// HIDDEN_MOB7
1330 killmonster 'xm_d_map$, .@event$;
1337 hideonnpc instance_npcname( strnpcinfo(0) );
1341 1@xm_d,1,5,3 script #crssk1 CLEAR_NPC,{
1344 .@event$ = instance_npcname( strnpcinfo(0) ) + "::OnMyMobDead";
1345 killmonster 'xm_d_map$, .@event$;
1346 getunitdata 'celene_id, .@data;
1347 setarray .@coord[0], .@data[UMOB_X], .@data[UMOB_Y];
1348 .@num = atoi(strnpcinfo(2));
1349 .@index = ( .@num > 2 ? 1 : 0 );// x or y
1350 .@signe = pow(-1,.@num+1);
1352 .@coord[.@index] = .@coord[.@index] + (2 * .@signe);
1353 .@coord[!.@index] = .@coord[!.@index] + rand(0,2) - 1;
1354 monster 'xm_d_map$,.@coord[0], .@coord[1], "#f_w_1",3038,1, .@event$;
1355 if (.@coord[0] < 211 || .@coord[0] > 241 || .@coord[1] < 166 || .@coord[1] > 201)
1360 killmonster 'xm_d_map$, .@event$;
1366 hideonnpc instance_npcname( strnpcinfo(0) );
1369 1@xm_d,1,5,3 duplicate(#crssk1) #crssk2 CLEAR_NPC
1370 1@xm_d,1,5,3 duplicate(#crssk1) #crssk3 CLEAR_NPC
1371 1@xm_d,1,5,3 duplicate(#crssk1) #crssk4 CLEAR_NPC
1373 1@xm_d,233,183,0 script #kimion1 -1,7,7,{
1375 disablenpc instance_npcname("#kimion1");
1376 donpcevent instance_npcname("Celine Kimi#2") + "::OnStart";
1379 disablenpc instance_npcname( strnpcinfo(0) );
1383 1@xm_d,233,183,3 script Celine Kimi#2 4_F_KIMI,{
1384 mes "[Celine Kimi]";
1385 mes "You also... come here to kill me?";
1389 npctalk "Celine Kimi: You also... come here to kill me?";
1390 specialeffect EF_MAPPILLAR2;
1392 disablenpc instance_npcname("Celine Kimi#2");
1393 donpcevent instance_npcname("#finalbs2") + "::OnStart";
1396 disablenpc instance_npcname( strnpcinfo(0) );
1400 1@xm_d,228,183,0 script #bgm03 -1,25,25,{
1405 disablenpc instance_npcname( strnpcinfo(0) );
1409 1@xm_d,1,5,3 script #heal_c CLEAR_NPC,{
1416 mapannounce 'xm_d_map$, "Celine Kimi and her phantom are shared their strength. They will be stronger than ever!",bc_map,"0xff6666";
1421 disablenpc instance_npcname( strnpcinfo(0) );
1425 1@xm_d,1,5,3 script #finalbs_e CLEAR_NPC,{
1428 mapannounce 'xm_d_map$, "Celine Kimi: It is no use to defeat me! My body will be restored.",bc_map,"0xff6666",FW_NORMAL,15;
1429 enablenpc instance_npcname("#fac6wp");
1430 enablenpc instance_npcname("#jeton2");
1431 enablenpc instance_npcname("Catherine Jet Johnson#6");
1432 for ( .@i = 1; .@i <= 10; .@i++ )
1433 enablenpc instance_npcname("Packaged Present#"+ .@i);
1435 mapannounce 'xm_d_map$, "Catherine Jet Johnson's yell: Are you okay? Flee to the south emergency exit!",bc_map,"0xffff00";
1439 disablenpc instance_npcname( strnpcinfo(0) );
1443 1@xm_d,218,145,0 script #jeton2 -1,4,4,{
1445 disablenpc instance_npcname("#jeton2");
1446 donpcevent instance_npcname("Catherine Jet Johnson#6") + "::OnStart";
1449 disablenpc instance_npcname( strnpcinfo(0) );
1453 1@xm_d,218,145,5 script Catherine Jet Johnson#6 4_F_SKULL06GIRL,{
1457 npctalk "Catherine Jet Johnson: Unfortunately, I am failed to persuade Kimi.";
1459 npctalk "Catherine Jet Johnson: What was the voice of phantom? Why it torments Kimi so harshly...";
1461 npctalk "Catherine Jet Johnson: I guess that the curse of my face was form the unidentified voice.";
1463 npctalk "Catherine Jet Johnson: Anyway, even Kimi, saying hates everyone, has collected her recollections here a lot.";
1465 npctalk "Catherine Jet Johnson: I will put this thing safely even if her soul will return and she won't be disappointed.";
1467 npctalk "Catherine Jet Johnson: Thanks to you, everything that I have wondered is completely resolved. Please call me again if you are going to send her to Heaven next time.";
1469 npctalk "Catherine Jet Johnson: I will open the exit way out. I will go outside first, so just follow me.";
1471 disablenpc instance_npcname("Catherine Jet Johnson#6");
1472 enablenpc instance_npcname("#exwp1");
1475 disablenpc instance_npcname( strnpcinfo(0) );
1479 1@xm_d,218,150,5 script #exwp1 PORTAL,{
1480 mes "Will you exit?";
1482 if (select( "Take a look around", "Go outside" ) == 1) {
1483 mes "Stop the machine.";
1487 warp "xmas",233,300;
1491 disablenpc instance_npcname( strnpcinfo(0) );
1495 1@xm_d,210,141,3 script Packaged Present#1 4_TREASURE_BOX,{
1496 specialeffect EF_COIN;
1497 disablenpc instance_npcname( strnpcinfo(0) );
1502 switch( atoi(strnpcinfo(2)) ) {
1505 for ( .@i = 0; .@i < .@num; .@i++ )
1506 makeitem 7642,1, 'xm_d_map$, rand(208,212), rand(139,143);// Bloody_Coin
1507 if (rand(1,1000) > 150)
1508 makeitem 644,1, 'xm_d_map$,209,141;// Gift_Box;
1509 if (rand(1,1000) > 600)
1510 makeitem 617,1, 'xm_d_map$,210,141;// Old_Violet_Box;
1511 if (rand(1,1000) > 900)
1512 makeitem 22534,1, 'xm_d_map$,211,141;// Closedmind_Box
1516 for ( .@i = 0; .@i < .@num; .@i++ )
1517 makeitem 7642,1, 'xm_d_map$, rand(212,216), rand(139,143);// Bloody_Coin
1518 if (rand(1,1000) > 400)
1519 makeitem 603,1, 'xm_d_map$,213,141;// Old_Blue_Box
1520 if (rand(1,1000) > 700)
1521 makeitem 616,1, 'xm_d_map$,214,141;// Old_Card_Album
1522 if (rand(1,1000) > 950)
1523 makeitem 13442,1, 'xm_d_map$,215,141;// Old_Parasol
1527 for ( .@i = 0; .@i < .@num; .@i++ )
1528 makeitem 7642,1, 'xm_d_map$, rand(216,220), rand(139,143);// Bloody_Coin
1529 if (rand(1,1000) > 850)
1530 makeitem 7229,1, 'xm_d_map$,217,141;// Silver_Bullion
1531 if (rand(1,1000) > 800)
1532 makeitem 12246,1, 'xm_d_map$,218,141;// Magic_Card_Album
1533 if (rand(1,1000) > 950)
1534 makeitem 2486,1, 'xm_d_map$,219,141;// Shadow_Walk_
1538 for ( .@i = 0; .@i < .@num; .@i++ )
1539 makeitem 7642,1, 'xm_d_map$, rand(220,224), rand(139,143);// Bloody_Coin
1540 if (rand(1,1000) > 700)
1541 makeitem 7228,1, 'xm_d_map$,221,141;// Gold_Bullion
1542 if (rand(1,1000) > 600)
1543 makeitem 617,1, 'xm_d_map$,222,141;// Old_Violet_Box
1544 if (rand(1,1000) > 900)
1545 makeitem 22534,1, 'xm_d_map$,223,141;// Closedmind_Box
1549 for ( .@i = 0; .@i < .@num; .@i++ )
1550 makeitem 7642,1, 'xm_d_map$, rand(224,228), rand(139,143);// Bloody_Coin
1551 if (rand(1,1000) > 150)
1552 makeitem 644,1, 'xm_d_map$,225,141;// Gift_Box
1553 if (rand(1,1000) > 700)
1554 makeitem 616,1, 'xm_d_map$,226,141;// Old_Card_Album
1555 if (rand(1,1000) > 950)
1556 makeitem 2976,1, 'xm_d_map$,227,141;// Red_Lantern
1560 for ( .@i = 0; .@i < .@num; .@i++ )
1561 makeitem 2976,1, 'xm_d_map$, rand(208,212), rand(134,138);// Red_Lantern
1562 if (rand(1,1000) > 400)
1563 makeitem 603,1, 'xm_d_map$,209,136;// Old_Blue_Box
1564 if (rand(1,1000) > 800)
1565 makeitem 12246,1, 'xm_d_map$,210,136;// Magic_Card_Album
1566 if (rand(1,1000) > 950)
1567 makeitem 2977,1, 'xm_d_map$,211,136;// Hurt_Mind
1571 for ( .@i = 0; .@i < .@num; .@i++ )
1572 makeitem 7642,1, 'xm_d_map$, rand(212,216), rand(134,138);// Bloody_Coin
1573 if (rand(1,1000) > 850)
1574 makeitem 7229,1, 'xm_d_map$,213,136;// Silver_Bullion
1575 if (rand(1,1000) > 600)
1576 makeitem 617,1, 'xm_d_map$,214,136;// Old_Violet_Box
1577 if (rand(1,1000) > 900)
1578 makeitem 22534,1, 'xm_d_map$,215,136;// Closedmind_Box
1582 for ( .@i = 0; .@i < .@num; .@i++ )
1583 makeitem 7642,1, 'xm_d_map$, rand(216,220), rand(134,138);// Bloody_Coin
1584 if (rand(1,1000) > 700)
1585 makeitem 7228,1, 'xm_d_map$,217,136;// Gold_Bullion
1586 if (rand(1,1000) > 700)
1587 makeitem 616,1, 'xm_d_map$,218,136;// Old_Card_Album
1588 if (rand(1,1000) > 950)
1589 makeitem 2978,1, 'xm_d_map$,219,136;// KindHeart
1593 for ( .@i = 0; .@i < .@num; .@i++ )
1594 makeitem 7642,1, 'xm_d_map$, rand(220,224), rand(134,138);// Bloody_Coin
1595 if (rand(1,1000) > 150)
1596 makeitem 644,1, 'xm_d_map$,221,136;// Gift_Box
1597 if (rand(1,1000) > 800)
1598 makeitem 12246,1, 'xm_d_map$,222,136;// Magic_Card_Album
1599 if (rand(1,1000) > 950)
1600 makeitem 18848,1, 'xm_d_map$,223,136;// Lush_Rose
1604 for ( .@i = 0; .@i < .@num; .@i++ )
1605 makeitem 7642,1, 'xm_d_map$, rand(224,228), rand(134,138);// Bloody_Coin
1606 if (rand(1,1000) > 400)
1607 makeitem 603,1, 'xm_d_map$,225,136;// Old_Blue_Box
1608 if (rand(1,1000) > 600)
1609 makeitem 617,1, 'xm_d_map$,226,136;// Old_Violet_Box
1610 if (rand(1,1000) > 900)
1611 makeitem 22534,1, 'xm_d_map$,227,136;// Closedmind_Box
1618 disablenpc instance_npcname( strnpcinfo(0) );
1621 1@xm_d,214,141,3 duplicate(Packaged Present#1) Packaged Present#2 4_TREASURE_BOX
1622 1@xm_d,218,141,3 duplicate(Packaged Present#1) Packaged Present#3 4_TREASURE_BOX
1623 1@xm_d,222,141,3 duplicate(Packaged Present#1) Packaged Present#4 4_TREASURE_BOX
1624 1@xm_d,226,141,3 duplicate(Packaged Present#1) Packaged Present#5 4_TREASURE_BOX
1625 1@xm_d,210,136,3 duplicate(Packaged Present#1) Packaged Present#6 4_TREASURE_BOX
1626 1@xm_d,214,136,3 duplicate(Packaged Present#1) Packaged Present#7 4_TREASURE_BOX
1627 1@xm_d,218,136,3 duplicate(Packaged Present#1) Packaged Present#8 4_TREASURE_BOX
1628 1@xm_d,222,136,3 duplicate(Packaged Present#1) Packaged Present#9 4_TREASURE_BOX
1629 1@xm_d,226,136,3 duplicate(Packaged Present#1) Packaged Present#10 4_TREASURE_BOX
1632 //==========================================
1633 1@xm_d,79,129,0 warp2 #fac1wp2 2,2,1@xm_d,73,129
1634 1@xm_d,184,109,0 warp2 #fac2wp2 2,2,1@xm_d,170,129
1635 1@xm_d,130,178,0 warp2 #fac3wp 2,2,1@xm_d,130,193
1636 1@xm_d,130,184,0 warp2 #fac3wp2 2,2,1@xm_d,129,173
1637 1@xm_d,107,208,0 warp2 #fac4wp 2,2,1@xm_d,87,208
1638 1@xm_d,95,208,0 warp2 #fac4wp2 2,2,1@xm_d,115,208
1639 1@xm_d,152,208,0 warp2 #fac5wp 2,2,1@xm_d,167,208
1640 1@xm_d,205,159,0 warp2 #fac6wp 2,2,1@xm_d,205,147
1642 // Instance GM Functions :: mx_xm_ad
1643 //==========================================
1644 1@xm_d,1,1,3 script #adsw CLEAR_NPC,{
1645 if (callfunc("F_GM_NPC",1854,0) == 1) {
1646 mes "[Time Manager]";
1647 mes "What time would you like to return?";
1649 switch (select("Cancel:Factory No.1 Complete:Factory No.2 Complete:Factory No.3 Complete:Boss Start:Boss Complete")) {
1653 transform 1246,180000;
1654 enablenpc instance_npcname("#fac1bs");
1655 mapannounce 'xm_d_map$, "Coordinator's announcement: Huh? Where's everyone! How dare you workers to be absent their line and muck around!",bc_map,"0xff8800";
1656 warp 'xm_d_map$,70,125;
1659 for ( .@i = 1; .@i <= 10; ++.@i )
1660 disablenpc instance_npcname( "Worker#" + .@i );
1661 donpcevent instance_npcname("#fac2wpc") + "::OnStart";
1662 warp 'xm_d_map$,131,210;
1665 donpcevent instance_npcname("#fac3ct3") + "::OnEnd";
1666 warp 'xm_d_map$,131,210;
1669 donpcevent instance_npcname("#finalbs2") + "::OnStart";
1670 warp 'xm_d_map$,215,182;
1673 donpcevent instance_npcname("#finalbs2") + "::OnEnd";
1674 warp 'xm_d_map$,215,182;
1681 1@xm_d,3,1,3 script #adsw2 CLEAR_NPC,{
1682 if (callfunc("F_GM_NPC",1854,0) == 1) {
1683 getunitdata 'Antonio, .@mob;
1684 mapannounce 'xm_d_map$, "Factory announcement: Exist in " + .@mob[UMOB_X] + " - " + .@mob[UMOB_Y] + ".",bc_map,"0x00ff44";