123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823 |
- //===== rAthena Script =======================================
- //= Infinite Space
- //===== Description: =========================================
- //= [Walkthrough Conversion]
- //= Infinite Space with hard mode (Episode 16.1)
- //===== Changelogs: ==========================================
- //= 1.0 Initial release [crazyarashi]
- //= 1.1 Updated to match official mechanics [Everade]
- //= 1.2 Moved merchants to individual files [Everade]
- //= 1.3 Cleanup and sanity checks [Everade]
- //============================================================
- cmd_fild07,58,278,3 script Reckless Explorer#pa0829_01 4_F_GON,{
- mes "^FF0000Please note that, any abnormal monster handling inside the instance such as taming is not considered normal and may hinder the instance progress.^000000";
- next;
- if (BaseLevel < 100) {
- mes "[ Reckless Explorer ]";
- mes "Will you come back to me after getting a little bit stronger? How about getting to level 100 first?";
- close;
- }
- if (isbegin_quest(12364) != 2) {
- mes "[ Reckless Explorer ]";
- mes "Ah, no, I didn't meant to go inside. I didn't meant to violate any laws.";
- next;
- select("What are you talking about?");
- mes "[ Reckless Explorer ]";
- mes "Ha?";
- next;
- mes "[ Reckless Explorer ]";
- mes "Hmm, are you one of the Royal Palace's suppression squad?";
- next;
- select("I'm an ordinary adventurer.");
- mes "[ Reckless Explorer ]";
- mes "Phew~ That's a relief.";
- mes "I've never soon you before, so I thought you are one of the suppression squad of the palace.";
- next;
- if (select("What if I am one of the suppression squad?:What's the matter?") == 1) {
- mes "[ Reckless Explorer ]";
- mes "I'm just an ordinary woman who's out for a walk. And this is the end of my walk, and I'm going to...";
- close;
- }
- mes "[ Reckless Explorer ]";
- mes "Have you heard about the Paros Lighthouse collapse?";
- next;
- mes "[ Reckless Explorer ]";
- mes "^777700(She moved close to me)^000000";
- mes "The Paros Lighthouse here collapsed for some unknown reason some time ago, and there's a lot of stuff underneath it.";
- next;
- mes "[ Reckless Explorer ]";
- mes "Some of the restoration workers and guards that were sent to the palace went missing. Rumors has it that monsters are crawling down there.";
- next;
- mes "[ Reckless Explorer ]";
- mes "Because its depth is seemingly endless, the people here became afraid of this place and started calling it Infinite Space.";
- next;
- mes "[ Reckless Explorer ]";
- mes "I know some people who sneaked in and made a fortune. That's why I'm going to give it a try, are you interested?";
- next;
- if (select("I'm not interested.:Yes.") == 1) {
- mes "[ Reckless Explorer ]";
- mes "That's unfortunate. Come back whenever you change your mind. I'll welcome you anytime.";
- close;
- }
- mes "[ Reckless Explorer ]";
- mes "All right, Just one thing, I'm inexperienced and a novice adventurer. So I'll help you explore down there by guiding you from somewhere safe.";
- next;
- mes "[ Reckless Explorer ]";
- mes "I'm an adventure tour, and you can explore it yourself. Aren't we compatible with each other? Then, let's get started when you're ready.";
- setquest 12364;
- completequest 12364;
- } else {
- mes "[ Reckless Explorer ]";
- mes "Are you going in there again this time?";
- switch (checkquest(12365,PLAYTIME)) {
- case -1:
- break;
- case 0:
- case 1:
- next;
- mes "[ Reckless Explorer ]";
- mes "Oh, your whole body is shouting that it's tired. You can't go down there like this.";
- close;
- case 2:
- erasequest 12365;
- break;
- }
- }
- next;
- .@md_name$ = "Infinite Space";
- .@party_id = getcharid(1);
- if (!.@party_id) {
- mes "[ Reckless Explorer ]";
- mes "It's impossible alone. Would you like to organize a party at least one person or join another party and come back?";
- close;
- }
- if (select("Prepare to enter Infinite Space:Cancel") == 2)
- close;
- mes "[ Reckless Explorer ]";
- mes "Once the passage opens, take a breath for a while and talk to me again.";
- if (instance_create(.@md_name$) == -3)
- dispbottom "The reservation of the instance '" + .@md_name$ + "' has failed due to an active instance.";
- close;
- }
- cmd_fild07,54,280,5 script Temporary Entrance#pa0829_01 PORTAL,{
- switch (checkquest(12365,PLAYTIME)) {
- case -1:
- break;
- case 0:
- case 1:
- mes "The passage is not yet activated.";
- close;
- case 2:
- erasequest 12365;
- break;
- }
- .@party_id = getcharid(1);
- .@party_name = getpartyname(.@party_id);
- .@md_name$ = "Infinite Space";
- switch (instance_enter(.@md_name$)) {
- case IE_OK:
- setquest 12365;
- mapannounce "cmd_fild07", strcharinfo(0) + " of the party, "+ .@party_name$ +", is entering the " + .@md_name$ + ".", bc_map, "0x00FF99";
- end;
- default:
- mes "The passage is not yet activated.";
- close;
- }
- }
- 1@infi,1,1,0 script #inf_space_control HIDDEN_WARP_NPC,{
- end;
- OnInstanceInit:
- 'map$ = instance_mapname("1@infi");
- 'floor = 1;
- 'sanity = 0;
- enablenpc instance_npcname("#inf_space_mobs");
- enablenpc instance_npcname("#w0_0");
- enablenpc instance_npcname("#w0");
- disablenpc instance_npcname("#w50_ppl");
- hideonnpc instance_npcname("#w0");
- // Initiate Warp Portals
- for (.@i = 1; .@i < 50; .@i++)
- disablenpc instance_npcname("#w" + .@i);
- // Initiate Treasure Chests
- for (.@i = 10; .@i < 51; .@i += 10)
- disablenpc instance_npcname("#w" + .@i + "_t");
- // Initiate Floor Coordinates
- setarray .@xy[1],
- //1~10
- 27,18,33,25,
- 29,47,36,57,
- 24,81,34,91,
- 25,112,35,123,
- 16,152,45,164,
- 24,228,34,239,
- 26,261,35,271,
- 25,291,36,302,
- 24,324,35,335,
- 23,375,23,375,
- //11~20
- 108,15,118,29,
- 108,49,118,58,
- 107,80,118,91,
- 108,111,116,121,
- 99,152,123,163,
- 106,229,116,236,
- 106,259,117,271,
- 109,295,118,303,
- 107,324,118,335,
- 114,364,114,364,
- //21~30
- 192,15,204,25,
- 192,47,202,56,
- 193,80,204,91,
- 192,111,204,122,
- 191,152,212,162,
- 188,219,200,231,
- 190,251,199,263,
- 188,283,199,295,
- 188,315,199,327,
- 202,385,202,385,
- //31~40
- 274,16,285,22,
- 274,49,283,58,
- 274,80,285,91,
- 276,112,286,123,
- 268,153,294,164,
- 274,220,286,231,
- 276,252,285,263,
- 274,283,286,294,
- 275,316,286,323,
- 269,376,269,376,
- //40~50
- 356,20,364,27,
- 357,48,367,58,
- 357,79,368,91,
- 356,112,368,123,
- 349,152,374,164,
- 362,221,371,230,
- 360,251,372,263,
- 361,283,372,295,
- 360,315,372,325,
- 354,376,354,376;
- for (.@i = 1; .@i < getarraysize(.@xy); .@i += 4) {
- .@f++;
- setd("'xy_" + .@f + "$",.@xy[.@i] + "," + .@xy[.@i+1] + "," + .@xy[.@i+2] + "," + .@xy[.@i+3]);
- }
- end;
- }
- // Monster spawn mechanics
- 1@infi,1,1,0 script #inf_space_mobs HIDDEN_WARP_NPC,{
- end;
- OnSummonPoring:
- .@event2$ = instance_npcname(strnpcinfo(0)) + "::OnPoringKill";
- if (!mobcount('map$,.@event2$)) {
- explode(.@xy$,getd("'xy_" + 'floor + "$"),",");
- areamonster 'map$,atoi(.@xy$[0]),atoi(.@xy$[1]),atoi(.@xy$[2]),atoi(.@xy$[3]),"--ja--",3494,1,.@event2$;
- initnpctimer;
- }
- end;
- OnTimer20000:
- .@event2$ = instance_npcname(strnpcinfo(0)) + "::OnPoringKill";
- killmonster 'map$,.@event2$;
- stopnpctimer;
- end;
- OnSummon:
- .@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
- switch ('floor) {
- case 1:
- setarray .@mob,3384,3385,3386;
- setarray .@amount,6,5,3;
- break;
- case 2:
- setarray .@mob,3384,3386,3387;
- setarray .@amount,6,3,2;
- break;
- case 3:
- setarray .@mob,3385,3386,3387;
- setarray .@amount,5,3,4;
- break;
- case 4:
- setarray .@mob,3386,3387,3388;
- setarray .@amount,3,5,3;
- break;
- case 5:
- setarray .@mob,3386,3387,3388,3389,3390,3391;
- setarray .@amount,5,3,5,2,2,1;
- break;
- case 6:
- setarray .@mob,3387,3388,3389;
- setarray .@amount,9,4,2;
- break;
- case 7:
- setarray .@mob,3388,3389,3390;
- setarray .@amount,8,7,2;
- break;
- case 8:
- setarray .@mob,3389,3390,3391;
- setarray .@amount,6,3,3;
- break;
- case 9:
- setarray .@mob,3390,3391,3392;
- setarray .@amount,7,4,6;
- break;
- case 10:
- setarray .@mob,3426;
- setarray .@amount,1;
- break;
- case 11:
- setarray .@mob,3391,3392,3393;
- setarray .@amount,5,5,4;
- break;
- case 12:
- setarray .@mob,3392,3393,3394;
- setarray .@amount,9,5,1;
- break;
- case 13:
- setarray .@mob,3393,3394,3395;
- setarray .@amount,8,3,5;
- break;
- case 14:
- setarray .@mob,3394,3395,3396;
- setarray .@amount,9,6,5;
- break;
- case 15:
- setarray .@mob,3393,3394,3395,3396,3397,3398,3399;
- setarray .@amount,4,4,7,5,3,4,3;
- break;
- case 16:
- setarray .@mob,3395,3396,3397;
- setarray .@amount,6,4,5;
- break;
- case 17:
- setarray .@mob,3396,3397,3398;
- setarray .@amount,7,4,4;
- break;
- case 18:
- setarray .@mob,3397,3398,3399;
- setarray .@amount,7,6,4;
- break;
- case 19:
- setarray .@mob,3398,3399,3400;
- setarray .@amount,9,4,3;
- break;
- case 20:
- setarray .@mob,3427;
- setarray .@amount,1;
- break;
- case 21:
- setarray .@mob,3399,3400,3401;
- setarray .@amount,7,5,3;
- break;
- case 22:
- setarray .@mob,3400,3401,3402;
- setarray .@amount,8,6,2;
- break;
- case 23:
- setarray .@mob,3401,3402,3403;
- setarray .@amount,8,7,5;
- break;
- case 24:
- setarray .@mob,3402,3403,3404;
- setarray .@amount,8,6,5;
- break;
- case 25:
- setarray .@mob,3402,3403,3404,3405,3406,3407,3408;
- setarray .@amount,3,4,5,4,3,3,2;
- break;
- case 26:
- setarray .@mob,3403,3404,3405;
- setarray .@amount,7,6,5;
- break;
- case 27:
- setarray .@mob,3404,3405,3406;
- setarray .@amount,6,5,5;
- break;
- case 28:
- setarray .@mob,3405,3406,3407;
- setarray .@amount,9,5,4;
- break;
- case 29:
- setarray .@mob,3406,3407,3408;
- setarray .@amount,7,5,2;
- break;
- case 30:
- setarray .@mob,3428;
- setarray .@amount,1;
- break;
- case 31:
- setarray .@mob,3407,3408,3409;
- setarray .@amount,8,4,4;
- break;
- case 32:
- setarray .@mob,3408,3409,3410;
- setarray .@amount,5,4,5;
- break;
- case 33:
- setarray .@mob,3409,3410,3411;
- setarray .@amount,6,5,3;
- break;
- case 34:
- setarray .@mob,3410,3411,3412;
- setarray .@amount,7,3,2;
- break;
- case 35:
- setarray .@mob,3409,3410,3411,3412,3413,3414;
- setarray .@amount,6,6,4,5,3,4;
- break;
- case 36:
- setarray .@mob,3411,3412,3413;
- setarray .@amount,8,3,3;
- break;
- case 37:
- setarray .@mob,3412,3413,3414;
- setarray .@amount,6,5,6;
- break;
- case 38:
- setarray .@mob,3413,3414,3415;
- setarray .@amount,6,4,2;
- break;
- case 39:
- setarray .@mob,3414,3415,3416;
- setarray .@amount,6,6,4;
- break;
- case 40:
- setarray .@mob,3429;
- setarray .@amount,1;
- break;
- case 41:
- setarray .@mob,3415,3416,3417;
- setarray .@amount,7,4,3;
- break;
- case 42:
- setarray .@mob,3416,3417,3418;
- setarray .@amount,8,3,5;
- break;
- case 43:
- setarray .@mob,3417,3418,3419;
- setarray .@amount,5,4,2;
- break;
- case 44:
- setarray .@mob,3418,3419,3420;
- setarray .@amount,5,7,2;
- break;
- case 45:
- setarray .@mob,3414,3415,3416,3417,3418,3419,3420;
- setarray .@amount,4,5,4,3,6,5,4;
- break;
- case 46:
- setarray .@mob,3412,3419;
- setarray .@amount,2,7;
- break;
- case 47:
- setarray .@mob,3413,3419,3420;
- setarray .@amount,4,7,6;
- break;
- case 48:
- setarray .@mob,3414,3419,3420;
- setarray .@amount,3,6,6;
- break;
- case 49:
- setarray .@mob,3415,3419,3420;
- setarray .@amount,4,5,9;
- break;
- case 50:
- setarray .@mob,3430;
- setarray .@amount,1;
- break;
- }
- if (rand(1,100) <= 'poring_chance)
- donpcevent instance_npcname(strnpcinfo(0)) + "::OnSummonPoring";
- explode(.@xy$,getd("'xy_" + 'floor + "$"),",");
- for (.@i = 0; .@i < getarraysize(.@mob); .@i++) {
- areamonster 'map$,atoi(.@xy$[0]),atoi(.@xy$[1]),atoi(.@xy$[2]),atoi(.@xy$[3]),"--ja--",.@mob[.@i],.@amount[.@i],.@event$;
- if (('floor % 10) == 0) {
- 'boss_id = $@mobid[0];
- donpcevent instance_npcname(strnpcinfo(0)) + "::OnUnitSpawn";
- }
- }
- if ('floor > 0 && 'floor % 10 > 0 && 'mode == 2) {
- if (rand(1,100) <= 10) {
- .@boss_id = rand(3421,3425);
- while ('last_boss == .@boss_id)
- .@boss_id = rand(3421,3425);
- 'last_boss = .@boss_id;
- areamonster 'map$,atoi(.@xy$[0]),atoi(.@xy$[1]),atoi(.@xy$[2]),atoi(.@xy$[3]),"--ja--",.@boss_id,1,.@event$;
- }
- }
- end;
- OnUnitSpawn:
- .@event$ = instance_npcname(strnpcinfo(0)) + "::OnUnitKill";
- setarray .@mob_id,3426,3427,3428,3429,3430;
- setarray .@spawn,3436,3437,3438,3439,3440;
- setarray .@amount,5,7,7,6,6;
- setarray .@unit_id,3431,3432,3433,3434,3435,3436,3437,3438,3439,3440;
- setarray .@unit_amount,3,3,4,4,5,5,4,4,5,5;
- getunitdata 'boss_id,.@data;
- .@index = inarray(.@mob_id,.@data[UMOB_CLASS]);
- .@x = .@data[UMOB_X];
- .@y = .@data[UMOB_Y];
- areamonster 'map$,.@x,.@y,.@x,.@y,"--ja--",.@spawn[.@index],.@amount[.@index],.@event$;
- if ('mode == 2) {
- sleep 10000;
- while (.@index < getarraysize(.@unit_id)) {
- if (unitexists('boss_id)) {
- mapannounce 'map$,"The boss monster is trying to summon its allies.",0xFFFF00;
- getunitdata 'boss_id,.@data;
- .@x = .@data[UMOB_X];
- .@y = .@data[UMOB_Y];
- areamonster 'map$,.@x - 3,.@y - 3,.@x + 3,.@y + 3,"--ja--",.@unit_id[.@index],.@unit_amount[.@index],.@event$;
- .@index++;
- } else
- break;
- sleep 5000;
- }
- }
- OnUnitKill:
- end;
- OnMobKill:
- .@event$ = instance_npcname(strnpcinfo(0)) + "::OnMobKill";
- if (rand(1,100) <= 'poring_chance)
- donpcevent instance_npcname(strnpcinfo(0)) + "::OnSummonPoring";
- if (!mobcount('map$,.@event$)) {
- sleep 5000;
- // Boss Stage, spawn Treasure Chest
- if (('floor%10) == 0)
- enablenpc instance_npcname("#w" + 'floor + "_t");
- if ('floor == 50) {
- mapannounce 'map$,"Reckless Explorer : It seems there are no other way from here. It's dangerous, so you'd better return outside.",0xFFFF00;
- enablenpc instance_npcname("#w50_ppl");
- }
- if ('floor < 50) {
- if (('floor%10) == 0)
- mapannounce 'map$,"Reckless Explorer : This area is safe. Use the passage to go to the next area.",0xFFFF00;
- else
- mapannounce 'map$,"Reckless Explorer : This area is safe. Go through the passage to the next area.",0xFFFF00;
- // Enable warp portal to next floor
- enablenpc instance_npcname("#w" + 'floor);
- 'floor += 1;
- }
- }
- OnPoringKill:
- end;
- }
- 1@infi,42,8,1 script #w0_0 4_F_GON,{
- if (is_party_leader() && !'mode && 'sanity == 0) {
- mes "[ Reckless Explorer ]";
- mes "I have went in and out of this place many times and figured out a way to provoke the monsters in here. You can get more rewards if you're going to deal with heated ones.";
- next;
- mes "[ Reckless Explorer ]";
- mes "What do you think? Would you like to try something challenging?";
- next;
- if (select("I want to proceed normally:I want to proceed with something difficult") == 1 && 'sanity == 0) {
- 'mode = 1;
- 'poring_chance = 1;
- } else {
- 'mode = 2;
- 'poring_chance = 2;
- }
- mes "[ Reckless Explorer ]";
- mes "Good. Shall we go now?";
- close2;
- if ('sanity == 0) {
- 'sanity = 1;
- disablenpc instance_npcname(strnpcinfo(0));
- hideoffnpc instance_npcname("#w0");
- npctalk "Reckless Explorer : Woah~ It's very neat for a sunken place, don't you think?",instance_npcname("#w0");
- sleep 3000;
- npctalk "Reckless Explorer : I would believe it to be an ancient site, not a lighthouse. It's so well organized...",instance_npcname("#w0");
- sleep 3000;
- npctalk "Reckless Explorer : Oh, did you hear something?",instance_npcname("#w0");
- donpcevent instance_npcname("#inf_space_mobs") + "::OnSummon";
- sleep 3000;
- npctalk "Reckless Explorer : Oh, that must be the monsters haunting this place.",instance_npcname("#w0");
- sleep 3000;
- npctalk "Reckless Explorer : They look no different from the ones we saw outside, but I can feel a very strong energy.",instance_npcname("#w0");
- sleep 3000;
- npctalk "Reckless Explorer : Hm~ It looks dangerous, so I'll go back up. I'll give you directions from above.",instance_npcname("#w0");
- disablenpc instance_npcname("#w0");
- }
- }
- end;
- }
- 1@infi,42,8,1 script #w0 4_F_GON,{
- end;
- }
- 1@infi,366,392,4 script #w50_ppl 4_F_GON,{
- mes "[ Reckless Explorer ]";
- mes "I'll keep a separate record of this expedition. If you've been lucky, you might have gotten a decent reward from your expedition.";
- next;
- mes "[ Reckless Explorer ]";
- mes "So, shall we get out of here?";
- close2;
- warp "cmd_fild07",53,270;
- end;
- }
- 1@infi,30,369,3 script #w10_t 4_TREASURE_BOX,{
- if (is_party_leader()) {
- specialeffect EF_COIN;
- disablenpc instance_npcname(strnpcinfo(0));
- sleep 1000;
- if ('mode == 1)
- .@amount = rand(3,10); // Min/Max found in replays
- else
- .@amount = rand(6,22); // Min/Max found in replays
- getmapxy(.@map$,.@x,.@y,BL_NPC);
- for (.@i = 0; .@i < .@amount; .@i++) {
- switch (rand(1,4)) {
- case 1:
- .@xs = 1;
- .@ys = 1;
- break;
- case 2:
- .@xs = -1;
- .@ys = 1;
- break;
- case 3:
- .@xs = 1;
- .@ys = -1;
- break;
- case 4:
- .@xs = -1;
- .@ys = -1;
- break;
- }
- makeitem 6905,1,.@map$,.@x + .@xs,.@y + .@ys;
- }
- if ('mode == 2) {
- setarray .@equip_id,1994,1938,13323,13126,28703,2024,16038,21014,28105,18128;
- getmapxy(.@map$,.@x,.@y,BL_NPC);
- for (.@i = 0; .@i < getarraysize(.@equip_id); .@i++) {
- if (rand(1,100) <= 1) {
- switch (rand(1,4)) {
- case 1:
- .@xs = 1;
- .@ys = 1;
- break;
- case 2:
- .@xs = -1;
- .@ys = 1;
- break;
- case 3:
- .@xs = 1;
- .@ys = -1;
- break;
- case 4:
- .@xs = -1;
- .@ys = -1;
- break;
- }
- makeitem2 .@equip_id[.@i],1,.@map$,.@x + .@xs,.@y + .@ys,0,0,0,0,0,0,0;
- }
- }
- }
- }
- end;
- }
- 1@infi,112,369,3 duplicate(#w10_t) #w20_t 4_TREASURE_BOX
- 1@infi,194,380,3 duplicate(#w10_t) #w30_t 4_TREASURE_BOX
- 1@infi,280,380,3 duplicate(#w10_t) #w40_t 4_TREASURE_BOX
- 1@infi,366,380,3 duplicate(#w10_t) #w50_t 4_TREASURE_BOX
- // Aegis spawns hard mode specific treasure npcs
- //1@infi,112,369,3 duplicate(#w10h_t) #w20h_t 4_TREASURE_BOX
- //1@infi,194,380,3 duplicate(#w10h_t) #w30h_t 4_TREASURE_BOX
- //1@infi,280,380,3 duplicate(#w10h_t) #w40h_t 4_TREASURE_BOX
- //1@infi,366,380,3 duplicate(#w10h_t) #w50h_t 4_TREASURE_BOX
- 1@infi,30,31,0 script #w1 WARPNPC,2,2,{
- end;
- OnTouch:
- .@id = atoi(replacestr(strnpcinfo(2),"w",""));
- switch (.@id) {
- case 1: .@x = 30; .@y = 41; break;
- case 2: .@x = 30; .@y = 73; break;
- case 3: .@x = 30; .@y = 105; break;
- case 4: .@x = 30; .@y = 137; break;
- case 5: .@x = 30; .@y = 220; break;
- case 6: .@x = 30; .@y = 253; break;
- case 7: .@x = 30; .@y = 285; break;
- case 8: .@x = 30; .@y = 317; break;
- case 9: .@x = 30; .@y = 349; break;
- case 10: .@x = 112; .@y = 10; break;
- case 11: .@x = 112; .@y = 41; break;
- case 12: .@x = 112; .@y = 73; break;
- case 13: .@x = 112; .@y = 105; break;
- case 14: .@x = 112; .@y = 137; break;
- case 15: .@x = 112; .@y = 220; break;
- case 16: .@x = 112; .@y = 253; break;
- case 17: .@x = 112; .@y = 285; break;
- case 18: .@x = 112; .@y = 317; break;
- case 19: .@x = 112; .@y = 349; break;
- case 20: .@x = 198; .@y = 10; break;
- case 21: .@x = 198; .@y = 41; break;
- case 22: .@x = 198; .@y = 73; break;
- case 23: .@x = 198; .@y = 105; break;
- case 24: .@x = 198; .@y = 137; break;
- case 25: .@x = 198; .@y = 220; break;
- case 26: .@x = 198; .@y = 245; break;
- case 27: .@x = 198; .@y = 277; break;
- case 28: .@x = 198; .@y = 309; break;
- case 29: .@x = 198; .@y = 341; break;
- case 30: .@x = 280; .@y = 10; break;
- case 31: .@x = 280; .@y = 41; break;
- case 32: .@x = 280; .@y = 73; break;
- case 33: .@x = 280; .@y = 105; break;
- case 34: .@x = 280; .@y = 137; break;
- case 35: .@x = 280; .@y = 220; break;
- case 36: .@x = 280; .@y = 245; break;
- case 37: .@x = 280; .@y = 277; break;
- case 38: .@x = 280; .@y = 309; break;
- case 39: .@x = 280; .@y = 341; break;
- case 40: .@x = 362; .@y = 10; break;
- case 41: .@x = 362; .@y = 41; break;
- case 42: .@x = 362; .@y = 73; break;
- case 43: .@x = 362; .@y = 105; break;
- case 44: .@x = 362; .@y = 137; break;
- case 45: .@x = 362; .@y = 220; break;
- case 46: .@x = 362; .@y = 245; break;
- case 47: .@x = 362; .@y = 277; break;
- case 48: .@x = 362; .@y = 309; break;
- case 49: .@x = 362; .@y = 341; break;
- default: end;
- }
- warp 'map$,.@x,.@y;
- if (is_party_leader())
- sleep 100;
- if ('sanity < 'floor ) {
- donpcevent instance_npcname("#inf_space_mobs") + "::OnSummon";
- 'sanity += 1;
- }
- end;
- }
- 1@infi,30,63,0 duplicate(#w1) #w2 WARPNPC,2,2
- 1@infi,30,95,0 duplicate(#w1) #w3 WARPNPC,2,2
- 1@infi,30,127,0 duplicate(#w1) #w4 WARPNPC,2,2
- 1@infi,30,168,0 duplicate(#w1) #w5 WARPNPC,2,2
- 1@infi,30,243,0 duplicate(#w1) #w6 WARPNPC,2,2
- 1@infi,30,275,0 duplicate(#w1) #w7 WARPNPC,2,2
- 1@infi,30,307,0 duplicate(#w1) #w8 WARPNPC,2,2
- 1@infi,30,339,0 duplicate(#w1) #w9 WARPNPC,2,2
- 1@infi,30,380,0 duplicate(#w1) #w10 WARPNPC,2,2
- 1@infi,112,31,0 duplicate(#w1) #w11 WARPNPC,2,2
- 1@infi,112,63,0 duplicate(#w1) #w12 WARPNPC,2,2
- 1@infi,112,95,0 duplicate(#w1) #w13 WARPNPC,2,2
- 1@infi,112,127,0 duplicate(#w1) #w14 WARPNPC,2,2
- 1@infi,112,168,0 duplicate(#w1) #w15 WARPNPC,2,2
- 1@infi,112,243,0 duplicate(#w1) #w16 WARPNPC,2,2
- 1@infi,112,275,0 duplicate(#w1) #w17 WARPNPC,2,2
- 1@infi,112,307,0 duplicate(#w1) #w18 WARPNPC,2,2
- 1@infi,112,339,0 duplicate(#w1) #w19 WARPNPC,2,2
- 1@infi,112,380,0 duplicate(#w1) #w20 WARPNPC,2,2
- 1@infi,198,31,0 duplicate(#w1) #w21 WARPNPC,2,2
- 1@infi,198,63,0 duplicate(#w1) #w22 WARPNPC,2,2
- 1@infi,198,95,0 duplicate(#w1) #w23 WARPNPC,2,2
- 1@infi,198,127,0 duplicate(#w1) #w24 WARPNPC,2,2
- 1@infi,198,168,0 duplicate(#w1) #w25 WARPNPC,2,2
- 1@infi,194,235,0 duplicate(#w1) #w26 WARPNPC,2,2
- 1@infi,194,267,0 duplicate(#w1) #w27 WARPNPC,2,2
- 1@infi,194,299,0 duplicate(#w1) #w28 WARPNPC,2,2
- 1@infi,194,331,0 duplicate(#w1) #w29 WARPNPC,2,2
- 1@infi,194,392,0 duplicate(#w1) #w30 WARPNPC,2,2
- 1@infi,280,31,0 duplicate(#w1) #w31 WARPNPC,2,2
- 1@infi,280,63,0 duplicate(#w1) #w32 WARPNPC,2,2
- 1@infi,280,95,0 duplicate(#w1) #w33 WARPNPC,2,2
- 1@infi,280,127,0 duplicate(#w1) #w34 WARPNPC,2,2
- 1@infi,280,168,0 duplicate(#w1) #w35 WARPNPC,2,2
- 1@infi,280,235,0 duplicate(#w1) #w36 WARPNPC,2,2
- 1@infi,280,267,0 duplicate(#w1) #w37 WARPNPC,2,2
- 1@infi,280,299,0 duplicate(#w1) #w38 WARPNPC,2,2
- 1@infi,280,331,0 duplicate(#w1) #w39 WARPNPC,2,2
- 1@infi,280,392,0 duplicate(#w1) #w40 WARPNPC,2,2
- 1@infi,362,31,0 duplicate(#w1) #w41 WARPNPC,2,2
- 1@infi,362,63,0 duplicate(#w1) #w42 WARPNPC,2,2
- 1@infi,362,95,0 duplicate(#w1) #w43 WARPNPC,2,2
- 1@infi,362,127,0 duplicate(#w1) #w44 WARPNPC,2,2
- 1@infi,362,168,0 duplicate(#w1) #w45 WARPNPC,2,2
- 1@infi,366,235,0 duplicate(#w1) #w46 WARPNPC,2,2
- 1@infi,366,267,0 duplicate(#w1) #w47 WARPNPC,2,2
- 1@infi,366,299,0 duplicate(#w1) #w48 WARPNPC,2,2
- 1@infi,366,331,0 duplicate(#w1) #w49 WARPNPC,2,2
|