From be1c0ee1e6905050c727602c93048b6b24bb1cbf Mon Sep 17 00:00:00 2001 From: Locien Date: Fri, 30 Dec 2016 18:45:49 +0100 Subject: [PATCH] Geffen Magic Tournament instance - Semi-official implementation Big thanks to @RagnarokNova for creating this script with the help of @tokeiburu, Diablo and others. I simply converted it to be compliant with rAthena master standard. Hope you guys enjoy it and report any bugs :) To clarify on the semi-official part: This script was made from scratch by playing on iRO and may have inconsistencies with the official version. If you want to use this on your server you must enable it yourself by uncommenting the entry in scripts_athena.conf. --- db/re/instance_db.txt | 1 + db/re/mob_db.txt | 42 +- db/re/mob_skill_db.txt | 57 + db/re/quest_db.txt | 35 + npc/custom/official/GeffenMagicTournament.txt | 4930 +++++++++++++++++ npc/re/scripts_athena.conf | 1 + src/map/script_constants.h | 3 + src/map/status.c | 25 + src/map/status.h | 5 + 9 files changed, 5078 insertions(+), 21 deletions(-) create mode 100644 npc/custom/official/GeffenMagicTournament.txt diff --git a/db/re/instance_db.txt b/db/re/instance_db.txt index af85614980..7b5634d9d4 100644 --- a/db/re/instance_db.txt +++ b/db/re/instance_db.txt @@ -19,3 +19,4 @@ 12,Old Glast Heim,3600,300,1@gl_k,150,20,2@gl_k 13,Eclage Interior,1200,300,1@ecl,60,50 14,Sara's Memories,3600,300,1@sara,250,155 +15,Geffen Magic Tournament,7200,300,1@gef,119,209,1@gef_in,1@ge_st \ No newline at end of file diff --git a/db/re/mob_db.txt b/db/re/mob_db.txt index 44e5cb465a..e3c8555f8b 100644 --- a/db/re/mob_db.txt +++ b/db/re/mob_db.txt @@ -1703,26 +1703,26 @@ 2546,GUARDDOG2,2nd Guard Dog,2nd Guard Dog,101,21099,1,1014,2673,1,573,229,66,36,20,46,25,35,64,30,10,12,1,2,23,0x3095,120,73,348,288,0,0,0,0,0,0,0,12045,466,7478,1,12050,466,12055,466,12060,466,12065,466,12070,466,12126,200,0,0,0,0 //2547,MER_GARM_BABY //2548,MER_HILLSRION -//2549,GEFFEN_MAGE_1 -//2550,GEFFEN_MAGE_2 -//2551,GEFFEN_MAGE_3_1 -//2552,GEFFEN_MAGE_3_2 -//2553,GEFFEN_MAGE_3_3 -//2554,GEFFEN_MAGE_4 -//2555,GEFFEN_MAGE_5 -//2556,GEFFEN_MAGE_6 -//2557,GEFFEN_MAGE_7 -//2558,GEFFEN_MAGE_8 -//2559,GEFFEN_MAGE_9 -//2560,GEFFEN_MAGE_10 -//2561,GEFFEN_MAGE_11 -//2562,GEFFEN_MAGE_12 -//2563,FEI_KANABIAN -//2564,GEFFEN_FENRIR -//2565,ALPHONSE -//2566,ALPHONSE_JR -//2567,E_GEFFEN_MAGE_3_2 -//2568,E_GEFFEN_MAGE_3_3 +2549,GEFFEN_MAGE_1,Arhi,Arhi,90,100000,1,8900,4550,1,329,424,64,38,50,50,50,50,130,50,10,12,1,7,20,0x85,200,1000,864,480,0,0,0,0,0,0,0,0,,0,,0,,0,,0,,0,,0,,0,0,0,0,0, +2550,GEFFEN_MAGE_2,Dio Anemos,Dio Anemos,95,200000,1,9440,4430,1,478,649,129,18,40,40,50,80,130,60,10,12,1,7,20,0x85,200,900,672,480,0,0,0,0,0,0,0,1095,10000,0,,0,,0,,0,,0,,0,,0,0,0,0,0, +2551,GEFFEN_MAGE_3_1,Geffen Shoplifter,Geffen Shoplifter,100,300000,1,9780,3665,1,478,632,93,36,70,70,40,40,140,60,10,12,1,7,20,0x85,200,800,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2552,GEFFEN_MAGE_3_2,Geffen Bully,Geffen Bully,100,300000,1,9780,3665,1,478,632,93,36,70,50,70,40,140,40,10,12,1,7,20,0x85,200,900,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2553,GEFFEN_MAGE_3_3,Geffen Gang Member,Geffen Gang Member,100,300000,1,9780,3665,1,468,622,93,36,60,80,30,30,140,70,10,12,1,7,20,0x85,200,950,864,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2554,GEFFEN_MAGE_4,Faymont,Faymont,105,400000,1,11660,4370,1,477,633,114,21,60,60,60,60,140,60,10,12,1,7,20,0x85,200,672,648,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2555,GEFFEN_MAGE_5,Ordre,Ordre,110,600000,1,15610,4861,1,654,906,107,21,40,70,40,100,150,60,10,12,1,7,20,0x85,200,768,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2556,GEFFEN_MAGE_6,Blut Hase,Blut Hase,120,1000000,1,20560,10010,1,480,601,66,47,120,120,120,50,150,60,10,12,1,7,48,0x85,200,800,768,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2557,GEFFEN_MAGE_7,Kuro Akuma,Kuro Akuma,130,1200000,1,26100,12030,1,761,1026,135,10,100,100,100,100,145,100,10,12,1,7,20,0x85,200,1000,864,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2558,GEFFEN_MAGE_8,Ifodes,Ifodes,140,1400000,1,46150,18900,1,676,869,120,60,150,100,100,50,170,100,10,12,1,7,20,0x85,200,800,768,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2559,GEFFEN_MAGE_9,Licheniyes,Licheniyes,145,1600000,1,52060,24105,1,763,1048,140,57,50,100,50,200,220,75,10,12,1,7,20,0x85,200,864,768,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2560,GEFFEN_MAGE_10,Odoric,Odoric,150,2000000,1,60027,40237,1,950,1250,165,62,200,150,50,50,170,100,10,12,1,7,20,0x85,200,800,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2561,GEFFEN_MAGE_11,Ju,Ju,155,5000000,1,75335,52130,1,1045,1465,170,65,50,100,100,200,220,100,10,12,1,7,20,0x85,200,800,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2562,GEFFEN_MAGE_12,Dwigh,Dwigh,160,7000000,1,151317,123000,1,1410,2010,175,65,50,100,100,250,220,100,10,12,1,7,48,0x6200085,200,800,768,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2563,FEI_KANABIAN,Fei Kanabian,Fay Kanavian,160,8000000,1,157975,110571,1,1710,2460,175,65,50,100,100,250,220,100,10,12,1,7,48,0x6200085,200,720,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2564,GEFFEN_FENRIR,Geffen Fenrir,Fenrir,160,20000000,1,323300,300000,1,2160,3060,200,70,200,100,200,200,220,100,10,12,1,7,48,0x6200085,200,900,864,480,0,0,0,0,0,0,0,22511,100,22511,100,22511,100,22511,100,22511,100,22511,100,0,0,0,0,0,0,4556,1 +2565,ALPHONSE,Alphonse,Alphonse,150,1000000,1,0,0,1,650,850,100,20,100,100,50,50,170,100,10,12,1,7,42,0x85,200,1400,816,396,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2566,ALPHONSE_JR,Alphonse Jr,Alphonse Jr,150,100000,1,0,0,1,450,550,80,20,100,100,50,50,170,100,10,12,1,7,62,0x85,200,936,792,432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2567,E_GEFFEN_MAGE_3_2,Geffen Bully,Geffen Bully,50,10000,1,212,227,1,89,111,70,7,41,14,15,0,100,5,10,12,1,7,20,0x85,200,900,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2568,E_GEFFEN_MAGE_3_3,Geffen Gang Member,Geffen Gang Member,50,10000,1,212,227,1,89,111,70,7,41,14,15,0,100,5,10,12,1,7,20,0x85,200,950,864,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2569,G_ANOPHELES //2570,G_BREEZE //2571,G_BUTOIJO @@ -2068,7 +2068,7 @@ 2911,C1_AGAV,Swift Agav,Swift Agav,128,200000,200000,12780,26520,1,1069,1497,77,82,85,66,55,113,120,61,10,12,1,7,80,0x3295,300,768,360,360,0,0,0,0,0,0,0,7567,2500,2422,2,7563,4000,2109,1,12183,50,7563,100,1061,2500,0,0,0,0,4409,1 2912,C2_ACIDUS_,Solid Acidus,Solid Acidus,130,407180,407180,14690,30480,2,1660,2372,98,47,106,110,61,53,133,53,10,12,2,9,44,0x3095,180,168,768,360,0,0,0,0,0,0,0,505,150,1035,4000,2890,10,1036,3589,7446,800,996,20,7446,100,0,0,0,0,4379,1 2913,C3_ACIDUS_,Acidus Ringleader,Acidus Ringleader,130,203590,203590,14690,30480,2,1660,2372,98,47,106,110,61,53,133,53,10,12,2,9,44,0x3095,180,168,768,360,0,0,0,0,0,0,0,505,150,1035,4000,2890,10,1036,3589,7446,800,996,20,7446,100,0,0,0,0,4379,1 -//2914,E_GEFFEN_MAGE_3_1 +2914,E_GEFFEN_MAGE_3_1,Geffen Shoplifter,Geffen Shoplifter,50,10000,1,212,227,1,89,111,70,7,41,14,15,0,100,5,10,12,1,7,20,0x85,200,800,672,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //2915,HIDDEN_MOB6 2916,BIG_BEN,Big Ben,Big Ben,150,220240,1,7447,7005,1,3101,3313,125,43,102,58,69,75,131,49,10,12,1,0,42,0x91,200,1092,792,480,0,0,0,0,0,0,0,1095,3000,1019,500,509,950,568,160,757,100,22515,15,22515,15,0,0,0,0,4626,1 2917,BIG_BELL,Big Bell,Big Bell,163,166860,1,7513,8457,1,4785,4977,138,53,102,104,72,57,98,57,10,12,1,0,60,0x3695,300,1020,500,768,0,0,0,0,0,0,0,1095,3000,2607,1,7005,750,984,100,912,750,22515,10,0,0,0,0,0,0,4627,1 diff --git a/db/re/mob_skill_db.txt b/db/re/mob_skill_db.txt index b12b3ebdfe..37f881648f 100644 --- a/db/re/mob_skill_db.txt +++ b/db/re/mob_skill_db.txt @@ -8852,6 +8852,63 @@ //2542,Irene Elder@NPC_MILLENNIUMSHIELD,attack,707,1,5000,1000,30000,no,self,always,0,,,,,,, //2542,Irene Elder@NPC_MILLENNIUMSHIELD,chase,707,1,5000,1000,30000,no,self,always,0,,,,,,, +//Geffen Magic Tournament +2549,[PH] 게펜마법사1@MG_FIREBOLT,attack,19,5,3000,1000,3000,yes,target,always,0,,,,,,, +2549,[PH] 게펜마법사1@MG_FIREWALL,attack,18,1,3000,2000,3000,yes,target,always,0,,,,,,, +2550,[PH] 게펜마법사2@MG_FROSTDIVER,attack,15,5,3000,1000,3000,yes,target,always,0,,,,,,, +2550,[PH] 게펜마법사2@MG_THUNDERSTORM,attack,21,3,3000,2000,3000,yes,target,always,0,,,,,,, +2551,[PH] 게펜마법사3 1@NPC_COMBOATTACK,attack,171,2,5000,0,3000,yes,target,always,0,,,,,,, +2551,[PH] 게펜마법사3 1@MG_STONECURSE,attack,16,5,5000,1000,5000,yes,target,always,0,,,,,,, +2551,[PH] 게펜마법사3 1@TF_POISON,attack,52,3,3000,0,5000,yes,target,always,0,,,,,,, +2552,[PH] 게펜마법사3 2@BS_HAMMERFALL,attack,110,5,5000,1000,10000,yes,target,always,0,,,,,,, +2552,[PH] 게펜마법사3 2@NPC_POWERUP,attack,349,5,5000,1000,25000,yes,self,always,0,,,,,,, +2553,[PH] 게펜마법사3 3@ASC_BREAKER,attack,379,1,3000,1000,5000,yes,target,always,0,,,,,,, +2553,[PH] 게펜마법사3 3@AS_VENOMDUST,attack,140,10,3000,1000,5000,yes,target,always,0,,,,,,, +2554,[PH] 게펜마법사4@AL_INCAGI,idle,29,10,10000,1000,10000,yes,self,always,0,,,,,,, +2554,[PH] 게펜마법사4@AL_INCAGI,attack,29,10,3000,1000,10000,yes,self,always,0,,,,,,, +2554,[PH] 게펜마법사4@AL_DECAGI,attack,30,48,3000,1000,10000,yes,target,always,0,,,,,,, +2554,[PH] 게펜마법사4@NPC_COMBOATTACK,attack,171,3,5000,0,3000,yes,target,always,0,,,,,,, +2555,[PH] 게펜마법사5@MG_COLDBOLT,attack,14,5,3000,1000,5000,yes,target,always,0,,,,,,, +2555,[PH] 게펜마법사5@WZ_STORMGUST,attack,89,1,3000,3000,10000,yes,target,always,0,,,,,,, +2555,[PH] 게펜마법사5@WZ_FROSTNOVA,attack,88,5,3000,1000,5000,yes,self,always,0,,,,,,, +2556,[PH] 게펜마법사6@CR_AUTOGUARD,attack,249,5,3000,500,5000,yes,self,always,0,,,,,,, +2556,[PH] 게펜마법사6@CR_GRANDCROSS,attack,254,5,3000,1000,10000,yes,self,always,0,,,,,,, +2557,[PH] 게펜마법사7@NPC_BLEEDING,attack,660,5,5000,0,10000,yes,target,always,0,,,,,,, +2557,[PH] 게펜마법사7@NPC_WIDESOULDRAIN,attack,680,3,3000,500,10000,no,self,always,0,,,,,,, +2557,[PH] 게펜마법사7@NPC_COMBOATTACK,attack,171,10,3000,1000,10000,yes,target,always,0,,,,,,, +2557,[PH] 게펜마법사7@NPC_INVISIBLE,attack,353,1,2000,1000,60000,yes,self,always,0,,,,,,, +2558,[PH] 게펜마법사8@LK_SPIRALPIERCE,attack,397,5,3000,1000,10000,yes,target,always,0,,,,,,, +2558,[PH] 게펜마법사8@SM_ENDURE,attack,8,10,3000,0,10000,yes,self,always,0,,,,,,, +2558,[PH] 게펜마법사8@SM_MAGNUM,attack,7,25,3000,500,5000,yes,self,always,0,,,,,,, +2558,[PH] 게펜마법사8@NPC_MILLENNIUMSHIELD,attack,707,1,3000,1000,10000,yes,self,always,0,,,,,,, +2559,[PH] 게펜마법사9@NPC_HOLYATTACK,attack,189,10,3000,500,5000,yes,target,always,0,,,,,,, +2559,[PH] 게펜마법사9@AL_HEAL,attack,28,8,3000,0,5000,yes,self,always,0,,,,,,, +2559,[PH] 게펜마법사9@AL_PNEUMA,attack,25,1,3000,1000,10000,yes,self,always,0,,,,,,, +2560,[PH] 게펜마법사10@NPC_MENTALBREAKER,attack,159,4,2000,1500,10000,no,target,always,0,,,,,,, +2560,[PH] 게펜마법사10@AC_DOUBLE,attack,46,5,3000,500,5000,yes,target,always,0,,,,,,, +2560,[PH] 게펜마법사10@HT_ANKLESNARE,attack,117,1,2000,1000,10000,yes,around2,always,0,,,,,,, +2560,[PH] 게펜마법사10@HT_FLASHER,attack,120,1,2000,1000,10000,yes,around2,always,0,,,,,,, +2561,[PH] 게펜마법사11@MG_FIREBOLT,attack,19,5,1000,500,15000,yes,target,always,0,,,,,,, +2561,[PH] 게펜마법사11@MG_COLDBOLT,attack,14,5,1000,500,15000,yes,target,always,0,,,,,,, +2561,[PH] 게펜마법사11@MG_LIGHTNINGBOLT,attack,20,5,1000,500,10000,yes,target,always,0,,,,,,, +2561,[PH] 게펜마법사11@WZ_EARTHSPIKE,attack,90,5,1000,500,15000,yes,target,always,0,,,,,,, +2561,[PH] 게펜마법사11@PF_SPIDERWEB,attack,405,1,1000,1000,15000,yes,target,always,0,,,,,,, +2561,[PH] 게펜마법사11@RG_STRIPSHIELD,attack,216,5,3000,1000,30000,yes,target,always,0,,,,,,, +2562,[PH] 게펜마법사12@NPC_SLOWCAST,attack,672,5,1000,1000,15000,yes,self,always,0,,,,,,, +2562,[PH] 게펜마법사12@MG_SOULSTRIKE,attack,13,10,1000,500,10000,yes,target,always,0,,,,,,, +2562,[PH] 게펜마법사12@WZ_FIREPILLAR,attack,80,5,3000,500,5000,yes,around2,always,0,,,,,,, +2562,[PH] 게펜마법사12@WZ_VERMILION,attack,85,5,1000,2000,15000,yes,target,always,0,,,,,,, +2563,Fei Kanabian@AM_DEMONSTRATION,attack,229,5,2000,500,15000,yes,target,always,0,,,,,,, +2563,Fei Kanabian@AM_ACIDTERROR,attack,230,5,2000,1000,15000,yes,target,always,0,,,,,,, +2563,Fei Kanabian@AM_POTIONPITCHER,attack,231,4,3000,1000,10000,yes,self,always,0,,,,,,, +2564,Geffen Fenrir@NPC_SHIELDBRAKE,attack,346,10,3000,1000,10000,yes,target,always,0,,,,,,, +2564,Geffen Fenrir@WL_EARTHSTRAIN,attack,2216,5,3000,3000,30000,yes,target,always,0,,,,,,, +2564,Geffen Fenrir@NPC_COMET,attack,708,5,2000,5000,30000,yes,self,always,0,,,,,,, +2564,Geffen Fenrir@WL_TETRAVORTEX,attack,2217,5,1000,5000,30000,yes,target,always,0,,,,,,, +2565,Alphonse@SM_BASH,attack,5,5,1000,500,10000,yes,target,always,0,,,,,,, +2566,Alphonse Jr@PR_LEXDIVINA,attack,76,1,1000,2000,60000,yes,target,always,0,,,,,,, +2566,Alphonse Jr@PR_LEXAETERNA,attack,78,1,1000,500,10000,yes,target,always,0,,,,,,, + // Champion Monsters 2603,Swift Zombie Slaughter@AL_TELEPORT,attack,26,1,500,0,5000,yes,self,myhpltmaxrate,50,,,,,,, 2603,Swift Zombie Slaughter@AL_HEAL,attack,28,5,10000,500,5000,yes,self,myhpltmaxrate,50,,,,,,, diff --git a/db/re/quest_db.txt b/db/re/quest_db.txt index 9145a1bf0c..bc549c7f35 100644 --- a/db/re/quest_db.txt +++ b/db/re/quest_db.txt @@ -1771,6 +1771,41 @@ 9260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Survey investigation notes" 9262,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Mystery Robbery Incident 16" +//Geffen Magic Tournament +9284,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9292,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9293,0,1106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9295,0,2549,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9296,0,2550,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9297,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9298,0,2553,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9299,0,2554,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9300,0,2555,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9301,0,2556,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9302,0,2557,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9303,0,2558,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9304,0,2559,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9305,0,2560,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9306,0,2561,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9307,0,2562,1,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9308,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9313,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9315,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" +9316,82800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Geffen" + // Academy 14.2 9264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job change to Mage" 9265,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Job change to Mage" diff --git a/npc/custom/official/GeffenMagicTournament.txt b/npc/custom/official/GeffenMagicTournament.txt new file mode 100644 index 0000000000..0885149075 --- /dev/null +++ b/npc/custom/official/GeffenMagicTournament.txt @@ -0,0 +1,4930 @@ +//===== rAthena Script ======================================= +//= Geffen Magic Tournament Memorial Dungeon +//===== By: ================================================== +//= Nova with the help of Tokei, Diablo and others. +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena Project +//===== Description: ========================================= +//= [Custom implementation of official script] +//= Participate in the Geffen Magic Tournament and gain coins to trade for rewards. +//===== Additional Comments: ================================= +//= 1.0 First version. Converted to rAthena compliant standard. +//= Thanks to Nova, Tokei, Diablo and others for creating the script. [MasterOfMuppets] +//============================================================ + +//MAIN QUEST +1@gef,0,0,0 script #gmt_dummy -1,{ end; } + +1@gef,119,208,0 script #GefMagicStart 567,5,5,{ + end; +OnTouch: + if ('GMT == 0) { + 'GMT = 1; + setquest 9292; + mapannounce instance_mapname("1@gef"),"Geffen Broadcast: The Geffen Magic Tournament is about to begin!",bc_blue; + sleep2 3000; + mapannounce instance_mapname("1@gef"),"Geffen Broadcast: Citizens and adventurers in Geffen, please join the tournament~!",bc_blue; + sleep2 5000; + mapannounce instance_mapname("1@gef"),"Geffen Broadcast: Anyone who wants to join the Geffen Magic Tournament, please come to the southern fountain of Geffen~!",bc_blue; + 'charname$ = strcharinfo(0); + 'sex = Sex; + 'gmt_account_id = getcharid(3); + } + + end; +OnInit: + hideonnpc strnpcinfo(0); + end; +OnInstanceInit: + hideonnpc instance_npcname(strnpcinfo(0)); + end; +} + +1@gef,120,78,0 script #GefMagicGuess0 567,4,1,{ + end; +OnTouch_: + if ('GMT == 1) { + 'GMT = 2; + showscript strcharinfo(0)+" : Guess this is where I register for the tournament..."; + end; + } + + end; +OnInit: + hideonnpc strnpcinfo(0); + end; +OnInstanceInit: + hideonnpc instance_npcname(strnpcinfo(0)); + end; +} + +1@gef,142,53,0 duplicate(#GefMagicGuess0) #GefMagicGuess1 567,1,15 +1@gef,99,53,0 duplicate(#GefMagicGuess0) #GefMagicGuess2 567,1,20 + +//Movie + +1@gef,71,86,4 duplicate(#gmt_dummy) Young Lady#gef1 4_F_BRZ_WOMAN +1@gef,75,82,4 duplicate(#gmt_dummy) Young Lady#gef3 4_F_03 +1@gef,68,79,6 duplicate(#gmt_dummy) Handsome Adventurer#gef 4_M_CRU +1@gef,70,77,2 duplicate(#gmt_dummy) Male Adventurer#gef 4_M_LGTMAN +1@gef,73,84,4 duplicate(#gmt_dummy) Young Lady#gef2 4_F_CAPEGIRL + +1@gef,73,84,0 script MOVIECONTROL#gef -1,13,13,{ + end; +OnTouch_: + if ('MOVIE == 1) end; + 'MOVIE = 1; + 'm1_timer = 0; + initnpctimer; + end; +OnTimer1000: + 'm1_timer++; + + switch('m1_timer) { + case 1: npctalk "I am lonely... Should I be alone during the festival?", instance_npcname("Young Lady#gef1"); break; + case 4: npctalk "Oh my god ~! Why do you say that~?", instance_npcname("Young Lady#gef2"); break; + case 8: npctalk "How about hitting on the handsome adventurers coming to Geffen?", instance_npcname("Young Lady#gef3"); break; + case 12: npctalk "Handsome? Where are there handsome men?", instance_npcname("Young Lady#gef1"); break; + case 17: npctalk "I only see guys who look so old and fat!", instance_npcname("Young Lady#gef1"); break; + case 21: npctalk "Agh... I can not just sit around during this festival alone...", instance_npcname("Young Lady#gef2"); break; + case 26: npctalk "No! There has to be some handsome guys around here! Don't give up!", instance_npcname("Young Lady#gef3"); break; + case 30: + npctalk "Um... okay...", instance_npcname("Young Lady#gef1"); + npctalk "Um... okay...", instance_npcname("Young Lady#gef2"); + break; + case 34: npctalk "See! Look over there! A handsome guy!", instance_npcname("Young Lady#gef3"); break; + case 38: + npctalk "Oh god! Where?!", instance_npcname("Young Lady#gef1"); + npctalk "Oh my god! Where? Where?", instance_npcname("Young Lady#gef2"); + break; + case 42: + hideoffnpc instance_npcname("Handsome Adventurer#gef"); + npctalk "Over there~!", instance_npcname("Young Lady#gef3"); + break; + case 46: npctalk "There are many beautiful ladies at this year's Magic Tournament.", instance_npcname("Handsome Adventurer#gef"); break; + case 50: + npctalk "Yikes~~~!!", instance_npcname("Young Lady#gef1"); + npctalk "Yikes~~~! Is he talking about me?", instance_npcname("Young Lady#gef2"); + npctalk "Yikes~~! Nice!!", instance_npcname("Young Lady#gef3"); + break; + case 54: npctalk "What should I do? Should I talk to him?", instance_npcname("Young Lady#gef3"); break; + case 58: npctalk "Come on~! You're good at this! Hurry up and hook up with him!", instance_npcname("Young Lady#gef2"); break; + case 62: npctalk "Hurry up~!", instance_npcname("Young Lady#gef1"); break; + case 66: npctalk "It's almost time for the event to begin...", instance_npcname("Handsome Adventurer#gef"); break; + case 70: npctalk "Maybe he's waiting for someone!", instance_npcname("Young Lady#gef3"); break; + case 74: npctalk "A girlfriend?! It can't be!", instance_npcname("Young Lady#gef2"); break; + case 78: + hideoffnpc instance_npcname("Male Adventurer#gef"); + npctalk "No... it can't be~!", instance_npcname("Young Lady#gef1"); + break; + case 79: npctalk "Have I kept you waiting for a long time?", instance_npcname("Male Adventurer#gef"); break; + case 83: npctalk "Lucky! It's a man!!!", instance_npcname("Young Lady#gef3"); break; + case 86: + npctalk "Looks like it's just a friend~!!", instance_npcname("Young Lady#gef2"); + break; + case 88: npctalk "Hook up with both of them? Ho ho ho~!", instance_npcname("Young Lady#gef1"); break; + case 91: + npctalk "Yes! You have finally arrived, my love!", instance_npcname("Handsome Adventurer#gef"); + emotion 23, 0, instance_npcname("Young Lady#gef1"); + emotion 23, 0, instance_npcname("Young Lady#gef2"); + emotion 23, 0, instance_npcname("Young Lady#gef3"); + break; + case 95: + npctalk "My love...", instance_npcname("Male Adventurer#gef"); + emotion 3, 0, instance_npcname("Male Adventurer#gef"); + emotion 3, 0, instance_npcname("Handsome Adventurer#gef"); + emotion 3, 0, instance_npcname("Handsome Adventurer#gef"); + break; + case 99: + npctalk "Maybe... There are no good guys left for us...", instance_npcname("Young Lady#gef3"); + emotion 3, 0, instance_npcname("Handsome Adventurer#gef"); + break; + case 103: + npctalk "Ahem... Maybe... Just the three of us... will be together forever...", instance_npcname("Young Lady#gef2"); + emotion 3, 0, instance_npcname("Male Adventurer#gef"); + break; + case 106: + npctalk "Our friendship is forever~!!!", instance_npcname("Young Lady#gef3"); + emotion 3, 0, instance_npcname("Handsome Adventurer#gef"); + sleep2 500; + npctalk "Our friendship is forever~!!!", instance_npcname("Young Lady#gef1"); + sleep2 500; + npctalk "Our friendship is forever~!!!", instance_npcname("Young Lady#gef2"); + 'm1_timer++; + break; + case 109: + emotion 3, 0, instance_npcname("Male Adventurer#gef"); + emotion 28, 0, instance_npcname("Young Lady#gef1"); + emotion 28, 0, instance_npcname("Young Lady#gef2"); + emotion 28, 0, instance_npcname("Young Lady#gef3"); + break; + case 111: emotion 3, 0, instance_npcname("Handsome Adventurer#gef"); break; + case 113: emotion 3, 0, instance_npcname("Male Adventurer#gef"); break; + case 115: emotion 3, 0, instance_npcname("Handsome Adventurer#gef"); break; + case 118: + hideonnpc instance_npcname("Male Adventurer#gef"); + hideonnpc instance_npcname("Handsome Adventurer#gef"); + 'MOVIE = 0; + stopnpctimer; + end; + } + + initnpctimer; + end; +} + +//Fireworks + +1@gef,90,197,0 script #Firecrackers0 649,{ + end; +OnTimer2500: + .@r = rand(0,1); + if (.@r != 0 ) { stopnpctimer; initnpctimer; end; } + stopnpctimer; + specialeffect .effects[rand(0,18)],AREA,instance_npcname(strnpcinfo(0)); + initnpctimer; + end; + +OnInit: + setarray .effects,97,255,28,256,29,257,244,92,32,195,258,22,62,234,89,30,225,116,94; + hideonnpc strnpcinfo(0); + end; + +OnInstanceInit: + initnpctimer; + hideonnpc instance_npcname(strnpcinfo(0)); + end; +} + +1@gef,106,145,0 duplicate(#Firecrackers0) #Firecrackers1 649 +1@gef,112,49,0 duplicate(#Firecrackers0) #Firecrackers2 649 +1@gef,134,145,0 duplicate(#Firecrackers0) #Firecrackers3 649 +1@gef,132,111,0 duplicate(#Firecrackers0) #Firecrackers4 649 +1@gef,141,56,0 duplicate(#Firecrackers0) #Firecrackers5 649 +1@gef,146,175,0 duplicate(#Firecrackers0) #Firecrackers6 649 +1@gef,182,163,0 duplicate(#Firecrackers0) #Firecrackers7 649 +1@gef,183,126,0 duplicate(#Firecrackers0) #Firecrackers8 649 +1@gef,194,89,0 duplicate(#Firecrackers0) #Firecrackers9 649 +1@gef,59,125,0 duplicate(#Firecrackers0) #Firecrackers10 649 +1@gef,62,147,0 duplicate(#Firecrackers0) #Firecrackers11 649 +1@gef,62,91,0 duplicate(#Firecrackers0) #Firecrackers12 649 +1@gef,71,181,0 duplicate(#Firecrackers0) #Firecrackers13 649 +1@gef,112,196,0 duplicate(#Firecrackers0) #Firecrackers14 649 +1@gef,98,58,0 duplicate(#Firecrackers0) #Firecrackers15 649 +1@gef,98,126,0 duplicate(#Firecrackers0) #Firecrackers16 649 +1@gef,127,196,0 duplicate(#Firecrackers0) #Firecrackers17 649 +1@gef,40,125,0 duplicate(#Firecrackers0) #Firecrackers18 649 +1@gef,116,75,0 duplicate(#Firecrackers0) #Firecrackers19 649 +1@gef,58,112,0 duplicate(#Firecrackers0) #Firecrackers20 649 +1@gef,40,112,0 duplicate(#Firecrackers0) #Firecrackers21 649 +1@gef,107,111,0 duplicate(#Firecrackers0) #Firecrackers22 649 +1@gef,127,49,0 duplicate(#Firecrackers0) #Firecrackers23 649 +1@gef,123,75,0 duplicate(#Firecrackers0) #Firecrackers24 649 +1@gef,199,126,0 duplicate(#Firecrackers0) #Firecrackers25 649 +1@gef,183,113,0 duplicate(#Firecrackers0) #Firecrackers26 649 +1@gef,199,114,0 duplicate(#Firecrackers0) #Firecrackers27 649 +1@gef,140,126,0 duplicate(#Firecrackers0) #Firecrackers28 649 + +//SHOPS + +1@gef_in,77,167,0 shop Tool Dealer#gefa_0et 1_F_03,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,645:-1,656:-1,713:-1,601:-1,602:-1,2241:-1 +1@gef_in,77,173,0 shop Trader#gef_0et 1_M_WIZARD,717:-1,1601:-1,1604:-1,1607:-1,1610:-1,2232:-1,2321:-1,2332:-1 +1@gef_in,74,144,0 shop Trader#gef_0et1 1_F_01,911:-1,910:-1,912:-1 +1@gef_in,65,144,4 shop Tool Dealer#gefb_0et1 1_M_WIZARD,1092:-1,1093:-1,713:-1 + +1@gef_in,22,171,7 shop Weapon Dealer#GMT 84,1146:-1,1245:-1 +1@gef_in,26,178,4 shop Armor Dealer#GMT 66,2628:-1,2101:-1,2107:-1,2401:-1,2501:-1,2230:-1,2301:-1,2303:-1,2305:-1,2321:-1,2332:-1 +1@gef_in,30,178,4 shop Weapon Dealer#GMT2 47,1750:-1,1751:-1,1101:-1,1701:-1,1201:-1,1204:-1,1207:-1,1210:-1,1213:-1,1216:-1,1601:-1,1604:-1,1607:-1,1610:-1 + +1@gef,193,152,4 shop Pet Groomer#GMT 124,537:-1,643:-1,10013:-1,10014:-1,6113:-1,6114:-1,6115:-1,6110:-1,6100:-1,6098:-1,6112:-1,6104:-1,6108:-1,6111:-1,7824:1000,6097:1000,6107:1000 +1@gef,196,111,3 shop Cook#gef_0et 85,7482:-1 + +1@gef,131,58,4 script Geffen Coin Operator#g 4_F_ZONDAGIRL,{ // 55149 + .@n$ = "[ Geffen Coin Operator ]"; + mes .@n$,"I exchange Magic Tournament Coins for Equipment."; next; + goto L_Menu; + end; + +L_Menu: + switch(select("Shields:Rings:Armor:End Conversation")){ + case 1: + mes .@n$,"There are two types of Shields are available for exchange."; + next; +L_Shield: + switch(select("Magic Reflector ^3355FF<900 Coins>^000000:Revised Encyclopedia ^3355FF<900 Coins>^000000:Go back to previous menu")){ + case 1: .@item = 2185; .@cost = 900; break; + case 2: .@item = 2186; .@cost = 900; break; + case 3: goto L_Menu; break; + } + mes .@n$; + mes ""+getitemname(.@item)+""+.@item+""; + mes "Price is "+.@cost+" coins"; + mes "Do you wish to exchange your coins?"; + next; + switch(select("Do Not Exchange:Exchange")){ + case 1: + mes .@n$,"Take a look at the other equipment available."; + next; + goto L_Shield; + break; + case 2: + if( countitem(6671) < .@cost ) { + mes .@n$,"You need "+.@cost+" Geffen Magic Tournament Coins."; + next; + mes .@n$,"Participate in the Tournament to earn more coins."," ","Do you need more help?"; + goto L_Shield; + } + if(!checkweight(.@item,1)) { mes .@n$; mes "You have too many things in your inventory to carry a ^FF0000"+getitemname(.@item)+"^000000."; end; } + delitem 6671,.@cost; + getitem .@item,1; + mes .@n$,"Thank you."; + end; + } + + case 2: + mes .@n$; + mes "There are two types of Rings are available for exchange."; + next; +L_Ring: + switch(select("Phyisical Enhancer Ring ^3355FF<1350 Coins>^000000:Magic Intensifier Ring ^3355FF<1350 Coins>^000000:Go back to previous menu")){ + case 1: + .@item = 2963; + .@cost = 1350; + break; + case 2: + .@item = 2964; + .@cost = 1350; + break; + case 3: + goto L_Menu; + break; + } + mes .@n$; + mes ""+getitemname(.@item)+""+.@item+""; + mes "Price is "+.@cost+" coins"; + mes "Do you wish to exchange your coins?"; + next; + switch(select("Do Not Exchange:Exchange")){ + case 1: + mes .@n$,"Take a look at the other equipment available."; + next; + goto L_Ring; + break; + case 2: + if( countitem(6671) < .@cost ) { + mes .@n$,"You need "+.@cost+" Geffen Magic Tournament Coins."; + next; + mes .@n$,"Participate in the Tournament to earn more coins."," ","Do you need more help?"; + goto L_Ring; + } + if(!checkweight(.@item,1)) { mes .@n$; mes "You have too many things in your inventory to carry a ^FF0000"+getitemname(.@item)+"^000000."; end; } + delitem 6671,.@cost; + getitem .@item,1; + mes .@n$,"Thank you."; + end; + } + case 3: + mes .@n$; + mes "There are two types of Armor are available for exchange."; + next; +L_Armor: + switch(select("Anti-Magic Suit ^3355FF<1800 Coins>^000000:Geffen Magic Robe ^3355FF<1800 Coins>^000000:Go back to previous menu")){ + case 1: + .@item = 15073; + .@cost = 1800; + break; + case 2: + .@item = 15074; + .@cost = 1800; + break; + case 3: + goto L_Menu; + break; + } + mes .@n$; + mes ""+getitemname(.@item)+""+.@item+""; + mes "Price is "+.@cost+" coins"; + mes "Do you wish to exchange your coins?"; + next; + switch(select("Do Not Exchange:Exchange")){ + case 1: + mes .@n$,"Take a look at the other equipment available."; + next; + goto L_Armor; + break; + case 2: + if( countitem(6671) < .@cost ) { + mes .@n$,"You need "+.@cost+" Geffen Magic Tournament Coins."; + next; + mes .@n$,"Participate in the Tournament to earn more coins."," ","Do you need more help?"; + goto L_Armor; + } + if(!checkweight(.@item,1)) { mes .@n$; mes "You have too many things in your inventory to carry a ^FF0000"+getitemname(.@item)+"^000000."; end; } + delitem 6671,.@cost; + getitem .@item,1; + mes .@n$,"Thank you."; + end; + } + case 4: + mes .@n$; + mes "You can tell a lot about a person by what gear they have."; + mes "I will see you next time~!"; + close; + + } + end; +} + +//On Touch NPCs + +1@gef,0,0,0 script #gmt_quotes -1,{ + end; +OnTouch_: + if (strnpcinfo(0) == "Old Bachelor#z1_0et") setarray .@quotes$, "Old Bachelor: It's such a good festival, and I am alone...","Old Bachelor: Maybe I should hit on that girl...","Old Bachelor: It's so crowded in here during the Magic Tournament~!"; + if (strnpcinfo(0) == "Little Geffen Boy#a2_0e") setarray .@quotes$, "Little Geffen Boy: Ugh ha ha~ Look~! That guy passing by there is so ugly~!!","Little Geffen Boy: I am bored! Is there anything fun to do around here?","Little Geffen Boy: I should ask my father for some pocket change."; + if (strnpcinfo(0) == "Dio Anemos#z1_0et") { + if ('GMT_1QUE > 1) setarray .@quotes$, "Dio Anemos : Any time I face a woman, I really have no choice but to go easy on her..."; + else setarray .@quotes$, "Dio Anemos: I want to eat some cookies before the Magic Tournament starts.","Dio Anemos: I'm hungry... Can i have some food?","Dio Anemos: Geffen is so lively whenever I visit."; + } + if (strnpcinfo(0) == "Ordre#z1_0et") { + if ('GMT_1QUE > 1) setarray .@quotes$, "Ordre : Even powerful people like me can lose..."; + else setarray .@quotes$, "Ordre: I've been waiting for this air and mood for a long time.","Ordre: Show us what you have trained for.","Ordre: Let's go register for the competition."; + } + if (strnpcinfo(0) == "Ju#z1_0et") { + if ('GMT_1QUE > 1) setarray .@quotes$, "Ju : ... You really defeat me..."; + else setarray .@quotes$, "Ju: I will make sure to register for the Magic Tournament quickly.","Ju: I only see novices around here.","Ju: I will surprise them with my excellent battle skills!"; + } + if (strnpcinfo(0) == "Blut Hase#z1_0et") { + if ('GMT_1QUE > 1) setarray .@quotes$, "Blut Hase : How can somebody be so powerful..."; + else setarray .@quotes$, "Blut Hase: Where do I go to register for the Magic Tournament?","Blut Hase: My clothes will be stained with the blood of my enemies."; + } + if (strnpcinfo(0) == "Kuro Akuma#z1_0et") { + if ('GMT_1QUE > 1) setarray .@quotes$, "Kuro Akuma : Maybe just being evil isn't enough to win the tournament..."; + else setarray .@quotes$, "Kuro Akuma: It's like a calm before a storm~!","Kuro Akuma: So peaceful~! I love it!","Kuro Akuma: There quite a few innocent lambs joining the Magic Tournament~!"; + } + if (strnpcinfo(0) == "Odoric#z1_0et") { + if ('GMT_1QUE > 1) setarray .@quotes$, "Odoric : This is what youth looks like, sister... I'm truly jealous..."; + else setarray .@quotes$, "Odoric: I can't find my type of competitors at all!","Odoric: It is so crowded during the Tournament~!","Odoric: It should be fun dancing in the festival~!"; + } + if (strnpcinfo(0) == "Fay Kanavian#z1_0et") { + if ('GMT_1QUE > 1) setarray .@quotes$, "Fay Kanavian : I actually lost... How is this possible?"; + else setarray .@quotes$, "Fay Kanavian: It is time to show off my Philosopher's Stone at the Tournament~!","Fay Kanavian: No one can stop me. Ha ha ha ha ha ha~!","Fay Kanavian: Have you seen my Homonculus Alphonse?"; + } + if (strnpcinfo(0) == "Licheniyes#z1_0et") { + if ('GMT_1QUE > 1) setarray .@quotes$, "Lecheniyes : Most people won't even remember the outcome of the tournament, so there's no real sense of failure..."; + else setarray .@quotes$, "Licheni: Happy Geffen Magic Tournament~!","Licheni: It will be a very fun Magic Tournament this year.","Licheni: Yahoo~ Let's go join the Magic Tournament~"; + } + if (strnpcinfo(0) == "Ifodes#z1_0et") { + if ('GMT_1QUE > 1) setarray .@quotes$, "Ifodes : Losing to a woman... Now that's a terrifying thought."; + else setarray .@quotes$, "Ifodes: I will show who I am at the Magic Tournament!","Ifodes: Strong attack and solid defense! Sigh, I wish I had a girlfriend...","Ifodes: Is there any beautiful ladies around to show my chivalry?"; + } + if (strnpcinfo(0) == "Faymont#z1_0et") { + if ('GMT_1QUE > 1) setarray .@quotes$, "Faymont : No time to chat, I need to go comfort the other girls who failed."; + else setarray .@quotes$, "Faymont: I heard a new hat was released in Geffen.","Faymont: There are no other decent competitors in the Tournament?","Faymont: I've never met anyone who has a better fashion sense than me."; + } + if (strnpcinfo(0) == "Arhi#z1_0et") { + if ('GMT_1QUE > 1) setarray .@quotes$, "Arhi: The tournament is finally over! It was really a great year... Way too intense!"; + else setarray .@quotes$, "Arhi: I'm thinking of joining the Magic Tournament!","Arhi: This should be a pretty good experience.","Arhi: Are there any competitors that look weak?"; + } + if (strnpcinfo(0) == "Dwigh#z1_0et") { + if ('GMT_1QUE > 1) setarray .@quotes$, "Dwigh : Needless to say, it was a pretty decisive battle!"; + else setarray .@quotes$, "Dwigh: I want this Magic Tournament to become my turning point.","Dwigh: I am quite depressed these days...","Dwigh: I will show my great skills to all of my students."; + } + + showscript .@quotes$[rand(getarraysize(.@quotes$))], getnpcid(0); + end; +} + +1@gef,124,173,4 duplicate(#gmt_quotes) Old Bachelor#z1_0et 1_M_03,4,4 +1@gef,91,117,6 duplicate(#gmt_quotes) Dio Anemos#z1_0et 4_GEFFEN_01,4,4 +1@gef,85,68,6 duplicate(#gmt_quotes) Ordre#z1_0et 4_GEFFEN_05,4,4 +1@gef,178,91,6 duplicate(#gmt_quotes) Ju#z1_0et 4_GEFFEN_11,4,4 +1@gef,194,91,4 duplicate(#gmt_quotes) Little Geffen Boy#a2_0e 4_KID01,4,4 +1@gef,111,62,6 duplicate(#gmt_quotes) Blut Hase#z1_0et 4_GEFFEN_06,4,4 +1@gef,104,42,6 duplicate(#gmt_quotes) Kuro Akuma#z1_0et 4_GEFFEN_07,4,4 +1@gef,158,63,4 duplicate(#gmt_quotes) Odoric#z1_0et 4_GEFFEN_10,4,4 +1@gef,117,72,6 duplicate(#gmt_quotes) Fay Kanavian#z1_0et 4_F_GEFFEN_FAY,4,4 +1@gef,137,53,4 duplicate(#gmt_quotes) Licheniyes#z1_0et 4_GEFFEN_09,4,4 +1@gef,115,66,6 duplicate(#gmt_quotes) Ifodes#z1_0et 4_GEFFEN_08,4,4 +1@gef,53,90,6 duplicate(#gmt_quotes) Faymont#z1_0et 4_GEFFEN_04,4,4 +1@gef,145,125,4 duplicate(#gmt_quotes) Arhi#z1_0et 4_GEFFEN_02,4,4 +1@gef,120,98,4 duplicate(#gmt_quotes) Dwigh#z1_0et 4_GEFFEN_12,4,4 + +//WARPS +1@gef_in,70,132,0 script #gef_a4_0et 45,2,2,{ + end; +OnTouch: + warp instance_mapname("1@gef"),46,88; + end; +OnInstanceInit: +OnEnable: + enablenpc instance_npcname("#gef_a4_0et"); + end; +} + +1@gef_in,106,181,0 script #gef_a3_0et 45,2,2,{ + end; +OnTouch: + warp instance_mapname("1@gef"),178,63; + end; +OnInstanceInit: +OnEnable: + enablenpc instance_npcname("#gef_a3_0et"); + end; +} + +1@gef,182,59,0 script #gef_a1_0et 45,2,2,{ + end; +OnTouch: + warp instance_mapname("1@gef_in"),106,177; + end; +OnInstanceInit: +OnEnable: + enablenpc instance_npcname("#gef_a1_0et"); + end; +} + +1@gef_in,70,158,0 script #gef_a5_0et 45,2,2,{ + end; +OnTouch: + warp instance_mapname("1@gef_in"),70,146; + end; +OnInstanceInit: +OnEnable: + enablenpc instance_npcname("#gef_a5_0et"); + end; +} + +1@gef_in,70,149,0 script #gef_a6_0et 45,2,2,{ + end; +OnTouch: + warp instance_mapname("1@gef_in"),70,161; + end; +OnInstanceInit: +OnEnable: + enablenpc instance_npcname("#gef_a6_0et"); + end; +} + +1@gef,43,85,0 script #gef_a2_0et 45,2,2,{ + end; +OnTouch: + warp instance_mapname("1@gef_in"),70,138; + end; +OnInstanceInit: +OnEnable: + enablenpc instance_npcname("#gef_a2_0et"); + end; +} + +1@gef,98,141,0 script #gef_a8_0et 45,2,2,{ + end; +OnTouch: + warp instance_mapname("1@gef_in"),28,160; + end; +OnInstanceInit: +OnEnable: + enablenpc instance_npcname("#gef_a8_0et"); + end; +} + +1@gef_in,28,156,0 script #gef_a7_0et 45,2,2,{ + end; +OnTouch: + warp instance_mapname("1@gef"),101,138; + end; +OnInstanceInit: +OnEnable: + enablenpc instance_npcname("#gef_a7_0et"); + end; +} + +//SPECTATORS + +- script #d_c 4_M_DST_TOUGH,{ end; } + +1@gef,175,74,4 duplicate(#d_c) Tournament Spectator#c0 4_M_DST_TOUGH +1@gef,130,196,6 duplicate(#d_c) Tournament Spectator#c1 1_ETC_01 +1@gef,137,190,6 duplicate(#d_c) Tournament Spectator#c2 1_F_02 +1@gef,149,196,6 duplicate(#d_c) Tournament Spectator#c3 1_M_01 +1@gef,136,188,6 duplicate(#d_c) Tournament Spectator#c4 4_F_TWGRANDMOM +1@gef,110,195,4 duplicate(#d_c) Tournament Spectator#c5 1_M_03 +1@gef,134,63,4 duplicate(#d_c) Tournament Spectator#c6 1_M_MERCHANT +1@gef,145,47,4 duplicate(#d_c) Tournament Spectator#c7 1_M_MOC_LORD +1@gef,154,55,4 duplicate(#d_c) Tournament Spectator#c8 1_M_ORIENT01 +1@gef,147,65,4 duplicate(#d_c) Tournament Spectator#c9 1_M_PASTOR +1@gef,163,76,4 duplicate(#d_c) Tournament Spectator#c10 1_F_PRIEST +1@gef,180,84,4 duplicate(#d_c) Tournament Spectator#c11 1_M_INNKEEPER +1@gef,189,97,4 duplicate(#d_c) Tournament Spectator#c12 1_M_SIZ +1@gef,194,110,4 duplicate(#d_c) Tournament Spectator#c13 1_M_PAY_ELDER +1@gef,185,107,6 duplicate(#d_c) Tournament Spectator#c14 1_M_PRON_KING +1@gef,189,120,4 duplicate(#d_c) Tournament Spectator#c15 4_F_01 +1@gef,44,95,6 duplicate(#d_c) Tournament Spectator#c17 1_M_JOBTESTER +1@gef,52,83,6 duplicate(#d_c) Tournament Spectator#c18 1_M_KNIGHTMASTER +1@gef,130,196,6 duplicate(#d_c) Tournament Spectator#c19 1_ETC_01 +1@gef,104,189,4 duplicate(#d_c) Tournament Spectator#c20 1_F_01 +1@gef,94,194,4 duplicate(#d_c) Tournament Spectator#c21 1_F_03 +1@gef,52,155,6 duplicate(#d_c) Tournament Spectator#c22 1_F_04 +1@gef,55,142,4 duplicate(#d_c) Tournament Spectator#c23 1_F_GYPSY +1@gef,58,146,4 duplicate(#d_c) Tournament Spectator#c24 1_M_BARD +1@gef,45,149,6 duplicate(#d_c) Tournament Spectator#c25 1_F_LIBRARYGIRL +1@gef,44,133,6 duplicate(#d_c) Tournament Spectator#c26 1_M_HOF +1@gef,45,126,6 duplicate(#d_c) Tournament Spectator#c27 1_M_02 +1@gef,44,118,6 duplicate(#d_c) Tournament Spectator#c28 1_F_MERCHANT_01 +1@gef,55,113,4 duplicate(#d_c) Tournament Spectator#c29 1_F_MERCHANT_02 +1@gef,50,107,6 duplicate(#d_c) Tournament Spectator#c30 1_M_JOBGUIDER +1@gef,72,65,6 duplicate(#d_c) Tournament Spectator#c31 1_M_LIBRARYMASTER +1@gef,83,60,6 duplicate(#d_c) Tournament Spectator#c32 1_F_ORIENT_01 +1@gef,94,68,6 duplicate(#d_c) Tournament Spectator#c33 1_F_ORIENT_02 +1@gef,97,66,4 duplicate(#d_c) Tournament Spectator#c34 1_F_ORIENT_03 +1@gef,167,120,4 duplicate(#d_c) Tournament Spectator#c36 1_M_SIGN1 +1@gef,152,120,4 duplicate(#d_c) Tournament Spectator#c37 2_F_MAGICMASTER +1@gef,138,110,4 duplicate(#d_c) Tournament Spectator#c38 4_F_01 +1@gef,128,99,4 duplicate(#d_c) Tournament Spectator#c39 4_F_02 +1@gef,105,109,6 duplicate(#d_c) Tournament Spectator#c40 4_F_03 +1@gef,96,122,6 duplicate(#d_c) Tournament Spectator#c41 4_F_04 +1@gef,132,137,6 duplicate(#d_c) Tournament Spectator#c42 4_F_TRAINEE +1@gef,141,132,4 duplicate(#d_c) Tournament Spectator#c43 1_M_SIGNART +1@gef,124,72,4 duplicate(#d_c) Tournament Spectator#c44 1_M_SIGNMCNT +1@gef,130,49,6 duplicate(#d_c) Tournament Spectator#c45 1_M_SIGNMONK2 + + +//Dialogue NPC + +1@gef_in,110,172,0 script Christopher#1_0et 1_M_SMITH,{ + mes "[ Christopher ]"; + mes "Welcome to Christopher's Workshop."; + mes "Ye can get all yer stuff for"; + mes "forging here. What business"; + mes "brings ye to me?"; + next; + mes "[ Christopher ]"; + mes "We are taking a break from our forges in honor of the festival."; + mes "Please come back again after the festival is done."; + close; +} + +1@gef,129,65,4 script Point Merchant#gef_m 8_F_GIRL,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) { + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you lose some weight. -"; + close; + } + mes "[ Point Merchant ]"; + mes "Hello. I'm selling a catalyst called ^FF0000Points^000000 for Sorcerers. What would you like?"; + next; + .@i = select("Scarlet Points - 200z:Lime Green Points - 200z:Indigo Points - 200z:Yellow Wish Points - 200z:Cancel")-1; + mes "[ Point Merchant ]"; + if (.@i == 4) { + mes "You can't find the stuff you need?"; + close; + } + setarray .@itemid[0],6360,6363,6361,6362; + setarray .@color$[0],"Scarlet","Lime Green","Indigo","Yellow Wish"; + mes "You have chosen "+.@color$[.@i]+" Points."; + mes "How many do you want?"; + mes "If you want to cancel, enter 0."; + next; + input .@amount; + mes "[ Point Merchant ]"; + if (.@amount == 0) { + mes "You've cancelled the trade."; + close; + } + if (Zeny < .@amount*200) { + mes "You don't seem to have enough money."; + close; + } + if (!checkweight(.@itemid[.@i],.@amount)) { + mes "You don't have enough space in your inventory to buy this amount."; + close; + } + Zeny = Zeny-(.@amount*200); + getitem .@itemid[.@i],.@amount; + mes "Thank you very much. See you~!"; + close; +} + +1@gef,127,65,3 script Universal Rental NPC#gf 8W_SOLDIER,{ + if (ismounting()) { + message strcharinfo(0),"You must first remove your mount."; + end; + } else if ((eaclass()&EAJ_THIRDMASK==EAJ_RANGER) && !countitem(6124)) { + if (!checkfalcon() && getskilllv("HT_FALCON") && !checkwug()) { + if(select(" ~ Falcon: ~ Warg")==1) setfalcon; + else getitem 6124,1; //Wolf's_Flute + } else getitem 6124,1; //Wolf's_Flute + } else if ((eaclass()&EAJ_THIRDMASK==EAJ_MECHANIC) && !checkcart() && getskilllv("MC_PUSHCART")) { + if (!checkmadogear() && getskilllv("NC_MADOLICENCE")) { + if(select(" ~ Cart: ~ Mado")==1) setcart; + else setmadogear; + } else setcart; + } else if (!checkcart() && getskilllv("MC_PUSHCART")) setcart; + else if (!checkfalcon() && getskilllv("HT_FALCON") && !checkwug()) setfalcon; + else if (!checkriding() && !checkdragon() && getskilllv("KN_RIDING")) { + if (eaclass()&EAJ_THIRDMASK==EAJ_RUNE_KNIGHT) setdragon; + else setriding; + } else if (!checkmadogear() && getskilllv("NC_MADOLICENCE")) setmadogear; + else { + message strcharinfo(0),"You do not meet requirements to rent."; + end; + } + specialeffect2 EF_TEIHIT3; + end; +} + +1@gef,124,65,4 script Kafra Employee#gef_t 4_F_KAFRA4,{ + cutin "kafra_04",2; + mes "[Kafra Employee]"; + mes "Welcome~!"; + mes "The Kafra Services."; + mes "are always on your side."; + mes "So how can I help you?"; + callfunc "F_Kafra",5,5,1,50,0; +} + + +dali,100,147,3 script Dimensional Device#gefma PORTAL,{ + .@n$ = "[ Dimensional Device ]"; + + .@ins_geffen_time = checkquest(9316,PLAYTIME); + + if ( GeffenTournament < gettimetick(2)) { + + .@party_id = getcharid(1); + .@p_name$ = getpartyname(.@party_id); + .@md_name$ = "Geffen Magic Tournament"; + + getpartymember(getcharid(1),0); + set .@GPPartySize,$@partymembercount; + + if( !getcharid(1) || getcharid(3) != getpartyleader( getcharid(1),1 ) || .@GPPartySize > 1) { + mes .@n$; + mes "This is a solo instance. Please form a solo party before continuing."; + end; + } + + if (!.@party_id) { + mes .@n$; + mes "This is a solo instance. Please form a solo party before continuing."; + end; + } + + switch(select("Leave it alone:^3355FFUse the Device^000000")){ + + case 1: + mes .@n$; + mes "You can feel time being distorted by the device."; + end; + + case 2: + if (BaseLevel < 90) { + mes .@n$; + mes "You must be base level 90 to continue."; + end; + } + switch(instance_enter(.@md_name$)) { + case 3: + mes "An unknown error has occurred."; + end; + case 2: + mes "The Geffen Magic Tournament instance has not been created. Please go to talk to Emmitt White first."; + end; + case 1: + mes "Only registered members can enter the "+.@md_name$+" instance."; + end; + case 0: + mapannounce "dali02",strcharinfo(0)+" of the party, "+.@p_name$+" is entering the "+.@md_name$+".",bc_map,"0x00ff99"; + GeffenTournament = gettimetick(2) + 82800; + if(.@ins_geffen_time != -1) erasequest 9316; + setquest 9316; + end; + } + end; + } + } else if ( GeffenTournament > gettimetick(2) ) { + mes .@n$; + mes "Looks like the window of opportunity is not open right now."; + end; + } + end; + +} + + + +dali,98,141,3 script Emmitt White 4_M_KHKYEL,{ + .@n$ = "[ Time Travel Researcher ]"; + + if (BaseLevel < 90) { + mes .@n$; + mes "You must be base level 90 to continue."; + end; + } + + if (checkquest(9309) != -1) { + mes .@n$, + "I see that you've returned from the Tournament.", + "Did you find out anything interesting?"; + next; + mes .@n$, + "You give details of your experience to the researcher."; + next; + mes .@n$, + "You didn't really give me any information that I didn't already know..."; + next; + mes .@n$, + "But I still want more~!", + "Can you help me tomorrow?", + "I will be waiting for you."; + next; + + for (.@i = 9284; .@i <= 9314; .@i++) { + if (checkquest(.@i) != -1) { + erasequest .@i; + } + } + + changequest 9315,9316; + } + + if (checkquest(9308) != -1) { + mes .@n$, + "I can't believe you won the Tournament!"; + next; + mes .@n$, + "But I still want more~!", + "Can you help me tomorrow?", + "I will be waiting for you."; + next; + + for (.@i = 9284; .@i <= 9314; .@i++) { + if (checkquest(.@i) != -1) { + erasequest .@i; + } + } + + changequest 9315,9316; + } + + getpartymember(getcharid(1),0); + set .@GPPartySize,$@partymembercount; + + if( !getcharid(1) || getcharid(3) != getpartyleader( getcharid(1),1 ) || .@GPPartySize > 1) { + mes .@n$; + mes "This is a solo instance. Please form a solo party before continuing."; + end; + } + + + // 23 Hour Cooldown + + if ( GeffenTournament < gettimetick(2) ) { + .@party_id = getcharid(1); + .@p_name$ = getpartyname(.@party_id); + .@md_name$ = "Geffen Magic Tournament"; + + if (!.@party_id) { + mes .@n$; + mes "You need to be a party leader in order to continue."; + end; + } + + if (getcharid(0) == getpartyleader(.@party_id,2)){ + mes .@n$; + mes "Did you know? A long time ago there was a Magic Tournament in Geffen."; + next; + mes .@n$; + mes "I've done so much research on the Tournament but haven't gotten too much information from research alone."; + next; + mes .@n$; + mes "When I found out that this time gap can help with my research I couldn't resist the opportunity to continue the research."; + next; + mes .@n$; + mes "And now I've found an adventurer, in you, who can help me go back to the time that the Tournament took place."; + next; + mes .@n$; + mes "Please use the dimensional device and participate in the Magic Tournament for me."; + next; + mes .@n$; + mes "Will you go and tell me about it?"; + next; + mes .@n$; + mes "The portal is unstable so you have to go solo."; + mes "Are you ready to enter?"; + next; + switch(select("No:Yes")){ + case 1: + mes .@n$; + mes "Come back if you change your mind~!"; + end; + case 2: + for (.@i = 9284; .@i <= 9314; .@i++) { + if (checkquest(.@i) != -1) { + erasequest .@i; + } + } + + if (instance_create(.@md_name$) < 0) { + mes "Party Name: "+.@p_name$; + mes "Party Leader: "+strcharinfo(0); + mes "^0000ff"+.@md_name$+" ^000000- Reservation Failed!"; + end; + } + mes .@n$; + mes "The Dimensional Device has been activated."; + end; + } + end; + } else { + mes .@n$; + mes "You need to be a party leader in order to continue."; + end; + } + + } else { + mes .@n$; + mes "Just a second."; + mes "You need to wait for the timer to expire before going back."; + mes " "; + + .@time = (GeffenTournament - gettimetick(2)); + .@sec = .@time % 60; + .@min = (.@time / 60) % 60; + .@hrs = (.@time / 3600) % 24; + + mes "Cooldown: ^3355FF"+(.@hrs < 10 ? "0" : "")+.@hrs+":"+(.@min < 10 ? "0" : "")+.@min+":"+(.@sec < 10 ? "0" : "")+.@sec+"^000000"; + end; + + + + } +} + +1@gef,120,34,4 script #gefmagic_warp01 45,2,2,{ + callfunc("InventoryCheck"); + end; + +OnTouch: + movenpc instance_npcname("Old Bachelor#z1_0et"),1,1; + movenpc instance_npcname("Dio Anemos#z1_0et"),1,1; + movenpc instance_npcname("Ju#z1_0et"),1,1; + movenpc instance_npcname("Ordre#z1_0et"),1,1; + movenpc instance_npcname("Blut Hase#z1_0et"),1,1; + movenpc instance_npcname("Kuro Akuma#z1_0et"),1,1; + movenpc instance_npcname("Odoric#z1_0et"),1,1; + movenpc instance_npcname("Fay Kanavian#z1_0et"),1,1; + movenpc instance_npcname("Licheniyes#z1_0et"),1,1; + movenpc instance_npcname("Ifodes#z1_0et"),1,1; + movenpc instance_npcname("Faymont#z1_0et"),1,1; + movenpc instance_npcname("Arhi#z1_0et"),1,1; + movenpc instance_npcname("Dwigh#z1_0et"),1,1; + + warp instance_mapname("1@ge_st"),104,50; + donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable"; + end; + +OnInstanceInit: +OnDisable: + disablenpc instance_npcname(strnpcinfo(0)); + end; +OnEnable: + enablenpc instance_npcname(strnpcinfo(0)); + end; +} + +1@gef,1,1,4 script #gefmagic_warp02 45,2,2,{ + end; + +OnTouch_: + instance_warpall "dali",92,142; + end; + +OnInstanceInit: +OnEnable: + hideoffnpc instance_npcname(strnpcinfo(0)); + end; +} + + +1@gef,1,1,4 script #invisGMTquests 567,2,2,{ + end; + +OnTouch_: + if ('GMTHeroes < 1 ) { + 'GMTHeroes = 1; + for (.@i = 9309; .@i < 9315; .@i++){ + setquest .@i; + } + } + end; + +OnInit: + hideonnpc strnpcinfo(0); + end; + +OnInstanceInit: + hideonnpc instance_npcname(strnpcinfo(0)); + end; + +} + + +1@gef,123,203,4 script Tournament Guide#gfmg 705,{ + cutin "gef_soldier.bmp",2; + .@n$ = "[ Tournament Guide ]"; + mes .@n$,"Welcome to the Magical city of ^8B4513Geffen^000000."; + next; + mes .@n$,"If you want to watch the ^55CC55Magic Tournament^000000 go to the southern fountain of Geffen."; + next; + mes .@n$,"The fireworks are here to celebrate the Geffen Magical Tournament Festival."; + next; + mes .@n$,"Please enjoy the festivities and enjoy your stay here in Geffen~!"; + close2; + cutin "",255; + end; + +OnInstanceInit: +OnEnable: + enablenpc instance_npcname(strnpcinfo(0)); + end; +} + +1@gef,203,116,4 duplicate(Tournament Guide#gfmg) Tournament Guide#gf2 705 +1@gef,36,123,6 duplicate(Tournament Guide#gfmg) Tournament Guide#gf3 705 + +1@gef,122,58,4 script Receptionist#1_0et 4_M_ARUNA_NFM1,{ + + .@n$ = "[ Tournament Receptionist ]"; + + if ( checkquest(9309) != -1 ) { + mes .@n$; + mes "Fenrir won this year's Magic Tournament!"; + next; + mes .@n$; + mes "I'm such a big fan of hers."; + end; + } + + if ( checkquest(9308) != -1 ) { + mes .@n$; + mes "Congratulations on being this year's Magic Tournament winner!"; + end; + } + + if ( 'passtest == 2 ) { + mes .@n$; + mes "Do you wish to try again?"; + mes "If you can kill the Desert Wolf within 60 seconds, you pass the test."; + next; + mes .@n$; + mes "If you fail, you will automatically be eliminated from the list. You can try again as many times as you want."; + mes "Will you take the test again?"; + next; + switch(select("No:Yes")){ + case 1: + mes .@n$; + mes "Come back if you change your mind."; + close; + case 2: + mes .@n$; + mes "There is no registration fee to enter."; + mes "The only requirement is to pass a simple test."; + next; + mes .@n$; + mes "The test is very simple. Defeat a Desert Wolf in 60 seconds or less and you're in."; + next; + mes .@n$; + mes "If you fail you will automatically be eliminated from the list but you can try again as many times as you wish."; + mes "Are you ready?"; + next; + switch(select("No:Yes")){ + case 1: + mes .@n$; + mes "Come back if you change your mind."; + close; + case 2: + mes .@n$; + mes "You can participate in the Magic Tournament after passing the test."; + mes "Then, let us begin!"; + npctalk "Time limit is 60 seconds ! Ready! Set! Go!"; + erasequest 9292; + setquest 9293; + addtimer 60000,instance_npcname("Receptionist#1_0et")+"::OnFail"; + monster instance_mapname("1@gef"),120,62,"--ja--",1106,1,instance_npcname("Receptionist#1_0et")+"::OnTest"; + hideonnpc instance_npcname("Receptionist#1_0et"); + break; + } + end; + } + end; + } + + if ( 'passtest == 1 ) { + + if ('GMT >= 5){ + mes .@n$; + mes "The Magic Tournament is going to start soon."; + mes "Enter the portal to the south and you can join in."; + next; + mes .@n$; + mes "Good luck!"; + end; + } + + mes .@n$; + mes "Congratulations! You passed the test!"; + next; + mes .@n$; + mes "Give me your name so I can write it down."; + mes "You will automatically be registered for the tournament now."; + next; + input .@char$; + if(.@char$ == "") { end; } + mes .@n$; + mes strcharinfo(0)+"?"; + mes "Okay, interesting name."; + mes "Anyway, your registration is complete!"; + 'GMT = 5; + erasequest 9293; + if (checkquest(9294) > -1) + erasequest 9294; + setquest 9294; + donpcevent instance_npcname("#gefmagic_warp01")+"::OnEnable"; + next; + mes .@n$; + mes "Competitors who registered will randomly be selected."; + next; + mes .@n$; + mes "The Magic Tournament is going to start soon."; + mes "Enter the portal to the south and you can join in."; + next; + mes .@n$; + mes "Good Luck~!"; + end; + + } + + if ( checkquest(9293) == -1 ) { + + mes .@n$; + mes "Thank you for visiting the Geffen Magic Tournament."; + mes "What can I do for you?"; + next; + L_Menu: + switch(select("About Geffen Magic Tournament:How do I Register?:Collecting Rewards.:Can I get a Spectator Pass?:End Conversation")){ + case 1: + mes .@n$; + mes "Geffen Magic Tournament is being held once every 3 years."; + next; + mes .@n$; + mes "This festival used to be a more studious event with scholars discussing magical methods."; + mes "Now it's all about fun and a big party."; + next; + mes .@n$; + mes "Now it has become almost exclusively a fighting tournament."; + mes "The most famous Mages from all over the world come for the tournament."; + next; + mes .@n$; + mes "Anything else?"; + next; + goto L_Menu; + case 2: + mes .@n$; + mes "There is no registration fee to enter."; + mes "The only requirement is to pass a simple test."; + next; + mes .@n$; + mes "The test is very simple. Defeat a Desert Wolf in 60 seconds or less and you're in."; + next; + mes .@n$; + mes "If you fail you will automatically be eliminated from the list but you can try again as many times as you wish."; + mes "Do you want to take the test?"; + next; + switch(select("No:Yes")){ + case 1: + mes .@n$; + mes "Come back if you change your mind."; + close; + case 2: + mes .@n$; + mes "You can participate in the Magic Tournament after passing the test."; + mes "Then, let us begin!"; + erasequest 9292; + setquest 9293; + 'GMT = 3; + npctalk "Time limit is 60 seconds ! Ready! Set! Go!"; + addtimer 60000,instance_npcname("Receptionist#1_0et")+"::OnFail"; + monster instance_mapname("1@gef"),120,62,"--ja--",1106,1,instance_npcname("Receptionist#1_0et")+"::OnTest"; + hideonnpc instance_npcname("Receptionist#1_0et"); + break; + } + end; + case 3: + mes .@n$; + mes "The father you go along in the tournament, the more coins you will earn."; + next; + mes .@n$; + mes "Collect the coins and you can exchange them for equipment from the Geffen Coin Operator."; + next; + mes .@n$; + mes "Anything else?"; + next; + goto L_Menu; + case 4: + mes .@n$; + mes "Hmm it seems that the Magic Tournament is so popular this year that there aren't any more spectator seats available."; + next; + mes .@n$; + mes "I am sorry for inconvenience."; + next; + mes .@n$; + mes "Do you need anything else?"; + next; + goto L_Menu; + case 5: + mes .@n$; + mes "Please enjoy the Geffen Magic Tournament."; + close; + } + end; + } + + end; + +OnTest: + deltimer instance_npcname("Receptionist#1_0et")+"::OnFail"; + 'passtest = 1; + hideoffnpc instance_npcname("Receptionist#1_0et"); + npctalk "You passed the test! Shall we finish your registration?", instance_npcname("Receptionist#1_0et"); + end; + +OnFail: + hideoffnpc instance_npcname("Receptionist#1_0et"); + 'passtest = 2; + killmonster instance_mapname("1@gef"),instance_npcname("Receptionist#1_0et")+"::OnTest"; + npctalk "You failed the test. Talk to me if you wish to try again.", instance_npcname("Receptionist#1_0et"); + end; + +} + +1@ge_st,95,62,6 duplicate(#d_c) Tournament Spectator#70 4_M_LGTPOOR +1@ge_st,113,62,4 duplicate(#d_c) Tournament Spectator#71 4_M_LGTGUARD +1@ge_st,99,62,6 duplicate(#d_c) Tournament Spectator#72 4_F_JOB_HUNTER +1@ge_st,93,62,6 duplicate(#d_c) Tournament Spectator#73 1_ETC_01 +1@ge_st,94,62,6 duplicate(#d_c) Tournament Spectator#74 1_F_02 +1@ge_st,96,62,6 duplicate(#d_c) Tournament Spectator#75 1_M_01 +1@ge_st,98,62,6 duplicate(#d_c) Tournament Spectator#76 1_M_02 +1@ge_st,100,62,6 duplicate(#d_c) Tournament Spectator#77 1_M_03 +1@ge_st,102,62,6 duplicate(#d_c) Tournament Spectator#78 1_F_01 +1@ge_st,104,62,6 duplicate(#d_c) Tournament Spectator#79 1_F_03 +1@ge_st,116,62,4 duplicate(#d_c) Tournament Spectator#80 1_F_04 +1@ge_st,118,62,4 duplicate(#d_c) Tournament Spectator#81 1_F_GYPSY +1@ge_st,92,64,6 duplicate(#d_c) Tournament Spectator#82 4_F_TWGRANDMOM +1@ge_st,93,64,6 duplicate(#d_c) Tournament Spectator#83 1_F_MERCHANT_01 +1@ge_st,94,64,6 duplicate(#d_c) Tournament Spectator#84 1_F_MERCHANT_02 +1@ge_st,95,64,6 duplicate(#d_c) Tournament Spectator#85 1_M_JOBGUIDER +1@ge_st,96,64,6 duplicate(#d_c) Tournament Spectator#86 1_M_JOBTESTER +1@ge_st,97,64,6 duplicate(#d_c) Tournament Spectator#87 1_M_KNIGHTMASTER +1@ge_st,98,64,6 duplicate(#d_c) Tournament Spectator#88 1_M_LIBRARYMASTER +1@ge_st,99,64,6 duplicate(#d_c) Tournament Spectator#89 1_F_ORIENT_01 +1@ge_st,100,64,6 duplicate(#d_c) Tournament Spectator#90 1_F_ORIENT_02 +1@ge_st,101,64,6 duplicate(#d_c) Tournament Spectator#91 1_F_ORIENT_03 +1@ge_st,102,64,6 duplicate(#d_c) Tournament Spectator#92 1_F_ORIENT_04 +1@ge_st,103,64,6 duplicate(#d_c) Tournament Spectator#93 1_M_MERCHANT +1@ge_st,104,64,6 duplicate(#d_c) Tournament Spectator#94 1_M_MOC_LORD +1@ge_st,105,64,6 duplicate(#d_c) Tournament Spectator#95 1_M_ORIENT01 +1@ge_st,106,64,6 duplicate(#d_c) Tournament Spectator#96 1_M_PASTOR +1@ge_st,107,64,6 duplicate(#d_c) Tournament Spectator#97 1_F_PRIEST +1@ge_st,108,64,6 duplicate(#d_c) Tournament Spectator#98 1_F_PUBGIRL +1@ge_st,109,64,4 duplicate(#d_c) Tournament Spectator#99 4_M_DST_TOUGH +1@ge_st,110,64,4 duplicate(#d_c) Tournament Spectator#100 1_M_INNKEEPER +1@ge_st,111,64,4 duplicate(#d_c) Tournament Spectator#101 1_M_SIZ +1@ge_st,112,64,4 duplicate(#d_c) Tournament Spectator#102 1_M_PAY_ELDER +1@ge_st,113,64,4 duplicate(#d_c) Tournament Spectator#103 1_M_PRON_KING +1@ge_st,114,64,4 duplicate(#d_c) Tournament Spectator#104 1_M_PUBMASTER +1@ge_st,115,64,4 duplicate(#d_c) Tournament Spectator#105 1_M_SIGN1 +1@ge_st,116,64,4 duplicate(#d_c) Tournament Spectator#106 2_F_MAGICMASTER +1@ge_st,117,64,4 duplicate(#d_c) Tournament Spectator#107 4_F_01 +1@ge_st,118,64,4 duplicate(#d_c) Tournament Spectator#108 4_F_02 +1@ge_st,90,63,6 duplicate(#d_c) Tournament Spectator#109 4_F_TELEPORTER +1@ge_st,91,63,6 duplicate(#d_c) Tournament Spectator#110 4_F_THAIAYO +1@ge_st,89,38,8 duplicate(#d_c) Tournament Spectator#111 4_M_ALCHE_E +1@ge_st,89,39,8 duplicate(#d_c) Tournament Spectator#112 4_M_ARUNA_NFM1 +1@ge_st,89,40,8 duplicate(#d_c) Tournament Spectator#113 4_F_JPN2 +1@ge_st,89,41,8 duplicate(#d_c) Tournament Spectator#114 4_F_JPN +1@ge_st,89,42,8 duplicate(#d_c) Tournament Spectator#115 4_F_JPNCHIBI +1@ge_st,89,43,8 duplicate(#d_c) Tournament Spectator#116 4_F_HUGRANMA +1@ge_st,89,44,8 duplicate(#d_c) Tournament Spectator#117 4_F_JPNOBA2 +1@ge_st,89,45,8 duplicate(#d_c) Tournament Spectator#118 4_F_JPNOBA +1@ge_st,89,51,6 duplicate(#d_c) Tournament Spectator#119 4_F_SCIENCE +1@ge_st,89,52,6 duplicate(#d_c) Tournament Spectator#120 4_F_SHABBY +1@ge_st,89,53,6 duplicate(#d_c) Tournament Spectator#121 4_M_CRU_SOLD +1@ge_st,89,54,6 duplicate(#d_c) Tournament Spectator#122 4_M_DESERT +1@ge_st,89,55,6 duplicate(#d_c) Tournament Spectator#123 4_M_DEWBOY +1@ge_st,89,56,6 duplicate(#d_c) Tournament Spectator#124 4_M_DEWMAN +1@ge_st,89,57,6 duplicate(#d_c) Tournament Spectator#125 4_F_SHADOWCHASER +1@ge_st,89,58,6 duplicate(#d_c) Tournament Spectator#126 4_F_SISTER +1@ge_st,89,59,6 duplicate(#d_c) Tournament Spectator#127 4_F_SOCCER +1@ge_st,89,62,6 duplicate(#d_c) Tournament Spectator#128 4_M_DOCTOR +1@ge_st,88,61,6 duplicate(#d_c) Tournament Spectator#129 4_M_DEWZATICHIEF +1@ge_st,87,37,8 duplicate(#d_c) Tournament Spectator#130 4_M_ALCHE_D +1@ge_st,87,59,6 duplicate(#d_c) Tournament Spectator#131 4_F_SURA +1@ge_st,87,60,6 duplicate(#d_c) Tournament Spectator#132 4_M_DEWOLDMAN +1@ge_st,119,62,4 duplicate(#d_c) Tournament Spectator#133 4_F_JOB_KNIGHT +1@ge_st,119,64,4 duplicate(#d_c) Tournament Spectator#134 4_F_03 +1@ge_st,120,62,4 duplicate(#d_c) Tournament Spectator#135 1_M_BARD +1@ge_st,120,64,4 duplicate(#d_c) Tournament Spectator#136 4_F_04 +1@ge_st,121,64,4 duplicate(#d_c) Tournament Spectator#137 4_F_TRAINEE +1@ge_st,122,64,4 duplicate(#d_c) Tournament Spectator#138 1_M_SIGNART +1@ge_st,123,64,4 duplicate(#d_c) Tournament Spectator#139 1_M_SIGNMCNT +1@ge_st,124,62,4 duplicate(#d_c) Tournament Spectator#140 1_F_LIBRARYGIRL +1@ge_st,124,64,4 duplicate(#d_c) Tournament Spectator#141 1_M_SIGNMONK2 +1@ge_st,125,62,4 duplicate(#d_c) Tournament Spectator#142 1_M_HOF +1@ge_st,125,64,4 duplicate(#d_c) Tournament Spectator#143 4_F_05 +1@ge_st,126,64,4 duplicate(#d_c) Tournament Spectator#144 4_F_06 +1@ge_st,127,63,4 duplicate(#d_c) Tournament Spectator#145 4_F_07 +1@ge_st,128,63,4 duplicate(#d_c) Tournament Spectator#146 4_F_ACROSS +1@ge_st,128,60,4 duplicate(#d_c) Tournament Spectator#147 4_F_ALCHE +1@ge_st,128,59,4 duplicate(#d_c) Tournament Spectator#148 4_M_EDEN_GUARDER +1@ge_st,128,58,4 duplicate(#d_c) Tournament Spectator#149 4_F_ANNIVERSARY +1@ge_st,128,57,4 duplicate(#d_c) Tournament Spectator#150 4_F_BRZ_INDIAN +1@ge_st,128,56,4 duplicate(#d_c) Tournament Spectator#151 1_M_WIZARD +1@ge_st,128,55,4 duplicate(#d_c) Tournament Spectator#152 1_M_YOUNGKNIGHT +1@ge_st,128,54,4 duplicate(#d_c) Tournament Spectator#153 2_M_ALCHE +1@ge_st,128,53,4 duplicate(#d_c) Tournament Spectator#154 4_F_BRZ_INDIAN +1@ge_st,128,52,4 duplicate(#d_c) Tournament Spectator#155 4_F_BRZ_INDOLD +1@ge_st,128,51,4 duplicate(#d_c) Tournament Spectator#156 4_F_BRZ_WOMAN +1@ge_st,128,45,2 duplicate(#d_c) Tournament Spectator#157 2_M_BARD_ORIENT +1@ge_st,128,44,2 duplicate(#d_c) Tournament Spectator#158 2_M_DYEINGER +1@ge_st,129,62,4 duplicate(#d_c) Tournament Spectator#159 1_M_SIGNMONK +1@ge_st,128,43,2 duplicate(#d_c) Tournament Spectator#160 2_M_MOLGENSTEIN +1@ge_st,129,43,2 duplicate(#d_c) Tournament Spectator#161 4_M_CRU_OLD +1@ge_st,129,44,2 duplicate(#d_c) Tournament Spectator#162 4_F_RUSWOMAN2 +1@ge_st,129,45,2 duplicate(#d_c) Tournament Spectator#163 4_F_RUSWOMAN3 +1@ge_st,130,61,4 duplicate(#d_c) Tournament Spectator#164 1_M_SIGNROGUE +1@ge_st,130,60,4 duplicate(#d_c) Tournament Spectator#165 1_M_SMITH +1@ge_st,128,42,2 duplicate(#d_c) Tournament Spectator#166 4_F_CAPEGIRL +1@ge_st,129,42,2 duplicate(#d_c) Tournament Spectator#167 4_M_CRU_KNT +1@ge_st,128,41,2 duplicate(#d_c) Tournament Spectator#168 4_F_CAVE1 +1@ge_st,129,41,2 duplicate(#d_c) Tournament Spectator#169 4_M_CRU_HEAD +1@ge_st,128,40,2 duplicate(#d_c) Tournament Spectator#170 4_F_CHILD +1@ge_st,129,40,2 duplicate(#d_c) Tournament Spectator#171 4_M_CRU_CRUA +1@ge_st,128,39,2 duplicate(#d_c) Tournament Spectator#172 2_M_OLDBLSMITH +1@ge_st,129,39,2 duplicate(#d_c) Tournament Spectator#173 4_F_RUSWOMAN1 +1@ge_st,128,38,2 duplicate(#d_c) Tournament Spectator#174 2_M_PHARMACIST +1@ge_st,129,38,2 duplicate(#d_c) Tournament Spectator#175 4_F_RUSCHILD +1@ge_st,128,37,2 duplicate(#d_c) Tournament Spectator#176 2_M_SAGE_B +1@ge_st,130,37,2 duplicate(#d_c) Tournament Spectator#177 4_F_CHNDOCTOR +1@ge_st,130,36,2 duplicate(#d_c) Tournament Spectator#178 4_F_CHNDRESS1 +1@ge_st,130,35,2 duplicate(#d_c) Tournament Spectator#179 2_M_SAGE_OLD +1@ge_st,108,34,8 duplicate(#d_c) Tournament Spectator#180 4_F_KID3 +1@ge_st,109,34,2 duplicate(#d_c) Tournament Spectator#181 4_F_LGTGIRL +1@ge_st,110,34,2 duplicate(#d_c) Tournament Spectator#182 4_F_LGTGRAND +1@ge_st,111,34,2 duplicate(#d_c) Tournament Spectator#183 4_F_MADAME +1@ge_st,112,34,2 duplicate(#d_c) Tournament Spectator#184 4_M_CHN8GUEK +1@ge_st,113,34,2 duplicate(#d_c) Tournament Spectator#185 4_M_CHNCOOK +1@ge_st,114,34,2 duplicate(#d_c) Tournament Spectator#186 4_M_CHNGENERL +1@ge_st,115,34,2 duplicate(#d_c) Tournament Spectator#187 4_M_CHNMAN +1@ge_st,116,34,2 duplicate(#d_c) Tournament Spectator#188 4_F_MASK +1@ge_st,117,34,2 duplicate(#d_c) Tournament Spectator#189 4_F_MONK +1@ge_st,118,34,2 duplicate(#d_c) Tournament Spectator#190 4_F_NFLOSTGIRL +1@ge_st,119,34,2 duplicate(#d_c) Tournament Spectator#191 4_F_NOVICE +1@ge_st,129,34,2 duplicate(#d_c) Tournament Spectator#192 2_M_SWORDMASTER +1@ge_st,120,34,2 duplicate(#d_c) Tournament Spectator#193 4_M_CHNMONK +1@ge_st,121,34,2 duplicate(#d_c) Tournament Spectator#194 4_M_CHNOLD +1@ge_st,122,34,2 duplicate(#d_c) Tournament Spectator#195 4_M_CHNSOLDIER +1@ge_st,123,34,2 duplicate(#d_c) Tournament Spectator#196 4_M_CRU +1@ge_st,124,34,2 duplicate(#d_c) Tournament Spectator#197 4_F_RACHOLD +1@ge_st,125,34,2 duplicate(#d_c) Tournament Spectator#198 4_F_ROGUE +1@ge_st,128,33,2 duplicate(#d_c) Tournament Spectator#199 4_F_CHNDRESS2 +1@ge_st,127,33,2 duplicate(#d_c) Tournament Spectator#200 4_F_CHNDRESS3 +1@ge_st,119,32,2 duplicate(#d_c) Tournament Spectator#201 4_F_DST_CHILD +1@ge_st,118,32,2 duplicate(#d_c) Tournament Spectator#202 4_LGTSCIENCE +1@ge_st,117,32,2 duplicate(#d_c) Tournament Spectator#203 4_M_01 +1@ge_st,116,32,2 duplicate(#d_c) Tournament Spectator#204 4_F_DST_GRAND +1@ge_st,115,32,2 duplicate(#d_c) Tournament Spectator#205 4_F_EDEN_MASTER +1@ge_st,114,32,2 duplicate(#d_c) Tournament Spectator#206 4_F_EDEN_OFFICER +1@ge_st,113,32,2 duplicate(#d_c) Tournament Spectator#207 4_M_1STPRIN1 +1@ge_st,112,32,2 duplicate(#d_c) Tournament Spectator#208 4_M_DST_CHILD +1@ge_st,111,32,2 duplicate(#d_c) Tournament Spectator#209 4_F_EINOLD +1@ge_st,110,32,2 duplicate(#d_c) Tournament Spectator#210 4_F_YUNYANG +1@ge_st,109,32,2 duplicate(#d_c) Tournament Spectator#211 4_M_2NDPRIN1 +1@ge_st,108,32,8 duplicate(#d_c) Tournament Spectator#212 4_M_03 +1@ge_st,126,32,2 duplicate(#d_c) Tournament Spectator#213 2_M_THIEFMASTER +1@ge_st,125,32,2 duplicate(#d_c) Tournament Spectator#214 4_COOK +1@ge_st,124,32,2 duplicate(#d_c) Tournament Spectator#215 4_F_CHNWOMAN +1@ge_st,123,32,2 duplicate(#d_c) Tournament Spectator#216 4_F_CRU +1@ge_st,122,32,2 duplicate(#d_c) Tournament Spectator#217 4_DST_SOLDIER +1@ge_st,121,32,2 duplicate(#d_c) Tournament Spectator#218 4_KID01 +1@ge_st,120,32,2 duplicate(#d_c) Tournament Spectator#219 4_F_DESERT +1@ge_st,107,32,8 duplicate(#d_c) Tournament Spectator#220 4_F_GODEMOM +1@ge_st,107,34,8 duplicate(#d_c) Tournament Spectator#221 4_F_KID2 +1@ge_st,106,32,8 duplicate(#d_c) Tournament Spectator#222 4_F_GON +1@ge_st,106,34,8 duplicate(#d_c) Tournament Spectator#223 4_F_THAIGIRL +1@ge_st,105,32,8 duplicate(#d_c) Tournament Spectator#224 4_M_3RDPRIN1 +1@ge_st,105,34,8 duplicate(#d_c) Tournament Spectator#225 4_M_CAVE1 +1@ge_st,104,32,8 duplicate(#d_c) Tournament Spectator#226 4_M_DST_MASTER +1@ge_st,104,34,8 duplicate(#d_c) Tournament Spectator#227 4_M_CASMAN1 +1@ge_st,103,32,8 duplicate(#d_c) Tournament Spectator#228 4_M_4THPRIN1 +1@ge_st,103,34,8 duplicate(#d_c) Tournament Spectator#229 4_M_BUDDHIST +1@ge_st,102,32,8 duplicate(#d_c) Tournament Spectator#230 4_M_DSTMAN +1@ge_st,102,34,8 duplicate(#d_c) Tournament Spectator#231 4_M_BRZ_MAN1 +1@ge_st,101,32,8 duplicate(#d_c) Tournament Spectator#232 4_F_GUILLOTINE +1@ge_st,101,34,8 duplicate(#d_c) Tournament Spectator#233 4_F_TWMASKGIRL +1@ge_st,100,32,8 duplicate(#d_c) Tournament Spectator#234 4_F_HUGIRL +1@ge_st,100,34,8 duplicate(#d_c) Tournament Spectator#235 4_F_KHGIRL +1@ge_st,99,32,8 duplicate(#d_c) Tournament Spectator#236 4_F_HUGRANMA +1@ge_st,99,34,8 duplicate(#d_c) Tournament Spectator#237 4_F_KHELLY +1@ge_st,98,32,8 duplicate(#d_c) Tournament Spectator#238 4_F_HUWOMAN +1@ge_st,98,34,8 duplicate(#d_c) Tournament Spectator#239 4_F_KHELLISIA +1@ge_st,97,32,8 duplicate(#d_c) Tournament Spectator#240 4_M_5THPRIN1 +1@ge_st,97,34,8 duplicate(#d_c) Tournament Spectator#241 4_M_BRZ_JACI +1@ge_st,96,32,8 duplicate(#d_c) Tournament Spectator#242 4_M_06 +1@ge_st,96,34,8 duplicate(#d_c) Tournament Spectator#243 4_M_BIBI +1@ge_st,95,32,8 duplicate(#d_c) Tournament Spectator#244 4_M_6THPRIN1 +1@ge_st,95,34,8 duplicate(#d_c) Tournament Spectator#245 4_M_BARD +1@ge_st,94,32,8 duplicate(#d_c) Tournament Spectator#246 4_M_ACROSS +1@ge_st,94,34,8 duplicate(#d_c) Tournament Spectator#247 4_M_BARBER +1@ge_st,93,32,8 duplicate(#d_c) Tournament Spectator#248 4_M_ALCHE_A +1@ge_st,93,34,8 duplicate(#d_c) Tournament Spectator#249 4_M_ATEIL +1@ge_st,92,32,8 duplicate(#d_c) Tournament Spectator#250 4_F_JOB_ASSASSIN +1@ge_st,91,33,8 duplicate(#d_c) Tournament Spectator#251 4_F_JOB_BLACKSMITH +1@ge_st,90,33,8 duplicate(#d_c) Tournament Spectator#252 4_M_JP_RUN +1@ge_st,89,34,8 duplicate(#d_c) Tournament Spectator#253 4_M_EINMAN +1@ge_st,88,35,8 duplicate(#d_c) Tournament Spectator#254 4_M_ALCHE_B +1@ge_st,88,36,8 duplicate(#d_c) Tournament Spectator#255 4_M_ALCHE_C +1@gef,124,72,4 duplicate(#d_c) Tournament Spectator#256 1_M_SIGNMCNT +1@gef,106,56,6 duplicate(#d_c) Tournament Spectator#257 1_F_ORIENT_04 +1@ge_st,107,62,6 duplicate(#d_c) Veins Spectator#a1 4_F_ALCHE_A +1@ge_st,110,62,4 duplicate(#d_c) Comodo Spectator#a1 4_F_EINWOMAN +1@ge_st,115,62,4 duplicate(#d_c) Prontera Spectator#a1 4_M_DST_GRAND +1@ge_st,117,62,4 duplicate(#d_c) Payon Spectator#a1 1_F_SIGNZISK +1@ge_st,121,62,4 duplicate(#d_c) Alberta Spectator#a1 4_M_05 +1@ge_st,97,62,6 duplicate(#d_c) Prontera Spectator#a2 4_M_2NDPRIN1 +1@ge_st,101,62,6 duplicate(#d_c) Payon Spectator#a2 4_M_ROGUE +1@ge_st,105,62,6 duplicate(#d_c) Alberta Spectator#a2 4_M_ORIENT02 +1@ge_st,103,62,6 duplicate(#d_c) Magic Academy Student#1 4_M_02 +1@ge_st,109,62,4 duplicate(#d_c) Magic Academy Student#2 4_M_CHILD1 +1@ge_st,114,62,4 duplicate(#d_c) Magic Academy Student#3 4_M_04 +1@ge_st,122,62,4 duplicate(#d_c) Magic Academy Student#4 1_F_MARIA +1@ge_st,123,62,4 duplicate(#d_c) Magic Academy Student#5 1_M_SIGNALCHE +1@gef,128,93,4 duplicate(#d_c) Geffen Villager#c1 4_F_CAVE1 +1@gef,103,100,6 duplicate(#d_c) Geffen Villager#c2 1_M_JOBGUIDER + +// =================================================================================== +// Tournament Start - CHINESE TOURNAMENT ARENA START +// =================================================================================== +1@ge_st,102,49,4 script Geffen Academy Master#S 567,3,3,{ +end; + +OnTouch_: + ignoretimeout 1; + .@n$ = "[ Geffen Academy Master ]"; + if ('GMT_1QUE < 11) { + cutin "acamaster_a.bmp",2; + mes .@n$, + "Ladies and gentlemen!", + "Welcome to the Geffen Magic", + "Tournament!"; + next; + mes .@n$, + "Today a champion will be crowned."; + next; + mes .@n$, + "There are 2 divisions this year", + "divided into Group A and B.", + "The winner of each group will face", + "each other for the championship", + "match."; + next; + mes .@n$, + "I am the MC of Group A.", + "Geffen Academy Master~!", + "Archmage Zanzibar Hellmod"; + next; + mes .@n$, + "I am honored to be this year's MC.", + "Now, it's time for the matches to begin."; + next; + mes .@n$, + "Ahem..."; + close2; + cutin "acamaster_a.bmp", 255; + hideonnpc "Geffen Academy Master"; + 'GMT_1QUE = 11; + changequest 9294,9295; + donpcevent instance_npcname("Geffen Academy Master")+"::OnStart"; + 'charname$ = strcharinfo(0); + 'sex = Sex; + end; + } + end; + +OnInit: + hideonnpc strnpcinfo(0); + end; +OnInstanceInit: + hideonnpc instance_npcname(strnpcinfo(0)); + end; + +} + +1@ge_st,107,57,4 script Tournament Guide#gefMT 4_M_HUMAN_02,{ + .@n$ = "[ Tournament Guide ]"; + ignoretimeout 1; + if (checkquest(9308) != -1) { + switch(select("Leave the Arena and receive your reward:End Conversation")) { + case 1: + mes .@n$; + mes "You won the competition!","Congratulations!"; + next; + mes .@n$; + mes "By the way, the Academy Master has","something to tell you!"; + next; + cutin "acamaster_a.bmp",2; + .@n2$ = "[ Geffen Academy Master ]"; + mes .@n2$, + "Congratulations!", + "This has been the best pool of", + "competitors in the history of this", + "competition."; + next; + mes .@n2$, + "I present to you your earned ^55CC55Geffen", + "Magic Tournament Coins.^000000"; + next; + mes .@n2$, + "Bring the coins to the ^55CC55Geffen Coin", + "Operator^000000 to exchange for special", + "equipment."; + next; + mes .@n2$, + "Your name will be remembered in the", + "history books of Geffen."; + next; + mes .@n2$, + "Congratulations again.", + "I hope you enjoy the rest of the", + "Geffen Festivities."; + close2; + cutin "",255; + getitem 6671,20; + warp instance_mapname("1@gef"), 120,35; + end; + case 2: + end; + } + } + mes .@n$; + if ('GMT_1QUE <22) { + mes "Congratulations on winning the "+callfunc("F_GetNumSuffix",('GMT_1QUE-10))+" round!"; + .@menu$ = "Begin the "+callfunc("F_GetNumSuffix",('GMT_1QUE-9))+" match."; + } + else { + mes "Congratulations! You've defeated every other opponent in Group A! Good luck on the final!"; + .@menu$ = "Begin the final match."; + } + next; + + switch(select(.@menu$,"End Conversation")) { + case 1: + mes .@n$; + mes "Winners of each round will receive ^55CC55Geffen Magic Tournament Coins^000000 as a reward."; + next; + mes .@n$; + mes "Bring the coins to the ^55CC55Geffen Coin Operator^000000 to exchange them for special equipment."; + next; + mes .@n$; + mes "The "+callfunc("F_GetNumSuffix",('GMT_1QUE-9))+" match of Group A is about to begin!"; + close2; + getitem 6671, 'reward['GMT_1QUE-11]; + hideonnpc instance_npcname("Tournament Healer#1"); + + switch ('GMT_1QUE) { + case 11: + enablenpc instance_npcname("Dio Anemos#1"); + break; + case 12: + if ('GMTQuest == 1) + enablenpc instance_npcname("Geffen Gangster#n1"); + else if ('GMTQuest == 2) + enablenpc instance_npcname("Geffen Bully#n1"); + else + enablenpc instance_npcname("Geffen Shoplifter#n1"); + break; + case 13: + enablenpc instance_npcname("Faymont#1"); + break; + case 14: + enablenpc instance_npcname("Ordre#1"); + break; + case 15: + enablenpc instance_npcname("Blut Hase#1"); + break; + case 16: + enablenpc instance_npcname("Kuro Akuma#1"); + break; + case 17: + enablenpc instance_npcname("Ifodes#1"); + break; + case 18: + enablenpc instance_npcname("Licheniyes#1"); + break; + case 19: + enablenpc instance_npcname("Odoric#1"); + break; + case 20: + enablenpc instance_npcname("Ju#1"); + break; + case 21: + 'half = rand(0,1); + if ('half) { + enablenpc instance_npcname("Dwigh#1"); + } else { + enablenpc instance_npcname("Fay Kanavian#1"); + } + break; + case 22: + enablenpc instance_npcname("Fenrir#f"); + break; + } + warp instance_mapname("1@ge_st"), 104,50; + 'GMT_1QUE++; + donpcevent instance_npcname("Geffen Academy Master")+"::OnStart"; + hideoffnpc instance_npcname("Geffen Academy Master"); + hideonnpc instance_npcname("Tournament Guide#gefMT"); + end; + case 2: + mes .@n$; // KURAMA END CONVERSATION TEXT + mes "Need more time to prepare I see."; + mes "Not a problem, talk to me when you're ready."; + close; + } + +OnInstanceInit: + setarray 'reward,1,2,3,4,5,6,7,8,9,10,15,20,20; + end; +} + +1@ge_st,109,57,4 script Geffen Academy Master 10006,{ +end; +OnStart: + if ( 'GMT_1QUE != 11 ){ + attachrid('gmt_account_id); + changequest 9283 + 'GMT_1QUE, 9284 +'GMT_1QUE; + detachrid; + } + + switch ('GMT_1QUE) { + case 11: + donpcevent instance_npcname("#Talkcontrol")+"::OnStart"; + npctalk "Ladies and Gentlemen!"; + sleep 3000; + npctalk "I do my best to be as loud as I can!"; + donpcevent instance_npcname("#FireworksControl")+"::OnStart"; + enablenpc instance_npcname("Arhi#1"); + sleep 3000; + npctalk "The Geffen Magic Tournament will now commence!"; + sleep 1000; + .@spec = rand(70,257); + showscript "Tournament Spectator: Wow~!!! Looks fun~~!! Yahoo~!",getnpcid(0,instance_npcname("Tournament Spectator#"+.@spec)); + sleep 1000; + .@spec = rand(70,257); + showscript "Tournament Spectator: This is getting exciting~!",getnpcid(0,instance_npcname("Tournament Spectator#"+.@spec)); + sleep 1000; + .@spec = rand(70,257); + showscript "Tournament Spectator: When is the game going to start~!",getnpcid(0,instance_npcname("Tournament Spectator#"+.@spec)); + sleep 500; + donpcevent instance_npcname("Arhi#1")+"::OnActivate"; + sleep 500; + npctalk "We are starting the 1st match for Group A";; + sleep 2000; + npctalk "On this corner, "+('sex?"he":"she")+" looks weak enough to lose in the 1st match!"; + sleep 3000; + npctalk "Give a big welcome to the unknown competitor! "+'charname$+"~!"; + sleep 2000; + npctalk "And on the other corner, Arhi the Novice! Give it your best shot!"; + end; + case 12: + donpcevent instance_npcname("#Talkcontrol")+"::OnStart"; + donpcevent instance_npcname("#FireworksControl")+"::OnStart"; + npctalk "The 2nd match of Group A is about to begin!"; + sleep 3000; + npctalk "On this corner, the competitor who exceeded our expectations by getting past the first round!"; + sleep 3000; + npctalk "The extremely weak looking competitor, "+'charname$+"!"; + sleep 3000; + donpcevent instance_npcname("Dio Anemos#1")+"::OnActivate"; + sleep 500; + npctalk "And "+('sex ? "his" : "her")+" opponent..."; + sleep 3000; + npctalk "Despite his skipping classes at the Magic Academy..."; + sleep 3000; + npctalk "A crowd favorite! A big round of applause to the Magician Apprentice, Dio Anemos!"; + end; + case 13: + donpcevent instance_npcname("#Talkcontrol")+"::OnStart"; + donpcevent instance_npcname("#FireworksControl")+"::OnStart"; + npctalk "The 3rd match of Group A is about to begin!"; + sleep 2000; + npctalk "Welcome back our unlikely competitor, "+'charname$+"!"; + sleep 3000; + npctalk "And "+('sex ? "his" : "her")+" opponent..."; + sleep 2000; + if ('GMTQuest == 1) { + donpcevent instance_npcname("Geffen Gangster#n1")+"::OnActivate"; + sleep 500; + npctalk "Whose looks give off a creepy air about him..."; + sleep 3000; + npctalk "A member of the Curvy Woman Loving club~!! Geffen Gangster!"; + } else if ('GMTQuest == 2) { + donpcevent instance_npcname("Geffen Bully#n1")+"::OnActivate"; + sleep 500; + npctalk "With a face only a mother can love!"; + sleep 3000; + npctalk "The ruthless Geffen Bully!"; + } else { + donpcevent instance_npcname("Geffen Shoplifter#n1")+"::OnActivate"; + sleep 500; + npctalk "With a mischievous grin on her face!"; + sleep 3000; + npctalk "The Geffen Thief Guild's Guildmaster! Geffen Shoplifter!"; + } + end; + case 14: + donpcevent instance_npcname("#Talkcontrol")+"::OnStart"; + donpcevent instance_npcname("#FireworksControl")+"::OnStart"; + npctalk "The surprise of this year's Tournament~!"; + sleep 3000; + npctalk "The unrivaled warrior! "+'charname$+"!"; + sleep 3000; + donpcevent instance_npcname("Faymont#1")+"::OnActivate"; + npctalk "And "+('sex ? "his" : "her")+" opponent~!!!"; + sleep 3000; + npctalk "Entering the ring with pomp and circumstance."; + sleep 3000; + npctalk "Prontera's pride and style, Faymont!"; + npctalk "Oh~ A player from Prontera ah!", instance_npcname("Prontera Spectator#a1"); + sleep 2000; + npctalk "Do not give Prontera a bad name!!", instance_npcname("Prontera Spectator#a2"); + end; + case 15: + donpcevent instance_npcname("#Talkcontrol")+"::OnStart"; + donpcevent instance_npcname("#FireworksControl")+"::OnStart"; + npctalk "This isn't just a fluke ladies and gents!"; + sleep 3000; + npctalk "The remarkable rookie! "+'charname$+"!"; + sleep 3000; + npctalk "And "+('sex ? "his" : "her")+" opponent~!!!"; + sleep 500; + donpcevent instance_npcname("Ordre#1")+"::OnActivate"; + sleep 3000; + npctalk "One who promises to fight with honor!"; + sleep 3000; + npctalk "The self-proclaimed master of battle, Ordre!"; + end; + case 16: + donpcevent instance_npcname("#Talkcontrol")+"::OnStart"; + donpcevent instance_npcname("#FireworksControl")+"::OnStart"; + npctalk "Suddenly, the incredibly powerful!"; + sleep 3000; + npctalk "Super rookie of this year's tournament~! "+'charname$+"!"; + sleep 3000; + npctalk "And "+('sex ? "his" : "her")+" opponent~!!!"; + sleep 500; + donpcevent instance_npcname("Blut Hase#1")+"::OnActivate"; + sleep 3000; + npctalk "Cute on the outside, but cruely destroys enemies!"; + sleep 3000; + npctalk "Bloody Rabbit Ears~!! Blut Hase!"; + end; + case 17: + donpcevent instance_npcname("#Talkcontrol")+"::OnStart"; + donpcevent instance_npcname("#FireworksControl")+"::OnStart"; + npctalk "Onwards to the 7th Round!"; + sleep 3000; + npctalk "Welcome back "+'charname$+"!"; + sleep 3000; + npctalk "And "+('sex ? "his" : "her")+" opponent~!!!"; + sleep 2000; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + npctalk "A competitor more evil than any we've seen before!"; + sleep 500; + donpcevent instance_npcname("Kuro Akuma#1")+"::OnActivate"; + sleep 3000; + npctalk "The Devil's Tooth, Kuro Akuma!"; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + end; + case 18: + donpcevent instance_npcname("#Talkcontrol")+"::OnStart"; + donpcevent instance_npcname("#FireworksControl")+"::OnStart"; + npctalk "Starting up Round 8 for Group A!"; + sleep 3000; + npctalk "The darling of this year's tournament!"; + sleep 3000; + npctalk "Rune-Midgard newest star, "+'charname$+"!"; + sleep 2000; + npctalk "And "+('sex ? "his" : "her")+" opponent~!!!"; + sleep 2000; + npctalk "They look very strong!", instance_npcname("Payon Spectator#a1"); + sleep 250; + donpcevent instance_npcname("Ifodes#1")+"::OnActivate"; + sleep 250; + npctalk "Looks good and strong ah!", instance_npcname("Veins Spectator#a1"); + sleep 1000; + npctalk "Slow as a turtle, fast as a hare!"; + sleep 3000; + npctalk "The maniac of Rune Midgard! Ifodes!"; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + end; + case 19: + donpcevent instance_npcname("#Talkcontrol")+"::OnStart"; + donpcevent instance_npcname("#FireworksControl")+"::OnStart"; + npctalk "We have now entered the 9th Round of this competition!"; + sleep 3000; + npctalk "Nobody can stop "+('sex ? "him" : "her")+"!"; + sleep 3000; + npctalk ""+('sex ? "His" : "Her")+" strength has been recognized by the people! "+'charname$; + sleep 2000; + npctalk "And "+('sex ? "his" : "her")+" opponent~!!!"; + sleep 500; + donpcevent instance_npcname("Licheniyes#1")+"::OnActivate"; + sleep 500; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + sleep 1000; + npctalk "She might look like a nice lady, but you better watch out!"; + sleep 3000; + npctalk "She'll attack you with the swiftness of a snake!"; + sleep 3000; + npctalk "The Lady of Death! Licheniyes!"; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + end; + case 20: + donpcevent instance_npcname("#Talkcontrol")+"::OnStart"; + donpcevent instance_npcname("#FireworksControl")+"::OnStart"; + npctalk "Let us begin the 10th Round of Group A!"; + sleep 3000; + npctalk "In this corner, back to entertain us again!"; + sleep 3000; + npctalk "None other than the incredible "+'charname$+"!"; + sleep 1000; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + sleep 1000; + npctalk "And "+('sex ? "his" : "her")+" opponent~!!!"; + sleep 1000; + npctalk "Seductress of Rune Midgard..."; + sleep 500; + donpcevent instance_npcname("Odoric#1")+"::OnActivate"; + sleep 500; + npctalk "You can't look away from her curves!"; + sleep 3000; + npctalk "The Songstress of Death! Odoric!"; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + end; + case 21: + donpcevent instance_npcname("#Talkcontrol")+"::OnStart"; + donpcevent instance_npcname("#FireworksControl")+"::OnStart"; + npctalk "We're getting closer to the end, next up is Quarter-Finals!"; + sleep 3000; + npctalk "The winning never ends with "+'charname$+"!"; + sleep 2000; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + sleep 1000; + npctalk "And "+('sex ? "his" : "her")+" opponent~!!!"; + sleep 500; + donpcevent instance_npcname("Ju#1")+"::OnActivate"; + sleep 250; + npctalk "I can smell blood...",instance_npcname("Loki#a2"); + sleep 1000; + npctalk "Oh... A fierce competitor, is not it?",instance_npcname("Iris#a2"); + sleep 500; + npctalk "Hidden behind a shroud of mystery..."; + sleep 3000; + npctalk "Master of power and speed! Ju!"; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + end; + case 22: + donpcevent instance_npcname("#Talkcontrol")+"::OnStart"; + donpcevent instance_npcname("#FireworksControl")+"::OnStart"; + npctalk "We are now at the Semi-Finals of this competition, this match will decide the winner for Group A!"; + sleep 3000; + npctalk "Winning against all odds, Group A's Dark Horse, "+'charname$+"!"; + sleep 3000; + npctalk "And "+('sex ? "his" : "her")+" opponent~!!!"; + if ('half) { + sleep 500; + donpcevent instance_npcname("Dwigh#1")+"::OnActivate"; + sleep 1500; + npctalk "Chief Professor of the Mage Academy, loved by her many disciples!"; + sleep 1000; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + sleep 2000; + npctalk "Commander of battle and wits! Dwigh!"; + } else { + sleep 2000; + npctalk "An Alchemist from Aldebaran, the city of science!"; + sleep 500; + donpcevent instance_npcname("Fay Kanavian#1")+"::OnActivate"; + sleep 500; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + sleep 2000; + npctalk "Fay Kanavian and her homunculus, Alphonse!"; + } + end; + case 23: + donpcevent instance_npcname("#Talkcontrol")+"::OnStart"; + donpcevent instance_npcname("#FireworksControl")+"::OnStart"; + npctalk "A previously anonymous fighter"; + sleep 3000; + npctalk "Despite this, unmatched in Group A!"; + sleep 2000; + npctalk "The most talked about competitor this year!"; + sleep 3000; + npctalk "The unrivaled! "+'charname$+"!"; + sleep 3000; + npctalk "Aha, this match looks like it will be interesting.",instance_npcname("Loki#a2"); + sleep 3000; + npctalk "And the champion of Group B~!!!"; + sleep 1500; + donpcevent instance_npcname("Fenrir#f")+"::OnActivate"; + sleep 1500; + npctalk "A Warlock with incredible powers!"; + sleep 3000; + npctalk "A competitor who swept through Group B like a hurricane!"; + sleep 1000; + npctalk "Oh! This match is going to be exciting!",instance_npcname("Chaos#a2"); + sleep 2000; + npctalk "Is there any Wizard stronger in all of Rune-Midgard?!"; + sleep 3000; + npctalk "The Blue Wizard! Fenris Fenrir~!!"; + end; + } + +OnTalk1: + showscript "Geffen Academy Master : Let's get it on!",getnpcid(0,instance_npcname(strnpcinfo(0))); + end; + +OnTalk2: + if ('GMT_1QUE == 22) { + npctalk "The final match of Group A is finished~! Congratulations "+'charname$+"!"; + } + else { + npctalk "The "+callfunc("F_GetNumSuffix",('GMT_1QUE-10))+" match of Group A is finished~! Congratulations "+'charname$+"!"; + sleep 6000; + npctalk "You may take some time to heal your wounds."; + sleep 6000; + npctalk "Please speak with the Tournament Guide when you are ready for the next round."; + sleep 3000; + } + switch ('GMT_1QUE) { + case 11: + case 12: + case 14: + case 15: + case 17: + case 18: + case 20: + case 21: + break; + case 13: + npctalk "Fenris Fenrir has 3 consecutive victories in Group B~!"; + sleep 3000; + break; + case 16: + npctalk "Okay~! There is news from Group B!"; + sleep 3000; + npctalk "While all of the other competitors are doing their best,"; + sleep 3000; + npctalk "Fenrir is taking the tournament by storm, and has won 5 consecutive matches!"; + sleep 1000; + break; + case 19: + npctalk "This is getting exciting! More news from Group B!"; + sleep 3000; + npctalk "Fenris Fenrir is continuing her reign of dominance~! Those in Group A better beware!"; + sleep 2000; + break; + case 22: + npctalk "Group B has completed their 12th match as well~!"; + sleep 3000; + npctalk "Have you heard of Tetra Vortex? There is a competitor using this mysterious spell!"; + sleep 3000; + npctalk "Her name is none other than Fenris Fenrir!"; + sleep 3000; + npctalk "The final match of this tournament is bound to be challenging!"; + sleep 1000; + break; + } + hideoffnpc instance_npcname("Tournament Guide#gefMT"); + hideoffnpc instance_npcname("Geffen Academy Master"); + hideoffnpc instance_npcname("Tournament Healer#1"); + end; + +OnTalk3: + npctalk "The Final Round has started! Let's get it on!"; + end; +OnTalk4: + npctalk "The Final Match of this year's Geffen Magic Tournament is finished~!"; + sleep 3000; + npctalk "Everyone! Thank you for supporting the Geffen Magic Tournament~!!"; + sleep 3000; + npctalk "This year's Geffen Magic Tournament Champion is "+'charname$+"~!!"; + donpcevent instance_npcname("#FireworksControl")+"::OnWin"; + end; + +OnInstanceInit: + hideonnpc instance_npcname("Tournament Guide#gefMT"); + disablenpc instance_npcname("Arhi#1"); + disablenpc instance_npcname("Dio Anemos#1"); + disablenpc instance_npcname("Geffen Gangster#n1"); + disablenpc instance_npcname("Geffen Bully#n1"); + disablenpc instance_npcname("Geffen Shoplifter#n1"); + disablenpc instance_npcname("Faymont#1"); + disablenpc instance_npcname("Ordre#1"); + disablenpc instance_npcname("Blut Hase#1"); + disablenpc instance_npcname("Kuro Akuma#1"); + disablenpc instance_npcname("Ifodes#1"); + disablenpc instance_npcname("Licheniyes#1"); + disablenpc instance_npcname("Odoric#1"); + disablenpc instance_npcname("Ju#1"); + disablenpc instance_npcname("Dwigh#1"); + disablenpc instance_npcname("Fay Kanavian#1"); + disablenpc instance_npcname("Fenrir#f"); + end; + +OnMobDead: + end; + +} + +1@ge_st,1,1,1 script #GMTcontroller -1,{ + end; +OnStart: + .@map$ = instance_mapname("1@ge_st"); + .@label$ = instance_npcname("#GMTcontroller")+"::OnMobDead"; + 'timeout = 180; + if ('GMT_1QUE == 23) 'timeout = 300; + mapannounce .@map$, ": Time limit is " + ('timeout / 60) + " minutes.",bc_blue; sleep 2000; + mapannounce .@map$, ": Ready... Set...",bc_blue; sleep 2000; + mapannounce .@map$, ": Fight!",bc_blue; + + donpcevent instance_npcname("#FireworksControl")+"::OnTurn"; + initnpctimer; + + switch ('GMT_1QUE) { + case 11: + hideonnpc instance_npcname("Arhi#1"); + 'BossID = monster(.@map$,114,50,"--ja--",2549,1,.@label$); + break; + case 12: + hideonnpc instance_npcname("Dio Anemos#1"); + 'BossID = monster(.@map$,114,50,"--ja--",2550,1,.@label$); + break; + case 13: + if ('GMTQuest == 1) { + hideonnpc instance_npcname("Geffen Gangster#n1"); + 'BossID = monster(.@map$,114,50,"--ja--",2553,1,.@label$); + } else if ('GMTQuest == 2) { + hideonnpc instance_npcname("Geffen Bully#n1"); + 'BossID = monster(.@map$,114,50,"--ja--",2552,1,.@label$); + } else { + hideonnpc instance_npcname("Geffen Shoplifter#n1"); + 'BossID = monster(.@map$,114,50,"--ja--",2551,1,.@label$); + } + break; + case 14: + hideonnpc instance_npcname("Faymont#1"); + 'BossID = monster(.@map$,114,50,"--ja--",2554,1,.@label$); + break; + case 15: + hideonnpc instance_npcname("Ordre#1"); + 'BossID = monster(.@map$,114,50,"--ja--",2555,1,.@label$); + break; + case 16: + hideonnpc instance_npcname("Blut Hase#1"); + 'BossID = monster(.@map$,114,50,"--ja--",2556,1,.@label$); + break; + case 17: + hideonnpc instance_npcname("Kuro Akuma#1"); + 'BossID = monster(.@map$,114,50,"--ja--",2557,1,.@label$); + break; + case 18: + hideonnpc instance_npcname("Ifodes#1"); + 'BossID = monster(.@map$,114,50,"--ja--",2558,1,.@label$); + break; + case 19: + hideonnpc instance_npcname("Licheniyes#1"); + 'BossID = monster(.@map$,114,50,"--ja--",2559,1,.@label$); + break; + case 20: + hideonnpc instance_npcname("Odoric#1"); + 'BossID = monster(.@map$,114,50,"--ja--",2560,1,.@label$); + break; + case 21: + hideonnpc instance_npcname("Ju#1"); + 'BossID = monster(.@map$,114,50,"--ja--",2561,1,.@label$); + break; + case 22: + if ('half) { + hideonnpc instance_npcname("Dwigh#1"); + 'BossID = monster(.@map$,114,50,"--ja--",2562,1,.@label$); + } + else { + hideonnpc instance_npcname("Fay Kanavian#1"); + 'BossID = monster(.@map$,114,50,"--ja--",2563,1,.@label$); + donpcevent instance_npcname("#GMTHomun")+"::OnSummon"; + } + + break; + case 23: + hideonnpc instance_npcname("Fenrir#f"); + 'BossID = monster(.@map$,114,50,"--ja--",2564,1,.@label$); + donpcevent instance_npcname("Geffen Academy Master")+"::OnTalk3"; + end; + } + + donpcevent instance_npcname("Geffen Academy Master")+"::OnTalk1"; + end; +OnTimeout: + end; +OnMobDead: + 'timeout_exit = 1; + + switch ('GMT_1QUE) { + case 11: donpcevent instance_npcname("Arhi#1")+"::OnDefeat"; break; + case 12: donpcevent instance_npcname("Dio Anemos#1")+"::OnDefeat"; break; + case 13: + if ('GMTQuest == 1) { donpcevent instance_npcname("Geffen Gangster#n1")+"::OnDefeat"; } + else if ('GMTQuest == 2) { donpcevent instance_npcname("Geffen Bully#n1")+"::OnDefeat"; } + else { donpcevent instance_npcname("Geffen Shoplifter#n1")+"::OnDefeat"; } + break; + case 14: donpcevent instance_npcname("Faymont#1")+"::OnDefeat"; break; + case 15: donpcevent instance_npcname("Ordre#1")+"::OnDefeat"; break; + case 16: donpcevent instance_npcname("Blut Hase#1")+"::OnDefeat"; break; + case 17: donpcevent instance_npcname("Kuro Akuma#1")+"::OnDefeat"; break; + case 18: donpcevent instance_npcname("Ifodes#1")+"::OnDefeat"; break; + case 19: donpcevent instance_npcname("Licheniyes#1")+"::OnDefeat"; break; + case 20: donpcevent instance_npcname("Odoric#1")+"::OnDefeat"; break; + case 21: donpcevent instance_npcname("Ju#1")+"::OnDefeat"; break; + case 22: + if ('half) { + donpcevent instance_npcname("Dwigh#1")+"::OnDefeat"; + } + else { + donpcevent instance_npcname("Fay Kanavian#1")+"::OnDefeat"; + donpcevent instance_npcname("#GMTHomun")+"::OnEnd"; + } + + break; + case 23: + donpcevent instance_npcname("Fenrir#f")+"::OnDefeat"; + donpcevent instance_npcname("Geffen Academy Master")+"::OnTalk4"; + end; + } + + mapannounce instance_mapname("1@ge_st"), ": "+'charname$+" has won the round!",bc_blue; + donpcevent instance_npcname("Geffen Academy Master")+"::OnTalk2"; + end; +OnTimer1000: + 'timeout--; + + if ('timeout_exit) { + 'timeout_exit = 0; + stopnpctimer; + end; + } + + switch('timeout) { + case 240: mapannounce instance_mapname("1@ge_st"), ": Time remaining is 4 minutes, this match is getting heated!",bc_blue; break; + case 180: mapannounce instance_mapname("1@ge_st"), ": Time remaining is 3 minutes, the match has gotten extremely heated!",bc_blue; break; + case 120: mapannounce instance_mapname("1@ge_st"), ": Time remaining is 2 minutes, we're racing towards the end!",bc_blue; break; + case 90: mapannounce instance_mapname("1@ge_st"), ": Time remaining is 1 minute 30 seconds, the bout is halfway over!",bc_blue; break; + case 60: mapannounce instance_mapname("1@ge_st"), ": Time remaining is 1 minute, the end of the match is nearing!",bc_blue; break; + case 30: mapannounce instance_mapname("1@ge_st"), ": Time remaining is 30 seconds, turn coming to an end!",bc_blue; break; + case 10: mapannounce instance_mapname("1@ge_st"), ": 10 seconds remaining!",bc_blue; break; + case 5: mapannounce instance_mapname("1@ge_st"), ": 5!",bc_blue; break; + case 4: mapannounce instance_mapname("1@ge_st"), ": 4!",bc_blue; break; + case 3: mapannounce instance_mapname("1@ge_st"), ": 3!",bc_blue; break; + case 2: mapannounce instance_mapname("1@ge_st"), ": 2!",bc_blue; break; + case 1: mapannounce instance_mapname("1@ge_st"), ": 1!",bc_blue; break; + case 0: + stopnpctimer; + donpcevent instance_npcname("#GMTcontroller::OnTimeout2"); + end; + } + + initnpctimer; + end; +OnTimeout2: + mapannounce instance_mapname("1@ge_st"), ": Time's up! The judges will decide the victor for this round!",bc_blue; + + setcell instance_mapname("1@ge_st"), 50, 50, 50, 50, cell_walkable, 1; + unitwarp 'BossID, instance_mapname("1@ge_st"), 50, 50; + killmonster instance_mapname("1@ge_st"), instance_npcname("#GMTcontroller")+"::OnTimeout"; + 'BossID = 0; + + if ('HomID) { + killmonster instance_mapname("1@ge_st"),instance_npcname("#GMTHomun")+"::OnHomJR"; + killmonster instance_mapname("1@ge_st"),instance_npcname("#GMTHomun")+"::OnHomDead"; + 'HomID = 0; + } + + sleep 3000; + hideoffnpc instance_npcname("Geffen Academy Master"); +// npctalk "The votes are in... And the winner is...",instance_npcname("Geffen Academy Master"); +// sleep 1500; + npctalk "1st judge's score! "+rand(100)+" - "+rand(100)+"", "Geffen Academy Master"; + sleep 1500; + npctalk "2nd judge's score! "+rand(100)+" - "+rand(100)+"", "Geffen Academy Master"; + sleep 1500; + npctalk "3rd judge's score! "+rand(100)+" - "+rand(100)+"", "Geffen Academy Master"; + sleep 1500; + + switch ('GMT_1QUE) { + case 11: + enablenpc instance_npcname("Arhi#1"); + donpcevent instance_npcname("Arhi#1")+"::OnVictory"; + .@defeat$ = "The Novice, Arhi!"; + break; + case 12: + enablenpc instance_npcname("Dio Anemos#1"); + donpcevent instance_npcname("Dio Anemos#1")+"::OnVictory"; + .@defeat$ = "The Magician Apprentice, Dio Anemos!"; + break; + case 13: + if ('GMTQuest == 1) { + enablenpc instance_npcname("Geffen Gangster#n1"); + donpcevent instance_npcname("Geffen Gangster#n1")+"::OnVictory"; + .@defeat$ = "Geffen Gangster!"; + } else if ('GMTQuest == 2) { + enablenpc instance_npcname("Geffen Bully#n1"); + donpcevent instance_npcname("Geffen Bully#n1")+"::OnVictory"; + .@defeat$ = "Gefen Bully!"; + break; + } else { + enablenpc instance_npcname("Geffen Shoplifter#n1"); + donpcevent instance_npcname("Geffen Shoplifter#n1")+"::OnVictory"; + .@defeat$ = "Geffen Shoplifter!"; + break; + } + break; + case 14: + enablenpc instance_npcname("Faymont#1"); + donpcevent instance_npcname("Faymont#1")+"::OnVictory"; + .@defeat$ = "Prontera's pride and style, Feymont!"; + break; + case 15: + enablenpc instance_npcname("Ordre#1"); + donpcevent instance_npcname("Ordre#1")+"::OnVictory"; + .@defeat$ = "Self proclaimed Master of Battle, Ordre!"; + break; + case 16: + enablenpc instance_npcname("Blut Hase#1"); + donpcevent instance_npcname("Blut Hase#1")+"::OnVictory"; + .@defeat$ = "Bloody Rabbit Ears~!! Blut Hase!"; + break; + case 17: + enablenpc instance_npcname("Kuro Akuma#1"); + donpcevent instance_npcname("Kuro Akuma#1")+"::OnVictory"; + .@defeat$ = "The Devil's Tooth! Kuro Akuma!"; + break; + case 18: + enablenpc instance_npcname("Ifodes#1"); + donpcevent instance_npcname("Ifodes#1")+"::OnVictory"; + .@defeat$ = "The Maniac of Rune Mindgard! Ifodes!"; + break; + case 19: + enablenpc instance_npcname("Licheniyes#1"); + donpcevent instance_npcname("Licheniyes#1")+"::OnVictory"; + .@defeat$ = "The Lady of Death! Licheniyes!"; + break; + case 20: + enablenpc instance_npcname("Odoric#1"); + donpcevent instance_npcname("Odoric#1")+"::OnVictory"; + .@defeat$ = "The Songstress of Death! Odoric!"; + break; + case 21: + enablenpc instance_npcname("Ju#1"); + donpcevent instance_npcname("Ju#1")+"::OnVictory"; + .@defeat$ = "Master of power and speed! Ju!"; + break; + case 22: + if ('half) { + enablenpc instance_npcname("Dwigh#1"); + donpcevent instance_npcname("Dwigh#1")+"::OnVictory"; + .@defeat$ = "Commander of battle and wits! Dwigh!"; + break; + } else { + enablenpc instance_npcname("Fay Kanavian#1"); + donpcevent instance_npcname("Fay Kanavian#1")+"::OnVictory"; + .@defeat$ = "Fay Kanavian and her homunculus Alphonse!"; + + if ('HomID) { + killmonster instance_mapname("1@ge_st"),instance_npcname("#GMTHomun")+"::OnHomJR"; + killmonster instance_mapname("1@ge_st"),instance_npcname("#GMTHomun")+"::OnHomDead"; + 'HomID = 0; + } + break; + } + break; + case 23: + enablenpc instance_npcname("Fenrir#f"); + donpcevent instance_npcname("Fenrir#f")+"::OnVictory"; + .@defeat$ = "The Blue Wizard! Fenris Fenrir~!!"; + break; + } + + npctalk "The winner of the "+callfunc("F_GetNumSuffix",('GMT_1QUE-10))+" match in Group A by judge's decision is...! "+.@defeat$, "Geffen Academy Master"; + sleep 1500; + //donpcevent instance_npcname("#DEATHGMT")+"::OnLoseRound"; + npctalk "Give a warm round of applause to the losing competitor.", "Geffen Academy Master"; + sleep 1500; + npctalk "Defeated competitors please leave the arena!", "Geffen Academy Master"; + sleep 3000; + movenpc instance_npcname("#gefmagic_warp02"),120,213; + movenpc instance_npcname("#invisGMTquests"),120,61; + + donpcevent instance_npcname("Fenrir#e1")+"::OnEnable"; + donpcevent instance_npcname("Chaos#e1")+"::OnEnable"; + donpcevent instance_npcname("Iris#e1")+"::OnEnable"; + donpcevent instance_npcname("Lydia#e1")+"::OnEnable"; + donpcevent instance_npcname("Loki#e1")+"::OnEnable"; + end; + +OnStop: + stopnpctimer; + end; +} + +1@ge_st,1,1,1 script #GMTHomun HIDDEN_NPC,{ +end; + +OnSummon: + initnpctimer; + 'HomID = monster (instance_mapname("1@ge_st"), 114,50,"--ja--",2565,1, instance_npcname("#GMTHomun")+"::OnHomDead"); + end; + +OnTimer10000: + if (!'BossID) { + stopnpctimer; + disablenpc instance_npcname("#GMTHomun"); + end; + } + + initnpctimer; + + if ('HomID != 0) { + getunitdata 'BossID,.@bossdata; + getunitdata 'HomID,.@homdata; + if (distance(.@bossdata[6],.@bossdata[7],.@homdata[6],.@homdata[7]) > 10) { + unittalk 'BossID,"Alphonse, come!"; + sleep 500; + unitwarp 'HomID, instance_mapname("1@ge_st"),.@bossdata[6],.@bossdata[7]; + } + } + else { + if (mobcount(instance_mapname("1@ge_st"),instance_npcname("#GMTHomun")+"::OnHomJR")) { end; } + getunitdata 'BossID,.@bossdata; + unittalk 'BossID, "Alphonse, I'll revive you!"; + areamonster instance_mapname("1@ge_st"),.@bossdata[6]-2,.@bossdata[7]-2,.@bossdata[6]+2,.@bossdata[7]+2,"--ja--",2566,3,instance_npcname("#GMTHomun")+"::OnHomJR"; + } + end; + +OnHomDead: + initnpctimer; + 'HomID = 0; + end; + +OnHomJR: + end; + +OnEnd: + stopnpctimer; + if ('HomID) { + killmonster instance_mapname("1@ge_st"),instance_npcname("#GMTHomun")+"::OnHomJR"; + killmonster instance_mapname("1@ge_st"),instance_npcname("#GMTHomun")+"::OnHomDead"; + } + disablenpc instance_npcname("#GMTHomun"); + end; +} + + +1@ge_st,111,57,4 script Tournament Healer#1 569,{ //83649 (hide) + mes "[ Tournament Healer ]"; + mes "The previous round's winner can receive a heal from me."; + next; + if (select ("Heal", "Cancel") == 2) { + mes "[ Tournament Healer ]"; + mes "Guess you don't need to be healed."; + close; + } + mes "[ Tournament Healer ]"; + mes "Enjoy."; + mes "Good luck on the next round!"; + percentheal 100,100; + specialeffect2 312; + close2; + hideonnpc instance_npcname("Tournament Healer#1"); // 83649 + end; +OnInstanceInit: + hideonnpc instance_npcname("Tournament Healer#1"); + end; +} + +1@ge_st,1,1,1 script #FireworksControl -1,{ +end; +OnStart: + initnpctimer; + for ( .@i = 11; .@i <= 20; .@i++ ) { + specialeffect .effect[rand(3)], AREA, instance_npcname("#fireworks_" +.@i); + } + end; +OnTimer6000: + initnpctimer; + for ( .@i = 0; .@i < 5; .@i++) { + specialeffect .effect[rand(3)], AREA, instance_npcname("#fireworks_" + rand(11,20)); + } + end; + +OnTurn: + stopnpctimer; + end; + +OnWin: + for ( .@i = 1; .@i <= 5; .@i++ ) { + specialeffect 90, AREA, instance_npcname("#fireworks_f" + .@i); + } + sleep 3000; + for ( .@i = 1; .@i <= 5; .@i++ ) { + specialeffect 62, AREA, instance_npcname("#fireworks_f" + .@i); + } + sleep 500; + for ( .@i = 1; .@i <= 5; .@i++ ){ + specialeffect 89, AREA, instance_npcname("#fireworks_f" + .@i); + } + sleep 3000; + for ( .@i = 1; .@i <= 5; .@i++ ) { + specialeffect 237, AREA, instance_npcname("#fireworks_f" + .@i); + } + end; +OnInstanceInit: + setarray .effect, 30, 89, 92; + end; +} + +1@ge_st,102,42,0 script #fireworks_11 139,{ end; } +1@ge_st,100,60,0 duplicate(#fireworks_11) #fireworks_12 139 +1@ge_st,109,60,0 duplicate(#fireworks_11) #fireworks_13 139 +1@ge_st,118,60,0 duplicate(#fireworks_11) #fireworks_14 139 +1@ge_st,126,59,0 duplicate(#fireworks_11) #fireworks_15 139 +1@ge_st,126,37,0 duplicate(#fireworks_11) #fireworks_16 139 +1@ge_st,118,36,0 duplicate(#fireworks_11) #fireworks_17 139 +1@ge_st,109,36,0 duplicate(#fireworks_11) #fireworks_18 139 +1@ge_st,100,36,0 duplicate(#fireworks_11) #fireworks_19 139 +1@ge_st,92,37,0 duplicate(#fireworks_11) #fireworks_20 139 +1@ge_st,112,52,0 duplicate(#fireworks_11) #fireworks_f1 139 +1@ge_st,112,42,0 duplicate(#fireworks_11) #fireworks_f2 139 +1@ge_st,102,52,0 duplicate(#fireworks_11) #fireworks_f3 139 +1@ge_st,102,52,0 duplicate(#fireworks_11) #fireworks_f4 139 +1@ge_st,102,42,0 duplicate(#fireworks_11) #fireworks_f5 139 + +1@ge_st,1,1,1 script #Talkcontrol -1,{ +end; + +OnStart: + 'Talkcounter = 0; + initnpctimer; + end; + +OnTimer5000: + 'Talkcounter++; + if ('Talkcounter <4) + initnpctimer; +OnRndtalk: + .@iter = rand(1,3); + for (.@i = 0; .@i <.@iter ;.@i++) { + .@group = rand(30); + if (.@group <18) { + showscript 'audience$[rand(getarraysize('audience$))],getnpcid(0,instance_npcname("Tournament Spectator#"+rand(70,257))); + showscript 'audience$[rand(getarraysize('audience$))],getnpcid(0,instance_npcname("Tournament Spectator#"+rand(70,257))); + } else if (.@group <23) { + showscript 'student$[rand(getarraysize('student$))],getnpcid(0,instance_npcname("Magic Academy Student#" + rand(1,5))); + } else { + .@id = rand(getarraysize('tourist$)); + showscript 'touristname2$[.@id]+'tourist$[.@id],getnpcid(0,instance_npcname('touristname$[.@id])); + } + sleep rand(2,5) * 100; + } + end; + +OnTimer13000: + stopnpctimer; + .@iter = rand(1,3); + for ( .@i = 0; .@i <.@iter; .@i++ ) { + .@group = rand(30); + + if ( .@group <18) { + showscript 'audience$[rand(getarraysize('audience$))],getnpcid(0,instance_npcname("Tournament Spectator#"+rand(70,257))); + showscript 'audience$[rand(getarraysize('audience$))],getnpcid(0,instance_npcname("Tournament Spectator#"+rand(70,257))); + } else if (.group <23) { + showscript 'student$[rand(getarraysize('student$))],getnpcid(0,instance_npcname("Magic Academy Student#" + rand(1,5))); + } else { + .@id = rand(getarraysize('tourist$)); + showscript 'touristname2$[.@id]+'tourist$[.@id],getnpcid(0,instance_npcname('touristname$[.@id])); + } + + + sleep rand(2,5)*100; + } + end; + +OnInstanceInit: + setarray 'audience$, + "Tournament Spectator : I've been watiing for this round!", + "Tournament Spectator : Hope this round's an interesting match up!", + "Tournament Spectator : Oh! Ah! Oh! Ah!", + "Tournament Spectator : Oooh, finally started!", + "Tournament Spectator : Start already! Fight! Come on, start!", + "Tournament Spectator : Is this that guy's first time? I feel he's very powerful, ah!", + "Tournament Spectator : Who do you think will win?", + "Tournament Spectator : Come on, start!", + "Tournament Spectator : Get it on already!", + "Tournament Spectator : I feel like I'm in danger...", + "Tournament Spectator : I'm counting on that "+('sex ? "guy" : "girl")+" to lose!", + "Tournament Spectator : Gotta feel sorry for that guy! Come on!", + "Tournament Spectator : He's terrific! You've got this! Come on!", + "Tournament Spectator : I'm having such a great time here!", + "Tournament Spectator : Come on!~~", + "Tournament Spectator : Let's see what you've got "+'charname$+"!", + "Tournament Spectator : He's probably going to lose this round.", + "Tournament Spectator : This contest has a lot of good participants.", + "Tournament Spectator : Do not be afraid, come on!", + "Tournament Spectator : Almost to start huh?", + "Tournament Spectator : Even just watching this is fun!", + "Tournament Spectator : My hands are sweating...", + "Tournament Spectator : Come on let's go!"; + + setarray 'student$, + "Magic Academy Student: Ya~ Hoo~", + "Magic Academy Student: Wow, I'm so nervous!", + "Magic Academy Student: Both of you please! Come on!"; + + setarray 'tourist$, + " : Oh, the atmosphere's starting to heat up...", + " : This is so energizing!", + " : There's no Payon contestants are there?", + " : The atmosphere here is great!", + " : Oooh! Come on!", + " : These participants are so energetic!", + " : Good thing too...", + " : Don't lose too quickly! Oh!~"; + + setarray 'touristname$, + "Prontera Spectator#a1", + "Prontera Spectator#a2", + "Payon Spectator#a1", + "Payon Spectator#a2", + "Alberta Spectator#a1", + "Alberta Spectator#a2", + "Veins Spectator#a1", + "Comodo Spectator#a1"; + + setarray 'touristname2$, + "Prontera Spectator", + "Prontera Spectator", + "Payon Spectator", + "Payon Spectator", + "Alberta Spectator", + "Alberta Spectator", + "Veins Spectator", + "Comodo Spectator"; + end; + +} + +1@ge_st,106,62,6 script Loki#a2 512,{} +1@ge_st,108,62,6 script Chaos#a2 683,{} +1@ge_st,111,62,4 script Iris#a2 666,{} +1@ge_st,112,62,4 script Lydia#a2 10010,{} + +// ================================================================ +// Rivals +// ================================================================ +1@ge_st,114,50,4 script Arhi#1 670,{ +end; + +OnActivate: + enablenpc instance_npcname("Arhi#1"); + npctalk "The first match always makes me nervous~!"; + sleep 2000; + npctalk "Can I win?"; + sleep 3000; + npctalk "I guess it will be okay, this "+('sex ? "guy" : "girl")+" seems weak."; + sleep 3000; + npctalk "Okay, just relax~!"; + sleep 3000; + npctalk "Ah... Finally, It's going to start soon!"; + sleep 3000; + npctalk "Just relax~!"; + sleep 2000; + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnDefeat: + hideoffnpc instance_npcname("Arhi#1"); + sleep 1000; + npctalk "Ah... I lost the first match..."; + sleep 3000; + npctalk "How can I face my family..."; + sleep 3000; + npctalk "So shameful..."; + sleep 3000; + npctalk "Ah... My friends will laugh at me..."; + sleep 3000; + npctalk "Sob..."; + sleep 1000; + hideonnpc instance_npcname("Arhi#1"); + sleep 1000; + movenpc instance_npcname("Arhi#z1_0et"),145,125; + hideoffnpc instance_npcname("Tournament Guide#gefMT"); + disablenpc instance_npcname("Arhi#1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Arhi#1"); + sleep 1000; + npctalk "I knew I would win!"; + sleep 3000; + npctalk "I'm so relieved!"; + sleep 3000; + npctalk "I was able to beat a weak competitior."; + sleep 3000; + npctalk "Yahoo!"; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; + +} + +1@ge_st,114,50,4 script Dio Anemos#1 669,{ +end; + +OnActivate: + npctalk "Second round huh..."; + sleep 2000; + npctalk "You look like a weak competitor."; + sleep 3000; + npctalk "I think I've got a good chance against you."; + sleep 3000; + npctalk "I wish the match would start already..."; + sleep 3000; + npctalk "If I finish it quickly maybe I can go buy some cookies!"; + sleep 3000; + npctalk "Okay then let's start!"; + sleep 2000; + npctalk "Boring...",instance_npcname("Loki#a2"); + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnDefeat: + hideoffnpc instance_npcname("Dio Anemos#1"); + sleep 1000; + npctalk "Oh my god...."; + sleep 2000; + npctalk "I lost..."; + sleep 2000; + npctalk "Ah... and to this random loser too..."; + sleep 3000; + npctalk "My skills have gotten worse..."; + sleep 3000; + npctalk "This is so sad..."; + sleep 2000; + npctalk "Ahhhh! Why?..."; + sleep 1000; + hideonnpc instance_npcname("Dio Anemos#1"); + sleep 1000; + movenpc instance_npcname("Dio Anemos#z1_0et"),91,117; + disablenpc instance_npcname("Dio Anemos#1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Dio Anemos#1"); + sleep 1000; + npctalk "Phew... That was easy."; + sleep 3000; + npctalk "You should go home and ask your mommy to feed you!"; + sleep 3000; + npctalk "Ha ha ha ha~!!!!"; + sleep 3000; + npctalk "Time to get ready for my next match."; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; + +} + +1@ge_st,114,50,4 script Geffen Gangster#n1 682,{ +end; + +OnActivate: + npctalk "Hmmm, you're that kid from before..."; + sleep 3000; + npctalk "I've got a lesson to teach you!"; + sleep 3000; + npctalk "It's my turn to beat you!"; + sleep 3000; + npctalk "First I'll take care of you, and then I'll go back for that Kafra..."; + sleep 3000; + npctalk "Watcha got punk?!"; + sleep 3000; + npctalk "Prepare to die!"; + sleep 2000; + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnDefeat: + hideoffnpc instance_npcname("Geffen Gangster#n1"); + sleep 1000; + npctalk "I was defeated! This doesn't make any sense!"; + sleep 2000; + npctalk "I can't believe I lost to you!"; + sleep 3000; + npctalk "To be embarrassed in front of the Kafra with the luscious legs...!"; + sleep 3000; + npctalk "Sob.. This can't be happening!"; + sleep 2000; + npctalk "I shouldn't have to go through this depression alone!"; + sleep 2000; + npctalk "I'll have to go to see the Kafra gal' in Prontera hu-hu-hu..."; + sleep 1000; + hideonnpc instance_npcname("Geffen Gangster#n1"); + sleep 1000; + disablenpc instance_npcname("Geffen Gangster#n1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Geffen Gangster#n1"); + sleep 1000; + npctalk "This is my real ability!"; + sleep 3000; + npctalk "Hu hu... That... Kafra...!"; + sleep 3000; + npctalk "I want to go back to my Kafra~!!"; + sleep 3000; + npctalk "Hu hu hu hu hu..."; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; +} + +1@ge_st,114,50,4 script Geffen Bully#n1 681,{ +end; + +OnActivate: + npctalk "Just you wait, you'll be immediately disabled!"; + sleep 3000; + npctalk "I will beat you down today!"; + sleep 3000; + npctalk "Give me your zeny!"; + sleep 3000; + npctalk "I'll send you crying home!"; + sleep 3000; + npctalk "I will make you experience my 20 years of bullying."; + sleep 3000; + npctalk "You're dead!"; + sleep 2000; + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnDefeat: + hideoffnpc instance_npcname("Geffen Bully#n1"); + sleep 1000; + npctalk "I can't believe you beat me..."; + sleep 3000; + npctalk "It can't be!"; + sleep 3000; + npctalk "This can't be! I only wanted to get more zeny!"; + sleep 3000; + npctalk "Now I'll be the laughing stock of all of Geffen!"; + sleep 3000; + npctalk "Ah! Ahhh!! It can't be!!!"; + sleep 1000; + hideonnpc instance_npcname("Geffen Bully#n1"); + sleep 1000; + disablenpc instance_npcname("Geffen Bully#n1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Geffen Bully#n1"); + sleep 1000; + npctalk "You! Hou much zeny do you have left?"; + sleep 3000; + npctalk "You messed with me once before!"; + sleep 3000; + npctalk "And now I've left you speechless!"; + sleep 3000; + npctalk "Never show your face in Geffen again!"; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; + +} + +1@ge_st,114,50,4 script Geffen Shoplifter#n1 671,{ +end; + +OnActivate: + npctalk "There are so many people gathered here."; + sleep 3000; + npctalk "I thought there'd be something good to steal here"; + sleep 3000; + npctalk "But I can't steal anything because of all the attention it'll cause."; + sleep 3000; + npctalk "Ah... This is no good..."; + sleep 2000; + npctalk "I guess I'll just participate in the tournament..."; + sleep 2000; + npctalk "Well~! Let's win anyway!"; + sleep 2000; + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnDefeat: + hideoffnpc instance_npcname("Geffen Shoplifter#n1"); + sleep 1000; + npctalk "Oh my god... I was defeated."; + sleep 2000; + npctalk "I have been spending too much time stealing."; + sleep 2000; + npctalk "My battle power has been reduced."; + sleep 3000; + npctalk "Ah... It can't be..."; + sleep 2000; + npctalk "I'll need to train more if I want to keep my position as Guild Leader..."; + sleep 3000; + npctalk "Fine, I'm outta here!"; + sleep 1000; + hideonnpc instance_npcname("Geffen Shoplifter#n1"); + sleep 1000; + disablenpc instance_npcname("Geffen Shoplifter#n1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Geffen Shoplifter#n1"); + sleep 1000; + npctalk "I know, I'm really good."; + sleep 3000; + npctalk "Okay! Time to keep winning~!!"; + sleep 3000; + npctalk "I should take as many rewards as possible~!"; + sleep 3000; + npctalk "You should go home~ Bye~!"; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; +} + +1@ge_st,114,50,4 script Faymont#1 672,{ +end; + +OnActivate: + enablenpc instance_npcname("Faymont#1"); + npctalk "Well would you look at that... this competitor seems..."; + sleep 2000; + npctalk "Like he's just gotten lucky up until now!"; + sleep 3000; + npctalk "I really don't want to get my hands dirty."; + sleep 3000; + npctalk "I'll handle this in a sophisticated way..."; + sleep 3000; + npctalk "Ahem... Looks like we're about to start now."; + sleep 3000; + npctalk "Maybe if I finish this quickly, I can buy that new headdress..."; + npctalk "Come on!", instance_npcname("Prontera Spectator#a1"); + sleep 2000; + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnDefeat: + hideoffnpc instance_npcname("Faymont#1"); + sleep 1000; + npctalk "How could... How could I lose?!..."; + sleep 2000; + npctalk "And to the one "+('sex ? "guy" : "girl")+" with no taste..."; + sleep 2000; + npctalk "How shameful..."; + sleep 2000; + npctalk "My fans will be disappointed at me for losing..."; + sleep 3000; + npctalk "Ahh.... What's the quickest way out of here?"; + sleep 3000; + npctalk "I can't show my face around here any longer..."; + sleep 1000; + hideonnpc instance_npcname("Faymont#1"); + sleep 1000; + movenpc instance_npcname("Faymont#z1_0et"),53,90; + disablenpc instance_npcname("Faymont#1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Faymont#1"); + sleep 1000; + npctalk "Can you see the difference between you and me? Noble and shallow."; + sleep 3000; + npctalk "This tournament is pointless."; + sleep 3000; + npctalk "What kind of shallow man will I have to fight with next?"; + sleep 3000; + npctalk "No matter, I'll just prepare for the next match."; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; +} + +1@ge_st,114,50,4 script Ordre#1 673,{ +end; + +OnActivate: + enablenpc instance_npcname("Ordre#1"); + npctalk "One! Two! One! Two!"; + sleep 2000; + npctalk "Let's climb the ladder one step at a time!"; + sleep 2000; + npctalk "I've been training so hard!"; + sleep 3000; + npctalk "I'm not about to give up now!"; + sleep 3000; + npctalk "I can't lose after coming so far"; + sleep 3000; + npctalk "Now~! Let's do our best for those in the audience!"; + sleep 3000; + npctalk "Shall we begin?"; + npctalk "What? Is this really the level of competition?",instance_npcname("Chaos#a2"); + sleep 2000; + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnDefeat: + hideoffnpc instance_npcname("Ordre#1"); + sleep 1000; + npctalk "Defeated..."; + sleep 2000; + npctalk "I need more practice..."; + sleep 2000; + npctalk "I need more training..."; + sleep 3000; + npctalk "I'll train twice as hard as before!"; + sleep 3000; + npctalk "I must start over."; + sleep 2000; + npctalk "Let's go."; + sleep 1000; + hideonnpc instance_npcname("Ordre#1"); + sleep 1000; + movenpc instance_npcname("Ordre#z1_0et"),85,68; + disablenpc instance_npcname("Ordre#1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Ordre#1"); + sleep 1000; + npctalk "I won!"; + sleep 3000; + npctalk "As long as you try... you can get what you want!"; + sleep 3000; + npctalk "Let's show respect to this competition!"; + sleep 3000; + npctalk "I'm ready for the next match!!"; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; +} + + +1@ge_st,114,50,4 script Blut Hase#1 674,{ +end; + +OnActivate: + npctalk "You've gotten this far."; + sleep 2000; + npctalk "I imagine by now the rest of the competitors are quite strong"; + sleep 3000; + npctalk "But I did not build my reputation for nothing!"; + sleep 3000; + npctalk "Fear my Bunny Band!"; + sleep 3000; + npctalk "You are but an obstacle in my way!"; + sleep 1000; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + sleep 2000; + npctalk "You will be sacrificed on my path to victory!"; + sleep 1000; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + sleep 1000; + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnDefeat: + hideoffnpc instance_npcname("Blut Hase#1"); + sleep 1000; + npctalk "I will not lose!"; + sleep 1000; + npctalk "My reputation... My popularity..."; + sleep 3000; + npctalk "I will lose them both..."; + sleep 3000; + npctalk "I cannot accept this result!"; + sleep 3000; + npctalk "I will regain my reputation!"; + sleep 2000; + npctalk "Next time I will be the winner!"; + sleep 1000; + hideonnpc instance_npcname("Blut Hase#1"); + sleep 1000; + movenpc instance_npcname("Blut Hase#z1_0et"),111,62; + disablenpc instance_npcname("Blut Hase#1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Blut Hase#1"); + sleep 1000; + npctalk "In terms of reputation or popularity..."; + sleep 3000; + npctalk "It was impossible for me to lose!"; + sleep 3000; + npctalk "I will be known as Ultra Rabbit's Blood instead of Rabbit's Bloody Ear now!"; + sleep 3000; + npctalk "Ha ha ha ha ha~!!"; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; +} + +1@ge_st,114,50,4 script Kuro Akuma#1 675,{ +end; +OnActivate: + npctalk "Finally the 7th game has started ~!"; + sleep 2000; + npctalk "You've never met anyone as evil as me ~!"; + sleep 3000; + npctalk "You are lucky~!"; + sleep 3000; + npctalk "This will be a good experience for you~!"; + sleep 3000; + npctalk "Nobody who's faced me has ever survived~!"; + sleep 3000; + npctalk "I will destroy you if I must~!"; + sleep 1000; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + sleep 1000; + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnDefeat: + hideoffnpc instance_npcname("Kuro Akuma#1"); + sleep 1000; + npctalk "Oh my god..."; + sleep 3000; + npctalk "I am The Devil's Tooth..."; + sleep 2000; + npctalk "And I have lost this match..."; + sleep 3000; + npctalk "Yach, yikes, ah, ah, ah! Yikes ah, ah, ah!!"; + sleep 3000; + npctalk "I can't lose! I'll have my revenge!"; + sleep 2000; + hideonnpc instance_npcname("Kuro Akuma#1"); + sleep 1000; + movenpc instance_npcname("Kuro Akuma#z1_0et"),104,42; + disablenpc instance_npcname("Kuro Akuma#1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Kuro Akuma#1"); + sleep 1000; + npctalk "How is it~! My Power~!"; + sleep 3000; + npctalk "I took pity on you and decided not to send you to hell~!"; + sleep 3000; + npctalk "You should appreciate that!"; + sleep 3000; + npctalk "Now, I shall prepare for my next match~!"; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; + +} + +1@ge_st,114,50,4 script Ifodes#1 676,{ +end; +OnActivate: + npctalk "At long last, the 8th game has started."; + sleep 3000; + npctalk "No one can pierce my defenses!"; + sleep 3000; + npctalk "But I can surely get past yours."; + sleep 2000; + npctalk "Therefore, you stand no chance!"; + sleep 2000; + npctalk "Once the match has started, your laughter will turn into tears!"; + sleep 2000; + npctalk "Shall we start?"; + sleep 1000; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + sleep 1000; + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnDefeat: + hideoffnpc instance_npcname("Ifodes#1"); + sleep 1000; + npctalk "I will not lose this tournament!"; + sleep 3000; + npctalk "This is nonsense."; + sleep 2000; + npctalk "How could this happen?"; + sleep 3000; + npctalk "I can't understand!"; + sleep 3000; + npctalk "Arrgggh!"; + sleep 2000; + hideonnpc instance_npcname("Ifodes#1"); + sleep 1000; + movenpc instance_npcname("Ifodes#z1_0et"),115,66; + disablenpc instance_npcname("Ifodes#1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Ifodes#1"); + sleep 1000; + npctalk "You can't penetrate my defense!"; + sleep 3000; + npctalk "You can't even protect yourself from my powerful attacks!"; + sleep 3000; + npctalk "Wahahaha~!!"; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; + +} + +1@ge_st,114,50,4 script Licheniyes#1 677,{ +end; +OnActivate: + npctalk "Ho ho ho~!!"; + sleep 3000; + npctalk "The competitor of the 9th match looks scary~!"; + sleep 3000; + npctalk "You don't scare me though~!"; + sleep 2000; + npctalk "I'm a lady~!"; + sleep 2000; + npctalk "But once this match starts...!"; + sleep 2000; + npctalk "*Giggling*... I will bite you!"; + sleep 1000; + npctalk "good horror players ...", instance_npcname("Payon Spectator#a1"); + sleep 1000; + npctalk "Do not be afraid ah, dark horse contestant!", instance_npcname("Prontera Spectator#a1"); + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnDefeat: + hideoffnpc instance_npcname("Licheniyes#1"); + sleep 1000; + npctalk "You try to beat me with cruelty, a lady like me..."; + sleep 3000; + npctalk "I am very sad..."; + sleep 2000; + npctalk "Sob..."; + sleep 3000; + npctalk "But, next time we meet..."; + sleep 3000; + npctalk "I will destroy you with little effort!"; + sleep 1000; + hideonnpc instance_npcname("Licheniyes#1"); + sleep 1000; + movenpc instance_npcname("Licheniyes#z1_0et"),137,53; + disablenpc instance_npcname("Licheniyes#1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Licheniyes#1"); + sleep 1000; + npctalk "Oh ho ho ho~~! I knew I would win~!"; + sleep 3000; + npctalk "Oh my! Oh my! I am very sorry~!"; + sleep 3000; + npctalk "Ah, Ah~ I need to prepare next match!"; + sleep 3000; + npctalk "I'm so giddy to find out who I'm up against next!~"; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; + +} + +1@ge_st,114,50,4 script Odoric#1 678,{ +end; +OnActivate: + npctalk "Lu lu~ What a fun tournament!"; + sleep 3000; + npctalk "Dance~ Dance~ Bewitching dance~!"; + sleep 3000; + npctalk "Everyone is mesmerized by my magical dance!"; + sleep 3000; + npctalk "You will be captured by my charm~!"; + sleep 2000; + npctalk "Now, feast on my magical dance!"; + sleep 2000; + npctalk "Lah, Lah, Lah, Lah~~!"; + sleep 1000; + npctalk "How beautiful!", instance_npcname("Veins Spectator#a1"); + sleep 1000; + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnDefeat: + hideoffnpc instance_npcname("Odoric#1"); + sleep 1000; + npctalk "Sob..."; + sleep 3000; + npctalk "I lost, even though I did my best..."; + sleep 2000; + npctalk "My charming poses..."; + sleep 3000; + npctalk "They didn't work... Sob..."; + sleep 3000; + npctalk "I'm so sad that I lost here..."; + sleep 2000; + npctalk "I have to leave~!"; + sleep 1000; + hideonnpc instance_npcname("Odoric#1"); + sleep 1000; + movenpc instance_npcname("Odoric#z1_0et"),158,63; + disablenpc instance_npcname("Odoric#1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Odoric#1"); + sleep 1000; + npctalk "Even you... Against my fascinating dance moves..."; + sleep 3000; + npctalk "You're nothing special~!!"; + sleep 3000; + npctalk "You did a good job getting to this point~!!"; + sleep 3000; + npctalk "I need to get ready for my next match now~"; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; + +} + +1@ge_st,114,50,4 script Ju#1 679,{ +end; +OnActivate: + npctalk "Another match has started..."; + sleep 3000; + npctalk "A real battle is a serious matter..."; + sleep 3000; + npctalk "It is something to be feared!"; + sleep 3000; + npctalk "All of these novices who spent their time only training"; + sleep 3000; + npctalk "They will never know the true meaning of battle!"; + sleep 3000; + npctalk "I will make sure to handle them as fast as possible."; + sleep 3000; + npctalk "My heart is beating so fast! I'm so nervous!",instance_npcname("Lydia#a2"); + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnDefeat: + hideoffnpc instance_npcname("Ju#1"); + sleep 1000; + npctalk "Sob... defeated..."; + sleep 3000; + npctalk "You're stronger than I thought..."; + sleep 3000; + npctalk "You must have experienced many cruel battles."; + sleep 3000; + npctalk "Sob... Victory was the only thing in my mind..."; + sleep 3000; + npctalk "I wish you luck on your following matches."; + sleep 3000; + npctalk "You better not lose after defeating me!"; + sleep 2000; + hideonnpc instance_npcname("Ju#1"); + sleep 1000; + movenpc instance_npcname("Ju#z1_0et"),178,91; + disablenpc instance_npcname("Ju#1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Ju#1"); + sleep 1000; + npctalk "This is not a game."; + sleep 3000; + npctalk "This is real battle."; + sleep 3000; + npctalk "Yeahhhh !!"; + sleep 3000; + npctalk "The real game is battle!"; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; + +} + +1@ge_st,114,50,4 script Dwigh#1 680,{ +end; +OnActivate: + npctalk "Semi-Finals huh..."; + sleep 2000; + npctalk "I can see the end..."; + sleep 3000; + npctalk "You must be a decent fighter, making it all the way here..."; + sleep 3000; + npctalk "But I came to here for my students."; + sleep 3000; + npctalk "People who are important to me are watching this battle!"; + sleep 3000; + npctalk "Wow, teacher!",instance_npcname("Magic Academy Student#22"); + npctalk "Teacher, show 'em what you've got!",instance_npcname("Magic Academy Student#3"); + npctalk "What a great teacher, I want to be like her!",instance_npcname("Magic Academy Student#4"); + sleep 2000; + npctalk "I can't imagine teacher losing here~!",instance_npcname("Magic Academy Student#1"); + npctalk "Everyone cheer loudly for our teacher!",instance_npcname("Magic Academy Student#5"); + sleep 2000; + npctalk "I can't lose in front of my students!"; + sleep 2000; + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + sleep 1000; + npctalk "Ahh!~ Go teacher~!!",instance_npcname("Magic Academy Student#5"); + sleep 1000; + npctalk "Go! Go! Teacher~!!",instance_npcname("Magic Academy Student#22"); + npctalk "Teacher! She's the one~!!",instance_npcname("Magic Academy Student#3"); + npctalk "If she can't do it~!!",instance_npcname("Magic Academy Student#4"); + npctalk "No one can~!!",instance_npcname("Magic Academy Student#1"); + npctalk "Teacher~!!",instance_npcname("Magic Academy Student#5"); + end; + +OnDefeat: + hideoffnpc instance_npcname("Dwigh#1"); + sleep 1000; + npctalk "If I had just won one more game, I could have been in the finals..."; + sleep 3000; + npctalk "I'm ashamed for losing in front of my students..."; + sleep 3000; + npctalk "But the competition was too strong."; + sleep 3000; + npctalk "I admit defeat."; + sleep 3000; + npctalk "According to my students, Fenrir's strength should still be above me, I wish you luck."; + sleep 2000; + hideonnpc instance_npcname("Dwigh#1"); + sleep 1000; + movenpc instance_npcname("Dwigh#z1_0et"),120,98; + disablenpc instance_npcname("Dwigh#1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Dwigh#1"); + sleep 1000; + npctalk "Ugh... It was a tough match."; + sleep 3000; + npctalk "But I am happy to have won."; + sleep 3000; + npctalk "I will do my best for my students."; + sleep 3000; + npctalk "I have just one more match to win!"; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; + +} + +1@ge_st,114,50,4 script Fay Kanavian#1 665,{ +end; +OnActivate: + enablenpc instance_npcname("#paycanatalk"); + end; +OnDefeat: + hideoffnpc instance_npcname("Fay Kanavian#1"); + killmonster instance_mapname("1@ge_st"),instance_npcname("#GMTHomun")+"::OnHomJR"; + killmonster instance_mapname("1@ge_st"),instance_npcname("#GMTHomun")+"::OnHomDead"; + enablenpc instance_npcname("#paycanatalk2"); + end; + +OnTalk1: + cutin "paycana_a", 2; + npctalk "You~ I've never heard about you before~!"; + sleep2 4000; + npctalk "You must know, all of the spectators are cheering for me!"; + sleep2 4000; + npctalk "If you want to keep your life you should run now~!"; + sleep2 4000; + npctalk "Unless you want to experience the strength of my masterpiece, Alphonse!"; + sleep2 4000; + npctalk "You HAVE seen my Alphonse, right?"; + sleep2 4000; + donpcevent instance_npcname("#Talkcontrol")+"::OnRndtalk"; + sleep2 1000; + npctalk "Once this match starts, you will see his full power!"; + sleep2 2000; + cutin "", 255; + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnTalk2: + cutin "paycana_b ", 2; + npctalk "I actually lost..."; + sleep2 3000; + npctalk "Alphonse... I gave you my heart and soul..."; + sleep2 3000; + npctalk "I was supposed to make it to the finals..."; + sleep2 3000; + npctalk "And face Fenris Fenrir..."; + sleep2 3000; + npctalk "I wanted to fight her so bad!"; + sleep2 2000; + cutin "", 255; + hideonnpc instance_npcname("Fay Kanavian#1"); + sleep 1000; + movenpc instance_npcname("Fay Kanavian#z1_0et"),117,72; + disablenpc instance_npcname("Fay Kanavian#1"); + end; + +OnVictory: + hideoffnpc instance_npcname("Fay Kanavian#1"); + sleep 1000; + npctalk "My abilities are amazing~!"; + sleep 3000; + npctalk "This tournament is but a game to me, and not at all important."; + sleep 3000; + npctalk "But Fenrir has reached the finals by winning every single round..."; + sleep 3000; + npctalk "I will defeat her and win this tournament!"; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; + +} + +1@ge_st,108,50,4 script #paycanatalk 139,25,25,{ +end; + +OnTouch: + doevent instance_npcname("Fay Kanavian#1")+"::OnTalk1"; + disablenpc instance_npcname("#paycanatalk"); + end; + +OnInstanceInit: + disablenpc instance_npcname("#paycanatalk"); + end; + +} + +1@ge_st,108,50,4 script #paycanatalk2 139,25,25,{ +end; + +OnTouch_: + doevent instance_npcname("Fay Kanavian#1")+"::OnTalk2"; + disablenpc instance_npcname("#paycanatalk2"); + end; + +OnInstanceInit: + disablenpc instance_npcname("#paycanatalk2"); + end; + +} + +1@ge_st,114,50,4 script Fenrir#f 664,{ + end; +OnActivate: + enablenpc instance_npcname("#fenrirtalk"); + end; +OnDefeat: + hideoffnpc instance_npcname("Fenrir#f"); + enablenpc instance_npcname("#fenrirtalk2"); + end; + +OnTalk1: + cutin "fenrir_b", 1; + npctalk "The final match..."; + sleep2 1000; + npctalk "Fenrir is going to win without a doubt~!", instance_npcname("Payon Spectator#a1"); + sleep2 1000; + npctalk "I am Fenris Fenrir."; + sleep2 1000; + npctalk "Hey, do your best!",instance_npcname("Iris#a2"); + sleep2 2000; + npctalk "You... made it here."; + sleep2 2000; + npctalk "I am sure that this will be a hard fought match."; + sleep2 1000; + npctalk "Wow! I'm so excited!",instance_npcname("Lydia#a2"); + npctalk "Fenrir, please give me an autograph!", instance_npcname("Prontera Spectator#a2"); + sleep2 2000; + npctalk "I will do my best to fight you fairly."; + sleep2 2000; + npctalk "Then, should we start the final match?"; + cutin "", 255; + donpcevent instance_npcname("#GMTcontroller")+"::OnStart"; + end; + +OnTalk2: + cutin "fenrir_a", 1; + npctalk "Uh... I am defeated."; + sleep2 2000; + npctalk "How did you get to be so strong?"; + sleep2 3000; + npctalk "I am completely defeated..."; + sleep2 3000; + npctalk "This world is full of surprises..."; + sleep2 3000; + npctalk "Congratulations on your victory "+'charname$+"."; + sleep2 2000; + npctalk "However, next time, I won't lose!"; + sleep2 2000; + cutin "", 255; + changequest 9307,9308; + warp instance_mapname("1@ge_st"), 109,50; + donpcevent instance_npcname("#win")+"::OnEnable"; + movenpc instance_npcname("#gefmagic_warp02"),120,213; + end; + +OnVictory: + hideoffnpc instance_npcname("Fenrir#f"); + sleep 1000; + npctalk "Thank you~ It was a good match."; + sleep 3000; + npctalk "It feels good to be the winner."; + sleep 3000; + npctalk "I hope to see you again."; + sleep 3000; + npctalk "I have to go... My friends are waiting for me."; + sleep 5000; + instance_warpall instance_mapname("1@gef"),120,61; + end; + +} + +1@ge_st,108,50,4 script #fenrirtalk 139,25,25,{ +end; + +OnTouch: + doevent instance_npcname("Fenrir#f")+"::OnTalk1"; + disablenpc instance_npcname("#fenrirtalk"); + end; + +OnInstanceInit: + disablenpc instance_npcname("#fenrirtalk"); + end; + +} + +1@ge_st,108,50,4 script #fenrirtalk2 139,25,25,{ +end; + +OnTouch_: + doevent instance_npcname("Fenrir#f")+"::OnTalk2"; + disablenpc instance_npcname("#fenrirtalk2"); + end; + +OnInstanceInit: + disablenpc instance_npcname("#fenrirtalk2"); + end; + +} + +1@ge_st,1,1,1 script #win CLEAR_NPC,{ +end; + +OnEnable: + disablenpc instance_npcname("Fenrir#f"); + movenpc instance_npcname("Arhi#q1"), 104, 53; + movenpc instance_npcname("Dio Anemos#q1"), 100, 49; + movenpc instance_npcname("Faymont#q1"), 102, 46; + movenpc instance_npcname("Ordre#q1"), 104, 44; + movenpc instance_npcname("Blut Hase#q1"), 112, 45; + movenpc instance_npcname("Kuro Akuma#q1"), 116, 46; + movenpc instance_npcname("Ifodes#q1"), 115, 53; + movenpc instance_npcname("Licheniyes#q1"), 116, 49; + movenpc instance_npcname("Odoric#q1"), 112, 53; + movenpc instance_npcname("Ju#q1"), 109, 54; + movenpc instance_npcname("Dwigh#q1"), 106, 50; + movenpc instance_npcname("Fay Kanavian#q1"), 107, 48; + movenpc instance_npcname("Fenrir#q1"), 112, 50; + hideoffnpc instance_npcname("Tournament Guide#gefMT"); + hideoffnpc instance_npcname("Geffen Academy Master"); + sleep 1000; + npctalk "The other contestants want to congratulate you on winning as well!",instance_npcname("Fenrir#q1"); + end; + +OnInstanceInit: +end; +} + +1@ge_st,1,1,6 script Arhi#q1 670,{ + switch(rand(1,2)){ + case 1: + showscript "Arhi : Tsk, I will come back when I get stronger!",getnpcid(0);//DONE + break; + case 2: + showscript "Arhi : Congratulations~!",getnpcid(0);//DONE + break; + } + end; +} +1@ge_st,1,1,6 script Dio Anemos#q1 669,{ + + switch(rand(1,2)){ + case 1: + showscript "Dio Anemos : I'm suddenly really hungry...",getnpcid(0);//DONE + break; + case 2: + showscript "Dio Anemos : Congratulations~! It is your treat~!",getnpcid(0);//DONE + break; + } + end; +} +1@ge_st,1,1,0 script Faymont#q1 672,{ + showscript "Faymont : Awesome fighting ability!",getnpcid(0);//DONE + end; +} +1@ge_st,1,1,0 script Ordre#q1 673,{ + switch(rand(1,2)){ + case 1: + showscript "Ordre : Simply amazing!",getnpcid(0);//DONE + break; + case 2: + showscript "Ordre : I can only imagine how long you have trained yourself to become this strong.",getnpcid(0);//DONE + break; + } + end; +} +1@ge_st,1,1,2 script Blut Hase#q1 674,{ + switch(rand(1,2)){ + case 1: + showscript "Blut Hase : You must be famous, right?",getnpcid(0);//DONE + break; + case 2: + showscript "Blut Hase : Well... Congratulations anyway...",getnpcid(0);//DONE + break; + } + end; +} +1@ge_st,1,1,2 script Kuro Akuma#q1 675,{ + showscript "Kuro Akuma : So... very strong...",getnpcid(0);//DONE + end; +} +1@ge_st,1,1,4 script Ifodes#q1 676,{ + switch(rand(1,2)){ + case 1: + showscript "Ifodes : Your talents suit your chivalry.",getnpcid(0);//DONE + break; + case 2: + showscript "Ifodes : You were great competition. Congratulations!",getnpcid(0);//DONE + break; + } + end; +} +1@ge_st,1,1,4 script Licheniyes#q1 677,{ + showscript "Licheniyes : Awesome victory~!",getnpcid(0);//DONE + end; +} +1@ge_st,1,1,4 script Odoric#q1 678,{ + switch(rand(1,2)){ + case 1: + showscript "Odoric : Simply amazing.",getnpcid(0);//DONE + break; + case 2: + showscript "Odoric : Congratulations on your victory~!",getnpcid(0);//DONE + break; + } + end; +} +1@ge_st,1,1,4 script Ju#q1 679,{ + switch(rand(1,2)){ + case 1: + showscript "Ju : You... are... strong... I... won't... forget... you...",getnpcid(0);//DONE + break; + case 2: + showscript "Ju : I've never lost before. But you are a worthy foe.",getnpcid(0);//DONE + break; + } + end; +} +1@ge_st,1,1,6 script Dwigh#q1 680,{ + showscript "Dwigh : Really good fight, you've got exceptional strength!",getnpcid(0); + end; +} +1@ge_st,1,1,0 script Fay Kanavian#q1 665,{ + switch(rand(1,2)){ + case 1: + showscript "Fay Kanavian : I didn't think that Fenrir would lose...",getnpcid(0);//DONE + break; + case 2: + showscript "Fay Kanavian : Next time we fight, Alphonse will be stronger!",getnpcid(0);//DONE + break; + } + end; +} +1@ge_st,1,1,4 script Fenrir#q1 664,{ + switch(rand(1,2)){ + case 1: + showscript "Fenrir : All of my colleagues are so excited about your victory. They are eager to meet you.",getnpcid(0);//DONE + break; + case 2: + showscript "Fenrir : You defeated me in a fair fight. You are very strong.",getnpcid(0);//DONE + break; + } + end; +} + +- script #EVT_GMT -1,{ +OnPCDieEvent: + if (strcharinfo(3) == "1@ge_st" || strcharinfo(3) == instance_mapname("1@ge_st") ) { + dispbottom "You've fallen! You have 10 seconds to get up or the match will be over!"; + sleep2 10000; + if (Hp >= 1) { + end; + } + if (Hp == 0) { + instance_warpall instance_mapname("1@ge_st"),104,50; + donpcevent instance_npcname("#DEATHGMT")+"::OnLoseRound"; + donpcevent instance_npcname("#GMTcontroller")+"::OnStop"; + end; + } + } + + end; +} + +1@ge_st,1,1,1 script #DEATHGMT -1,{ + end; +OnInstanceInit: + enablenpc instance_npcname("#DEATHGMT"); + end; + +OnLoseRound: + killmonster instance_mapname("1@ge_st"),instance_npcname("#GMTcontroller")+"::OnMobDead"; + movenpc instance_npcname("#gefmagic_warp02"),120,213; + movenpc instance_npcname("#invisGMTquests"),120,61; + + donpcevent instance_npcname("Fenrir#e1")+"::OnEnable"; + donpcevent instance_npcname("Chaos#e1")+"::OnEnable"; + donpcevent instance_npcname("Iris#e1")+"::OnEnable"; + donpcevent instance_npcname("Lydia#e1")+"::OnEnable"; + donpcevent instance_npcname("Loki#e1")+"::OnEnable"; + + + switch ('GMT_1QUE) { + case 11: + .@defeat$ = "Arhi"; + break; + case 12: + .@defeat$ = "Dio Anemos"; + break; + case 13: + if ('GMTQuest == 1) { + .@defeat$ = "Geffen Gangster"; + } + else if ('GMTQuest == 2) { + .@defeat$ = "Gefen Bully"; + } + else { + .@defeat$ = "Geffen Shoplifter"; + } + break; + case 14: + .@defeat$ = "Feymont"; + break; + case 15: + .@defeat$ = "Ordre"; + break; + case 16: + .@defeat$ = "Blut Hase"; + break; + case 17: + .@defeat$ = "Kuro Akuma"; + break; + case 18: + .@defeat$ = "Ifodes"; + break; + case 19: + .@defeat$ = "Licheniyes"; + break; + case 20: + .@defeat$ = "Odoric"; + break; + case 21: + .@defeat$ = "Ju"; + break; + case 22: + if ('half) { + .@defeat$ = "Dwigh"; + } else { + .@defeat$ = "Fay Kanavian"; + } + break; + case 23: + .@defeat$ = "Fenrir"; + break; + default: + break; + } + + npctalk ""+.@defeat$+" has won the "+callfunc("F_GetNumSuffix",('GMT_1QUE-10))+" Round of Group A!",instance_npcname("Geffen Academy Master"); + + switch ('GMT_1QUE) { + case 11: + enablenpc instance_npcname("Arhi#1"); + donpcevent instance_npcname("Arhi#1")+"::OnVictory"; + break; + case 12: + enablenpc instance_npcname("Dio Anemos#1"); + donpcevent instance_npcname("Dio Anemos#1")+"::OnVictory"; + break; + case 13: + if ('GMTQuest == 1) { + enablenpc instance_npcname("Geffen Gangster#n1"); + donpcevent instance_npcname("Geffen Gangster#n1")+"::OnVictory"; + break; + } else if ('GMTQuest == 2) { + enablenpc instance_npcname("Geffen Bully#n1"); + donpcevent instance_npcname("Geffen Bully#n1")+"::OnVictory"; + break; + } else { + enablenpc instance_npcname("Geffen Shoplifter#n1"); + donpcevent instance_npcname("Geffen Shoplifter#n1")+"::OnVictory"; + break; + } + break; + case 14: + enablenpc instance_npcname("Faymont#1"); + donpcevent instance_npcname("Faymont#1")+"::OnVictory"; + break; + case 15: + enablenpc instance_npcname("Ordre#1"); + donpcevent instance_npcname("Ordre#1")+"::OnVictory"; + break; + case 16: + enablenpc instance_npcname("Blut Hase#1"); + donpcevent instance_npcname("Blut Hase#1")+"::OnVictory"; + break; + case 17: + enablenpc instance_npcname("Kuro Akuma#1"); + donpcevent instance_npcname("Kuro Akuma#1")+"::OnVictory"; + break; + case 18: + enablenpc instance_npcname("Ifodes#1"); + donpcevent instance_npcname("Ifodes#1")+"::OnVictory"; + break; + case 19: + enablenpc instance_npcname("Licheniyes#1"); + donpcevent instance_npcname("Licheniyes#1")+"::OnVictory"; + break; + case 20: + enablenpc instance_npcname("Odoric#1"); + donpcevent instance_npcname("Odoric#1")+"::OnVictory"; + break; + case 21: + enablenpc instance_npcname("Ju#1"); + donpcevent instance_npcname("Ju#1")+"::OnVictory"; + break; + case 22: + if ('half) { + enablenpc instance_npcname("Dwigh#1"); + donpcevent instance_npcname("Dwigh#1")+"::OnVictory"; + break; + } else { + enablenpc instance_npcname("Fay Kanavian#1"); + donpcevent instance_npcname("Fay Kanavian#1")+"::OnVictory"; + + if ('HomID) { + killmonster instance_mapname("1@ge_st"),instance_npcname("#GMTHomun")+"::OnHomJR"; + killmonster instance_mapname("1@ge_st"),instance_npcname("#GMTHomun")+"::OnHomDead"; + 'HomID = 0; + } + + break; + } + break; + case 23: + enablenpc instance_npcname("Fenrir#f"); + donpcevent instance_npcname("Fenrir#f")+"::OnVictory"; + break; + } + + end; + +} + +1@gef,115,105,6 script Loki#e1 4_M_ROKI2,{ + .@n$ = "[ Loki ]"; + + if(checkquest(9314) != -1) { + cutin "ep14_roki01.bmp", 2; + mes .@n$; + mes "That's a pretty good score."; + next; + mes .@n$; + mes "Please take this present."; + setarray .items,501,502,503,504,505,506,608,607; + getitem .items[rand(0,7)],1; + erasequest 9314; + cutin "", 255; + end; + } + + cutin "ep14_roki01", 2; + mes .@n$; + mes "Let's take a rain check on our match."; + mes "We'll fight next time we meet..."; + close2; + cutin "", 255; + end; + +OnInstanceInit: + hideonnpc instance_npcname(strnpcinfo(0)); + end; + +OnEnable: + hideoffnpc instance_npcname(strnpcinfo(0)); + end; + +} + +1@gef,117,108,6 script Lydia#e1 4_F_LYDIA,{ + + .@n$ = "[ Lydia ]"; + + if(checkquest(9312) != -1) { + cutin "lydia_a.bmp",2; + mes .@n$; + mes "Good game~!"; + next; + mes .@n$; + mes "I want to give you a reward even if you lost~!"; + setarray .items,501,502,503,504,505,506,608,607; + getitem .items[rand(0,7)],1; + erasequest 9312; + cutin "", 255; + end; + } + cutin "lydia_a.bmp",2; + mes .@n$; + mes "I hope to see you again."; + close2; + cutin "", 255; + end; + +OnInstanceInit: + hideonnpc instance_npcname(strnpcinfo(0)); + end; + +OnEnable: + hideoffnpc instance_npcname(strnpcinfo(0)); + end; +} + +1@gef,125,105,4 script Iris#e1 4_F_IRIS,{ + + .@n$ = "[ Iris ]"; + + if(checkquest(9310) != -1) { + cutin "hero_iris_01.bmp",2; + mes .@n$; + mes "I enjoyed watching your round~"; + mes "Bad luck this year huh?~"; + mes "Wish you luck next year."; + next; + mes .@n$; + mes "Take this to cheer you up."; + setarray .items,501,502,503,504,505,506,608,607; + getitem .items[rand(0,7)],1; + erasequest 9310; + cutin "", 255; + end; + } + + cutin "hero_iris_01.bmp",2; + mes .@n$; + mes "Think we'll meet again?"; + close2; + cutin "", 255; + end; + +OnInstanceInit: + hideonnpc instance_npcname(strnpcinfo(0)); + end; + +OnEnable: + hideoffnpc instance_npcname(strnpcinfo(0)); + end; +} + +1@gef,123,108,4 script Chaos#e1 4_M_CHAOS,{ + + .@n$ = "[ Chaos ]"; + + if(checkquest(9311) != -1) { + cutin "hero_chaos_01.bmp",2; + mes .@n$; + mes "That was a good match~!"; + mes "Not bad at all~!"; + next; + mes .@n$; + mes "You have been very impressive today."; + mes "I want to give you a present~!"; + setarray .items,501,502,503,504,505,506,608,607; + getitem .items[rand(0,7)],1; + erasequest 9311; + cutin "", 255; + end; + } + cutin "hero_chaos_01.bmp",2; + mes .@n$; + mes "I hope to see you again next time~!"; + close2; + cutin "", 255; + end; + +OnInstanceInit: + hideonnpc instance_npcname(strnpcinfo(0)); + end; + +OnEnable: + hideoffnpc instance_npcname(strnpcinfo(0)); + end; +} + +1@gef,120,108,4 script Fenrir#e1 4_F_FENRIR,{ + + .@n$ = "[ Fenrir ]"; + + if(checkquest(9313) != -1) { + cutin "fenrir_a.bmp",2; + mes .@n$; + mes "It was a good game."; + mes "Hope you get farther next time."; + next; + mes .@n$; + mes "Take this gift."; + mes "Keep trying harder~!"; + setarray .items,501,502,503,504,505,506,608,607; + getitem .items[rand(0,7)],1; + erasequest 9313; + cutin "", 255; + end; + } + cutin "fenrir_a.bmp",2; + mes .@n$; + mes "I hope to see you again adventurer!"; + close2; + cutin "", 255; + end; + +OnInstanceInit: + hideonnpc instance_npcname(strnpcinfo(0)); + end; + +OnEnable: + hideoffnpc instance_npcname(strnpcinfo(0)); + end; +} + +// Cutscenes + + +//ϯϯϯϯϯϯϯϯϯ +// Event 1 +//__________________ +1@gef,159,172,6 duplicate(#gmt_dummy) Geffen Gangster#1 682 +1@gef,160,176,6 duplicate(#gmt_dummy) Geffen Gangster#3 682 +1@gef,164,175,6 duplicate(#gmt_dummy) Geffen Gangster#2 682 +1@gef,168,170,6 duplicate(#gmt_dummy) Geffen Gangster#11 682 +1@gef,167,169,6 duplicate(#gmt_dummy) Geffen Gangster#22 682 +1@gef,166,168,6 duplicate(#gmt_dummy) Geffen Gangster#33 682 +1@gef,170,168,4 duplicate(#gmt_dummy) Iris#Gef1 666 +1@gef,169,167,2 duplicate(#gmt_dummy) Kafra Employee#1 114 +1@gef,173,167,4 duplicate(#gmt_dummy) Chaos#Gef1 683 +1@gef,168,168,4 duplicate(#gmt_dummy) Chaos#Gef2 683 +1@gef,162,174,4 duplicate(#gmt_dummy) Chaos#3 683 + +1@gef,166,168,0 script #Event 1 start 139,7,7,{ + end; +OnTouch: + if ('gmt_event != 0) end; + if('OnTouchOnce1) end; + set 'OnTouchOnce1,1; + hideonnpc instance_npcname("#Event 1 start"); + disablenpc instance_npcname("#Event 1 start"); + hideoffnpc instance_npcname("Geffen Gangster#1"); + hideoffnpc instance_npcname("Geffen Gangster#2"); + hideoffnpc instance_npcname("Geffen Gangster#3"); + hideoffnpc instance_npcname("Kafra Employee#1"); + 'gmt_char_name$ = strcharinfo(0); + 'GMTQuest = 1; + + //if (checkquest(9284) > -1) + // erasequest 9284; + //setquest 9284; + 'gmt_timer_evt1 = 0; + initnpctimer; + end; +OnTimer1000: + 'gmt_timer_evt1++; + + switch('gmt_timer_evt1) { + case 1: npctalk "Geffen Gangster : Hey girl~", instance_npcname("Geffen Gangster#1"); break; + case 3: npctalk "Geffen Gangster : Whoo~ You have beautiful legs~!", instance_npcname("Geffen Gangster#2"); break; + case 5: npctalk "Kafra Employee : What are you doing?", instance_npcname("Kafra Employee#1"); break; + case 10: npctalk "Geffen Gangster : What do you think I'm doing~?", instance_npcname("Geffen Gangster#3"); break; + case 13: npctalk "Kafra Employee : You creep! Get away~!", instance_npcname("Kafra Employee#1"); break; + case 15: npctalk "Geffen Gangster : How dare you!", instance_npcname("Geffen Gangster#1"); break; + case 16: + hideonnpc instance_npcname("Geffen Gangster#1"); + hideonnpc instance_npcname("Geffen Gangster#2"); + hideonnpc instance_npcname("Geffen Gangster#3"); + hideoffnpc instance_npcname("Geffen Gangster#11"); + hideoffnpc instance_npcname("Geffen Gangster#22"); + hideoffnpc instance_npcname("Geffen Gangster#33"); + break; + case 19: npctalk "Geffen Gangster : Wanna have some fun?", instance_npcname("Geffen Gangster#11"); break; + case 20: npctalk "Geffen Gangster : We won't bite!", instance_npcname("Geffen Gangster#22"); break; + case 21: npctalk "Geffen Gangster : Unless...", instance_npcname("Geffen Gangster#33"); break; + case 23: npctalk "Kafra Employee : Help me~!!!", instance_npcname("Kafra Employee#1"); break; + case 25: unittalk 'gmt_account_id, "What can I do? I have to help."; break; + case 27: + enablenpc instance_npcname("#Event 1 start 2"); + stopnpctimer; + end; + } + + initnpctimer; + end; +} + +1@gef,166,169,0 script #Event 1 start 2 139,5,5,{ + end; +OnTouch: + if('OnTouchOnce2) end; + set 'OnTouchOnce2,1; + if ('gmt_event != 0) end; + 'gmt_event = 2; + hideonnpc instance_npcname("#Event 1 start 2"); + 'gmt_timer_evt1 = 0; + initnpctimer; + end; +OnTimer1000: + 'gmt_timer_evt1++; + + switch('gmt_timer_evt1) { + case 1: unittalk 'gmt_account_id, "You bastards! Leave her alone!"; break; + case 3: npctalk "Geffen Gangster : What's with your attitude?", instance_npcname("Geffen Gangster#11"); break; + case 4: npctalk "Geffen Gangster : You're such an idiot!", instance_npcname("Geffen Gangster#22"); break; + case 5: npctalk "Geffen Gangster : Who're you calling bastards!?", instance_npcname("Geffen Gangster#33"); break; + case 8: npctalk "Kafra Employee : Please help me~!", instance_npcname("Kafra Employee#1"); break; + case 9: + unittalk 'gmt_account_id, "Time to teach them a lesson~!"; + hideonnpc instance_npcname("Geffen Gangster#11"); + hideonnpc instance_npcname("Geffen Gangster#22"); + hideonnpc instance_npcname("Geffen Gangster#33"); + + monster instance_mapname("1@gef"), 168, 170, "Geffen Gangster", 2568, 1, instance_npcname("#Event 1 start 2") + "::OnMobKilled"; + monster instance_mapname("1@gef"), 167, 169, "Geffen Gangster", 2568, 1, instance_npcname("#Event 1 start 2") + "::OnMobKilled"; + monster instance_mapname("1@gef"), 166, 168, "Geffen Gangster", 2568, 1, instance_npcname("#Event 1 start 2") + "::OnMobKilled"; + + stopnpctimer; + end; + } + + initnpctimer; + end; +OnMobKilled: + if (mobcount(instance_mapname("1@gef"), instance_npcname("#Event 1 start 2") + "::OnMobKilled") <= 0) { + hideoffnpc instance_npcname("Geffen Gangster#1"); + hideoffnpc instance_npcname("Geffen Gangster#2"); + hideoffnpc instance_npcname("Geffen Gangster#3"); + //completequest 9284; + //setquest 9284; + //completequest 9284; + //setquest 9285; + donpcevent instance_npcname("#GefGangsterEvent1")+"::OnStart"; + } + + end; +} + +1@gef,166,167,0 script #GefGangsterEvent1 -1,{ + end; +OnStart: + 'gmt_timer_evt1 = 0; + initnpctimer; + end; +OnTimer1000: + 'gmt_timer_evt1++; + + switch('gmt_timer_evt1) { + case 1: + specialeffect 220, AREA, instance_npcname("Geffen Gangster#1"); + specialeffect 220, AREA, instance_npcname("Geffen Gangster#2"); + specialeffect 220, AREA, instance_npcname("Geffen Gangster#3"); + npctalk "Geffen Gangster : You're pretty good...!", instance_npcname("Geffen Gangster#1"); + npctalk "Geffen Gangster : We should stop playing around...", instance_npcname("Geffen Gangster#2"); + npctalk "Geffen Gangster : You're gonna pay the price!", instance_npcname("Geffen Gangster#3"); + break; + case 4: npctalk "Kafra Employee : No... I'm scared...!", instance_npcname("Kafra Employee#1"); break; + case 5: + hideoffnpc instance_npcname("Iris#Gef1"); + npctalk "Iris : Hey, you stop right there~!!", instance_npcname("Iris#Gef1"); + break; + case 8: npctalk "Iris : That's enough.", instance_npcname("Iris#Gef1"); break; + case 11: npctalk "Iris : I won't forgive you~!", instance_npcname("Iris#Gef1"); break; + case 13: specialeffect 204, AREA, instance_npcname("Iris#Gef1"); break; + case 14: + npctalk "Geffen Gangster : Why hello there, are you scared?", instance_npcname("Geffen Gangster#1"); + npctalk "Geffen Gangster : You're pretty cute. Do you want to play with us too?", instance_npcname("Geffen Gangster#2"); + npctalk "Geffen Gangster : Aren't I your type babe?~", instance_npcname("Geffen Gangster#3"); + break; + case 18: + hideonnpc instance_npcname("Geffen Gangster#1"); + hideonnpc instance_npcname("Geffen Gangster#2"); + hideonnpc instance_npcname("Geffen Gangster#3"); + hideoffnpc instance_npcname("Geffen Gangster#11"); + hideoffnpc instance_npcname("Geffen Gangster#22"); + hideoffnpc instance_npcname("Geffen Gangster#33"); + break; + case 22: mapannounce instance_mapname("1@gef"), "Stop right there! Jerks!", 0x00ebff; break; + case 23: hideoffnpc instance_npcname("Chaos#Gef1"); break; + case 25: specialeffect 218, AREA, instance_npcname("Chaos#Gef1"); break; + case 26: npctalk "Chaos : Are you clowns harassing Iris?", instance_npcname("Chaos#Gef1"); break; + case 30: npctalk "Chaos : I think I need to teach someone a lesson!", instance_npcname("Chaos#Gef1"); break; + case 31: + specialeffect 60, AREA, instance_npcname("Geffen Gangster#11"); + specialeffect 60, AREA, instance_npcname("Geffen Gangster#22"); + specialeffect 60, AREA, instance_npcname("Geffen Gangster#33"); + npctalk "Chaos : Come and fight me!", instance_npcname("Chaos#Gef2"); + hideonnpc instance_npcname("Chaos#Gef1"); + hideoffnpc instance_npcname("Chaos#Gef2"); + break; + case 34: + npctalk "Chaos : Bash~!!!", instance_npcname("Chaos#Gef2"); + specialeffect 1, AREA, instance_npcname("Chaos#Gef2"); + specialeffect 16, AREA, instance_npcname("Geffen Gangster#11"); + specialeffect 16, AREA, instance_npcname("Geffen Gangster#22"); + specialeffect 16, AREA, instance_npcname("Geffen Gangster#33"); + hideonnpc instance_npcname("Geffen Gangster#11"); + hideonnpc instance_npcname("Geffen Gangster#22"); + hideonnpc instance_npcname("Geffen Gangster#33"); + break; + case 35: + hideoffnpc instance_npcname("Geffen Gangster#1"); + hideoffnpc instance_npcname("Geffen Gangster#2"); + hideoffnpc instance_npcname("Geffen Gangster#3"); + break; + case 36: + npctalk "Geffen Gangster : Ugh...", instance_npcname("Geffen Gangster#1"); + npctalk "Geffen Gangster : Strong...", instance_npcname("Geffen Gangster#2"); + npctalk "Geffen Gangster : Too strong...", instance_npcname("Geffen Gangster#3"); + break; + case 39: + hideonnpc instance_npcname("Chaos#Gef2"); + hideoffnpc instance_npcname("Chaos#3"); + break; + case 42: + npctalk "Chaos : I'm not done yet!! Magnum Break~!", instance_npcname("Chaos#3"); + specialeffect 17, AREA, instance_npcname("Geffen Gangster#1"); + specialeffect 17, AREA, instance_npcname("Geffen Gangster#2"); + specialeffect 17, AREA, instance_npcname("Geffen Gangster#3"); + break; + case 43: + specialeffect 183, AREA, instance_npcname("Geffen Gangster#1"); + specialeffect 183, AREA, instance_npcname("Geffen Gangster#2"); + specialeffect 183, AREA, instance_npcname("Geffen Gangster#3"); + hideonnpc instance_npcname("Geffen Gangster#1"); + hideonnpc instance_npcname("Geffen Gangster#2"); + hideonnpc instance_npcname("Geffen Gangster#3"); + break; + case 45: hideonnpc instance_npcname("Chaos#3"); break; + case 46: + hideoffnpc instance_npcname("Chaos#Gef1"); + stopnpctimer; + + if (attachrid('gmt_account_id)) { + cutin "hero_iris_01.bmp", 2; + mes "[Iris]", "Are you okay?", "There have been so many jerks everywhere we go..."; next; + cutin "", 255; + mes "[Kafra]", "Thanks for helping me out.", "Who are you?"; next; + cutin "hero_iris_01.bmp", 2; + mes "[Iris]", "I am Iris~", "I am travelling with my good friend Chaos~!"; next; + mes "[Iris]", "I am not the one you should thank.", "Thank that adventurer, " + strcharinfo(0) + ".", "It could have been much worse."; next; + cutin "", 255; + mes "[Kafra]", "Thank you " + strcharinfo(0) + ".", "You saved me."; next; + cutin "hero_iris_01.bmp", 2; + mes "[Iris]", "It's pretty rare to meet someone as righteous as " + strcharinfo(0) + "."; next; + mes "[Iris]", "I'm on my way to see the Geffen Magic Tournament with Chaos.", "Are you on your way there too, " + strcharinfo(0) + "?"; next; + cutin "hero_chaos_01.bmp", 2; + mes "[Chaos]", "Yes, you seem strong enough to be in the Tournament."; next; + mes "[Chaos]", "Just know that Fenrir plans on joining as well, so it won't be that easy."; next; + mes "[Chaos]", "This is my favorite magic buff scroll, so take it as a token of our appreciation."; + sc_start4 SC_GEFFEN_MAGIC3, 3600000, 5, 0, 0, 0, 10000, 1; + atcommand "@effect 220"; + next; + mes "[Chaos]", "It will be useful in the Magic Tournament.", "Let's go Iris~!", "It's going to start soon~!"; next; + cutin "hero_iris_01.bmp", 2; + mes "[Iris]", "Yes~! Go " + strcharinfo(0) + "~", "Kafra, wish us luck~!", "Do your best " + strcharinfo(0) + "."; + close2; + cutin "", 255; + hideonnpc instance_npcname("Iris#Gef1"); + hideonnpc instance_npcname("Chaos#Gef1"); + hideonnpc instance_npcname("Kafra Employee#1"); + sleep2 2000; + unittalk 'gmt_account_id, "They sure are brave..."; + sleep2 2000; + unittalk 'gmt_account_id, "Should we apply for the Magic Tournament now?"; + end; + } + + end; + } + + initnpctimer; + end; +} + +//ϯϯϯϯϯϯϯϯϯ +// Event 2 +//__________________ +1@gef,75,172,4 duplicate(#gmt_dummy) Geffen Bully#1 681 +1@gef,76,170,4 duplicate(#gmt_dummy) Geffen Bully#2 681 +1@gef,73,173,4 duplicate(#gmt_dummy) Geffen Bully#3 681 +1@gef,68,171,4 duplicate(#gmt_dummy) Geffen Bully#11 681 +1@gef,70,171,4 duplicate(#gmt_dummy) Geffen Bully#22 681 +1@gef,70,169,4 duplicate(#gmt_dummy) Geffen Bully#33 681 +1@gef,70,167,8 duplicate(#gmt_dummy) Magic Academy Student#11 123 +1@gef,73,170,8 duplicate(#gmt_dummy) Magic Academy Student#22 123 +1@gef,69,168,8 duplicate(#gmt_dummy) Loki#1 512 +1@gef,69,170,8 duplicate(#gmt_dummy) Loki#2 512 +1@gef,67,170,8 duplicate(#gmt_dummy) Loki#3 512 +1@gef,68,169,8 duplicate(#gmt_dummy) Fenrir#1 664 + +1@gef,72,169,0 script #Event 2 start 139,7,7,{ + end; +OnTouch: + if ('gmt_event != 0) end; + if('OnTouchOnce3) end; + set 'OnTouchOnce3,1; + hideoffnpc instance_npcname("Geffen Bully#1"); + hideoffnpc instance_npcname("Geffen Bully#2"); + hideoffnpc instance_npcname("Geffen Bully#3"); + hideoffnpc instance_npcname("Magic Academy Student#11"); + hideonnpc instance_npcname("#Event 2 start"); + disablenpc instance_npcname("#Event 2 start"); + //setquest 9286; + 'gmt_timer_evt2 = 2; + 'gmt_char_name$ = strcharinfo(0); + 'GMTQuest = 2; + initnpctimer; + end; +OnTimer1000: + 'gmt_timer_evt2++; + + switch('gmt_timer_evt2) { + case 5: npctalk "Geffen Bully : Hey you! Yeah you~", instance_npcname("Geffen Bully#1"); break; + case 7: npctalk "Magic Academy Student : Yea... yeah? Me...? Do you mean me?", instance_npcname("Magic Academy Student#11"); break; + case 8: npctalk "Geffen Bully : Yes, you! Come over here!", instance_npcname("Geffen Bully#2"); break; + case 9: npctalk "Geffen Bully : Hurry! You have 3 seconds!", instance_npcname("Geffen Bully#3"); break; + case 11: npctalk "Geffen Bully : 3...", instance_npcname("Geffen Bully#3"); break; + case 12: npctalk "Geffen Bully : 2...", instance_npcname("Geffen Bully#3"); break; + case 13: npctalk "Geffen Bully : 1...", instance_npcname("Geffen Bully#3"); break; + case 14: + hideonnpc instance_npcname("Magic Academy Student#11"); + hideoffnpc instance_npcname("Magic Academy Student#22"); + break; + case 17: npctalk "Geffen Bully : You! How much zeny do you have?", instance_npcname("Geffen Bully#1"); break; + case 20: npctalk "Magic Academy Student : What... huh?", instance_npcname("Magic Academy Student#22"); break; + case 23: npctalk "Geffen Bully : Did I stutter? I said, how much zeny do you have! You idiot!", instance_npcname("Geffen Bully#2"); break; + case 27: npctalk "Magic Academy Student : I don't have any zeny... I'm but a student...", instance_npcname("Magic Academy Student#22"); break; + case 30: npctalk "Geffen Bully : Do I have to beat the zeny out of you?!", instance_npcname("Geffen Bully#3"); break; + case 33: npctalk "Magic Academy Student : Ugh... I told you, I don't have any zeny!", instance_npcname("Magic Academy Student#22"); break; + case 36: + unittalk 'gmt_account_id, "What should I do? I have to help!"; + enablenpc instance_npcname("#Event 2 start 2"); + hideoffnpc instance_npcname("#Event 2 start 2"); + stopnpctimer; + end; + } + + initnpctimer; + end; +} + +1@gef,72,170,0 script #Event 2 start 2 139,3,3,{ + end; +OnTouch: + if ('gmt_event != 0) end; + if('OnTouchOnce4) end; + set 'OnTouchOnce4,1; + hideonnpc instance_npcname("#Event 2 start 2"); + 'gmt_timer_evt2 = 0; + 'gmt_event = 2; + initnpctimer; + end; +OnTimer1000: + 'gmt_timer_evt2++; + + switch('gmt_timer_evt2) { + case 2: unittalk 'gmt_account_id, "You! Bullies! Stop!"; break; + case 3: npctalk "Geffen Bully : You ready for a beating?", instance_npcname("Geffen Bully#1"); break; + case 4: npctalk "Geffen Bully : I've been waiting to have some fun...", instance_npcname("Geffen Bully#2"); break; + case 5: npctalk "Geffen Bully : Say hello to my little friends!", instance_npcname("Geffen Bully#3"); break; + case 7: npctalk "Magic Academy Student : Please help me~", instance_npcname("Magic Academy Student#22"); break; + case 9: + unittalk 'gmt_account_id, "I have to help!"; + attachrid 'gmt_account_id; + specialeffect2 60; + detachrid; + monster instance_mapname("1@gef"), 75, 172, "Geffen Bully", 2567, 1, instance_npcname("#Event 2 start 2") + "::OnMobKilled"; + monster instance_mapname("1@gef"), 76, 170, "Geffen Bully", 2567, 1, instance_npcname("#Event 2 start 2") + "::OnMobKilled"; + monster instance_mapname("1@gef"), 73, 173, "Geffen Bully", 2567, 1, instance_npcname("#Event 2 start 2") + "::OnMobKilled"; + hideonnpc instance_npcname("Geffen Bully#1"); + hideonnpc instance_npcname("Geffen Bully#2"); + hideonnpc instance_npcname("Geffen Bully#3"); + stopnpctimer; + end; + } + + initnpctimer; + end; +OnMobKilled: + if (mobcount(instance_mapname("1@gef"), instance_npcname("#Event 2 start 2") + "::OnMobKilled") <= 0) { + hideoffnpc instance_npcname("Geffen Bully#1"); + hideoffnpc instance_npcname("Geffen Bully#2"); + hideoffnpc instance_npcname("Geffen Bully#3"); + //completequest 9286; + //setquest 9286; + //completequest 9286; + //setquest 9287; + sleep2 500; + specialeffect 220, AREA, instance_npcname("Geffen Bully#1"); + specialeffect 220, AREA, instance_npcname("Geffen Bully#2"); + specialeffect 220, AREA, instance_npcname("Geffen Bully#3"); + + $gmt_timer_evt2 = -1; + + while($gmt_timer_evt2 < 50) { + $gmt_timer_evt2++; + + switch($gmt_timer_evt2) { + case 0: + npctalk "Geffen Bully : He has surprisingly good skills.", instance_npcname("Geffen Bully#1"); + npctalk "Geffen Bully : This isn't good...", instance_npcname("Geffen Bully#2"); + npctalk "Geffen Bully : 1 slap for 10 wins. No... You get 10 slaps for 1 win.", instance_npcname("Geffen Bully#3"); + break; + case 3: + hideonnpc instance_npcname("Magic Academy Student#22"); + hideoffnpc instance_npcname("Magic Academy Student#11"); + sleep2 500; + npctalk "Magic Academy Student : I'm scared~! Help me...", instance_npcname("Magic Academy Student#11"); + break; + case 6: hideoffnpc instance_npcname("Fenrir#1"); break; + case 7: npctalk "Fenrir : Hello. Are you going to stop now?", instance_npcname("Fenrir#1"); break; + case 10: npctalk "Fenrir : This is really uncomfortable. I can't just sit back and watch.", instance_npcname("Fenrir#1"); break; + case 13: + npctalk "Fenrir : Stop harassing her. I won't forgive you.", instance_npcname("Fenrir#1"); + specialeffect 204, AREA, instance_npcname("Fenrir#1"); + break; + case 15: npctalk "Geffen Bully : Hey~ You look rich, you must have a lot of zeny right?", instance_npcname("Geffen Bully#1"); break; + case 17: npctalk "Geffen Bully : What's a rich girl like you doing around here?~", instance_npcname("Geffen Bully#2"); break; + case 19: npctalk "Geffen Bully : Hey! Rich girl~! How much zeny do you got?", instance_npcname("Geffen Bully#3"); break; + case 22: + hideonnpc instance_npcname("Geffen Bully#1"); + hideonnpc instance_npcname("Geffen Bully#2"); + hideonnpc instance_npcname("Geffen Bully#3"); + hideoffnpc instance_npcname("Geffen Bully#11"); + hideoffnpc instance_npcname("Geffen Bully#22"); + hideoffnpc instance_npcname("Geffen Bully#33"); + break; + case 23: + emotion e_gasp, 0, instance_npcname("Fenrir#1"); + mapannounce instance_mapname("1@gef"), "Take your dirty hands off of me.", 0x00ebff; + break; + case 25: + hideoffnpc instance_npcname("Loki#1"); + sleep2 500; + specialeffect 126, AREA, instance_npcname("Loki#1"); + sleep2 1500; + specialeffect 121, AREA, instance_npcname("Loki#1"); + npctalk "Loki : Hmph!", instance_npcname("Loki#1"); + sleep2 500; + specialeffect 124, AREA, instance_npcname("Loki#1"); + specialeffect 122, AREA, instance_npcname("Geffen Bully#33"); + specialeffect 143, AREA, instance_npcname("Geffen Bully#33"); + sleep2 330; + specialeffect 32, AREA, instance_npcname("Geffen Bully#33"); + hideonnpc instance_npcname("Geffen Bully#33"); + hideoffnpc instance_npcname("Geffen Bully#3"); + break; + case 26: npctalk "Geffen Bully : Yikes!", instance_npcname("Geffen Bully#3"); break; + case 27: + hideonnpc instance_npcname("Loki#1"); + hideoffnpc instance_npcname("Loki#2"); + sleep2 750; + npctalk "Loki : Take this.", instance_npcname("Loki#2"); + sleep2 500; + specialeffect 271, AREA, instance_npcname("Geffen Bully#22"); + specialeffect 122, AREA, instance_npcname("Geffen Bully#22"); + specialeffect 143, AREA, instance_npcname("Geffen Bully#22"); + sleep2 330; + specialeffect 32, AREA, instance_npcname("Geffen Bully#22"); + hideonnpc instance_npcname("Geffen Bully#22"); + hideoffnpc instance_npcname("Geffen Bully#2"); + break; + case 28: + npctalk "Geffen Bully : Ugh, uuurgh! What the?!", instance_npcname("Geffen Bully#2"); + hideonnpc instance_npcname("Loki#2"); + hideoffnpc instance_npcname("Loki#3"); + sleep2 750; + npctalk "Loki : Change your mind yet?", instance_npcname("Loki#3"); + sleep2 500; + specialeffect 270, AREA, instance_npcname("Geffen Bully#11"); + specialeffect 122, AREA, instance_npcname("Geffen Bully#11"); + specialeffect 143, AREA, instance_npcname("Geffen Bully#11"); + sleep2 330; + specialeffect 32, AREA, instance_npcname("Geffen Bully#11"); + hideonnpc instance_npcname("Geffen Bully#11"); + hideoffnpc instance_npcname("Geffen Bully#1"); + break; + case 29: npctalk "Geffen Bully : Ugh, urgh, urgh! GAAAAAAH!!", instance_npcname("Geffen Bully#1"); break; + case 31: npctalk "Loki : If you don't want to taste my Katar, leave now.", instance_npcname("Loki#3"); break; + case 34: npctalk "Loki : Get out of my sight.", instance_npcname("Loki#3"); break; + case 36: npctalk "Geffen Bully : Oh, oh! Time to go!", instance_npcname("Geffen Bully#1"); break; + case 38: npctalk "Geffen Bully : Please... spare my life...", instance_npcname("Geffen Bully#2"); break; + case 40: npctalk "Geffen Bully : Let's get away!~!!!!!", instance_npcname("Geffen Bully#3"); break; + case 41: + npctalk "Loki : You have 10 seconds.", instance_npcname("Loki#3"); + specialeffect 121, AREA, instance_npcname("Loki#3"); + break; + case 43: + specialeffect 136, AREA, instance_npcname("Loki#3"); + npctalk "Loki : 10... 9...", instance_npcname("Loki#3"); + sleep2 500; + specialeffect 269, AREA, instance_npcname("Loki#3"); + specialeffect 126, AREA, instance_npcname("Loki#3"); + specialeffect 127, AREA, instance_npcname("Loki#3"); + break; + case 45: + specialeffect 125, AREA, instance_npcname("Loki#3"); + sleep2 500; + emotion e_gg, 0, instance_npcname("Loki#3"); + npctalk "Loki : 3... 2...", instance_npcname("Loki#3"); + sleep2 500; + npctalk "Geffen Bully : What?! You went from from 9 to 3 seconds!!", instance_npcname("Geffen Bully#1"); + npctalk "Geffen Bully : Screw this, let's run~!!!!!!!!!", instance_npcname("Geffen Bully#2"); + npctalk "Geffen Bully : I will have my revenge~!!", instance_npcname("Geffen Bully#3"); + break; + case 46: + specialeffect 361, AREA, instance_npcname("Loki#3"); + specialeffect 124, AREA, instance_npcname("Loki#3"); + npctalk "Loki : 1...", instance_npcname("Loki#3"); + sleep2 330; + hideonnpc instance_npcname("Geffen Bully#1"); + hideonnpc instance_npcname("Geffen Bully#2"); + hideonnpc instance_npcname("Geffen Bully#3"); + break; + case 48: + hideonnpc instance_npcname("Loki#3"); + hideoffnpc instance_npcname("Loki#1"); + break; + case 49: + attachrid('gmt_account_id); + cutin "fenrir_a.bmp", 2; + mes "[Fenrir]", "Are you okay?", "Where are all these punks coming from anyways?"; next; + cutin "", 255; + mes "[Magic Academy Student]", "Thanks for helping me.", "Who are you?"; next; + cutin "fenrir_a.bmp", 2; + mes "[Fenrir]", "I am Fenris Fenrir."; next; + mes "[Fenrir]", "Thank " + strcharinfo(0) + ".", "It would have been much worse if "+('sex?"he":"she")+" hadn't shown up."; next; + cutin "", 255; + mes "[Magic Academy Student]", "Thank you so much " + strcharinfo(0) + ".", "You saved me."; next; + cutin "fenrir_a.bmp", 2; + mes "[Fenrir]", "You don't meet many people like " + strcharinfo(0) + " these days.", "You're a good person."; next; + mes "[Fenrir]", "I was on the way to register for the Geffen Magic Tournament with Loki."; next; + mes "[Fenrir]", "I have a feeling that you will register too " + strcharinfo(0) + ".", "I hope to meet you in the finals of the Tournament."; next; + cutin "ep14_roki01.bmp", 2; + mes "[Loki]", "Oh yeah?", "" + strcharinfo(0) + " is going to register?", "That's interesting."; next; + mes "[Loki]", "I have a spare magic buff scroll.", "I will give it to you as a present."; + sc_start4 SC_GEFFEN_MAGIC2, 3600000, 5, 0, 0, 0, 10000, 1; + atcommand "@effect 220"; + next; + mes "[Loki]", "I doubt that you can beat Fenrir at the Tournament.", "Her fighting prowess is unmatched."; next; + mes "[Loki]", "Fenrir, it's time to register.", "Let's hurry."; next; + cutin "fenrir_a.bmp", 2; + mes "[Fenrir]", "Yes~! I almost forgot.", "It was nice meeting you " + strcharinfo(0) + "~!"; next; + mes "[Fenrir]", "I hope to meet you in combat soon."; + close2; + cutin "", 255; + hideonnpc instance_npcname("Fenrir#1"); + hideonnpc instance_npcname("Loki#1"); + sleep2 1000; + hideonnpc instance_npcname("Magic Academy Student#11"); + sleep2 3000; + unittalk $gmt_account_id, "It was fun meeting Fenrir."; + sleep2 2000; + unittalk $gmt_account_id, "I should register for the Magic Tournament."; + end; + } + + sleep2 1000; + } + } + + end; +} + +//ϯϯϯϯϯϯϯϯϯ +// Event 3 +//__________________ +1@gef,111,146,4 duplicate(#gmt_dummy) Geffen Resident#1 67 +1@gef,106,141,4 duplicate(#gmt_dummy) Geffen Resident#2 67 +1@gef,104,141,6 duplicate(#gmt_dummy) Lydia#1 10010 + +1@gef,108,139,6 script Geffen Shoplifter#1 671,4,4,{ +OnTouch: + if ('gmt_chase != 1) end; + if ('gmt_event != 0) end; + 'gmt_event = 3; + unittalk 'gmt_account_id, "Thief! Give that zeny back!! Don't move!!"; + sleep2 3000; + npctalk "Geffen Shoplifter : Threatening me?~!! Yeah, boo hoo! You really scare me~!!", instance_npcname("Geffen Shoplifter#1"); + sleep2 2000; + npctalk "Geffen Shoplifter : Catch me if you can~!!", instance_npcname("Geffen Shoplifter#1"); + sleep2 2000; + npctalk "Geffen Resident : Please find my paycheck...", instance_npcname("Geffen Resident#1"); + sleep2 3000; + unittalk 'gmt_account_id, "I have you now!"; + hideonnpc instance_npcname("Geffen Shoplifter#1"); + hideoffnpc instance_npcname("Geffen Shoplifter#2"); + 'gmt_chase = 2; + 'GMTQuest = 3; + end; +} + +1@gef,107,126,4 script Geffen Shoplifter#2 671,4,4,{ + end; +OnTouch: + if ('gmt_chase != 2) end; + if('OnTouchOnce5) end; + set 'OnTouchOnce5,1; + if (Zeny > 2000) Zeny -= 2000; + npctalk "Geffen Shoplifter : Are you following me? Thanks for the 2,000 zeny~!", instance_npcname("Geffen Shoplifter#2"); + atcommand "@effect 18"; + sleep2 3000; + unittalk 'gmt_account_id, "Hey~ Stop right there! Thief!"; + sleep2 3000; + hideonnpc instance_npcname("Geffen Shoplifter#2"); + hideoffnpc instance_npcname("Geffen Shoplifter#3"); + 'gmt_chase = 3; + end; +} + +1@gef,111,118,4 script Geffen Shoplifter#3 671,4,4,{ + end; +OnTouch: + if ('gmt_chase != 3) end; + if('OnTouchOnce6) end; + set 'OnTouchOnce6,1; + if (Zeny > 2000) Zeny -= 2000; + npctalk "Geffen Shoplifter : Woohoo~ Catch me if you can~! 4,000 large! Easy~!", instance_npcname("Geffen Shoplifter#3"); + atcommand "@effect 18"; + sleep2 3000; + unittalk 'gmt_account_id, "I will beat you down once I catch you!"; + sleep2 3000; + hideonnpc instance_npcname("Geffen Shoplifter#3"); + hideoffnpc instance_npcname("Geffen Shoplifter#11"); + 'gmt_chase = 11; + end; +} + +1@gef,123,111,4 script Geffen Shoplifter#11 671,4,4,{ + end; +OnTouch: + if ('gmt_chase != 11) end; + if('OnTouchOnce7) end; + set 'OnTouchOnce7,1; + if (Zeny > 2000) Zeny -= 2000; + npctalk "Geffen Shoplifter : You're annoying me~! I like it! 6,000 zeny~!", instance_npcname("Geffen Shoplifter#11"); + atcommand "@effect 18"; + sleep2 3000; + unittalk 'gmt_account_id, "Stop right there you filthy thief!"; + sleep2 3000; + hideonnpc instance_npcname("Geffen Shoplifter#11"); + hideoffnpc instance_npcname("Geffen Shoplifter#22"); + 'gmt_chase = 22; + end; +} + +1@gef,129,121,4 script Geffen Shoplifter#22 671,4,4,{ + end; +OnTouch: + if ('gmt_chase != 22) end; + if('OnTouchOnce8) end; + set 'OnTouchOnce8,1; + if (Zeny > 2000) Zeny -= 2000; + npctalk "Geffen Shoplifter : Calling me a rat? Yoink~ 8,000 zeny~!", instance_npcname("Geffen Shoplifter#22"); + atcommand "@effect 18"; + sleep2 3000; + unittalk 'gmt_account_id, "Would you stop?!"; + sleep2 3000; + hideonnpc instance_npcname("Geffen Shoplifter#22"); + hideoffnpc instance_npcname("Geffen Shoplifter#33"); + 'gmt_chase = 33; + end; +} + +1@gef,114,137,4 script Geffen Shoplifter#33 671,4,4,{ + end; +OnTouch: + if ('gmt_chase != 33) end; + if('OnTouchOnce9) end; + set 'OnTouchOnce9,1; + if (Zeny > 2000) Zeny -= 2000; + npctalk "Geffen Shoplifter : Stop following me. It's driving me crazy! 10,000 zeny~!", instance_npcname("Geffen Shoplifter#33"); + atcommand "@effect 18"; + sleep2 3000; + unittalk 'gmt_account_id, "You can't run away anymore. I've got you now!"; + sleep2 3000; + npctalk "Geffen Shoplifter : You really piss me off! I'm gonna have to beat you down!", instance_npcname("Geffen Shoplifter#33"); + sleep2 3000; + hideonnpc instance_npcname("Geffen Shoplifter#33"); + monster instance_mapname("1@gef"), 114, 137, "Geffen Shoplifter", 2914, 1, instance_npcname("Geffen Shoplifter#33") + "::OnMobKilled"; + end; +OnMobKilled: + hideoffnpc instance_npcname("Geffen Shoplifter#1"); + //completequest 9288; + //setquest 9288; // State = 1, Time = 0 + //completequest 9288; + //setquest 9289; // State = 1, Time = 0 + 'gmt_timer_evt3 = 0; + initnpctimer; + end; +OnTimer1000: + 'gmt_timer_evt3++; + + switch('gmt_timer_evt3) { + case 1: specialeffect 20, AREA, instance_npcname("Geffen Shoplifter#1"); break; + case 4: npctalk "Geffen Shoplifter : Ugh, I shouldn't fight toe to toe with anyone...", instance_npcname("Geffen Shoplifter#1"); break; + case 7: unittalk 'gmt_account_id, "Don't want to be in a fair fight, huh thief?"; break; + case 10: npctalk "Geffen Shoplifter : Umm... stealing zeny is my job~ I did nothing wrong~!", instance_npcname("Geffen Shoplifter#1"); break; + case 13: unittalk 'gmt_account_id, "What? You're stealing from needy people."; break; + case 16: npctalk "Geffen Shoplifter : Well, it has been fun~! I'm outta here~", instance_npcname("Geffen Shoplifter#1"); break; + case 17: unittalk 'gmt_account_id, "Hey! Give back what you stole thief!"; break; + case 20: npctalk "Geffen Shoplifter : Hahaha~! You'll get nothing~!", instance_npcname("Geffen Shoplifter#1"); break; + case 22: hideonnpc instance_npcname("Geffen Shoplifter#1"); break; + case 24: + if (attachrid('gmt_account_id)) { + mes "[Geffen Resident]", "My monthly salary...", "What am I gonna do?", "I have to eat..."; next; + mes "[Geffen Resident]", "You're not a thief are you?", "I don't know what to do about my zeny being stolen."; next; + mes "[Lydia]", "Woo, yeah, what a day~", "It seems like all these thieves in Geffen are rich.", "They may be good at stealing but they're easy to steal from too."; + cutin "lydia_a.bmp", 0; + next; + hideoffnpc instance_npcname("Lydia#1"); + mes "[Lydia]", "Hey, why are you crying?", "What happened?"; next; + mes "You tell Lydia about the shoplifters."; + cutin "", 255; + next; + mes "[Geffen Resident]", "What am I going to do?", "*sobbing*"; next; + mes "[Lydia]", "(I stole this envelope from one of those thug-looking guys)", "....", "How much zeny was stolen from you?"; + cutin "lydia_a.bmp", 0; + next; + mes "[Geffen Resident]", "1,000,000 zeny!", "It's everything that I had."; + cutin "", 255; + next; + mes "[Lydia]", "Whoa! That's the same amount as what's in this envelope that I stole from that shoplifter."; + cutin "lydia_a.bmp", 0; + next; + mes "[Lydia]", "Maybe this is what you are looking for?", "Check it out!"; next; + mes "[Geffen Resident]", "Let me see...", "Wait, this has to be my zeny!", "Thank you very much for finding it!"; + cutin "", 255; + next; + hideonnpc instance_npcname("Geffen Resident#1"); + hideoffnpc instance_npcname("Geffen Resident#2"); + mes "[Lydia]", "Well... Um, that is...", "I didn't say I was gonna give it back to you..."; + cutin "lydia_a.bmp", 0; + next; + mes "[Geffen Resident]", "Thank you very much!!", "I will never forget your kindness~!", "I'm putting it in the bank right now!", "Have a good day~!!! Zap~!!"; + cutin "", 255; + next; + hideonnpc instance_npcname("Geffen Resident#2"); + mes "[Lydia]", "......", "I guess... I did a good thing...?"; + cutin "lydia_a.bmp", 0; + next; + mes "You tell Lydia about your stolen zeny."; + cutin "", 255; + next; + mes "[Lydia]"; + mes "So, are you asking me for more zeny?"; + mes "Zeny doesn't grow on trees you know!"; + cutin "lydia_a.bmp", 0; + next; + mes "[Lydia]"; + mes "I mean it is hers so..."; + mes "I'll just consider it a donation to the Geffen Magic Tournament."; + next; + mes "[Lydia]"; + mes "Well, I can't give away any Tournament participants any zeny..."; + next; + mes "[Lydia]"; + mes "I stole this magic scroll from another thief, so don't worry about taking it."; + sc_start4 SC_GEFFEN_MAGIC1, 3600000, 5, 0, 0, 0, 10000, 1; // flag = 1 + atcommand "@effect 220"; + next; + mes "[Lydia]"; + mes "I need to get to the Geffen Magic Tournament."; + mes "Gotta go!"; + close2; + cutin "", 255; + hideonnpc instance_npcname("Lydia#1"); + sleep2 2000; + unittalk 'gmt_account_id, "She disappeared before I could thank her..."; + sleep2 3000; + unittalk 'gmt_account_id, "She seems like a good person..."; + sleep2 3000; + unittalk 'gmt_account_id, "Well, time to register for the Magic Tournament."; + stopnpctimer; + end; + } + + stopnpctimer; + end; + } + + initnpctimer; + end; + +} + +1@gef,114,143,0 script #Event 3 start 139,5,5,{ + end; +OnTouch: + if ('gmt_event != 0) end; + if('OnTouchOnce10) end; + set 'OnTouchOnce10,1; + 'gmt_char_name$ = strcharinfo(0); + hideonnpc instance_npcname("#Event 3 start"); + disablenpc instance_npcname("#Event 3 start"); + hideoffnpc instance_npcname("Geffen Resident#1"); + //setquest 9288; + 'gmt_timer_evt3 = 0; + initnpctimer; + end; +OnTimer1000: + 'gmt_timer_evt3++; + + switch('gmt_timer_evt3) { + case 1: npctalk "Geffen Resident : A thief...! A thief~!!", instance_npcname("Geffen Resident#1"); break; + case 3: npctalk "Geffen Resident : Help me~!! Someone stole my paycheck!", instance_npcname("Geffen Resident#1"); break; + case 6: + hideoffnpc instance_npcname("Geffen Shoplifter#1"); + 'gmt_chase = 1; + break; + case 8: npctalk "Geffen Shoplifter : Damn... Someone saw me...", instance_npcname("Geffen Shoplifter#1"); break; + case 11: + unittalk 'gmt_account_id, "What can I do? I gotta help."; + stopnpctimer; + end; + } + + initnpctimer; + end; +} + +1@gef,0,0,0 script #gmt_main -1,{ + end; +OnInstanceInit: + // Event 1 + hideonnpc instance_npcname("Geffen Gangster#1"); + hideonnpc instance_npcname("Geffen Gangster#2"); + hideonnpc instance_npcname("Geffen Gangster#3"); + hideonnpc instance_npcname("Kafra Employee#1"); + hideonnpc instance_npcname("Geffen Gangster#11"); + hideonnpc instance_npcname("Geffen Gangster#22"); + hideonnpc instance_npcname("Geffen Gangster#33"); + disablenpc instance_npcname("#Event 1 start 2"); + hideonnpc instance_npcname("Chaos#Gef1"); + hideonnpc instance_npcname("Chaos#Gef2"); + hideonnpc instance_npcname("Chaos#3"); + hideonnpc instance_npcname("Iris#Gef1"); + + // Event 2 + hideonnpc instance_npcname("Geffen Bully#1"); + hideonnpc instance_npcname("Geffen Bully#2"); + hideonnpc instance_npcname("Geffen Bully#3"); + hideonnpc instance_npcname("Geffen Bully#11"); + hideonnpc instance_npcname("Geffen Bully#22"); + hideonnpc instance_npcname("Geffen Bully#33"); + hideonnpc instance_npcname("Magic Academy Student#11"); + hideonnpc instance_npcname("Magic Academy Student#22"); + hideonnpc instance_npcname("Loki#1"); + hideonnpc instance_npcname("Loki#2"); + hideonnpc instance_npcname("Loki#3"); + hideonnpc instance_npcname("Fenrir#1"); + disablenpc instance_npcname("#Event 2 start 2"); + + // Event 3 + hideonnpc instance_npcname("Geffen Resident#1"); + hideonnpc instance_npcname("Geffen Resident#2"); + hideonnpc instance_npcname("Geffen Shoplifter#1"); + hideonnpc instance_npcname("Geffen Shoplifter#2"); + hideonnpc instance_npcname("Geffen Shoplifter#3"); + hideonnpc instance_npcname("Geffen Shoplifter#11"); + hideonnpc instance_npcname("Geffen Shoplifter#22"); + hideonnpc instance_npcname("Geffen Shoplifter#33"); + hideonnpc instance_npcname("Geffen Shoplifter#33"); + hideonnpc instance_npcname("Lydia#1"); + + hideonnpc instance_npcname("Male Adventurer#gef"); + hideonnpc instance_npcname("Handsome Adventurer#gef"); + end; +} + +1@gef mapflag nowarp +1@gef mapflag nomemo +1@gef mapflag noteleport +1@gef mapflag monster_noteleport +1@gef mapflag nosave +1@gef mapflag nobranch +1@gef mapflag nowarpto +1@gef mapflag noicewall +1@gef mapflag restricted 9 + +1@ge_st mapflag nowarp +1@ge_st mapflag nomemo +1@ge_st mapflag noteleport +1@ge_st mapflag monster_noteleport +1@ge_st mapflag nosave +1@ge_st mapflag nobranch +1@ge_st mapflag nowarpto +1@ge_st mapflag noicewall +1@ge_st mapflag restricted 9 + +1@gef_in mapflag nowarp +1@gef_in mapflag nomemo +1@gef_in mapflag noteleport +1@gef_in mapflag monster_noteleport +1@gef_in mapflag nosave +1@gef_in mapflag nobranch +1@gef_in mapflag nowarpto +1@gef_in mapflag noicewall +1@gef_in mapflag restricted 9 diff --git a/npc/re/scripts_athena.conf b/npc/re/scripts_athena.conf index e9994cb357..730bbc718f 100644 --- a/npc/re/scripts_athena.conf +++ b/npc/re/scripts_athena.conf @@ -61,6 +61,7 @@ npc: npc/re/instances/OldGlastHeim.txt npc: npc/re/instances/WolfchevLaboratory.txt npc: npc/re/instances/EclageInterior.txt npc: npc/re/instances/SaraMemory.txt +//npc: npc/custom/official/GeffenMagicTournament.txt // ---------------- Kafras & Cool Event Corp. ------------------- npc: npc/re/kafras/kafras.txt diff --git a/src/map/script_constants.h b/src/map/script_constants.h index 69dc0e4e0c..d602ae1a00 100644 --- a/src/map/script_constants.h +++ b/src/map/script_constants.h @@ -1435,6 +1435,9 @@ export_constant(SC_GOLDENMACECLAN); export_constant(SC_CROSSBOWCLAN); export_constant(SC_JUMPINGCLAN); + export_constant(SC_GEFFEN_MAGIC1); + export_constant(SC_GEFFEN_MAGIC2); + export_constant(SC_GEFFEN_MAGIC3); #ifdef RENEWAL export_constant(SC_EXTREMITYFIST2); #endif diff --git a/src/map/status.c b/src/map/status.c index 9ab515003e..d5a23bb9ae 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1106,6 +1106,11 @@ void initChangeTables(void) StatusIconChangeTable[SC_CROSSBOWCLAN] = SI_CROSSBOWCLAN; StatusIconChangeTable[SC_JUMPINGCLAN] = SI_JUMPINGCLAN; + // Geffen Magic Tournament Buffs + StatusIconChangeTable[SC_GEFFEN_MAGIC1] = SI_GEFFEN_MAGIC1; + StatusIconChangeTable[SC_GEFFEN_MAGIC2] = SI_GEFFEN_MAGIC2; + StatusIconChangeTable[SC_GEFFEN_MAGIC3] = SI_GEFFEN_MAGIC3; + /* Other SC which are not necessarily associated to skills */ StatusChangeFlagTable[SC_ASPDPOTION0] |= SCB_ASPD; StatusChangeFlagTable[SC_ASPDPOTION1] |= SCB_ASPD; @@ -4019,6 +4024,20 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) sd->subele[ELE_HOLY] += sc->data[SC_PROVIDENCE]->val2; sd->subrace[RC_DEMON] += sc->data[SC_PROVIDENCE]->val2; } + if (sc->data[SC_GEFFEN_MAGIC1]) { + sd->right_weapon.addrace[RC_PLAYER] += sc->data[SC_GEFFEN_MAGIC1]->val1; + sd->right_weapon.addrace[RC_DEMIHUMAN] += sc->data[SC_GEFFEN_MAGIC1]->val1; + sd->left_weapon.addrace[RC_PLAYER] += sc->data[SC_GEFFEN_MAGIC1]->val1; + sd->left_weapon.addrace[RC_DEMIHUMAN] += sc->data[SC_GEFFEN_MAGIC1]->val1; + } + if (sc->data[SC_GEFFEN_MAGIC2]) { + sd->magic_addrace[RC_PLAYER] += sc->data[SC_GEFFEN_MAGIC2]->val1; + sd->magic_addrace[RC_DEMIHUMAN] += sc->data[SC_GEFFEN_MAGIC2]->val1; + } + if(sc->data[SC_GEFFEN_MAGIC3]) { + sd->subrace[RC_PLAYER] += sc->data[SC_GEFFEN_MAGIC3]->val1; + sd->subrace[RC_DEMIHUMAN] += sc->data[SC_GEFFEN_MAGIC3]->val1; + } if(sc->data[SC_ARMOR_ELEMENT]) { // This status change should grant card-type elemental resist. sd->subele[ELE_WATER] += sc->data[SC_ARMOR_ELEMENT]->val1; sd->subele[ELE_EARTH] += sc->data[SC_ARMOR_ELEMENT]->val2; @@ -11427,6 +11446,9 @@ int status_change_clear(struct block_list* bl, int type) case SC_REUSE_STORMBLAST: case SC_ALL_RIDING_REUSE_LIMIT: case SC_SPRITEMABLE: + case SC_GEFFEN_MAGIC1: + case SC_GEFFEN_MAGIC2: + case SC_GEFFEN_MAGIC3: // Costumes case SC_MOONSTAR: case SC_SUPER_STAR: @@ -13420,6 +13442,9 @@ void status_change_clear_buffs(struct block_list* bl, uint8 type) case SC_ALL_RIDING_REUSE_LIMIT: case SC_SPRITEMABLE: case SC_BITESCAR: + case SC_GEFFEN_MAGIC1: + case SC_GEFFEN_MAGIC2: + case SC_GEFFEN_MAGIC3: // Costumes case SC_MOONSTAR: case SC_SUPER_STAR: diff --git a/src/map/status.h b/src/map/status.h index ddddf06a15..92d82e3d5a 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -788,6 +788,11 @@ typedef enum sc_type { SC_TAROTCARD, + // Geffen Magic Tournament Buffs + SC_GEFFEN_MAGIC1, + SC_GEFFEN_MAGIC2, + SC_GEFFEN_MAGIC3, + #ifdef RENEWAL SC_EXTREMITYFIST2, //! NOTE: This SC should be right before SC_MAX, so it doesn't disturb if RENEWAL is disabled #endif